GNU/Linux >> LINUX-Kenntnisse >  >> OpenSuse

So installieren und konfigurieren Sie PHP und Apache (LAMP-Stack) unter OpenSUSE Leap 15.3

Der Apache HTTP-Server (Apache) ist eine der beliebtesten kostenlosen und plattformübergreifenden Open-Source-Webserver-Software, die unter den Bedingungen der Apache-Lizenz 2.0 veröffentlicht wurde. Apache ist als Teil des LAMP-Setups beliebt, da es das A im Akronym ist. Die Funktionalität des Apache-Servers kann mit den vielen verfügbaren Modulen erweitert werden.

PHP ist eine Allzweck-Skriptsprache, die auf die Webentwicklung ausgerichtet ist. Es ist eine der beliebtesten Programmiersprachen für das Web. Beliebte Tools wie WordPress werden mit PHP codiert. Auch große Unternehmen wie Facebook nutzen PHP stark.

Verwandter Inhalt:

  • Wie man PHP und Nginx (LEMP) auf OpenSUSE Leap 15.3 installiert und einrichtet
  • So installieren Sie den Apache PHP 7.4 (LAMP) Stack auf Rocky Linux/Centos 8
  • Wie man PHP und Apache (LAMP-Stack) unter Ubuntu 20.04 installiert und einrichtet
  • So installieren und konfigurieren Sie PHP und Nginx (LEMP) unter Ubuntu 20.04
  • Wie man PHP und Apache (LAMP-Stack) unter Debian 11 installiert und einrichtet
  • Wie man PHP und Nginx (LEMP) unter Debian 11 installiert und einrichtet
  • Installation und Einrichtung von PHP und Nginx (LEMP) unter Rocky Linux/Alma Linux 8

Voraussetzungen

Um dieser Anleitung zu folgen, stellen Sie bitte sicher, dass Sie Folgendes haben:

  • Ein aktualisierter OpenSUSE Leap 15.3 Server
  • Root-Zugriff auf den Server oder Benutzer mit sudo-Zugriff
  • Internetzugang

Inhaltsverzeichnis

  1. Sicherstellen, dass der Server auf dem neuesten Stand ist
  2. Installieren von PHP auf OpenSUSE Leap 15.3
  3. Installieren von Apache auf OpenSUSE Leap 15.3
  4. Konfigurieren des virtuellen Hosts
  5. Testen der Konfiguration des virtuellen Hosts

1. Sicherstellen, dass der Server auf dem neuesten Stand ist

Bevor Sie fortfahren, sollten Sie immer sicherstellen, dass der Server auf dem neuesten Stand ist. Verwenden Sie diese Befehle, um dies zu erreichen

sudo zypper refresh
sudo zypper update -y

2. Installation von PHP auf OpenSUSE Leap 15.3

PHP ist in den standardmäßigen OpenSUSE-Repositorys verfügbar. Die neueste Version von PHP zum Zeitpunkt des Schreibens dieses Blogs ist PHP 7.4.

Installieren Sie PHP und einige gängige Pakete mit diesem Befehl:

sudo zypper install -y \
    php \
    php-cli \
    php-gd \
    php-mbstring

Überprüfen Sie die installierte Version von 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.

Überprüfen Sie die installierte PHP-Version mit diesem Befehl:

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

3. Apache auf OpenSUSE Leap 15.3 installieren

Apache-Pakete sind in den standardmäßigen OpenSUSE Leap 15.3-Repositories als apache2 verfügbar . Installieren Sie es mit diesem Befehl:

sudo zypper install -y apache2

Bestätigen Sie die installierten Pakete mit diesem Befehl:

~> 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.

Der Dienst wird standardmäßig nicht gestartet.

sudo systemctl start apache2

Überprüfen Sie den Status mit diesem Befehl:

~> 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.

Um den Dienst beim Booten zu aktivieren, verwenden Sie diesen Befehl

sudo systemctl enable apache2

Wenn auf Ihrem Computer eine Firewall installiert und aktiviert ist, denken Sie daran, Datenverkehr zum Apache2 zuzulassen Webserver über die Firewall, bevor Sie mit dem nächsten Schritt fortfahren.

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

Damit Apache PHP-Dateien bereitstellen kann

sudo zypper install -y apache2-mod_php7

Aktivieren Sie dann das php7-Modul

sudo a2enmod php7

Starten Sie schließlich Apache2 neu, um den Modulzusatz zu übernehmen

sudo systemctl restart apache2

4. Virtuelle Hosts konfigurieren

Mit Apache ist es möglich, mehrere Sites auf demselben Server zu hosten, auf dem Apache ausgeführt wird. Dies kann immer erreicht werden, indem mehrere Domains verwendet werden, die jeweils eine Website darstellen, die der Server hostet.

Virtuelle Apache-Hosts ähneln Nginx-Serverblöcken. Jeder virtuelle Host verfügt über Konfigurationsdetails für einen einzelnen Host. Sie können so viele virtuelle Hosts haben, wie Sie möchten.

