GNU/Linux >> Znalost Linux >  >> Debian

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

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

  1. Zajištění aktuálnosti serveru
  2. Instalace PHP na Debian 11
  3. Instalace Apache na Debian 11
  4. 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 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-cli

Zkontrolujte 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/status

Zkontrolujte 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 Technologies

3. 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 apache2

Potvrď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 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 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 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 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.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 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í:

  • ServerNameServerAlias – 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 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 Debian 11.


Debian
  1. Jak nainstalovat a nastavit PHP a Apache (zásobník LAMP) na OpenSUSE Leap 15.3

  2. Jak nastavit zásobník LAMP (Linux, Apache, MariaDB, PHP) na Debian Wheezy

  3. Jak nainstalovat LAMP (Linux, Apache, MySQL, PHP) na Debian 9

  1. Jak nainstalovat a nastavit PHP a Nginx (LEMP) na Debian 11

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

  3. Jak nainstalovat LAMP Apache, MySQL, PHP na Debian 11

  1. Jak nainstalovat LAMP Server na Debian 9

  2. Jak nainstalovat Apache a PHP (zásobník LAMP) na Rocky Linux/Centos 8

  3. Jak nainstalovat LAMP (Apache, MySQL, PHP) na Debian 11