Hier geht es um die Installation eines Web-Servers, der die Entwicklung eines Webauftritts unterstützt.

Dieser Web-Server dient zum Testen und - bei der Entwicklung von dynamischen Seiten - auch als Entwicklungswerkzeug.

Die Beschreibungen sind für ein Entwicklungssystem gedacht, aber nicht für ein produktives System geeignet.

Ein richtiger Webauftritt wird physisch bei einem professionellen Anbieter eingerichtet , "gehosted". Der Anbieter stellt den Web-Server in Gänze bereit; man muss sich selber um nicht viel kümmern.

Geht man mit seinem Webauftritt live, sollte auch genau ein solcher, von Profis betriebene, Web-Server genutzt werden. Mit einem eigenen Server ins Netz zu gehen, ist zwar auch möglich, aber wegen der ganzen Sicherheits- und Performanzprobleme sehr aufwendig.

Der Begriff Webserver ist zweideutig. Mal meint man damit die eigentliche Webserver Software - Webserver im engeren Sinn -, mal meint man damit den Rechner, der als Web-Server dient.
Wir benutzen hier Webserver, wenn wir die Software meinen und Web-Server für das Ganze.

Voraussetzungen

Am Besten wäre es, wenn der Rechner entsprechend den Vorschlägen in Systemerweiterungen und Basis-Entwicklungswerkzeuge konfiguriert ist.

Auf jeden Fall gelten folgende Voraussetzungen:

Web-Server für Web-Entwickler

Das Web-Server System

Ein Web-Server enthält bestimmte Komponenten:

  • Webserver. Die eigentliche Software, die vom Browser angesprochen wird und HTML Seiten ausliefert.
  • Datenbank. Ein Ort zum Speichern von Daten.
  • Programmiersprache. Um Programmlogik auf der Serverseite zu bauen.
  • Software, um auf dem Web-Server Kommandos ausführen zu können
  • Software, um auf den Web-Server Daten kopieren zu können.

Konkret wird hier die Installation folgender Werkzeuge vorgestellt:

  • Webserver Apache (httpd)
  • Programmiersprache PHP
  • Datenbank MariaDB
  • phpMyAdmin als Datenbankmanagementwerkzeug
  • SSH-Server open-ssh
  • FTP-Server vsftp

Man kann die Serverkomponenten natürlich auf auf seiner Arbeitsstation einrichten. Dann braucht man weder SSH noch FTP.

Exkurs: XAMPP

Hinter XAMPP verbirgt sich eine Zusammenfassung von Werkzeugen, die man zum Betreiben eines Web-Servers für Web-Entwicklung braucht.

XAMPP ist ein Kürzel und besteht aus den Anfangsbuchstaben der enthaltenen Werkzeuge. Das X ist ein Platzhalter für L = Linux oder W = Windows. Das A steht für Apache, das M für MariaDB (früher auch MySQL), das eine P steht für PHP und das andere für Perl.

Enthalten sind in XAMPP darüber hinaus noch verschiedene weitere Pakete, wie ein Mailserver, Tomcat und ein paar Stücke Client-Software.

Das Bündel kann man komplett herunterladen und installieren: XAMPP herunterladen.

Unter Windows braucht man das Paket dringend. Die einzelnen Softwarepakete unter Windows per Hand zu installieren, zu konfigurieren und zu warten ist etwas für Menschen, die gerne leiden. pita.

Unter GNU/Linux braucht man das Paket nicht. Die Komponenten sind einzeln sehr einfach zu installieren und zu warten. Das ist der Weg, der hier beschrieben wird.

Für Leute, die XAMPP unter Linux betreiben, ist dieser Artikel nicht hilfreich. Er kann im Gegenteil eher zur Verwirrung beitragen, weil die Freunde von Apache mit XAMPP teilweise ihre eigenen Wege gehen.

Apache Webserver

Die Komponente "Webserver" im "Web-Server"

Der Webserver empfängt eine Anfrage vom Client, eine bestimmte HTML Seite zu liefern. Wenn die Seite vorhanden ist, liefert er sie. Das ist die Kernaufgabe eines Webservers.

