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 Apache PHP 7.4 (LAMP) stack na Rocky Linux/Centos 8
- Jak nainstalovat a nastavit PHP a Nginx (LEMP) na OpenSUSE Leap 15.3
- 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 Ubuntu 20.04
- Kořenový přístup k serveru nebo uživateli s přístupem sudo
- Přístup k internetu
Obsah
- Zajištění aktuálnosti serveru
- Instalace PHP na Ubuntu 20.04
- Instalace Apache na Ubuntu 20.04
- Konfigurace virtuálního hostitele
1. Zajištění aktuálnosti serveru
Než budete pokračovat, je vždy dobré se ujistit, že je server aktuální. K tomu použijte tyto příkazy
sudo apt update
sudo apt upgrade -y
2. Instalace PHP na Ubuntu 20.04
PHP je k dispozici ve výchozím repozitáři Ubuntu 20.04. Nejnovější verze PHP v době psaní tohoto blogu je PHP 7.4.
Nainstalujte PHP a některé běžné balíčky pomocí tohoto příkazu:
sudo apt install -y \
php \
php-common \
php-cli
Zkontrolujte nainstalovanou verzi PHP
$ apt-cache policy php
php:
Installed: 2:7.4+75
Candidate: 2:7.4+75
Version table:
*** 2:7.4+75 500
500 http://us-west-2.ec2.archive.ubuntu.com/ubuntu focal/main amd64 Packages
100 /var/lib/dpkg/status
Zkontrolujte nainstalovanou verzi php pomocí tohoto příkazu:
$ php -v
PHP 7.4.3 (cli) (built: Nov 25 2021 23:16:22) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
with Zend OPcache v7.4.3, Copyright (c), by Zend Technologies
3. Instalace apache na Ubuntu 20.04
Balíčky Apache jsou dostupné ve výchozích úložištích Ubuntu 20.04 jako apache2
. Nainstalujte jej pomocí tohoto příkazu:
sudo apt install -y apache2
Potvrďte nainstalované balíčky pomocí tohoto příkazu:
$ apt-cache policy apache2
apache2:
Installed: 2.4.41-4ubuntu3.8
Candidate: 2.4.41-4ubuntu3.8
Version table:
*** 2.4.41-4ubuntu3.8 500
500 http://us-west-2.ec2.archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages
100 /var/lib/dpkg/status
2.4.41-4ubuntu3.6 500
500 http://security.ubuntu.com/ubuntu focal-security/main amd64 Packages
2.4.41-4ubuntu3 500
500 http://us-west-2.ec2.archive.ubuntu.com/ubuntu focal/main amd64 Packages
Služba bude standardně spuštěna. Zkontrolujte stav pomocí tohoto příkazu:
$ sudo systemctl status apache2
● apache2.service - The Apache HTTP Server
Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2021-12-16 18:36:59 UTC; 1min 8s ago
Docs: https://httpd.apache.org/docs/2.4/
Main PID: 33818 (apache2)
Tasks: 6 (limit: 4631)
Memory: 10.3M
CGroup: /system.slice/apache2.service
├─33818 /usr/sbin/apache2 -k start
├─33821 /usr/sbin/apache2 -k start
├─33822 /usr/sbin/apache2 -k start
├─33823 /usr/sbin/apache2 -k start
├─33824 /usr/sbin/apache2 -k start
└─33825 /usr/sbin/apache2 -k start
Dec 16 18:36:59 ip-10-2-40-129 systemd[1]: Starting The Apache HTTP Server...
Dec 16 18:36:59 ip-10-2-40-129 systemd[1]: Started The Apache HTTP Server.
Chcete-li službu povolit při spouštění, použijte tento příkaz
sudo systemctl enable apache2
Chcete-li potvrdit, že je Apache nainstalován 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 Výchozí stránku Apache2 Ubuntu .
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ůžete volně používat doménu dle svého 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
Pojďme vytvořit 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 apt install -y vim
Upravte soubor:
sudo vim /var/www/site1.citizix.com/index.php
Přidejte obsah do souboru:
<?php phpinfo(); ?>
Nakonec se ujistěte, že $USER
uživatel vlastní adresář webu:
sudo chown -R $USER:$GROUP /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/apache2/sites-available/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/apache2/site1.citizix.com.error.log
CustomLog /var/log/apache2/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
Povolit web
$ sudo a2ensite site1.citizix.com
Enabling site site1.citizix.com.
To activate the new configuration, you need to run:
systemctl reload apache2
Poté znovu načtěte konfiguraci apache2
sudo systemctl reload apache2
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, dejte nám k němu přístup na adrese http://server_url/
. V mém případě je to http://site1.citizix.com/
. Měli byste vidět informační stránku php.
Závěr
V této příručce se nám podařilo nastavit Apache tak, aby obsluhoval stránky PHP na serveru Ubuntu 20.04.