GNU/Linux >> Znalost Linux >  >> OpenSuse

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

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 Nginx (LEMP) na OpenSUSE Leap 15.3
  • Jak nainstalovat Apache PHP 7.4 (LAMP) stack na Rocky Linux/Centos 8
  • 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 OpenSUSE skok 15.3
  • 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 OpenSUSE Leap 15.3
  3. Instalace Apache na OpenSUSE Leap 15.3
  4. Konfigurace virtuálního hostitele
  5. Testování 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 zypper refresh
sudo zypper update -y

2. Instalace PHP na OpenSUSE Leap 15.3

PHP je k dispozici ve výchozím repozitáři OpenSUSE. 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 zypper install -y \
    php \
    php-cli \
    php-gd \
    php-mbstring

Zkontrolujte nainstalovanou verzi PHP

~> zypper info php7
Repository 'Update repository with updates from SUSE Linux Enterprise 15' is out-of-date. You can run 'zypper refresh' as root to update it.
Loading repository data...
Reading installed packages...


Information for package php7:
-----------------------------
Repository     : Update repository with updates from SUSE Linux Enterprise 15
Name           : php7
Version        : 7.4.6-3.29.1
Arch           : x86_64
Vendor         : SUSE LLC <https://www.suse.com/>
Installed Size : 10.3 MiB
Installed      : Yes
Status         : up-to-date
Source package : php7-7.4.6-3.29.1.src
Summary        : Interpreter for the PHP scripting language version 7
Description    :
    PHP is a server-side HTML embedded scripting language designed
    primarily for web development but also used as a general-purpose
    programming language.

    This package contains the standard implementation of PHP, namely Zend
    PHP. Included are the PHP command-line binary and the configuration
    file (php.ini). This package must be installed in order to use PHP.
    Additionally, extension modules and server modules (e.g. for Apache)
    may be installed.

    Additional documentation is available in package php-doc.

Zkontrolujte nainstalovanou verzi php pomocí tohoto příkazu:

~> php -v
PHP 7.4.6 (cli) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies

3. Instalace apache na OpenSUSE Leap 15.3

Balíčky Apache jsou dostupné ve výchozích úložištích OpenSUSE Leap 15.3 jako apache2 . Nainstalujte jej pomocí tohoto příkazu:

sudo zypper install -y apache2

Potvrďte nainstalované balíčky pomocí tohoto příkazu:

~> zypper info apache2
Loading repository data...
Reading installed packages...


Information for package apache2:
--------------------------------
Repository     : Update repository with updates from SUSE Linux Enterprise 15
Name           : apache2
Version        : 2.4.43-3.32.1
Arch           : x86_64
Vendor         : SUSE LLC <https://www.suse.com/>
Installed Size : 4.3 MiB
Installed      : Yes
Status         : up-to-date
Source package : apache2-2.4.43-3.32.1.src
Summary        : The Apache Web Server
Description    :
    This version of httpd is a major release of the 2.4 stable branch,
    and represents the best available version of Apache HTTP Server.
    New features include Loadable MPMs, major improvements to OCSP support,
    mod_lua, Dynamic Reverse Proxy configuration, Improved Authentication/
    Authorization, FastCGI Proxy, New Expression Parser, and a Small Object
    Caching API.

     See /usr/share/doc/packages/apache2/, http://httpd.apache.org/, and
    http://httpd.apache.org/docs-2.4/upgrading.html.

Služba se ve výchozím nastavení nespustí.

sudo systemctl start apache2

Zkontrolujte stav pomocí tohoto příkazu:

~> sudo systemctl status apache2
● apache2.service - The Apache Webserver
     Loaded: loaded (/usr/lib/systemd/system/apache2.service; disabled; vendor preset: disabled)
     Active: active (running) since Wed 2021-12-22 06:58:45 UTC; 53s ago
   Main PID: 27333 (httpd-prefork)
     Status: "Processing requests..."
      Tasks: 6
     CGroup: /system.slice/apache2.service
             ├─27333 /usr/sbin/httpd-prefork -DSYSCONFIG -C PidFile /var/run/httpd.pid -C Include /etc/apache2/sysconfig.d//loadmodule.conf -C Include /etc/apache2/sysconfig.d//global.conf -f /etc/apache>
             ├─27340 /usr/sbin/httpd-prefork -DSYSCONFIG -C PidFile /var/run/httpd.pid -C Include /etc/apache2/sysconfig.d//loadmodule.conf -C Include /etc/apache2/sysconfig.d//global.conf -f /etc/apache>
             ├─27341 /usr/sbin/httpd-prefork -DSYSCONFIG -C PidFile /var/run/httpd.pid -C Include /etc/apache2/sysconfig.d//loadmodule.conf -C Include /etc/apache2/sysconfig.d//global.conf -f /etc/apache>
             ├─27342 /usr/sbin/httpd-prefork -DSYSCONFIG -C PidFile /var/run/httpd.pid -C Include /etc/apache2/sysconfig.d//loadmodule.conf -C Include /etc/apache2/sysconfig.d//global.conf -f /etc/apache>
             ├─27343 /usr/sbin/httpd-prefork -DSYSCONFIG -C PidFile /var/run/httpd.pid -C Include /etc/apache2/sysconfig.d//loadmodule.conf -C Include /etc/apache2/sysconfig.d//global.conf -f /etc/apache>
             └─27344 /usr/sbin/httpd-prefork -DSYSCONFIG -C PidFile /var/run/httpd.pid -C Include /etc/apache2/sysconfig.d//loadmodule.conf -C Include /etc/apache2/sysconfig.d//global.conf -f /etc/apache>

Dec 22 06:58:45 ip-10-2-40-44 systemd[1]: Starting The Apache Webserver...
Dec 22 06:58:45 ip-10-2-40-44 systemd[1]: Started The Apache Webserver.

Chcete-li službu povolit při spouštění, použijte tento příkaz

sudo systemctl enable apache2

Pokud máte na svém počítači nainstalovanou a povolenou bránu firewall, nezapomeňte povolit provoz na Apache2 webový server přes bránu firewall, než přejdete k dalšímu kroku.

$ sudo firewall-cmd --permanent --add-port=80/tcp
$ sudo firewall-cmd --permanent --add-port=443/tcp
$ sudo firewall-cmd --reload

Aby Apache obsluhoval soubory php

sudo zypper install -y apache2-mod_php7

Poté povolte modul php7

sudo a2enmod php7

Nakonec restartujte apache2, abyste použili přidání modulu

sudo systemctl restart apache2

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 /srv/www/htdocs . Doporučeným postupem je vytvořit adresář vašeho webu v /srv/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 -p /srv/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 zypper install -y vim

Upravte soubor:

sudo vim /srv/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 wwwrun:wwwrun /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/conf.d/site1.citizix.com.conf

Přidejte následující obsah:

<VirtualHost *:80>
    ServerName site1.citizix.com
    ServerAlias site1.citizix.com

    ServerAdmin [email protected]

    DocumentRoot /srv/www/site1.citizix.com
    ErrorLog /var/log/apache2/site1.citizix.com.error.log
    CustomLog /var/log/apache2/site1.citizix.com.requests.log combined

    <Directory "/srv/www/site1.citizix.com">
        Options Indexes
        AllowOverride All
        Require all granted
        DirectoryIndex index.php
    </Directory>
</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

Otestujte konfiguraci

~> sudo apachectl configtest
Syntax OK

Poté znovu načtěte konfiguraci apache2

sudo systemctl reload apache2

5. Testování konfigurace virtuálního hostitele

Chcete-li otestovat konfiguraci, otevřete prohlížeč a načtěte doménu, kterou jste nastavili. V mém případě je to http://site1.citizix.com . Měli byste vidět informační stránku php.

Pokud jste ještě nenakonfigurovali nastavení DNS nebo jednoduše nechcete, aby byl web ještě spuštěn, můžete upravit soubor hostitelů svého počítače. Chcete-li to provést, použijte následující příkaz v CLI místního počítače

sudo vim /etc/hosts

Poté přidejte IP adresu vašeho skutečného serveru následovanou názvem domény, kterou konfigurujete, například:

# Virtual Hosts Local Test
10.2.11.11 site1.citizix.com

Nyní byste měli být schopni uložit soubor a přistupovat k němu z webového prohlížeče.

Pokud něco nefunguje podle očekávání, můžete zkontrolovat protokoly serveru virtuálního hostitele pomocí tohoto

tail -f /var/log/apache2/site1.citizix.com.*

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.


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

  2. Jak nainstalovat a používat Podman v OpenSUSE Leap 15.3

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

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

  2. Jak nastavit Opencart s LAMP (PHP, Apache, Mariadb) na OpenSUSE Leap 15.3

  3. Jak nainstalovat a nastavit Nginx jako proxy OpenSUSE Leap 15.3

  1. Jak nainstalovat a nakonfigurovat Mariadb 10 v OpenSUSE Leap 15.3

  2. Jak nainstalovat a nastavit PHP a Nginx (LEMP) na OpenSUSE Leap 15.3

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