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

Jak nainstalovat Apache a PHP (zásobník LAMP) na Rocky Linux/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 a je to A ve zkratce. Funkčnost serveru Apache lze rozšířit pomocí mnoha dostupných modulů.

PHP je univerzální skriptovací jazyk zaměřený na vývoj webových aplikací. Je to jeden z oblíbených programovacích jazyků pro web. Populární nástroje, jako je WordPress, jsou kódovány pomocí php. Velké společnosti jako Facebook také hojně využívají php.

Související obsah
  • Jak nainstalovat a nastavit PHP a Apache (zásobník LAMP) na OpenSUSE Leap 15.3
  • Jak nainstalovat a nastavit PHP a Nginx (LEMP) na OpenSUSE Leap 15.3
  • Jak nainstalovat a nastavit PHP a Apache (zásobník LAMP) na Ubuntu 20.04
  • Jak nainstalovat a nastavit PHP a Nginx (LEMP) na Ubuntu 20.04
  • Jak nainstalovat a nastavit PHP a Apache (zásobník LAMP) na Debian 11
  • Jak nainstalovat a nastavit PHP a Nginx (LEMP) v Debianu 11
  • Jak nainstalovat a nastavit PHP a Nginx (LEMP) na Rocky Linux/Alma Linux 8

Předpoklady

Chcete-li postupovat podle tohoto průvodce, ujistěte se, že máte následující:

  • Aktualizovaný server Rocky Linux 8
  • Přístup uživatele root nebo uživatel s přístupem sudo, který může instalovat balíčky a upravovat konfigurace
  • Přístup k internetu

Obsah

  1. Zajištění aktuálnosti serveru
  2. Instalace PHP na Rocky Linux 8
  3. Instalace Apache na Rocky Linux 8
  4. Konfigurace virtuálního hostitele

1. Zajištění aktuálnosti serveru

Než budete pokračovat, ujistěte se, že v našem systému máme nejnovější balíčky. Spusťte následující příkaz pro aktualizaci systému:

 $ sudo dnf -y update
Last metadata expiration check: 1:45:37 ago on Sun 29 Aug 2021 08:52:16 AM UTC.
Dependencies resolved.
Nothing to do.
Complete!

2. Instalace PHP v Rocky Linux 8

Nyní, když je Apache nastaven, budeme muset nainstalovat PHP. Aby se soubory php mohly obsluhovat, musí být v systému nastaveno php. V této příručce nainstalujeme php 7.4.

PHP 7.4 zatím není k dispozici ve výchozích repozitářích. Remi Repository je perfektní repo pro instalaci php7.4. Remi repo je bezplatné a stabilní úložiště YUM hlavně pro zásobník PHP. Obsahuje balíčky pro nejnovější verze PHP.

Chcete-li povolit úložiště Remi na našem serveru Centos:

sudo dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-8.rpm

Potvrďte, že úložiště remi bylo nainstalováno a povoleno tímto příkazem:

$ sudo dnf repolist
repo id                                 repo name
appstream                               CentOS Linux 8 - AppStream
baseos                                  CentOS Linux 8 - BaseOS
epel                                    Extra Packages for Enterprise Linux 8 - x86_64
epel-modular                            Extra Packages for Enterprise Linux Modular 8 - x86_64
extras                                  CentOS Linux 8 - Extras
remi-modular                            Remi's Modular repository for Enterprise Linux 8 - x86_64
remi-safe                               Safe Remi's RPM repository for Enterprise Linux 8 - x86_64

Měli byste vidět remi repozitáře jako součást elist.

Nyní, když je úložiště nainstalováno, pojďme hledat php. Použijte tento příkaz:

$ sudo dnf module list php
Last metadata expiration check: 2:14:53 ago on Sun 29 Aug 2021 08:52:16 AM UTC.
CentOS Linux 8 - AppStream
Name                Stream                      Profiles                                 Summary
php                 7.2 [d]                     common [d], devel, minimal               PHP scripting language
php                 7.3                         common [d], devel, minimal               PHP scripting language
php                 7.4                         common [d], devel, minimal               PHP scripting language

Remi's Modular repository for Enterprise Linux 8 - x86_64
Name                Stream                      Profiles                                 Summary
php                 remi-7.2                    common [d], devel, minimal               PHP scripting language
php                 remi-7.3                    common [d], devel, minimal               PHP scripting language
php                 remi-7.4                 common [d], devel, minimal               PHP scripting language
php                 remi-8.0                    common [d], devel, minimal               PHP scripting language

Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled

Ze seznamu. můžeme vidět, že výchozí je 7.2. Provedení dnf install php nainstaluje 7.2 které nechceme. Povolme 7.4 pomocí tohoto příkazu:

sudo dnf module enable php:remi-7.4

Pokud z nějakého důvodu selže, můžete stávající modul resetovat tímto příkazem:

sudo dnf module reset php

Nyní, když je repo povoleno, nainstalujte php pomocí tohoto příkazu:

sudo dnf install -y php php-common php-cli

Jednou úspěšný. potvrďte nainstalovanou verzi tímto příkazem:

