Apache
Az Apache HTTP szerver egy hatékony, bővíthető web server. Ez az egyik legnépszerűbb internetes webszerver.
Telepítés
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:
www-servers/apache threads
Az Apache esemény MPM használatához adja hozzá a következőket a make.conf fájlhoz:
APACHE2_MPMS="event"
Az Apache worker MPM használatához adja hozzá a következőket a make.conf fájlhoz:
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.
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:
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.
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.
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.
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:
- Írja be az
about:config
kifejezést a böngészősávba. - Kattintson az "Óvatos leszek" gombra, és lépjen be a speciális konfigurációs oldalra.
- Írja be a
browser.fixup.alternate.enabled
kifejezést a megjelenő keresőmezőbe. - 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:
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:
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:
<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:
<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:
<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:
<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:
<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:
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:
- >= Apache 2.4.9, ha PHP-FPM-el szeretne kommunikálni UNIX socketeken keresztül.
- >= Apache 2.4.10, ha a SetHandler-t akarod használni a ProxyPassMatch helyett.
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ó:
<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.
<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:
; 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:
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:
127.0.0.1 localhost System_Hostname
További olvasnivaló a témában
- Lighttpd — a fast and lightweight web server.
- Nginx — a robust, small, high performance web server and reverse proxy server.
- Category:Web application - category containing some projects that can be configured to run with Apache.