Hostuji své vlastní webové stránky již mnoho let. Od přechodu z OS/2 na Linux před více než 20 lety jsem jako svůj serverový software používal Apache. Apache je solidní, dobře známý a celkem snadno konfigurovatelný pro základní instalaci. Konfigurace pro složitější nastavení, jako je například více webových stránek, není o tolik složitější.
Další zdroje pro Linux
- Cheat pro příkazy Linuxu
- Cheat sheet pro pokročilé příkazy systému Linux
- Bezplatný online kurz:Technický přehled RHEL
- Síťový cheat pro Linux
- Cheat sheet SELinux
- Cheat pro běžné příkazy pro Linux
- Co jsou kontejnery systému Linux?
- Naše nejnovější články o Linuxu
Instalace a konfigurace webového serveru Apache musí být provedena jako root. Konfigurace firewallu musí být také provedena jako root. Prohlížeč k prohlížení výsledků této práce by měl být prováděn jako uživatel bez oprávnění root. (Používám uživatele student
na mém virtuálním hostiteli.)
Instalace
Poznámka:Tento článek byl aktualizován pomocí Fedory 33 s Apache 2.4.46. Pokud používáte jinou distribuci nebo jiné vydání Fedory, vaše příkazy a umístění a obsah konfiguračních souborů se mohou lišit. Konfigurační řádky, které potřebujete upravit, jsou však stejné bez ohledu na distribuci.
Webový server Apache se snadno instaluje. Jediným příkazem jej můžete nainstalovat a všechny potřebné závislosti:
$ dnf install httpd
Všechny konfigurační soubory pro Apache jsou umístěny v /etc/httpd/conf
a /etc/httpd/conf.d
. Data pro webové stránky, které budete provozovat pomocí Apache, se nacházejí v /var/www
ve výchozím nastavení, ale pokud chcete, můžete to změnit.
Konfigurace
Primární konfigurační soubor Apache je /etc/httpd/conf/httpd.conf
. Obsahuje mnoho konfiguračních příkazů, které není třeba pro základní instalaci měnit. Ve skutečnosti je třeba v tomto souboru provést pouze několik změn, aby se zprovoznil základní web. Soubor je velmi velký, takže než aby byl tento článek zahlcen spoustou zbytečných věcí, ukážu pouze ty direktivy, které potřebujete změnit.
Nejprve si věnujte chvíli času a projděte httpd.conf
soubor, abyste se s ním seznámili. Jedna z věcí, které se mi na verzích Red Hat u většiny konfiguračních souborů líbí, je počet komentářů, které popisují různé sekce a konfigurační směrnice v souborech. Soubor httpd.conf
soubor není výjimkou, protože je docela dobře komentovaný. Pomocí těchto komentářů porozumíte tomu, co soubor konfiguruje.
První položka, kterou je třeba změnit, je Listen
příkaz, který definuje IP adresu a port, na kterém má Apache naslouchat požadavkům stránky. Právě teď stačí zpřístupnit tento web místnímu počítači, takže použijte localhost
adresa. Po dokončení by řádek měl vypadat takto:
Listen 127.0.0.1:80
S touto direktivou nastavenou na IP adresu localhost
, Apache bude naslouchat pouze připojením z místního hostitele. Pokud chcete, aby webový server naslouchal připojením od vzdálených hostitelů, použili byste externí IP adresu hostitele.
DocumentRoot
směrnice určuje umístění souborů HTML, které tvoří stránky webu. Tuto čáru není třeba měnit, protože již ukazuje na standardní umístění. Řádek by měl vypadat takto:
DocumentRoot "/var/www/html"
Instalační RPM Apache vytvoří /var/www
adresářový strom. Pokud jste chtěli změnit umístění, kde jsou uloženy soubory webových stránek, slouží k tomu tato konfigurační položka. Můžete například chtít použít jiný název pro www
podadresář, aby byla identifikace webu jasnější. Mohlo by to vypadat takto:
DocumentRoot "/var/mywebsite/html"
Toto jsou jediné změny konfigurace Apache potřebné k vytvoření jednoduchého webu. Pro toto malé cvičení byla provedena pouze jedna změna v httpd.conf
soubor – Listen
směrnice. Vše ostatní je již nakonfigurováno pro vytvoření funkčního webového serveru.
Je však potřeba ještě jedna změna:otevření portu 80 v našem firewallu. Jako firewall používám iptables, takže změním /etc/sysconfig/iptables
přidat příkaz, který umožňuje protokol HTTP. Celý soubor vypadá takto:
# ukázková konfigurace pro službu iptables
# můžete to upravit ručně nebo použít system-config-firewall
#, nežádejte nás, abychom do této výchozí konfigurace přidali další porty/služby
*filtr
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m stav -- stav RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j PŘIJÍMAT
-A VSTUP -p tcp -m stav --stav NEW -m tcp --dport 80 -j PŘIJÍMAT
-A VSTUP -j ODMÍTAT --odmítnout -s icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
Řádek, který jsem přidal, je třetí zespodu, což umožňuje příchozí provoz na portu 80. Nyní znovu načtu změněnou konfiguraci iptables.
[root@testvm1 ~]# cd /etc/sysconfig/ ; iptables-restore iptables
Vytvořte soubor index.html
Soubor index.html
soubor je výchozí soubor, který webový server zobrazí, když přistupujete na web pouze pomocí názvu domény a nikoli konkrétního názvu souboru HTML. V /var/www/html
adresáře, vytvořte soubor s názvem index.html
. Přidejte obsah Hello World
. Aby to fungovalo, nemusíte přidávat žádné značky HTML. Jediným úkolem webového serveru je poskytovat proud textových dat a server nemá ponětí, jaké je datum nebo jak je vykreslit. Jednoduše přenese datový tok do žádajícího hostitele.
Po uložení souboru nastavte vlastnictví na apache.apache
.
[root@testvm1 html]# chown apache.apache index.html
Spusťte Apache
Apache je velmi snadné spustit. Aktuální verze Fedory používají systemd
. Spuštěním následujících příkazů jej spusťte a poté zkontrolujte stav serveru:
[root@testvm1 ~]# systemctl start httpd
[root@testvm1 ~]# systemctl status httpd
● httpd.service – HTTP server Apache
Načteno:načteno (/usr /lib/systemd/system/httpd.service; zakázáno; přednastaveno dodavatelem:zakázáno)
Aktivní:aktivní (běží) od čt 2018-02-08 13:18:54 EST; před 5 s
Docs:man:httpd.service(8)
Hlavní PID:27107 (httpd)
Stav:„Zpracovávání požadavků...“
Úkoly:213 (limit:4915)
CGroup:/system.slice/httpd.service
├─27107 /usr/sbin/httpd -DFOREGROUND
├DF─s27108 /bin GR/usr ├─27109 /usr/sbin/httpd -DFOREGROUND
├─27110 /usr/sbin/httpd -DFOREGROUND
└br─27111 /http br/sOUND 08 13:18:54 testvm1 systemd[1]:Spuštění serveru Apache HTTP Server...
Únor 08 13:18:54 testvm1 systemd[1]:Spuštění serveru Apache HTTP.
Příkazy se mohou na vašem serveru lišit. V systémech Linux, které používají spouštěcí skripty SystemV, by příkazy byly:
Pokud máte na svém hostiteli webový prohlížeč, jako je Firefox nebo Chrome, můžete použít adresu URL localhost
na řádku URL prohlížeče, abyste zobrazili svou webovou stránku, i když to je jednoduché. K zobrazení webové stránky můžete také použít webový prohlížeč v textovém režimu, jako je Lynx. Nejprve nainstalujte Lynx (pokud již není nainstalován).
[root@testvm1 ~]# dnf -y install lynx
Poté použijte následující příkaz k zobrazení webové stránky.
[root@testvm1 ~]# lynx localhost
Výsledek vypadá takto v mé terminálové relaci. Smazal jsem hodně prázdného místa na stránce.
Ahoj světe
Příkazy:Použijte šipky k pohybu, '?' pro nápovědu 'q' pro ukončení, '<-' pro návrat zpět.
Šipky:Nahoru a Dolů pro pohyb. Právo sledovat odkaz; Vlevo pro návrat zpět.
H)Nápověda O)Možnosti P)Tisk G)o M)Na úvodní obrazovce Q)uit /=hledat [smazat]=seznam historie
Dále upravte index.html
a přidejte trochu značky HTML, takže to vypadá takto:
<h1>Hello World</h1>
Nyní obnovte prohlížeč. Pro Lynx použijte kombinaci kláves Ctrl+R. Výsledky vypadají trochu jinak. Text je barevný, což je způsob, jakým Lynx zobrazuje nadpisy, pokud váš terminál podporuje barvu, a nyní je vycentrován. V prohlížeči GUI bude text velkým písmem.
Ahoj světe
Příkazy:Použijte šipky k pohybu, '?' pro nápovědu 'q' pro ukončení, '<-' pro návrat zpět.
Šipky:Nahoru a Dolů pro pohyb. Právo sledovat odkaz; Vlevo pro návrat zpět.
H)Nápověda O)Možnosti P)Tisk G)o M)Na úvodní obrazovce Q)uit /=hledat [smazat]=seznam historie
Rozdělení myšlenek
Jak můžete vidět z tohoto malého cvičení, je snadné nastavit webový server Apache. Specifika se budou lišit v závislosti na vaší distribuci a verzi Apache dodávané touto distribucí. V mém prostředí to bylo docela triviální cvičení.
Ale je toho víc, protože Apache je velmi flexibilní a výkonný. Příští měsíc budu diskutovat o hostování více webových stránek pomocí jediné instance Apache.
Tento článek byl původně publikován v roce 2018 a byl aktualizován editorem.