Apache

From Gentoo Wiki
Jump to:navigation Jump to:search
This page is a translated version of the page Apache and the translation is 100% complete.

Az Apache HTTP szerver egy hatékony, bővíthető web server. Ez az egyik legnépszerűbb internetes webszerver.

Telepítés

Note
Az Apache-verziók közötti frissítéskor tekintse meg a frissítési útmutatót.

USE jelölőzászlók

USE flags for www-servers/apache The Apache Web Server

+suexec-caps Install suexec with capabilities instead of SUID
debug Enable extra debug codepaths, like asserts and extra output. If you want to get meaningful backtraces see https://wiki.gentoo.org/wiki/Project:Quality_Assurance/Backtraces
doc Add extra documentation (API, Javadoc, etc). It is recommended to enable per package instead of globally
gdbm Add support for sys-libs/gdbm (GNU database libraries)
ldap Add LDAP support (Lightweight Directory Access Protocol)
selinux !!internal use only!! Security Enhanced Linux support, this must be set by the selinux profile or breakage will occur
ssl Add support for SSL/TLS connections (Secure Socket Layer / Transport Layer Security)
static Link in apache2 modules statically rather then plugins
suexec Install suexec with apache
suexec-syslog Log suexec to syslog instead of to a separate file
systemd Enable use of systemd-specific libraries and features like socket activation or session tracking
threads Add threads support for various packages. Usually pthreads

Emerge

Multi-Processing Module

Az Apache esemény vagy a worker MPM használatához kérjük, hogy engedélyezze az Apache threads USE jelölőzászlót:

FILE /etc/portage/package.useApache threads support
www-servers/apache threads

Az Apache esemény MPM használatához adja hozzá a következőket a make.conf fájlhoz:

FILE /etc/portage/make.confApache event MPM
APACHE2_MPMS="event"

Az Apache worker MPM használatához adja hozzá a következőket a make.conf fájlhoz:

FILE /etc/portage/make.confApache worker MPM
APACHE2_MPMS="worker"

Ha nincs Multi-Processing Module (MPM) kiválasztva, akkor az alapértelmezett MPM kerül felhasználásra. Az alapértelmezett MPM a platform képességeitől függ (például a szálak támogatásától). Bővebben erről a hivatalos official Apache dokumentációban olvashat.

Then emerge www-servers/apache:

root #emerge --ask www-servers/apache

A global támogatása

Az apache2 global USE jelölőzászlójának engedélyezése azt eredményezi, hogy támogatva lesz az Apache használata más csomagokban. Ez a www-servers/apache automatikus telepítését okozhatja, ha az emerge-vel létrehozunk egy Apache-tól függő csomagot.

FILE /etc/portage/make.confAdding Apache to system USE flags
USE="apache2"

A USE változók konfigurálása után frissítse a rendszert, hogy a változtatások érvénybe lépjenek:

root #emerge --ask --changed-use --deep @world

Konfiguráció

Fájlok

Kettő fő fájl konfigurálja az Apache2 viselkedését a rendszeren:

  • /etc/conf.d/apache2 - A Gentoo Apache2 init script konfigurációs fájlja.
  • /etc/apache2/httpd.conf - Az Apache2 szerver hagyományos konfigurációs fájlja.

/etc/conf.d/apache2

Az /etc/conf.d könyvtárban található apache2 fájl a Gentoo init script konfigurációs fájlja. Az egyetlen aktív sor ebben a fájlban az APACHE2_OPTS változónak a sora:

FILE /etc/conf.d/apache2
APACHE2_OPTS="-D DEFAULT_VHOST -D INFO -D SSL -D SSL_DEFAULT_VHOST -D LANGUAGE"

Ez a sor olyan opciókat határoz meg, amelyeket a különböző konfigurációs fájlok értelmezni fognak az <IfDefine option-name> utasítás használatával a teljes konfiguráció egy részének aktiválásához vagy deaktiválásához. Erre a cikk későbbi részében visszatérünk még.

/etc/apache2/httpd.conf