In diesem Beispiel verwenden wir die Domain site1.citizix.com für den virtuellen Host, aber Sie können die Domain Ihrer Wahl verwenden. Bitte beachten Sie, dass der DNS für die zu verwendende Domain bereits so konfiguriert sein sollte, dass er auf die IP-Adresse des Servers zeigt.
Bestätigen Sie dies mit:

dig -t A site1.citizix.com

Verzeichnis und Beispielinhalte erstellen

Die Standardseite von Apache ist als standardmäßiger virtueller Host konfiguriert, der Inhalte von /srv/www/htdocs bereitstellt . Es hat sich bewährt, das Verzeichnis Ihrer Website im Verzeichnis /srv/www zu erstellen da es sich bewährt hat, von dort aus zu dienen.

Lassen Sie uns mit dem folgenden Befehl ein Verzeichnis für unsere Site erstellen:

sudo mkdir -p /srv/www/site1.citizix.com

Lassen Sie uns eine einfache index.php erstellen Seite, die von unserer Website bereitgestellt werden soll. Sie müssen vim installiert haben, damit dies funktioniert, wenn nicht, verwenden Sie diesen Befehl:

sudo zypper install -y vim

Bearbeiten Sie die Datei:

sudo vim /srv/www/site1.citizix.com/index.php

Inhalt zur Datei hinzufügen:

<?php phpinfo(); ?>

Stellen Sie abschließend sicher, dass die $USER Benutzer besitzt das Site-Verzeichnis:

sudo chown -R wwwrun:wwwrun /var/www/site1.citizix.com

Erstellen eines virtuellen Hosts

Apache Virtual Host-Dateien geben die Konfiguration jeder Site an und teilen dem Apache-Webserver mit, wie er auf verschiedene Domain-Anfragen reagieren soll.

Die Apache-Konfigurationen werden im Verzeichnis /etc/httpd/conf.d/ gespeichert . Lassen Sie uns eine Konfiguration für unsere Site erstellen:

sudo vim /etc/apache2/conf.d/site1.citizix.com.conf

Fügen Sie den folgenden Inhalt hinzu:

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

Dadurch wird Apache Folgendes mitgeteilt:

  • ServerName und ServerAlias – Name des zu bedienenden Hosts
  • DocumentRoot – wo man direkt den Root findet, der die öffentlich zugänglichen Webdokumente enthält
  • DirectoryIndex – Die Datei, die Apache bereitstellt, wenn auf die Website zugegriffen wird
  • ErrorLog – wo Fehlerprotokolle für diese Seite gespeichert werden
  • CustomLog – wo Anforderungsprotokolle für diese bestimmte Website gespeichert werden

Speichern und schließen Sie die Datei, wenn Sie fertig sind

Testen Sie die Konfiguration

~> sudo apachectl configtest
Syntax OK

Laden Sie dann die Apache2-Konfiguration neu

sudo systemctl reload apache2

5. Testen der Konfiguration des virtuellen Hosts

Um die Konfiguration zu testen, öffnen Sie Ihren Browser und laden Sie die von Ihnen eingerichtete Domain. In meinem Fall ist es http://site1.citizix.com . Sie sollten die PHP-Infoseite sehen.

Wenn Sie Ihre DNS-Einstellungen noch nicht konfiguriert haben oder einfach nicht möchten, dass die Website live geht, können Sie die Hosts-Datei Ihres Computers ändern. Verwenden Sie dazu den folgenden Befehl in der CLI Ihres lokalen Computers

sudo vim /etc/hosts

Fügen Sie dann die IP-Adresse Ihres tatsächlichen Servers hinzu, gefolgt von dem Domänennamen, den Sie konfigurieren, zum Beispiel:

# Virtual Hosts Local Test
10.2.11.11 site1.citizix.com

Jetzt sollten Sie die Datei speichern und über einen Webbrowser darauf zugreifen können.

Wenn etwas nicht wie erwartet funktioniert, können Sie die Protokolle des Virtualhost-Servers hiermit überprüfen

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

Schlussfolgerung

In diesem Handbuch ist es uns gelungen, Apache so einzurichten, dass es eine PHP-Site auf einem Ubuntu 20.04-Server bereitstellt.


OpenSuse
  1. So installieren Sie Apache und PHP (LAMP-Stack) unter Rocky Linux/Centos 8

  2. So installieren und verwenden Sie Podman in OpenSUSE Leap 15.3

  3. So installieren und konfigurieren Sie PHP und Apache (LAMP-Stack) unter Ubuntu 20.04

  4. So installieren und konfigurieren Sie PHP und Apache (LAMP-Stack) unter Debian 11

  5. So richten Sie Opencart mit LAMP (PHP, Apache, Mariadb) unter OpenSUSE Leap 15.3 ein

So installieren Sie Apache, MariaDB und PHP (LAMP) unter Debian 11

So installieren Sie Apache, MariaDB, PHP7 (LAMP) auf openSUSE Leap 15.1

So installieren Sie Apache, MariaDB, PHP7 (LAMP) auf openSUSE Leap 15.3

So installieren Sie PHP 8.0 auf openSUSE 15 Leap

So installieren Sie Apache und PHP unter OpenSUSE 15.1

So richten Sie den LAMP-Stack (Apache, MariaDB und PHP) unter Debian 11 ein