GNU/Linux >> Znalost Linux >  >> Linux

Jak nakonfigurovat webový server Apache

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:

httpd (pid  14649) běží...

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.


Linux
  1. Jak nakonfigurovat více webových stránek s webovým serverem Apache

  2. Jak nainstalovat webový server Apache na Centos 8

  3. Jak nainstalovat webový server Apache na Ubuntu

  1. Jak nainstalovat webový server Apache na CentOS 7

  2. Jak nainstalovat a nakonfigurovat webový server Apache na Ubuntu 13.10

  3. Jak zjistím chyby syntaxe v konfiguraci webového serveru Apache

  1. Jak odstranit webový server Apache z Ubuntu

  2. Chyba zabezpečení HTTPOXY:Jak chránit a testovat váš webový server

  3. Jak nainstalovat webový server Apache na Linux