A httpd.conf fájl az apache szerver hagyományos konfigurációs fájlja. Valójában ez a fájl csak egy belépési pont a konfigurációhoz. A teljes konfiguráció sok fájlra van felosztva az /etc/apache2/ könyvtárban, amelyeket az Include direktíva segítségével állítanak össze. Például az Include /etc/apache2/modules.d/*.conf utasítás a httpd.conf-ban azt a célt szolgálja, hogy az /etc/apache2/modules.d/ fájl összes fájlját tartalmazza (behúzza a konfigurációba), amelynek neve .conf-ra végződik.

Figyelembe véve a fenti alfejezetben elmondottakat, és mivel a modulkonfigurációs fájlok (az /etc/apache2/modules.d fájlok) szinte mindig az <IfDefine module-name>-vel kezdődnek, az /ect/apache2/modules.d-en belül egy fájl tartalma CSAK AKKOR kerül összevonásra a konfiguráció többi részével, ha az egyező beállítás a -D module-name jelölőzászlóval van beállítva az APACHE2_OPTS változóban a /etc/conf.d/apache2 fájlban. A 00_default_settings.conf konfigurációs fájl kivételt képez ez alól a szabály alól, mivel nem IfDefine utasítással kezdődik, ezért mindig szerepel az eredményül kapott konfigurációban.

Alapértelmezések

Egy Apache szerver friss telepítése után a különböző konfigurációs fájlok összeállításából adódó konfiguráció a következő. Kezdje az /etc/apache2/httpd.conf belépési ponttal.

Warning
Ez csak gyors tájékozódási célból készült példa, és átfogó képet ad a konfigurációról a jobb megértés érdekében. A felhasználókat határozottan felkérjük, hogy tekintsék át a különféle fájlokban található megjegyzéseket, hogy megértsék a konfiguráció lényegét. Kérjük, olvassa el az Apache kézikönyvét is az Apache konfigurációjának alapos megértéséhez.
FILE /etc/apache2/httpd.conf
ServerRoot "/usr/lib64/apache2"
  
#Module loaded unconditionally, assuming the USE flag is no unset in
# /etc/portage/make.conf or in /etc/portage/package.use
LoadModule actions_modulemodules/mod_actions.so
...
#other modules loaded that way : alias_module, auth_basic_module, authn_alias_module,
# authn_anon_module, authn_dbm_module, authn_default_module, authn_file_module, 
# authz_dbm_module, authz_default_module, authz_groupfile_module, authz_host_module, 
# authz_owner_module, authz_user_module, autoindex_module,  cgi_module,  cgid_module, 
# deflate_module, dir_module, env_module, expires_module, ext_filter_module, filter_module,
#  headers_module, include_module,  log_config_module, logio_module, mime_module,  
# mime_magic_module, negotiation_module, rewrite_module, setenvif_module, 
# speling_module,ssl_module, status_module, unique_id_module, usertrack_module, host_alias_module
  
  
#Modules loaded conditionally, assuming matching USE flag is not unset in
# /etc/portage/make.conf or in /etc/portage/package.use (flag to be set in )
<IfDefine AUTHNZ_LDAP>
LoadModule authnz_ldap_module modules/mod_authnz_ldap.so
</IfDefine>
#other modules loaded that way : cache_module, dav_module, dav_fs_module,
# dav_lock_module,disk_cache_module,  file_cache_module, info_module, ldap_module,
# mem_cache_module, userdir_module
  
  
User apache
Group apache
  
# Supplemental configuration
#**************************************************************************************vvv
#this part is included via Include /etc/apache2/modules.d/*.conf 
  
#included from /etc/apache2/modules.d/00_default_settings.conf-------------v
#this is always included as there is not option to deactivate it.
Timeout 300
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 15
UseCanonicalName Off
AccessFileName .htaccess
ServerTokens Prod
TraceEnable off
ServerSignature On 
HostnameLookups Off
EnableMMAP On
EnableSendfile On
FileEtag INode MTime Size
ContentDigest Off
ErrorLog /var/log/apache2/error_log
LogLevel warn
  
<Directory />
	Options FollowSymLinks
	AllowOverride None
	Require all denied
</Directory>
  
<IfModule dir_module>
	DirectoryIndex index.html index.html.var
</IfModule>
<FilesMatch "^\.ht">
	Require all denied
</FilesMatch>
#--------------------------------------------------------------------------^
  
#included from 00_mod_info.conf--------------------------------------------v
<IfDefine INFO>
<Location /server-info>
	SetHandler server-info
	Require host 127.0.0.1
</Location>
</IfDefine>
#--------------------------------------------------------------------------^
  
#--------------------------------------------------------------------------v
#included from 00_languages.conf
# Settings for hosting different languages.
<IfDefine LANGUAGE>
  
	AddLanguage ca .ca
	...
	AddLanguage zh-TW .zh-tw
  
	LanguagePriority en ca cs da de el eo es et fr he hr it ja ko ltz nl nn no pl pt pt-BR ru sv zh-CN zh-TW
  
	ForceLanguagePriority Prefer Fallback
  
	AddCharset us-ascii.ascii	.us-ascii
	AddCharset ISO-8859-1		.iso8859-1 .latin1
	...
	AddCharset shift_jis		.shift_jis .sjis
</IfDefine>
#---------------------------------------------------------------------------^
#**************************************************************************************^^^
  
  
#***************************************************************************************vvv
#this part is included via Include /etc/apache2/vhosts.d/*.conf 
#from 00_default_ssl_vhost.conf-----------------------------------------------------vv
<IfDefine SSL>
	<IfDefine SSL_DEFAULT_VHOST>
		<IfModule ssl_module>
			Listen 443
  
			<VirtualHost _default_:443>
				ServerName localhost
                                #------------------------------------------v
				# this part is included via Include /etc/apache2/vhosts.d/default_vhost.include
				ServerAdmin root@localhost
				DocumentRoot "/var/www/localhost/htdocs"
  
  	
				<Directory "/var/www/localhost/htdocs">
	   				Options Indexes FollowSymLinks
	   				AllowOverride All
	   				Require all granted
				</Directory>
  
				<IfModule alias_module>
	   				ScriptAlias /cgi-bin/ "/var/www/localhost/cgi-bin/"
				</IfModule>
  
				<Directory "/var/www/localhost/cgi-bin">
	   				AllowOverride None
	   				Options None
	   				Require all granted
				</Directory>
        			#end of Include ---------------------------^
  	
				ErrorLog /var/log/apache2/ssl_error_log
  
				<IfModule log_config_module>
					TransferLog /var/log/apache2/ssl_access_log
				</IfModule>
				SSLEngine on
				SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
				SSLCertificateFile /etc/ssl/apache2/server.crt
				SSLCertificateKeyFile /etc/ssl/apache2/server.key
  
				<FilesMatch "\.(cgi|shtml|phtml|php)$">
					SSLOptions +StdEnvVars
				</FilesMatch>
  
				<Directory "/var/www/localhost/cgi-bin">
					SSLOptions +StdEnvVars
				</Directory>
  
				<IfModule setenvif_module>
					BrowserMatch ".*MSIE.*" \
					nokeepalive ssl-unclean-shutdown \
					downgrade-1.0 force-response-1.0
				</IfModule>
  
  
				<IfModule log_config_module>
					CustomLog /var/log/apache2/ssl_request_log \
					"%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
					</IfModule>
			</VirtualHost>
		</IfModule>
	</IfDefine>
</IfDefine>
#---------------------------------------------------------------------------------^^
#from 00_default_vhost.conf-------------------------------------------------------vv
<IfDefine DEFAULT_VHOST>
	Listen 80
	NameVirtualHost *:80
  
	<VirtualHost *:80>
		ServerName localhost
  
		#---------------------------------------------------------------v
		# this part is included via Include /etc/apache2/vhosts.d/default_vhost.include
		ServerAdmin root@localhost
		DocumentRoot "/var/www/localhost/htdocs"
  
  	
		<Directory "/var/www/localhost/htdocs">
	   		Options Indexes FollowSymLinks
	   		AllowOverride All
	   		Require all granted
		</Directory>
  
		<IfModule alias_module>
	   		ScriptAlias /cgi-bin/ "/var/www/localhost/cgi-bin/"
		</IfModule>
  
		<Directory "/var/www/localhost/cgi-bin">
	   		AllowOverride None
	   		Options None
	   		Require all granted
		</Directory>
        	#end of Include -----------------------------------------------^
  
		<IfModule mpm_peruser_module>
			ServerEnvironment apache apache
		</IfModule>
	</VirtualHost>
</IfDefine>
#-----------------------------------------------------------------------------------^^
# end of include ****************************************************************************************^^^

Első életjel

Indítsa el a szervert a Használat részben leírtak szerint.

Amint az a fenti kezdeti konfigurációban látható, az előre telepített virtuális gazdagép DocumentRoot könyvtára /var/www/localhost/htdocs, a kiszolgáló neve localhost. Emellett a DocumentRoot könyvtárban található egy index.html fájl is. Így annak ellenőrzéséhez, hogy minden megfelelően van-e telepítve, futtasson egy böngészőt és ugorjon a https://localhost/ címre.

Egy "Működik!" ("It works!") üzenet kell, hogy kiíródjon a képernyőre.

Warning
A Firefox már gyárilag legyártottan, alapból is rendelkezik egy olyan funkcióval, amely segíti azokat a felhasználókat, akik hibásan írják be az URL-t a böngészősávba. Ha egy URL-t nem sikerül feloldani, akkor a Firefox megpróbál néhány módosítást végrehajtani az URL-en, hogy megtalálja azt, amit a felhasználó valójában 'akart' írni. Hozzáfűz egy .com utótagot, vagy egy www. előtagot az URL gazdagépnév részéhez, hogy megnézze, vajon így sikerül-e a feloldás.

Ez a funkció, amelyet a Firefox korai verzióiban vezettek be, kissé bosszantó a fejlesztők számára. A funkció azt jelenti, hogy ha egy localhost-on futó szerver nem válaszol, akkor a Firefox úgy dönt, hogy megpróbálja a localhost.com vagy a www.localhost.com címet elérni. Ez gyakran az "Oldal nem található" hibaoldalt fogja eredményezni.

Hogy letiltsuk ezt a viselkedést:

  1. Írja be az about:config kifejezést a böngészősávba.
  2. Kattintson az "Óvatos leszek" gombra, és lépjen be a speciális konfigurációs oldalra.
  3. Írja be a browser.fixup.alternate.enabled kifejezést a megjelenő keresőmezőbe.
  4. Kattintson jobb gombbal az alábbi szűrt listában megjelenő browser.fixup.alternate.enabled elemre, és válassza ki a false értéket.

A mod_security engedélyezése

A ModSecurity egy szabályalapú webalkalmazás-tűzfal, amely figyeli a webszolgáltatások forgalmát, hogy blokkolja az ismert sebezhetőségeket kihasználó támadásokat.

Telepítse a www-apache/mod_security programcsomagot:

root #emerge --ask www-apache/mod_security

Engedélyezze a SECURITY modult az apache2 fájl APACHE2_OPTS változójában:

FILE /etc/conf.d/apache2Biztonsági modul engedélyezése
APACHE2_OPTS="... -D SECURITY"

Vezérelheti ezt a modult az /etc/apache2/modules.d/79_modsecurity.conf és /etc/apache2/modules.d/80_modsecurity-crs.conf fájlok szerkesztésével. A /usr/share/doc/mod_security-*/modsecurity.conf-recommended.bz2 fájl tartalmazza az ajánlott konfigurációt https://github.com/SpiderLabs/ModSecurity/wiki/Reference-Manual#A_Recommended_Base_Configuration. Másolja az alapkonfigurációt az /etc/apache2/modules.d/79_modsecurity.conf fájlba, és módosítsa a beállításokat igényei szerint. Csomagolja ki a /usr/share/doc/modsecurity-crs-*/crs-setup.conf.example.bz2 fájlt egy megfelelő helyre, pl. /etc/conf.d/crs-setup.conf könyvtárba. Módosítsa, és adja meg a kicsomagolt fájlt az /etc/apache2/modules.d/80_modsecurity-crs.conf fájlban. Végül indítsd újra az Apache-t. Keresse meg a hibákat az Apache naplófájljaiban, és járjon el ennek megfelelően.