$ php -v
PHP 7.4.23 (cli) (built: Aug 24 2021 16:33:30) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
    with Zend OPcache v7.4.23, Copyright (c), by Zend Technologies

Nyní, když byly Apache a php úspěšně nainstalovány, pojďme jej nastavit tak, aby obsluhoval nějaký provoz

3. Instalace Apache na Rocky Linux 8

Nyní, když jsme aktualizovali naše balíčky, pojďme nainstalovat Apache. Apache je dostupný ve výchozích úložištích jako balíček httpd . Informace o něm můžete zkontrolovat pomocí následujícího příkazu:

$ sudo dnf info httpd
Last metadata expiration check: 1:48:56 ago on Sun 29 Aug 2021 08:52:16 AM UTC.
Installed Packages
Name         : httpd
Version      : 2.4.37
Release      : 39.module_el8.4.0+778+c970deab
Architecture : x86_64
Size         : 4.3 M
Source       : httpd-2.4.37-39.module_el8.4.0+778+c970deab.src.rpm
Repository   : @System
From repo    : 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.

Pojďme jej nainstalovat pomocí dnf:

sudo dnf install -y httpd

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

Ve výchozím nastavení není služba spuštěna. Začněme tímto příkazem:

sudo systemctl start httpd

Chcete-li se ujistit, že funguje podle očekávání, použijte příkaz status a ujistěte se, že je označen jako active jako je uvedeno níže:

$ sudo systemctl start httpd
$ sudo systemctl status httpd
● httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
  Drop-In: /usr/lib/systemd/system/httpd.service.d
           └─php-fpm.conf
   Active: active (running) since Sun 2021-08-29 10:43:52 UTC; 17s ago
     Docs: man:httpd.service(8)
 Main PID: 84446 (httpd)
   Status: "Running, listening on: port 80"
    Tasks: 213 (limit: 23800)
   Memory: 31.0M
   CGroup: /system.slice/httpd.service
           ├─84446 /usr/sbin/httpd -DFOREGROUND
           ├─84447 /usr/sbin/httpd -DFOREGROUND
           ├─84448 /usr/sbin/httpd -DFOREGROUND
           ├─84449 /usr/sbin/httpd -DFOREGROUND
           └─84450 /usr/sbin/httpd -DFOREGROUND

Aug 29 10:43:52 test-app-server systemd[1]: Starting The Apache HTTP Server...
Aug 29 10:43:52 test-app-server httpd[84446]: AH00558: httpd: Could not reliably determine the server's fully qualified doma>
Aug 29 10:43:52 test-app-server systemd[1]: Started The Apache HTTP Server.
Aug 29 10:43:52 test-app-server httpd[84446]: Server configured, listening on: port 80

Pokud máte povolenou bránu firewall, ujistěte se, že jste povolili http a https provoz, který umožní přístup k Apache.

Pro potvrzení, že php je nainstalováno a funguje správně, navštivte prosím IP adresu serveru v prohlížeči (http://server_ip). Pokud neznáte IP adresu serveru, získejte ji pomocí tohoto příkazu ve svém terminálu:

curl -4 icanhazip.com

Pokud je vše v pořádku, měli byste vidět stránku Apache, jak je znázorněno níže:

4. Konfigurace 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ůžeme volně používat doménu dle vašeho výběru. Upozorňujeme, že DNS pro doménu, která má být použita, 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.php 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.php

Přidejte obsah do souboru:

<?php phpinfo(); ?>

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

sudo chown -R apache.apache /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
    DirectoryIndex index.php
    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
  • DirectoryIndex – Soubor, který apache obslouží při přístupu na web
  • 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í. Protože jsme vytvořili index.php výše, umožňuje přístup k němu přechodem na http://server_url/ . V mém případě je to http://site1.citizix.com/ . Měla by se zobrazit stránka jako na obrázku níže:

Závěr

V této příručce se nám podařilo nastavit Apache tak, aby obsluhoval provoz na serveru Rocky Linux 8.


Cent OS
  1. Jak nainstalovat a používat php Composer v Rocky Linux/Centos 8

  2. Jak nastavit Opencart na Rocky Linux/Centos 8 s Apache, PHP, Mysql (LAMP Stack)

  3. Jak nainstalovat a nastavit PHP a Apache (zásobník LAMP) na Ubuntu 20.04

  1. Nainstalujte Apache, PHP a MySQL na CentOS 7 (LAMP)

  2. Jak nainstalovat a nastavit PHP a Apache (LAMP stack) na Debian 11

  3. Jak nainstalovat LAMP (Linux Apache MySQL a PHP) na CentOS 6 s phpMyAdmin a APC cache

  1. Jak nainstalovat Apache, PHP 7.1 a MySQL na CentOS 7.3 (LAMP)

  2. Jak nainstalovat Apache, PHP 7.2 a MySQL na CentOS 7.4 (LAMP)

  3. Jak nainstalovat Linux, Apache, MariaDB, PHP (LAMP Stack) na CentOS 7 / RHEL 7