Im einfachsten Fall

  • liest der Webserver die gewünschte Datei,
  • liefert die Datei an den Client.

In weniger einfachen Fällen

  • liest der Webserver die Datei,
  • greift auf die Datenbank zu und fügt Inhalte ein,
  • lädt Inhalte aus einer anderen Datei,
  • führt PHP Programme innerhalb der Seite aus und fügt die Ergebnisse ein,
  • ...
  • liefert die Datei an den Client.

Daneben ist der Webserver für die Integrität des Auftritts verantwortlich. Er passt auf, dass keine unzulässigen Seiten ausgeliefert werden oder auf verbotene Bereiche der Platte zugegriffen wird.

Exkurs: Apache und nginx

Die weltweit am meisten eingesetzten Webserver sind Apache und nginx. Beide sind Open Source, beide sind überall in den GNU/Linux Repositories enthalten.

Apache ist seit Jahrzehnten DER Webserver schlechthin.

nginx, gesprochen: "Engine X", ist irgendwann erfunden worden, um bestimmte Schwächen des Apache auszugleichen. Seitdem wächst seine Verbreitung kontinuierlich.

Apache ist dicker, obwohl modularer aufgebaut. Er ist älter, daher ausgereifter, aber er schleppt auch mehr Ballast mit sich herum. Er ist in einem Umfeld mit dynamischen Seiten besser konfigurierbar.

nginx ist jünger, schlanker und - besonders in einem Umfeld mit vielen Zugriffen auf statische Seiten - schneller.

Wir benutzen hier den Apache. Für Einsteiger sind die Stärken und Schwächen der Beiden gehupft wie gesprungen und in Literatur und Einsteigerkursen wird eher auf Apache als auf nginx verwiesen.

Apache installieren

Die Installation läuft von Distribution zu Distribution anders ab (siehe auch PHP Integration) und ist in den Spickzetteln beschrieben.

Bei den meisten Distributionen ist die Installation von Apache und die von PHP eng miteinander verzahnt. Aus pragmatischen Gründen wird daher PHP zusammen mit Apache installiert.

In diesem Kontext und an dieser Stelle sind nach der Installation keine weiteren Maßnahmen erforderlich. Apache muss später vielleicht an konkrete Anforderungen der Web-Entwicklung angepasst werden, aber ansonsten reicht es erst einmal.

PHP Integration

PHP ist eine Programmiersprache, die speziell dazu entwickelt wurde, auf der Serverseite HTML Seiten zu erstellen. PHP Programme können auf dem Web-Server auf Dateien und weitere Ressourcen zugreifen. Insbesondere kann PHP auf eine installierte Datenbank zugreifen.

PHP Programme werden innerhalb von HTML Seiten geschrieben, dort eingebettet. PHP Programme werden vom Webserver gelesen, interpretiert und ausgeführt, wenn er die HTML Seite lädt.

PHP Programme laufen also auf dem Server. Das ist wichtig. (Im Gegensatz zu JavaScript Programmen, die vom Browser interpretiert und umgesetzt werden, also auf dem Client laufen.)

Installation und Integration

Die Installation von PHP sollte an sich eine ganz einfache Sache sein. Nur muss PHP, so wie wir es gebrauchen wollen, vernünftig in Apache integriert sein. Und dafür haben unterschiedliche Distributionen unterschiedliche Wege anzubieten.

Bei Debian/Ubuntu wird einfach alles radikal zusammen installiert, bei Arch Linux wird - genauso radikal - alles einzeln installiert und hinterher manuell zusammengeführt. Die anderen Distributionen liegen irgendwo dazwischen.
Am besten geht man genau so vor, wie es für jede Distribution in den Spickzetteln beschrieben ist, dann hat man hinterher auf jeden Fall etwas, das es tut.

MariaDB Datenbankserver

Der Datenbankserver ist ein Dienst, der den Zugriff auf eine - meist relationale - Datenbank erlaubt. Oft kommt bei Webauftritten die Datenbank MariaDB (früher MySQL) zum Einsatz. Es ist für eine Webseite, die mit einer Datenbank verknüpft ist, allerdings unerheblich, welche Datenbank im Einsatz ist; es könnte auch PostgreSQL, Oracle oder IBM DB2 sein.

