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 Ubuntu 20.04
- Jak nainstalovat Apache a PHP (zásobník LAMP) na Rocky Linux/Centos 8
- Jak nainstalovat a nastavit PHP a Nginx (LEMP) v Debianu 11
Předpoklady
Chcete-li postupovat podle tohoto průvodce, ujistěte se, že máte následující:
- Aktualizovaný server Debian 11
- 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 Debian 11
- Instalace Apache na Debian 11
- 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 -y2. Instalace PHP na Debian 11
PHP je k dispozici ve výchozím repozitáři Debianu 11. 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-cliZkontrolujte nainstalovanou verzi PHP
$ apt-cache policy php
php:
  Installed: 2:7.4+76
  Candidate: 2:7.4+76
  Version table:
 *** 2:7.4+76 500
        500 http://cdn-aws.deb.debian.org/debian bullseye/main amd64 Packages
        100 /var/lib/dpkg/statusZkontrolujte nainstalovanou verzi php pomocí tohoto příkazu:
$ php -v
PHP 7.4.25 (cli) (built: Oct 23 2021 21:53:50) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
    with Zend OPcache v7.4.25, Copyright (c), by Zend Technologies3. Instalace apache na Debian 11
 Balíčky Apache jsou dostupné ve výchozích úložištích Debian 11 jako apache2 . Nainstalujte jej pomocí tohoto příkazu:
sudo apt install -y apache2Potvrďte nainstalované balíčky pomocí tohoto příkazu:
$ apt-cache policy apache2
apache2:
  Installed: 2.4.51-1~deb11u1
  Candidate: 2.4.51-1~deb11u1
  Version table:
 *** 2.4.51-1~deb11u1 500
        500 http://security.debian.org/debian-security bullseye-security/main amd64 Packages
        100 /var/lib/dpkg/status
     2.4.48-3.1+deb11u1 500
        500 http://cdn-aws.deb.debian.org/debian bullseye/main amd64 PackagesSluž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 Tue 2021-12-14 03:01:04 UTC; 5min ago
       Docs: https://httpd.apache.org/docs/2.4/
   Main PID: 19103 (apache2)
      Tasks: 6 (limit: 4626)
     Memory: 12.8M
        CPU: 59ms
     CGroup: /system.slice/apache2.service
             ├─19103 /usr/sbin/apache2 -k start
             ├─19105 /usr/sbin/apache2 -k start
             ├─19106 /usr/sbin/apache2 -k start
             ├─19107 /usr/sbin/apache2 -k start
             ├─19108 /usr/sbin/apache2 -k start
             └─19109 /usr/sbin/apache2 -k start
Dec 14 03:01:04 ip-10-2-40-188 systemd[1]: Starting The Apache HTTP Server...
Dec 14 03:01:04 ip-10-2-40-188 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 apache2Chcete-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.comPokud je vše v pořádku, měli byste vidět Výchozí stránku Apache2 Debian .
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 hostuje.
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.comVytvoř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 apt install -y vimUpravte soubor:
sudo vim /var/www/site1.citizix.com/index.phpPř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.comVytvoř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.confPř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í:
- ServerNamea- 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
Povolit web
$ sudo a2ensite site1.citizix.com
Enabling site site1.citizix.com.
To activate the new configuration, you need to run:
  systemctl reload apache2Poté znovu načtěte konfiguraci apache2
sudo systemctl reload apache2Testová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 Debian 11.