GNU/Linux >> Znalost Linux >  >> Cent OS

Jak nainstalovat webový server Apache na Centos 8

Apache HTTP Server (Apache) je jedním z nejpopulárnějších bezplatných a open-source multiplatformních webových serverů, vydaný za podmínek licence Apache 2.0.

Apache je populární jako součást nastavení LAMP, což je A ve zkratce. Funkčnost serveru Apache lze rozšířit pomocí mnoha dostupných modulů.

Předpoklady:

  • Aktuální server Centos 8
  • Kořenový přístup k serveru (nebo uživatel s přístupem sudo)
  • Firewall je nastaven tak, aby umožňoval provoz na porty 80 a 443

Instalace Apache

Ujistěte se, že balíčky jsou aktuální:

sudo dnf -y update

Apache je k dispozici ve výchozích repozitářích softwaru CentOS 8 jako httpd . Informace o něm můžete zkontrolovat pomocí tohoto příkazu:

sudo dnf info httpd

Měli byste vidět něco podobného:

$ sudo dnf info httpd
CentOS Linux 8 - AppStream                                          20 MB/s | 8.8 MB     00:00
CentOS Linux 8 - BaseOS                                               24 MB/s | 5.6 MB     00:00
Last metadata expiration check: 0:00:01 ago on Sat 28 Aug 2021 01:06:59 PM UTC.
Available Packages
Name         : httpd
Version      : 2.4.37
Release      : 39.module_el8.4.0+778+c970deab
Architecture : x86_64
Size         : 1.4 M
Source       : httpd-2.4.37-39.module_el8.4.0+778+c970deab.src.rpm
Repository   : appstream
Summary      : Apache HTTP Server
URL          : https://httpd.apache.org/
License      : ASL 2.0
Description  : The Apache HTTP Server is a powerful, efficient, and extensible
             : web server.

Nainstalujte jej pomocí tohoto příkazu:

sudo dnf install -y httpd

Povolení http a https v firewallu

Pokud máte spuštěnou a spuštěnou bránu firewall, musíte povolit porty http a https pomocí těchto příkazů:

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

Nyní znovu načtěte firewall, aby tato nová pravidla začala platit:

sudo firewall-cmd --reload

Spuštění a povolení služby httpd

Ve výchozím nastavení není služba spuštěna. Potvrďte následujícím příkazem:

sudo systemctl status httpd

Výstup:

$ sudo systemctl status httpd
● httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
   Active: inactive (dead)
     Docs: man:httpd.service(8)

Spusťte službu tímto příkazem:

sudo systemctl start httpd

Když je služba spuštěna, obdržíte aktivní stav
Potvrďte, že nyní funguje správně:

$ sudo systemctl status httpd
● httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
   Active: active (running) since Sat 2021-08-28 13:32:17 UTC; 17s ago
     Docs: man:httpd.service(8)
 Main PID: 65827 (httpd)
   Status: "Running, listening on: port 80"
    Tasks: 213 (limit: 23800)
   Memory: 28.9M
   CGroup: /system.slice/httpd.service
           ├─65827 /usr/sbin/httpd -DFOREGROUND
           ├─65828 /usr/sbin/httpd -DFOREGROUND
           ├─65829 /usr/sbin/httpd -DFOREGROUND
           ├─65830 /usr/sbin/httpd -DFOREGROUND
           └─65831 /usr/sbin/httpd -DFOREGROUND

Aug 28 13:32:17 test-app-server systemd[1]: Starting The Apache HTTP Server...
Aug 28 13:32:17 test-app-server httpd[65827]: AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using fe80::8fc:23ff:fe51:cc>
Aug 28 13:32:17 test-app-server systemd[1]: Started The Apache HTTP Server.
Aug 28 13:32:17 test-app-server httpd[65827]: Server configured, listening on: port 80

Výše uvedené potvrzuje, že apache nyní funguje dobře.

Chcete-li potvrdit, že je služba přístupná, přejděte na následující adresu URL a zjistěte, zda můžete získat stránku httpd:

http://server_ip

Pokud server neznáte, použijte ve svém terminálu následující příkaz:

curl -4 icanhazip.com

Jakmile navštívíte tuto stránku, pokud vše funguje správně, měli byste vidět výchozí stránku Apache jako na snímku obrazovky níže:

Chcete-li zajistit, že služba bude vždy spuštěna při spuštění, použijte tento příkaz systemctl:

sudo systemctl enable httpd

Nastavení virtuálních hostitelů

S Apache je možné hostovat více stránek na stejném serveru, kde běží Apache. Toho lze vždy dosáhnout pomocí více domén, z nichž každá představuje web, který server hostí.

Virtuální hostitelé Apache jsou podobné blokům serveru Nginx. Každý virtuální hostitel bude mít podrobnosti o konfiguraci pro jednoho hostitele. Můžete mít tolik virtuálních hostitelů, kolik chcete.

V tomto příkladu použijeme doménu site1.citizix.com pro virtuálního hostitele, ale můžete volně používat doménu dle svého výběru. Upozorňujeme, že DNS pro doménu, která se má použít, by již měla být nakonfigurována tak, aby ukazovala na IP adresu serveru.
Potvrďte to pomocí:

dig -t A site1.citizix.com

Vytvoření adresáře a ukázkového obsahu

Výchozí stránka Apache je nakonfigurována jako výchozí virtuální hostitel poskytující obsah z /var/www/html . Doporučeným postupem je vytvořit adresář vašeho webu v /var/www adresáře, protože je nejlepším postupem obsluhovat odtud.

Vytvořte adresář pro naše stránky pomocí následujícího příkazu:

sudo mkdir /var/www/site1.citizix.com

Vytvořme jednoduchý index.html stránku, která má sloužit z našeho webu. Aby to fungovalo, budete potřebovat nainstalovaný vim, pokud nepoužijete tento příkaz:

sudo dnf install -y vim

Upravte soubor:

sudo vim /var/www/site1.citizix.com/index.html 

Přidejte obsah do souboru:

<html>
  <head>
    <title>Hello from Citizix Site1!</title>
  </head>
  <body>
    <h1>Hey!</h1>
    <p>This is citizix site1. Welcome here.</p>
  </body>
</html>

Nakonec se ujistíme, že aktuální uživatel vlastní adresář webu:

sudo chown -R $USER:$USER /var/www/site1.citizix.com

Vytvoření virtuálního hostitele

Soubory virtuálního hostitele Apache specifikují konfiguraci jednotlivých stránek a sdělují webovému serveru Apache, jak reagovat na požadavky různých domén.

Konfigurace Apache budou uloženy v adresáři /etc/httpd/conf.d/ . Pojďme vytvořit konfiguraci pro náš web:

sudo vim /etc/httpd/conf.d/site1.citizix.com.conf

Přidejte následující obsah:

<VirtualHost *:80>
    ServerName site1.citizix.com
    ServerAlias site1.citizix.com
    DocumentRoot /var/www/site1.citizix.com
    ErrorLog /var/log/httpd/site1.citizix.com.error.log
    CustomLog /var/log/httpd/site1.citizix.com.requests.log combined
</VirtualHost>

To Apache sdělí následující:

  • ServerName a ServerAlias ​​– název hostitele, který má sloužit
  • DocumentRoot – kde přímo najít kořen, který obsahuje veřejně přístupné webové dokumenty
  • ErrorLog – kam ukládat protokoly chyb pro tento web
  • CustomLog – kam ukládat protokoly požadavků pro tento konkrétní web

Po dokončení uložte a zavřete soubor

Testování virtuálního hostitele

Nyní, když je konfigurace na místě, musíme otestovat, že vše funguje podle očekávání.

Nejprve restartujte apache a znovu načtěte konfiguraci:

sudo systemctl restart httpd 

Vypište obsah /var/log/httpd/ adresář, abyste zjistili, zda Apache vytvořil soubory protokolu:
Pokud je vše v pořádku, měli byste vidět výstup podobný tomuto:

# ls /var/log/httpd/
access_log  error_log  site1.citizix.com.error.log  site1.citizix.com.requests.log

Pokud je vše v pořádku, Apache nyní obslouží název vaší domény. Můžete to vyzkoušet tak, že přejdete na http://site1.citizix.com , kde byste měli vidět něco takového:

Výše uvedený snímek obrazovky potvrzuje, že virtuální hostitel je úspěšně nakonfigurován a poskytuje obsah.

Pokud potřebujete hostit více dalších webů, opakujte výše uvedené kroky pro weby, které chcete.

Závěr

Podařilo se nám nainstalovat a nastavit webový server Apache podle výše uvedených pokynů v Centos 8 Server.


Cent OS
  1. Chcete-li to provést, nainstalovat webový server Apache na CentOS 8 – proces krok za krokem?

  2. Jak nainstalovat Apache/httpd na CentOS 8 Linux

  3. Nainstalujte Apache na CentOS 8

  1. Jak nainstalovat webový server Apache na CentOS 7

  2. Jak nainstalovat Apache Cassandra na CentOS 8

  3. Nainstalujte webový server Apache CentOS 6 / RHEL 6

  1. Jak nainstalovat webový server LiteSpeed ​​na CentOS 7

  2. Jak nainstalovat webový server Lighttpd na CentOS 7

  3. Jak nainstalovat Jetty Web Server na CentOS 7 / RHEL 7