Der Charme von MariaDB ist, dass man mit dem Ding als Anfänger gut zurecht kommt und es für die Administration das Werkzeug phpMyAdmin gibt. Außerdem ist MariaDB gut bei kleinen Datenbanken, kann aber auch mit riesigen Datenmengen umgehen. Beispielsweise steht MariaDB hinter Wikipedia.

In manchen Repositories werden noch beide, MariaDB und MySQL angeboten. Die Datenbanksysteme sind sich sehr, sehr ähnlich. Man darf sie aber nicht beide gleichzeitig installieren. Also für eins entscheiden, oder besser: Finger weg von MySQL.
Der Artikel MariaDB vs. MySQL liefert einen guten Hintergrund.

MariaDB installieren

Die Installation ist bei den verschiedenen Distributionen zwar recht ähnlich, aber nicht identisch.

Nach der Installation von MariaDB anhand der Spickzettel ist der Datenbankserver aktiv.

Die Datenbank selber ist nach der Installation

  • für Testzwecke vorkonfiguriert und
  • ansonsten leer.

MariaDB in Betrieb nehmen.

Damit die Datenbank genutzt werden kann, müssen Benutzer und Datenbanken angelegt werden. Fürs Erste legen wir einen Datenbankadministrator und eine Datenbank an.

MariaDB Client starten

sudo mysql -p

Das erste Mal muss man sich mit sudo anmelden, um einen anderen Benutzer anlegen zu können. Beim Login muss das eigene Linux Passwort eingegeben werden.

Der Client heißt auch bei MariaDB mysql.

Es startet die MariaDB Konsole.

MariaDB Einstiegsmaske mit Prompt

Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 44
Server version: 10.3.34-MariaDB

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.


MariaDB [(none)]>
DBAdmin Benutzer anlegen

Zu einer Datenbank gehört auch ein Datenbankadministrator. Das ist ein Benutzer mit allen Privilegien, so dass er alle DBA Aktivitäten durchführen kann. Wir nennen ihn dbadmin.

DBAdmin als Datenbankbenutzer anlegen

create user 'dbadmin'@'localhost' identified by 'ChangeThis';

Bitte ChangeThis durch ein brauchbares Passwort ersetzen. Die einzelnen Anführungsstriche im Kommando müssen bleiben.

DBAdmin mit den Rechten eines Datenbankadministrators ausstatten

grant all privileges on *.* to 'dbadmin'@'localhost' with grant option;

Der gerade angelegte dbadmin kann sich nur lokal anmelden. Es ist eine Philosophie-Frage, ob man einem Administrator Remotezugriff erlauben soll.

Abmelden

quit
Datenbank anlegen

Mit dem neuen DBA anmelden und eine Datenbank anlegen.

Als DBA anmelden

mysql -u dbadmin -p

Es wird das für dbadmin vergebene Passwort abgefragt.

Datenbank anlegen

create database meinedb;

Der Datenbankname darf nicht in Anführungszeichen stehen. Man kann das machen, aber dann sind die Anführungszeichen Teil des Namens und man findet das Ding nie wieder.

Weitere Benutzer anlegen

Es macht Sinn, hier noch mindestens einen weiteren Benutzer, z.B. mit dem eigenen Namen, anzulegen - für die täglich Arbeit und zum Herumspielen. Es macht auch Sinn, diesem Benutzer nicht alle Rechte zu geben, sondern ihm eine Spielwiese zuzuordnen, in der er sich austoben kann.

Neuen privaten Benutzer anlegen

create user 'dasbinich'@'localhost' identified by 'ChangeThis';

Neuen Benutzer mit eingeschränkten Rechten versehen

grant all privileges on meinedb to 'dasbinich'@'localhost';

phpMyAdmin Datenbankzugriff

Normalerweise wird eine relationale Datenbank per SQL bedient. Das ist nicht jedermanns Sache und kann auch noch recht fehlerträchtig sein, besonders, wenn man sich mit SQL nicht auskennt.

