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
- Zajištění aktuálnosti serveru
- Instalace PHP na Rocky Linux 8
- Instalace Apache na Rocky Linux 8
- 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
aServerAlias
– název hostitele, který má sloužitDocumentRoot
– kde přímo najít kořen, který obsahuje veřejně přístupné webové dokumentyDirectoryIndex
– Soubor, který apache obslouží při přístupu na webErrorLog
– kam ukládat protokoly chyb pro tento webCustomLog
– 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.