Chcete-li spravovat svůj web na místním serveru, musíte nainstalovat mnoho dalších komponent, které organizují jediný systém, který funguje hladce a bez chyb. Jednou z hlavních součástí takové struktury lze považovat webový server. Uživatelé nejčastěji upřednostňují používání Apache kvůli jeho jednoduchosti a flexibilitě konfigurace a také možnosti připojení externích modulů. Instalace a základní konfigurace však není rychlý proces a pro některé je dokonce obtížný, proto bychom o tom chtěli hovořit podrobněji a jako příklad si vezmeme distribuci CentOS 7.
Nainstalujte Apache na CentOS 7
Struktura dnešního článku bude postupná, aby i ten nejnáročnější uživatel pochopil, jak přesně probíhá instalace a příprava příslušného webového serveru. Okamžitě objasníme, že neposkytujeme průvodce pro podrobnou konfiguraci Apache, protože to závisí na osobních preferencích uživatele a zbývajících důležitých komponentách. Tuto informaci vždy doporučujeme odkázat na oficiální dokumentaci.
Krok 1: příprava a instalace
Začněme hned instalací komponent Apache a přidáním všech podpůrných služeb. K tomu doporučujeme použít distribuční úložiště, protože se tam vždy nahraje nejnovější stabilní verze softwaru a samotný instalační proces nezabere mnoho času.
- Běh "Terminál"například prostřednictvím ikony v části Oblíbené.
- Pokud jste v počítači již dříve nainstalovali Apache nebo jste omylem odebrali některou z jeho komponent, stačí použít příkaz
sudo yum aktualizovat httpd
aktivací stisknutím klávesy Enter. - Tato akce se provádí jménem superuživatele, což znamená, že ji budete muset potvrdit zadáním hesla pro tento účet.
- Pokud jsou nainstalovány aktualizace, budete na to upozorněni a pokud balíček chybí, zobrazí se další zpráva odpovídající povahy.
- Nyní si promluvme o instalaci Apache od nuly. Jak jsme řekli, použijeme k tomu oficiální úložiště, proto musíte zadat příkaz
sudo yum nainstalovat httpd
. - Když se zobrazí oznámení o instalaci balíčku, potvrďte jej výběrem možnosti y.
- Počkejte na dokončení instalace, během toho nezavírejte aktuální relaci terminálu, aby nedošlo k přerušení procesu.
- Po dokončení se okamžitě doporučuje spustit webový server, což lze provést pomocí
sudo systemctl start httpd
. - Zkontrolujte aktuální stav pomocí
sudo systemctl status httpd
. - Oznámení "Aktivní: aktivní (běží)" znamená, že nyní Apache funguje správně a můžete pokračovat v jeho další konfiguraci.
To bylo vše, co bylo třeba vědět o základním postupu instalace webového serveru. Jak vidíte, není na tom nic složitého. Dále chceme hovořit o interakci s hlavními službami a nastavení základní konfigurace a musíte se jen rozhodnout, zda stojí za to prostudovat si tyto pokyny, nebo již máte znalosti konfigurace a správy.
Krok 2: Správa služby Apache
Webový server v CentOS, stejně jako jiné distribuce, běží na pozadí jako služba. Ve výchozím nastavení se přidává ke spuštění a již jsme hovořili o aktivaci a kontrole stavu dříve. Pokud si přejete tento nástroj spravovat, postupuje se takto:
- Enter
sudo systemctl stop httpd
úplně zastavit Apache. - Tento a všechny následující příkazy budou provedeny jménem superuživatele, takže jej budete muset potvrdit zadáním příslušného hesla.
- K restartu dojde pomocí příkazu
sudo systemctl restart httpd
... Tento příkaz je relevantní v situacích, kdy dojde k chybě serveru nebo je nutné jej restartovat kvůli zvláštnostem interakce s jinými komponentami. - Použití
sudo systemctl znovu načíst httpd
chcete-li, aby se všechny změny provedené po konfiguraci projevily bez přerušení některého z připojení. - Příkaz
sudo systemctl vypnout httpd
odebere Apache ze spuštění asudo systemctl povolit httpd
vrací standardní stav. Pokud je navíc tato možnost povolena, budete upozorněni na vytvoření nového symbolického odkazu odpovědného za tuto možnost.
Jak vidíte, nejstandardnější příkazy řídí stav služby. Nebude obtížné si je zapamatovat, pokud se často budete muset uchýlit k těmto opatřením během správy sítě, samostatného webu nebo jakýchkoli aplikací.
Krok 3: základní konfigurace
Základní konfigurace zahrnuje nastavení virtuálního hostitele, což je užitečné pro izolaci nastavení a hostování různých domén na stejném serveru. Jeden standardní virtuální hostitel stačí, pokud pracujete pouze s jedním webem, ale při registraci dalších domén se budete muset uchýlit k vytvoření dalších parametrů. Jako příklad si vezmeme standardního virtuálního hostitele a podle potřeby změníte jeho adresu.
- Začněme vytvořením adresáře, kde budou uloženy všechny podřízené soubory virtuálního hostitele. To se provádí pomocí příkazu
sudo mkdir -p /var/www/example.com/html
. - Je také zapotřebí další složka, do které se automaticky uloží protokoly událostí. Chcete-li jej přidat, zadejte
sudo mkdir -p /var/www/example.com/log
. - Nastavit výchozí oprávnění pro adresář pomocí
sudo chown -R $ USER: $ USER /var/www/example.com/html
. - Nastavením a nastavením oprávnění pro každého uživatele vložením
sudo chmod -R 755 / var / www
. - Začněme vytvářet vzorovou stránku předlohy, která se zobrazí při kontrole stavu hostitele. Vytvořte nový textový soubor pomocí pohodlného editoru, například pomocí nano, měli byste zadat
sudo nano /var/www/example.com/html/index.html
. - Když otevřete textový editor, budete upozorněni, že se jedná o nový soubor. Nebojte se, tak by to mělo být. Vytváříme jej záměrně nastavením příslušné konfigurace.
- Vložte níže uvedený kód a nahraďte standardní pozdrav jakýmkoli textem. Pokud chcete, můžete strukturu zcela přepracovat vytvořením stránky, která vám vyhovuje.
<html>
<head>
<title>Welcome to Example.com!</title>
</head>
<body>
<h1>Success! The example.com virtual host is working!</h1>
</body>
</html></code>
- Uložte změny kliknutím na Ctrl + Oa poté opustit textový editor pomocí Ctrl + X.
- Jednalo se pouze o předběžné nastavení. Pojďme nyní k samotnému virtuálnímu hostiteli: nejprve musíte určit složky pro jeho úložiště. Chcete-li to provést, zadejte
sudo mkdir / etc / httpd / sites-available / etc / httpd / sites-enabled
. - Poté řekněte webovému serveru, že nyní musí komunikovat s ostatními komponentami. Tento úkol se provádí úpravou hlavního konfiguračního souboru. Spusťte jej prostřednictvím textového editoru zadáním
sudo nano /etc/httpd/conf/httpd.conf
. - Přejděte do dolní části seznamu a vložte řádek
IncludeOptional sites enabled / *. Conf
. - Nezapomeňte uložit všechny změny před ukončením textového editoru.
- K vytvoření samotného virtuálního hostitele potřebujete ještě jeden konfigurační soubor. Vytvořte jej prostřednictvím
sudo nano /etc/httpd/sites-available/example.com.conf
. - Vložte následující obsah a nahraďte požadované řádky vlastním.
Název serveru www.example.com
ServerAlias example.com
DocumentRoot /var/www/example.com/html
ErrorLog /var/www/example.com/log/error.log
CustomLog /var/www/example.com/log/requests.log dohromady
- Zbývá pouze aktivovat soubor vytvořením symbolického odkazu pomocí
sudo ln -s /etc/httpd/sites-available/example.com.conf /etc/httpd/sites-enabled/example.com.conf
.
Krok 4: Konfigurace řízení přístupu
Pokud mluvíme o konfiguraci globálních parametrů, je nutné zajistit řízení přístupu a určit počet uživatelů, kteří budou moci provádět změny v dříve uvažovaných adresářích. Tento postup se provádí pomocí standardního nástroje SELinux odpovědného za správu úrovní přístupu.
- Nastavte globální nastavení zabezpečení pomocí
sudo setsebool -P httpd_unified 1
... Zajistí, aby všechny typy procesů byly zpracovány jako jeden celek. - Dále se doporučuje zkontrolovat aktuální možnosti SELinuxu, které byly poskytnuty automaticky. Chcete-li to provést, napište
sudo ls -dZ /var/www/example.com/log/
. - Ve výsledku se zobrazí obsah drwxr-xr-x. root root unconfined_u: object_r: httpd_sys_content_t: s0 /var/www/example.com/log/... To znamená, že nyní Apache může číst pouze ty soubory, které byly vytvořeny v nainstalované složce, respektive budete muset změnit konfiguraci.
- Tento úkol se provádí prostřednictvím
sudo semanage fcontext -a -t httpd_log_t "/var/www/example.com/log(/.*)?"
. - Uložte změny a proveďte je po restartu serveru zadáním
sudo restorecon -R -v /var/www/example.com/log
. - Nyní zkontrolujte své změny znovu pomocí
sudo ls -dZ /var/www/example.com/log/
. - Jak vidíte, výsledný výstup má formu drwxr-xr-x. root root unconfined_u: object_r: httpd_log_t: s0 /var/www/example.com/log, proto je všechno pravda.
- Zbývá jen otestovat všechny změny. Chcete-li to provést, zadejte
sudo systemctl restart httpd
a klikněte na Enter. - Akce potvrďte heslem superuživatele.
- Vytvořte katalogový požadavek znovu zadáním
ls -lZ /var/www/example.com/log
... Pokud je zobrazený obsah ve formátu-rw-r - r--. 1 root root error.log -rw-r - r--. 1 kořenový kořen 0 požadavků.log
, to znamená, že všechna předchozí nastavení byla provedena správně.
Byli jste obeznámeni s instalačním postupem a obecnou konfigurací webového serveru Apache na CentOS 7. Jak vidíte, samotná instalace nezabere mnoho času a všechny potíže se týkají pouze konfigurace. Pokud vám předložený průvodce změnou parametrů a správou Apache nestačil, doporučujeme vám prostudovat si oficiální dokumentaci pomocí odkazu níže.