phpMyAdmin ist ein in PHP geschriebenes grafisches Werkzeug zur Administration eines MariaDB Systems. Es kann über einen Browser gestartet werden und man hat danach die Möglichkeit, auf MariaDB Datenbanken zuzugreifen, ohne sich mit SQL herumschlagen zu müssen.

Nachdem Apache und MariaDB installiert sind und laufen, ist die Installation von phpMyAdmin ziemlich geradeaus. Nur bei Debian/Linux muss man etwas hinsehen und bei Arch Linux hinterher etwas fummeln.

Nach der Installation sollte phpMyAdmin ohne Einschränkungen einsatzfähig sein.

Den Neustart des Apache nicht vergessen

Weitere Server

SSH Server

Ein SSH Server (SSH steht für Secure SHell) nimmt Login Anfragen von einem entfernten Rechner entgegen und führt sie aus. Ist auf einem Rechner ein SSH Server installiert, kann man sich von einem anderen Rechner aus mit einem SSH Client anmelden und kann dort auf einer textbasierten Oberfläche arbeiten.

Ein SSH Server nimmt auch Kopieraufträge entgegen und führt sie aus. Daher kann man per SSH auch Daten an einen entfernten Rechner senden und von dort abholen.

FTP-Server

Ein FTP Server (File Transfer Protocol) kann Kopieraufträge von anderen Rechnern entgegen nehmen und ausführen. Er dient nur zum Empfangen und Abholen von Dateien. Man kann per FTP nicht auf einem anderen Rechner arbeiten.

Prinzipiell ist eine FTP Server einem SSH Server unterlegen und wann immer man eine Verbindung per SSH herstellen kann, sollte man das auch tun. Allerdings stellen manche Provider keinen SSH Zugang zu ihren Rechnern zu Verfügung oder wollen dafür einen Aufschlag. Daher sollte man sich mit FTP einfach mal vertraut machen.

Kommandos

Kommandos für die gängigen Paketmanager

Kommandos für Debian / Ubuntu

Kommandos für den Paketmanager apt

Apache und PHP

Installieren

PHP installieren

sudo apt install php

Bei den meisten Debian / Ubuntu Distributionen wird mit diesem Kommando Apache gleich mit installiert. Also nicht wundern.

Apache und Dokumentation installieren

sudo apt install apache2 apache2-doc

Apache-Service einbinden und starten

sudo systemctl enable --now apache2

Bei den meisten Debian / Ubuntu Distributionen wird Apache bei der Installation automatisch in den systemd eingebunden und gestartet.

Überprüfen.
  1. Apache-Service abfragen. sudo systemctl is-active apache2
    ⇒ active
  2. Browser öffnen.
  3. In der Adresszeile http://localhost eingeben.
    ⇒ Eine Seite mit "It works!" sollte auftauchen.
  4. In der Adresszeile http://localhost/manual eingeben.
    ⇒ Die Inhaltsangabe der Apache Dokumentation sollte auftauchen.
Merken

Das document root ist /var/www/html.

Die Konfigurationsdateien liegen unter /etc/apache2.

PHP Integration

Installieren

Wenn noch nicht geschehen, dann PHP installieren

PHP installieren

sudo apt install php

Bei Debian / Ubuntu gibt es sonst nichts weiter zu tun.

Überprüfen
  1. Datei phpinfo.php mit Inhalt erzeugen
    echo '<?php phpinfo() ?>' > phpinfo.php
  2. Datei phpinfo.php nachdocument root kopieren
    sudo cp phpinfo.php /var/www/html
  3. Im Browser die Adresse
    http://localhost/phpinfo.php
    aufrufen.
    ⇒ Eine Seite mit PHP Infos erscheint.

MariaDB

Installieren

MariaDB installieren

sudo apt install mariadb-server mariadb-client

MariaDB-Service einbinden und starten

sudo systemctl enable --now mariadb

Bei den meisten Debian / Ubuntu Distributionen wird MariaDB bei der Installation automatisch in den systemd eingebunden und gestartet.

Überprüfen

MariaDB-Service Status abfragen.

sudo systemctl status mariadb

Zugriff prüfen

sudo mysql -p

Man muss hier sudo verwenden und das eigene Linux Passwort eingegeben.

Es startet die MariaDB Konsole.

Abmelden

quit

phpMyAdmin

Installieren

phpMyAdmin installieren

sudo apt install phpmyadmin

Es kann während der Installation Abfragen an den Benutzer geben. (Nix Kaffee kochen.)

  • Wenn gefragt wird, welcher Server unterstützt werden soll
    • "apache2" anklicken (Leertaste Space drücken),
    • mit Tab zum Ok Knopf springen und mit Space das Kreuzchen machen.
    • Mit Enter das Ok bestätigen und weiter machen.
  • Wenn nach der Unterstützung der Datenbank gefragt wird
    • ja sagen
    • Passwort eingeben
    • Passwort bestätigen.

Apache-Service neu starten

sudo systemctl restart apache2
Überprüfen
  1. Browser öffnen.
  2. Adresse http://localhost/phpmyadmin eingeben.
    ⇒ Login Seite erscheint.
  3. Login-Daten eines in MariaDB angelegten Benutzers eingeben.
    ⇒ Einstiegsseite zu phpMyAdmin erscheint.

SSH und FTP

SSH installieren

sudo apt install openssh-server openssh-client

Installiert Bibliotheken, den Server und Client

FTP Server installieren

sudo apt install vsftpd

Kommandos für Fedora (RedHat)

Kommandos für den Paketmanager dnf

Apache und PHP.

Installieren

PHP installieren

sudo dnf install php

Apache und Dokumentation installieren

sudo dnf install httpd httpd-manual

Apache-Service einbinden und starten

sudo systemctl enable --now httpd
Überprüfen

Apache-Service Status abfragen.

sudo systemctl status httpd
  1. Browser öffnen.
  2. In der Adresszeile http://localhost eingeben.
    ⇒ Eine Seite mit einer Überschrift wie "Fedora Webserver Test Page" sollte auftauchen.
  3. In der Adresszeile http://localhost/manual eingeben.
    ⇒ Die Inhaltsangabe der Apache Dokumentation sollte auftauchen.
Merken

Das document root ist /var/www/html.

Die zentrale Konfigurationsdatei ist /etc/httpd/http.conf.

Das Verzeichnis mit zusätzlicher Konfiguration ist /etc/httpd/http.conf.d.

PHP Integration

Installieren

Wenn noch nicht geschehen:

PHP installieren

sudo dnf install php

Bei Fedora gibt es nichts weiter zu tun.

Überprüfen
  1. Datei phpinfo.php mit Inhalt erzeugen echo '<?php phpinfo() ?>' > phpinfo.php Datei phpinfo.php in das document root Verzeichnis kopieren sudo cp phpinfo.php /var/www/html
  2. Im Browser die Adresse http://localhost/phpinfo.php eingeben.
    ⇒ Eine Seite mit PHP Infos sollte erscheinen.

MariaDB

Installieren

MariaDB installieren

sudo dnf install mariadb-server

Installiert den Server und als Abhängigkeit den Client gleich mit.

MariaDB-Service einbinden und starten

sudo systemctl enable --now mariadb
Überprüfen

MariaDB-Service Status abfragen

sudo systemctl status mariadb

Zugriff prüfen

sudo mysql -p

Man muss hier sudo verwenden und das eigene Linux Passwort eingegeben.

Es startet die MariaDB Konsole.

Abmelden

quit

phpMyAdmin

Installieren

phpMyAdmin installieren

sudo dnf install phpmyadmin

Apache neu starten

sudo systemctl restart httpd
Überprüfen
  1. Browser öffnen.
  2. Adresse http://localhost/phpmyadmin eingeben.
    ⇒ Login Seite erscheint.
  3. Login-Daten eines in MariaDB angelegten Benutzers eingeben.
    ⇒ Einstiegsseite zu phpMyAdmin erscheint.

SSH und FTP

SSH installieren

sudo dnf install openssh openssh-server openssh-clients

Installiert Bibliotheken, den Server und Client

FTP Server installieren

sudo dnf install vsftpd

Kommandos für Arch Linux

Kommandos für den Paketmanager pacman

Apache und PHP

Installieren

PHP installieren

sudo pacman -S --needed php

Web installieren

sudo pacman -S --needed apache

Apache-Service starten und einbinden

sudo systemctl enable --now httpd
Überprüfen

Apache-Service Status abfragen.

sudo systemctl status httpd
  1. Browser öffnen.
  2. In der Adresszeile http://localhost eingeben.
    ⇒ Eine Seite mit der Überschrift "Index of /" und einer leeren Liste erscheint.
Merken
  • Das document root ist /srv/http
  • Das Konfigurationsverzeichnis ist /etc/http

PHP Integration

Installieren

Wenn noch nicht geschehen, dann muss PHP jetzt installiert werden. In jeden Fall muss das PHP-Apache Modul installiert werden.

PHP und php-apache installieren

sudo pacman -S --needed php php-apache
Konfigurieren
PHP für Zugriffe auf Datenbank vorbereiten

Freischalten der Erweiterungen mysqli und pdo-mysql für PHP in der Datei /etc/php/php.ini.

PHP Konfigurationsdatei editieren

sudo nano /etc/php/php.ini

php.ini vorher:

...
;extension=mysqli
...
;extension=pdo-mysql
...

php.ini nachher:

...
extension=mysqli
...
extension=pdo-mysql
...
PHP in Apache einbinden

Unter Arch Linux ist es notwendig, die Apache Konfigurationsdatei /etc/httpd/conf/httpd.conf anzupassen, um PHP in Apache anzuschalten.

Konfigurationsdatei editieren

sudo nano /etc/httpd/conf/httpd.conf
  1. Ersetzen von LoadModule mpm-event-module modules/mod-mpm-event.so
    #LoadModule mpm-prefork-module modules/mod-mpm-prefork.so
    durch #LoadModule mpm-event-module modules/mod-mpm-event.so
    LoadModule mpm-prefork-module modules/mod-mpm-prefork.so
    Also, das Eine ab- und das Andere anschalten.
  2. Am Ende der Datei folgende Zeilen einfügen: LoadModule php-module modules/libphp.so
    AddHandler php-script php
    Include conf/extra/php-module.conf

Apache neu starten

sudo systemctl restart httpd
Überprüfen
  1. Datei phpinfo.php mit Inhalt erzeugen echo '<?php phpinfo() ?>' > phpinfo.php Datei phpinfo.php nach document root kopieren sudo cp phpinfo.php /srv/http
  2. Im Browser die Adresse http://localhost/phpinfo.php aufrufen.
    ⇒ Eine Seite mit PHP Infos erscheint.

MariaDB

Installieren

MariaDB installieren

sudo pacman -S --needed mariadb

Installiert den Server und den Client gleich mit.

MariaDB Datenbank anlegen

sudo mariadb-install-db --user=mysql --basedir=/usr --datadir=/var/lib/mysql

MariaDB-Service einbinden und starten

sudo systemctl enable --now mariadb
Überprüfen

MariaDB-Service Status abfragen

sudo systemctl status mariadb

Bei MariaDB anmelden

sudo mysql -p

Man muss hier sudo verwenden und das eigene Linux Passwort eingegeben.

Es startet die MariaDB Konsole.

Abmelden

quit

phpMyAdmin

Installieren

phpMyAdmin installieren

sudo pacman -S --needed phpmyadmin

Das Installationsverzeichnis ist /usr/share/webapps/

Konfigurieren

Es muss eine Konfigurationsdatei mit Namen phpmyadmin.conf im Verzeichnis /etc/httpd/conf/extra neu angelegt werden.

Konfigurationsdatei neu anlegen

sudo nano /etc/httpd/conf/extra/phpmyadmin.conf

Inhalt einfügen

Alias /phpmyadmin "/usr/share/webapps/phpMyAdmin"
<Directory "/usr/share/webapps/phpMyAdmin">
    DirectoryIndex index.php
    AllowOverride All
    Options FollowSymlinks
    Require all granted
</Directory>

Die Datei /etc/httpd/conf/httpd.conf editieren und ganz unten das neue Modul eintragen.

Apache Konfigurationsdatei bearbeiten

sudo nano /etc/httpd/conf/httpd.conf

phpmyadmin.conf in httd.conf einbinden

Include conf/extra/phpmyadmin.conf

Das sollte ganz unten in der Datei stehen.

Apache neu starten

sudo systemctl restart httpd
Überprüfen
  1. Browser öffnen.
  2. Adresse http://localhost/phpmyadmin eingeben.
    ⇒ Login Seite erscheint.
  3. Login-Daten eines in MariaDB angelegten Benutzers eingeben.
    ⇒ Einstiegsseite zu phpMyAdmin erscheint.

SSH und FTP

SSH installieren

sudo pacman -S --needed openssh

Installiert Bibliotheken, den Server und Client

FTP Server installieren

sudo pacman -S --needed vsftpd

Kommandos für openSUSE

Kommandos für den Paketmanager zypper

Apache und PHP

Installieren

PHP installieren

sudo zypper install php

Apache und Dokumentation installieren.

sudo zypper install apache2 apache2-doc

Apache-Service in "systemd" einbinden und starten

sudo systemctl enable --now apache2
Überprüfen

Apache-Service Status abfragen.

sudo systemctl status apache2
  1. Browser öffnen.
  2. In der Adresszeile http://localhost eingeben.
    ⇒ Eine Seite mit der Fehlermeldung "Access forbidden" sollte auftauchen.
  3. In der Adresszeile http://localhost/manual eingeben.
    ⇒ Die Inhaltsangabe der Apache Dokumentation sollte auftauchen.

Die Fehlermeldung Access forbidden erscheint, weil im DocumentRoot Verzeichnis noch nichts steht und die SUSE Standardkonfiguration den direkten Zugriff auf ein Verzeichnis verbietet.

Wer auf Nummer Sicher gehen will, kann folgende Zeilen eingeben:
su
echo "<h1>Hallo Tach.</h1>" > /srv/www/htdocs/index.html
exit
Danach die Adresse http://localhost noch einmal aufrufen.
Merken

document root ist /srv/www/htdocs.

PHP Integration

Installieren

Wenn noch nicht geschehen:

PHP installieren

sudo zypper install php

Bei openSUSE Leap gibt es nichts weiter zu tun.

Überprüfen
  1. Datei phpinfo.php mit Inhalt erzeugen echo '<?php phpinfo() ?>' > phpinfo.php Datei phpinfo.php nach document root kopieren sudo cp phpinfo.php /srv/www/htdocs
  2. Im Browser die Adresse http://localhost/phpinfo.php aufrufen.
    ⇒ Eine Seite mit PHP Infos erscheint.

MariaDB

Installieren

MariaDB installieren

sudo zypper install mariadb

Installiert den Server und als Abhängigkeit den Client gleich mit.

MariaDB-Service einhänegn und starten

sudo systemctl enable --now mariadb
Überprüfen.

MariaDB Service status abfragen.

sudo systemctl status mariadb

Zugriff prüfen

sudo mysql -p

Man muss hier sudo verwenden und das eigene Linux Passwort eingegeben.

Es startet die MariaDB Konsole

Abmelden

quit

phpMyAdmin

Installieren

phpMyAdmin installieren

sudo zypper install phpMyAdmin

Die "CamelCase" Schreibweise bei "phpMyAdmin" beachten.

Damit der Webserver die neue WepApp kennt, muss er neu gestartet werden.

Apache neu starten

sudo systemctl restart apache2
Überprüfen
  1. Browser öffnen.
  2. Adresse http://localhost/phpMyAdmin eingeben.
    ⇒ Login Seite erscheint.
  3. Login-Daten eines in MariaDB angelegten Benutzers eingeben.
    ⇒ Einstiegsseite zu phpMyAdmin erscheint.

Man beachte auch hier die "CamelCase" Schreibweise in der Adresse!

SSH und FTP

SSH installieren

sudo zypper install openssh openssh-server openssh-clients

Installiert Bibliotheken, den Server und Client

FTP Server installieren

sudo zypper install vsftpd