Jak nainstalovat webový Server Apache na CentOS 7

Úvod

HTTP server Apache je nejpoužívanějším webovým serverem na světě. Poskytuje mnoho výkonných funkcí, včetně dynamicky načítatelných modulů, robustní podpory médií a rozsáhlé integrace s jiným populárním softwarem.

v této příručce nainstalujete webový server Apache s virtuálními hostiteli na server CentOS 7.

předpoklady

k dokončení této příručky budete potřebovat následující:

  • nekořenový uživatel s oprávněními sudo nakonfigurovanými na vašem serveru, nastavený podle počátečního průvodce nastavením serveru pro CentOS 7.
  • základní firewall nakonfigurovaný podle dalších doporučených kroků pro Nový průvodce servery CentOS 7.

Krok 1 — Instalace Apache

Apache je k dispozici v CentOS je výchozí software repozitářů, což znamená, že můžete nainstalovat s yum správce balíčků.

Jako non-root uživatele sudo nakonfigurovat předpoklady, aktualizovat místní Apache httpd package index, aby odrážely nejnovější proti proudu změn:

  • sudo yum update httpd

Jakmile balíčky jsou aktualizovány, nainstalovat Apache balíčku:

  • sudo yum install httpd

Po potvrzení instalace, yum bude instalovat Apache a všechny požadované závislosti.

Pokud jste úspěšně absolvováno Další Doporučené Kroky pro Nový CentOS 7 Serverů, průvodce, uvedené v části předpoklady, budete mít nainstalován firewalld na vašem serveru a budete muset otevřít port 80 povolit Apache sloužit požadavky přes HTTP. Pokud jste tak ještě neučinili, můžete to provést povolením firewalld ‚ s http pomocí následujícího příkazu:

  • sudo firewall-cmd --permanent --add-service=http

Pokud máte v plánu nakonfigurovat Apache, aby sloužil obsahu přes HTTPS, budete také chtít otevřít port 443 umožňuje https služby:

  • sudo firewall-cmd --permanent --add-service=https

Next, znovu načtěte bránu firewall, aby tyto nová pravidla v platnost:

  • sudo firewall-cmd --reload

Poté bránu firewall znovu načte, jste připraveni ke spuštění služby a zkontrolujte, zda web server.

Krok 2-Kontrola webového serveru

Apache se po dokončení instalace automaticky nespustí na CentOSu. Budete muset spustit Apache proces ručně:

  • sudo systemctl start httpd

Ověřte, zda je spuštěna služba s následující příkaz:

  • sudo systemctl status httpd

uvidíte active stav, kdy je spuštěna služba:

Output
Redirecting to /bin/systemctl status httpd.service● httpd.service - The Apache HTTP Server Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled) Active: active (running) since Wed 2019-02-20 01:29:08 UTC; 5s ago Docs: man:httpd(8) man:apachectl(8) Main PID: 1290 (httpd) Status: "Processing requests..." CGroup: /system.slice/httpd.service ├─1290 /usr/sbin/httpd -DFOREGROUND ├─1291 /usr/sbin/httpd -DFOREGROUND ├─1292 /usr/sbin/httpd -DFOREGROUND ├─1293 /usr/sbin/httpd -DFOREGROUND ├─1294 /usr/sbin/httpd -DFOREGROUND └─1295 /usr/sbin/httpd -DFOREGROUND...

Jak můžete vidět z tohoto výstupu, zobrazí se služby začaly úspěšně. Nejlepší způsob, jak to otestovat, je však požádat o stránku od Apache.

můžete přistupovat k výchozí vstupní stránce Apache a potvrdit, že software běží správně prostřednictvím vaší IP adresy. Pokud neznáte IP adresu vašeho serveru, můžete ji získat několika různými způsoby z příkazového řádku.

Zadejte toto na příkazovém řádku serveru:

  • hostname -I

Tento příkaz zobrazí všechny síťové adresy hostitele, takže získáte zpět několik IP adres oddělených mezerami. Každý si můžete vyzkoušet ve svém webovém prohlížeči, abyste zjistili, zda fungují.