PHP támogatás engedélyezése

Telepítse a PHP elemet az apache2 USE jelölőzászlóval, és engedélyezze a modult:

FILE /etc/conf.d/apache2PHP modul engedélyezése
APACHE2_OPTS="... -D PHP"

Mielőtt tesztelné a PHP modul működését, ellenőrizze, hogy az /etc/apache2/modules.d/70_mod_php.conf fájl létezik-e, és tartalmazza-e a következő definíciót:

FILE /etc/apache2/modules.d/70_mod_php.confVerifying the PHP module will be loaded
<IfDefine PHP>
	# The mod_php.so symlink is controlled by
	# eselect-php. However, the module name changed from
	# php5_module to php7_module so we can't blindly load whatever
	# is there. Instead we let eselect-php manage a small
	# configuration file that loads the appropriate module.
	#
	# This is relative to ServerRoot (see httpd.conf).
	Include ../../../var/lib/eselect-php/mod_php.conf
 
	# Tell apache that mod_php should handle PHP files.
	#
	# NOTE: Avoiding AddHandler/AddType for security (bug
	# #538822). Please read the related news item!
	<FilesMatch "\.(php|php[57]|phtml)$">
		SetHandler application/x-httpd-php
	</FilesMatch>
 
	# PHP source files which are meant to be displayed as
	# syntax-highlighted source code.
	<FilesMatch "\.phps$">
		SetHandler application/x-httpd-php-source
	</FilesMatch>
 
	DirectoryIndex index.php index.phtml
