Server Apache HTTP
Apache HTTP Server, webový server s otevřeným zdrojovým kódem vyvinutý nadací Apache Software Foundation. Server Apache se používá k hostování webového obsahu. Reaguje na požadavky na obsah z webových prohlížečů, jako je Internet Explorer a Firefox.
Poznámka :Příspěvek používá distribuci RHEL/CentOS 7 k instalaci a konfiguraci serveru Apache. I když se příkazy start/stop/install mohou lišit, konfigurační kroky jsou ve všech linuxových distribucích stejnéInstalace Apache
Chcete-li nakonfigurovat svůj systém jako webový server, začněte instalací softwarového balíčku httpd.
# yum install httpd
Pomocí obslužného programu systemctl povolte spuštění démona HTTP při spouštění a také okamžité spuštění démona.
# systemctl enable httpd Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service. # systemctl start httpd
Konfigurační soubory
Hlavní konfigurační soubor pro Apache je /etc/httpd/conf/httpd.conf . Pomocný adresář /etc/httpd/conf.d , existuje také pro ukládání konfiguračních souborů, které jsou součástí hlavního konfiguračního souboru. Konfigurační soubory, které načítají moduly, jsou v /etc/httpd/conf.modules.d adresář.
Nové dílčí příkazy apachectl v CentOS / RHEL 7
V CentOS / RHEL 7 jsou k dispozici nové dílčí příkazy apachectl. Následující příklad používá configtest dílčí příkaz ke kontrole možných chyb v konfiguraci.
# apachectl configtest
Použijte ladný dílčí příkaz pro opětovné načtení konfigurace bez ovlivnění aktivních požadavků.
# apachectl graceful
Konfigurace Apache
Hlavní konfigurační soubor pro Apache je /etc/httpd/conf/httpd.conf . Apache běží jako nainstalovaný, ale můžete upravit konfigurační direktivy v tomto souboru a přizpůsobit Apache vašemu prostředí. Některé z těchto směrnic jsou popsány v příspěvku níže.
Apache HTTP server – nejčastěji používané konfigurační direktivyTestování serveru Apache HTTP
Funkčnost Apache můžete potvrdit nasměrováním prohlížeče v místním systému na http://localhost, jak je znázorněno na obrázku níže. Můžete také nasměrovat prohlížeč na http:// následované veřejnou IP adresou serveru nebo Název serveru direktivu, kterou jste zadali v konfiguračním souboru. Níže uvedená testovací stránka potvrzuje fungování serveru Apache HTTP.
Chcete-li otestovat zobrazení skutečného obsahu, vytvořte soubor HTML s názvem index.html v adresáři určeném direktivou DocumentRoot (výchozí adresář je /var/www/html ). Apache automaticky zobrazí soubor index.html v tomto adresáři, pokud existuje.
Kontejnery Apache
Kontejnery Apache jsou speciální konfigurační direktivy, které seskupují další direktivy. Kontejnery používají značky ve stylu XML, což znamená, že začátek kontejneru je
Virtuální hostitelé Apache
Apache podporuje virtuální hostitele, což znamená, že jeden server Apache může odpovídat na požadavky směřované na více IP adres nebo názvů hostitelů. Každý virtuální hostitel může poskytovat obsah a být nakonfigurován odlišně.
Virtuální hostitele můžete nakonfigurovat dvěma způsoby:
1. Virtuální hostitelé na bázi IP (host-by-IP)
2. Virtuální hostitelé podle názvu (host-by-name)
host-by-IP
U hostitele po IP má každý virtuální hostitel svou vlastní kombinaci IP adresy a portu. Webový server Apache odpoví na IP adresu, kterou hostitel překládá jako. Kvůli omezením protokolu SSL (Secure Sockets Layer) je pro obsluhu požadavků HTTPS vyžadována funkce Host-by-IP.
host-by-name
U funkce host-by-name sdílejí všichni virtuální hostitelé společnou IP adresu. Apache odpoví na požadavek namapováním názvu hostitele v požadavku na ServerName a ServerAlias direktivy v konfiguračním souboru konkrétního virtuálního hostitele.
K implementaci virtuálních hostitelů použijte kontejner
Následující příklad je jednoduchá konfigurace virtuálních hostitelů založená na názvech:
<VirtualHost *:80> ServerName example1.com ServerAlias www.example1.com DocumentRoot /var/www/example1 ErrorLog example1.error_log </VirtualHost> <VirtualHost *:80> ServerName example2.com ServerAlias www.example2.com DocumentRoot /var/www/example2 ErrorLog example2.error_log </VirtualHost>