Případně můžete použít curl žádost vaše IP icanhazip.com, který vám vaši veřejnou IPv4 adresu, jak je vidět z jiného místa na internetu:

  • curl -4 icanhazip.com

Když máte IP adresu serveru, zadejte do adresního řádku vašeho prohlížeče:

http://your_server_ip

uvidíte výchozí CentOS 7 Apache web stránce:

Výchozí stránka Apache pro CentOS 7

Tato stránka uvádí, že Apache funguje správně. Obsahuje také některé základní informace o důležitých souborech Apache a umístění adresářů. Nyní, když je služba nainstalována a spuštěna, můžete nyní ke správě služby použít různé příkazy systemctl.

Krok 3-Správa procesu Apache

Nyní, když máte webový server v provozu, pojďme si projít některé základní příkazy pro správu.

zastavit vaše webovém serveru:

  • sudo systemctl stop httpd

Chcete-li spustit webový server, když je zastavena, typ:

  • sudo systemctl start httpd

zastavit a poté službu opět spustit, zadejte:

  • sudo systemctl restart httpd

Pokud jste prostě dělat změny v konfiguraci Apache může často nabít bez přerušení spojení. Chcete-li to provést, použijte tento příkaz:

  • sudo systemctl reload httpd

ve výchozím nastavení je Apache nakonfigurován tak, aby se spouštěl automaticky při spuštění serveru. Pokud to není to, co chcete, zakázat toto chování zadáním:

  • sudo systemctl disable httpd

Chcete-li znovu povolit spuštění služby na boot, typ:

  • sudo systemctl enable httpd

Apache bude nyní spustit automaticky, když boty server znovu.

výchozí konfigurace pro Apache umožní serveru hostit jeden web. Pokud plánujete hostování více domén na vašem serveru, budete muset nakonfigurovat virtuální hostitele na vašem webovém serveru Apache.

Krok 4 — Nastavení Virtuálních Hostitelů (Doporučeno)

Pokud používáte webový server Apache, můžete použít virtuální hostitele (podobný server bloky v Nginx), aby zahrnovala podrobnosti o konfiguraci a hostit více než jednu doménu z jednoho serveru. V tomto kroku nastavíte doménu s názvem example.com, ale měli byste ji nahradit vlastním názvem domény. Chcete-li se dozvědět více o nastavení názvu domény pomocí DigitalOcean, podívejte se na náš úvod do DigitalOcean DNS.

Apache na CentOS 7 má ve výchozím nastavení povolen jeden blok serveru, který je nakonfigurován tak, aby sloužil dokumentům z adresáře /var/www/html. I když to funguje dobře pro jeden web, může se stát těžkopádným, pokud hostujete více webů. Místo úpravy /var/www/html, bude vám vytvořit adresářovou strukturu v rámci /var/wwwexample.com stránky, takže /var/www/html v místě, jako výchozí adresář musí být doručena, pokud klient žádost neodpovídá žádné jiné stránky.

Vytvořit html adresář example.com takto, pomocí -p vlajka vytvořit veškeré potřebné nadřazené adresáře:

  • sudo mkdir -p /var/www/example.com/html

Vytvořit další adresář pro ukládání souborů protokolu na webu:

  • sudo mkdir -p /var/www/example.com/log

Next, přiřadit vlastnictví html adresář $USER environmentální proměnné:

  • sudo chown -R $USER:$USER /var/www/example.com/html

ujistěte Se, že vaše webové kořen má výchozí oprávnění nastavit:

  • sudo chmod -R 755 /var/www

Next, create a sample index.html page using vi or your favorite editor:

  • sudo vi /var/www/example.com/html/index.html

Press i to switch to INSERT mode and add the following sample HTML to the file:

/var/www/example.com/html/index.html
<html> <head> <title>Welcome to Example.com!</title> </head> <body> <h1>Success! The example.com virtual host is working!</h1> </body></html>

Save and close the file by pressing ESC, typing :wq, and pressing ENTER.

s adresářem webu a ukázkovým indexovým souborem na místě jste téměř připraveni vytvořit virtuální hostitelské soubory. Virtuální hostitele soubory zadejte konfiguraci samostatné stránky a říct, webový server Apache, jak reagovat na různé domény žádosti.