</IfDefine>

Ha nem létezik, akkor hozza létre.

A PHP modul működésének ellenőrzéséhez hozzon létre egy tesztoldalt:

FILE /var/www/localhost/htdocs/index.phpPHP test page
<html>
 <body>
  <?php phpinfo(); ?>
 </body>
</html>

Most tiltsa le vagy nevezze át a /var/www/localhost/htdocs/index.html fájlt, és nyissa meg a tesztoldalt: https://localhost/

A PHP beállításait tartalmazó táblázatot kell, hogy lássa.

PHP verziók módosítása

Az Apache által kezelt PHP verziójának megváltoztatásához először listázza ki az apache2 szerver alkalmazásprogramozási felületének (Server Application Programming Interface, SAPI) elérhető verzióit:

root #eselect php list apache2
 [1]   php5.3
 [2]   php5.4 *
 [3]   php5.5

Módosítsa a választott verzióra:

root #eselect php set apache2 N

Cserélje ki a fenti példában az N jelölést a szükséges számra az eselect php list apache2 kimenetében, ahogy korábban is látható volt.

Virtuális gazdaszámítógépek

Minden virtuális gazdagéphez biztosítson egy DocumentRoot könyvtárat, amely elérhető és hozzáférhető az Apache démon számára. Adjon hozzá egy virtuális gazdagép konfigurációs fájlt (VirtualHost.conf) az /etc/apache2/vhosts.d könyvtárba, amely ezt a DocumentRoot és a virtuális gazdagép-kiszolgáló nevét használja. Ne feledjen el hozzáadni egy bejegyzést ehhez a tartománynévhez az /etc/hosts könyvtárban.

Az apache felhasználó/csoport jogosultságának hozzárendeléséhez a virtuális gazdagép fájlokhoz használja a chown parancsot, amint azt a következő példa mutatja:

root #chown apache:apache /var/www/sitename

Az alábbiakban két példakénti virtuális gazdagép-definíció található. Első a domainname1.com, és a másik a domainname2.com számára. Vegye észre a különböző DocumentRoot és ServerName direktívákat, bár maga a host (*:80) ugyanaz marad:

CODE Example virtual host definitions
<VirtualHost *:80>
    ServerAdmin email@site.com
    DocumentRoot /var/www/website1
    ServerName domainname1.com
</VirtualHost>
  
<VirtualHost *:80>
    ServerAdmin email@site.com
    DocumentRoot /var/www/website2
    ServerName domainname2.com
</VirtualHost>

Ajánlott IP alapú virtuális hoszt definíciót is megadni. Ez lehetővé teszi az adminisztrátor számára, hogy üzenetet küldjön azoknak a felhasználóknak, akik megpróbálnak elérni egy webhelyet annak IP-címén keresztül:

CODE IP-based virtual host
<VirtualHost *:80>
    ServerAdmin email@site.com
    DocumentRoot /var/www/html
    ServerName xxx.xxx.xxx.xxx
</VirtualHost>

A virtuális gazdagépek beillesztése után a kiszolgálót újra kell indítani, hogy az új helyek aktiválódjanak.

A PHP engedélyezése az fcgid segítségével

Telepítse a www-apache/mod_fcgid és a dev-lang/php programcsomagokat. A PHP programcsomag megköveteli, hogy a cgi USE jelölőzászló be legyen állítva:

root #emerge --ask www-apache/mod_fcgid dev-lang/php

Szerkessze a mod_fcgid.conf fájlt:

FILE /etc/apache2/modules.d/20_mod_fcgid.conf
<IfDefine FCGID>
LoadModule fcgid_module modules/mod_fcgid.so
SocketPath /var/run/fcgidsock
SharememPath /var/run/fcgid_shm
  
AddHandler php-fcgid .php
AddType application/x-httpd-php .php
Action php-fcgid /fcgid-bin/php-fcgid-wrapper
# max request 128mb
FcgidMaxRequestLen 134217728
<Location /fcgid-bin/>
        SetHandler fcgid-script
        Options +ExecCGI
</Location>
</IfDefine>

Hozza létre a szükséges könyvtárat:

root #mkdir /var/www/localhost/htdocs/fcgid-bin

Symlinkelje a PHP wrapper számára:

root #ln -s /usr/bin/php-cgi /var/www/localhost/htdocs/fcgid-bin/php-fcgid-wrapper

Engedélyezze az FCGID modult:

FILE /etc/conf.d/apache2Az fcgid modul engedélyezése
APACHE2_OPTS="... -D FCGID"

Végül indítsa újra az Apache webszervert, és ellenőrizze a korábban létrehozott phpinfo() webhelyet. A Server API értéke CGI/FastCGI legyen.

A PHP-FPM engedélyezése a mod_proxy_fcgi használatán keresztül az Apache 2.4 webszerverben

A következő előfeltételeknek kell teljesülniük a PHP-FPM engedélyezéséhez a mod_proxy_fcgi-n keresztül:

  • >= PHP 5.3
  • >= Apache 2.4

Továbbá az Apache 2.4-es verziójában van néhány korlátozás a funkciók elérhetőségére vonatkozóan:

A következő konfiguráció csak az Apache 2.4.10 és újabb verzióival működik. A FilesMatch direktívára támaszkodik, és a fő kiszolgáló konfigurációjában vagy a VirtualHosts-ban kell elhelyezni. Az UNIX socket helyét a php-fpm.conf konfigurációs fájl listen direktívája határozza meg, lehetővé téve helyenként vagy funkciónként külön készletek megadását.

A következő példában a FilesMatch az Apache PHP modul konfigurációs fájljában található:

FILE /etc/apache2/modules.d/70_mod_php.confUsing PHP-FPM (recommended for Apache 2.4.10 and newer)
<IfDefine PHP>
        <FilesMatch "\.php$">
                SetHandler "proxy:unix:/var/run/php-fpm/www.sock|fcgi://localhost"
        </FilesMatch>
  
	# Set it to handle the files
	<IfModule mod_mime.c>
		AddHandler application/x-httpd-php .php .php5 .phtml
		AddHandler application/x-httpd-php-source .phps
	</IfModule>
  
	DirectoryIndex index.php index.phtml
 </IfDefine>

Vagy használhatja a ProxPassMatch-et. Ez az egyetlen lehetőség, ha az Apache 2.4.0 és 2.4.8 közötti verziókat használja.

FILE /etc/apache2/modules.d/70_mod_php.confUsing PHP-FPM (recommended for Apache 2.4.8 and older)
<IfDefine PHP>
        # Send all requested PHP files to PHP-FPM via fcgi://PHP_FPM_LISTEN_ADDRESS:PHP_FPM_LISTEN_PORT/DOCUMENT_ROOT/$1
        ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/var/www/localhost/htdocs/$1
  
	# Set it to handle the files
	<IfModule mod_mime.c>
		AddHandler application/x-httpd-php .php .php5 .phtml
		AddHandler application/x-httpd-php-source .phps
	</IfModule>
  
	DirectoryIndex index.php index.phtml
 </IfDefine>

Alapértelmezés szerint a listen direktíva nem socket-re van állítva. Először hozza létre a könyvtárat a socket fájlhoz:

root #mkdir /var/run/php-fpm

Ezután frissítse a php-fpm.conf fájlt az alábbiak szerint:

FILE php-fpm.confUpdating listen directive
; Set permissions for unix socket, if one is used. In Linux, read/write
; permissions must be set in order to allow connections from a web server. Many
; BSD-derived systems allow connections regardless of permissions.
; Default Values: user and group are set as the running user
;                 mode is set to 0666
listen.owner = apache
listen.group = apache
;listen.mode = 0666
 
 ; The address on which to accept FastCGI requests.
 ; Valid syntaxes are:
 ;   'ip.add.re.ss:port'    - to listen on a TCP socket to a specific address on
 ;                            a specific port;
 ;   'port'                 - to listen on a TCP socket to all addresses on a
 ;                            specific port;
 ;   '/path/to/unix/socket' - to listen on a unix socket.
 ; Note: This value is mandatory.
 ;listen = 127.0.0.1:9000
listen = /var/run/php-fpm/www.sock

Majd engedélyezze a PHP és a PROXY modult is:

FILE /etc/conf.d/apache2A PHP és a proxy modulok bekapcsolása
APACHE2_OPTS="... -D PHP -D PROXY"

Webes keretrendszerek és az Apache

Néhány webes keretrendszer, amely képes együttműködni az Apache webszerverrel, megtalálható a wikin:

HTTPS a Let’s Encrypt TLS-tanúsítványai által

Fontos, hogy minden nyilvános webszerver biztosítson "biztonságos" HTTPS hozzáférést is. Gyakran a HTTPS protokollt biztosító webhelyek úgy vannak beállítva, hogy a HTTP kéréseket a HTTPS-nek megfelelő URL-re irányítsák át.

A Let’s Encrypt egy non-profit tanúsítványt létrehozó hatóság, amely teljesen ingyenes TLS-tanúsítványokat bocsát ki. A certbot a Gentoo szoftvertárolóban elérhető segédprogram a TLS-tanúsítványok egyszerű kéréséhez és telepítéséhez, valamint a HTTPS hozzáférés automatikus beállításához az Apache webszerver számára.

A certbot használatával kapcsolatos információkért olvassa el a Let's Encrypt cikket. Az EFF-nek külön utasításai vannak a certbot használatához a Gentoo-n az Apache beállításához.

Használat

Szolgáltatások

OpenRC

Az Apache webszerver elindítása:

root #/etc/init.d/apache2 start

Az Apache hozzáadása az alapértelmezett futási szinthez:

root #rc-update add apache2 default

Az Apache-webszerver szolgáltatás újraindítása:

root #/etc/init.d/apache2 restart

Az Apache webszerver konfigurációs-fájljainak újbóli betöltése:

root #/etc/init.d/apache2 reload

systemd

Az Apache webszerver elindítása

root #systemctl start apache2

Az Apache webszerver hozzáadása az alapértelmezett futási szinthez:

root #systemctl enable apache2

Az Apache-webszerver szolgáltatás újraindítása:

root #systemctl restart apache2

Hibaelhárítás

Külső források

Az Apache webszervert nehéz lehet megfelelően konfigurálni. Az alábbiakban felsorolunk néhány forrást, amelyek hasznosak lehetnek problémák esetén:

Tesztelés

Az IP interfészek és portok ellenőrzése, amelyeken az Apache2 fut, és figyel:

root #ss -tlpn | grep apache
LISTEN 0      0       0.0.0.0:80       0.0.0.0:*    users:(("apache2",pid=1401,fd=3),("apache2",pid=1399,fd=3),("apache2",pid=1396,fd=3))
LISTEN 0      0       0.0.0.0:443      0.0.0.0:*    users:(("apache2",pid=1401,fd=3),("apache2",pid=1399,fd=3),("apache2",pid=1396,fd=3))

Annak tesztelése, hogy működik-e a kapcsolat egy Apache webszerverrel a localhost-on:

user $telnet localhost 80
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.

Szakítsa meg a kapcsolódási tesztet a Ctrl+c billentyűkombinációval és Enter -rel.

apr_sockaddr_info_get() sikertelen a <System_Hostname> esetén

Hiba:

apache2: apr_sockaddr_info_get() failed for System_Hostname

Resolution:

Amikor ez megtörténik, akkor adja hozzá a gazdagép nevét az /etc/hosts fájlhoz:

FILE /etc/hostsEgy hostname hozzáadása af Apache webszerverhez
127.0.0.1 localhost System_Hostname

További olvasnivaló a témában

Külső források