než vytvoříte virtuální hostitele, budete muset vytvořit adresář sites-available pro jejich uložení. Vytvoříte také adresář sites-enabled, který říká Apache, že virtuální hostitel je připraven sloužit návštěvníkům. Adresář sites-enabled bude obsahovat symbolické odkazy na virtuální hostitele, které chceme publikovat. Vytvořit adresáře s následující příkaz:

  • sudo mkdir /etc/httpd/sites-available /etc/httpd/sites-enabled

dále si budete říkat Apache se podívat na virtuální hostitelé v sites-enabled adresář. K dosažení tohoto cíle, upravit Apache je hlavní konfigurační soubor a přidejte řádek prohlašuje, volitelný adresář pro další konfigurační soubory:

  • sudo vi /etc/httpd/conf/httpd.conf

Přidejte tento řádek na konec souboru:

IncludeOptional sites-enabled/*.conf

po dokončení přidávání tohoto řádku Uložte a zavřete soubor. Nyní, když máte své virtuální hostitelské adresáře na místě, vytvoříte soubor virtuálního hostitele.

Začněte tím, že vytvoří nový soubor v sites-available adresář:

  • sudo vi /etc/httpd/sites-available/example.com.conf

Přidat následující konfigurační blok, a změnit na example.com domény k názvu vaší domény:

/etc/httpd/sites-available/příklad.kom.conf
<VirtualHost *:80> ServerName 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 combined</VirtualHost>

to Apache řekne, kde najít kořen přímo, který obsahuje veřejně přístupné webové dokumenty. To také řekne Apache, kam ukládat chyby a protokoly požadavků pro tento konkrétní web.

Uložte a zavřete soubor po dokončení.

Nyní, když jste vytvořili virtuální hostitelské soubory, povolíte je tak, aby Apache věděl, že je bude sloužit návštěvníkům. Chcete-li to provést, vytvořte symbolický odkaz pro každého virtuálního hostitele v adresáři sites-enabled :

  • sudo ln -s /etc/httpd/sites-available/example.com.conf /etc/httpd/sites-enabled/example.com.conf

váš virtuální hostitel je nyní nakonfigurován a připraven k zobrazování obsahu. Před restartováním služby Apache se ujistěte, že SELinux má správné zásady pro vaše virtuální hostitele.

Krok 5-Úprava oprávnění SELinuxu pro virtuální hostitele (doporučeno)

SELinux je nakonfigurován pro práci s výchozí konfigurací Apache. Vzhledem k tomu, že v konfiguračním souboru virtuálních hostitelů nastavíte vlastní adresář protokolu, zobrazí se při pokusu o spuštění služby Apache chyba. Chcete-li to vyřešit, musíte aktualizovat zásady SELinuxu, abyste Apache mohli zapisovat do potřebných souborů. SELinux přináší zvýšenou bezpečnost prostředí CentOS 7, proto se nedoporučuje modul jádra zcela deaktivovat.

existují různé způsoby, jak nastavit zásady na základě potřeb vašeho prostředí, protože SELinux vám umožňuje přizpůsobit úroveň zabezpečení. Tento krok bude zahrnovat dvě metody úpravy zásad Apache: univerzálně a na konkrétním adresáři. Úprava zásad v adresářích je bezpečnější,a proto je doporučeným přístupem.

Nastavení Apache Politiky Všeobecně

Nastavení Apache politiky všeobecně se říct, SELinux k léčbě všech Apache procesy shodně pomocí httpd_unified boolean. I když je tento přístup pohodlnější, nedá vám stejnou úroveň kontroly jako přístup, který se zaměřuje na Zásady souborů nebo adresářů.

Spustit následující příkaz nastavit univerzální Apache politiky:

  • sudo setsebool -P httpd_unified 1

setsebool příkaz změní SELinux boolean hodnoty. Příznak -P aktualizuje hodnotu boot-time, takže tato změna přetrvává při restartování. httpd_unified je logické, že řekne, SELinux k léčbě všech Apache procesy jako stejný typ, tak jste povolili to s hodnotou 1.

Nastavení Apache Politiky na Adresář

Individuálně nastavení SELinux oprávnění pro /var/www/example.com/log adresář vám větší kontrolu nad svou Apache politiky, ale může také vyžadovat další údržbu. Protože tato možnost není všeobecně nastavení politiky, budete muset ručně nastavit typ kontextu, pro každý nový log adresářů uvedených ve vaší virtuální hostitele konfigurace.

Nejprve zkontrolujte, zda typ kontextu, že SELinux dal /var/www/example.com/log adresář:

  • sudo ls -dZ /var/www/example.com/log/

Tento příkaz zobrazí a vytiskne SELinux kontextu firem. Zobrazí se výstup podobný následujícímu:

Output
drwxr-xr-x. root root unconfined_u:object_r:httpd_sys_content_t:s0 /var/www/example.com/log/

aktuálního kontextu je httpd_sys_content_t, který říká, SELinux, že Apache proces může číst pouze soubory vytvořené v tomto adresáři. V tomto tutoriálu změníte typ kontextu adresáře /var/www/example.com/log na httpd_log_t. Tento typ umožní rychle vytvořit a připojit se k webové aplikace, log soubory:

  • sudo semanage fcontext -a -t httpd_log_t "/var/www/example.com/log(/.*)?"

Next, použijte restorecon příkaz aplikovat tyto změny a mít je přetrvávat po restartu:

  • sudo restorecon -R -v /var/www/example.com/log

-R vlajka se spouští tento příkaz rekurzivně, což znamená, že bude aktualizovat všechny existující soubory se používat nové souvislosti. Příznak -v vytiskne kontextové změny provedeného příkazu. Uvidíte následující výstup potvrzení změn:

Output
restorecon reset /var/www/example.com/log context unconfined_u:object_r:httpd_sys_content_t:s0->unconfined_u:object_r:httpd_log_t:s0

můžete zobrazit seznam kontextů jednou vidět změny:

  • sudo ls -dZ /var/www/example.com/log/

výstup odráží aktuální typ kontextu:

Output
drwxr-xr-x. root root unconfined_u:object_r:httpd_log_t:s0 /var/www/example.com/log

Nyní, že /var/www/example.com/log adresář je pomocí httpd_log_t typ, jste připraveni vyzkoušet své konfigurace virtuálních hostitelů.

Krok 6-testování virtuálního hostitele (doporučeno)

jakmile bude kontext SELinuxu aktualizován některou z metod, Apache bude moci zapsat do adresáře /var/www/example.com/log. Nyní můžete úspěšně restartovat službu Apache:

  • sudo systemctl restart httpd

Seznam obsah /var/www/example.com/log directory, jestli Apache vytvořené log soubory:

  • ls -lZ /var/www/example.com/log

uvidíte, že Apache byl schopen vytvořit error.logrequests.log soubory zadané v konfigurace virtuálních hostitelů:

Output
-rw-r--r--. 1 root root 0 Feb 26 22:54 error.log-rw-r--r--. 1 root root 0 Feb 26 22:54 requests.log

Nyní, když máte své virtuální hostitele nastavit a SELinux oprávnění aktualizovány, Apache bude nyní sloužit své doménové jméno. Můžete to otestovat navigací na http://example.com, kde byste měli vidět něco takového:

úspěch! V example.com virtuální hostitel pracuje!

to potvrzuje, že váš virtuální hostitel je úspěšně nakonfigurován a podává obsah. Opakujte kroky 4 a 5 a vytvořte nové virtuální hostitele s oprávněními SELinuxu pro další domény.

závěr

v tomto tutoriálu jste nainstalovali a spravovali webový server Apache. Nyní, když máte nainstalovaný webový server, máte mnoho možností pro typ obsahu, který můžete obsluhovat, a technologie, které můžete použít k vytvoření bohatšího zážitku.

Pokud chcete vytvořit úplnější zásobník aplikací, můžete se podívat na tento článek o tom, jak nakonfigurovat zásobník LAMP na CentOS 7.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *