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:
- Das System fährt fehlerfrei rauf und runter.
- Es gibt einen Benutzer, der das Kommando sudo ausführen darf.
- Es gibt eine funktionierende Internetanbindung.
- Das System hat eine grafische Desktop Umgebung.
- Es gibt einen Browser.
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
quitDatenbank 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 phpBei 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-docApache-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.
-
Apache-Service abfragen.
sudo systemctl is-active apache2
⇒ active - Browser öffnen.
-
In der Adresszeile http://localhost eingeben.
⇒ Eine Seite mit "It works!" sollte auftauchen. -
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 phpBei Debian / Ubuntu gibt es sonst nichts weiter zu tun.
Überprüfen
-
Datei phpinfo.php mit Inhalt erzeugen
echo '<?php phpinfo() ?>' > phpinfo.php -
Datei phpinfo.php nach
document root
kopieren
sudo cp phpinfo.php /var/www/html -
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-clientMariaDB-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 mariadbZugriff prüfen
sudo mysql -p
Man muss hier sudo
verwenden und das eigene Linux Passwort eingegeben.
Es startet die MariaDB Konsole.
Abmelden
quitphpMyAdmin
Installieren
phpMyAdmin installieren
sudo apt install phpmyadminEs 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
- Browser öffnen.
-
Adresse http://localhost/phpmyadmin eingeben.
⇒ Login Seite erscheint. -
Login-Daten eines in MariaDB angelegten Benutzers eingeben.
⇒ Einstiegsseite zu phpMyAdmin erscheint.
SSH und FTP
SSH installieren
sudo apt install openssh-server openssh-clientInstalliert Bibliotheken, den Server und Client
FTP Server installieren
sudo apt install vsftpdKommandos für Fedora (RedHat)
Kommandos für den Paketmanager dnf
Apache und PHP.
Installieren
PHP installieren
sudo dnf install phpApache und Dokumentation installieren
sudo dnf install httpd httpd-manualApache-Service einbinden und starten
sudo systemctl enable --now httpdÜberprüfen
Apache-Service Status abfragen.
sudo systemctl status httpd- Browser öffnen.
-
In der Adresszeile http://localhost eingeben.
⇒ Eine Seite mit einer Überschrift wie "Fedora Webserver Test Page" sollte auftauchen. -
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 phpBei Fedora gibt es nichts weiter zu tun.
Überprüfen
-
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 -
Im Browser die Adresse http://localhost/phpinfo.php eingeben.
⇒ Eine Seite mit PHP Infos sollte erscheinen.
MariaDB
Installieren
MariaDB installieren
sudo dnf install mariadb-serverInstalliert 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 mariadbZugriff prüfen
sudo mysql -p
Man muss hier sudo
verwenden und das eigene Linux Passwort eingegeben.
Es startet die MariaDB Konsole.
Abmelden
quitphpMyAdmin
Installieren
phpMyAdmin installieren
sudo dnf install phpmyadminApache neu starten
sudo systemctl restart httpdÜberprüfen
- Browser öffnen.
-
Adresse http://localhost/phpmyadmin eingeben.
⇒ Login Seite erscheint. -
Login-Daten eines in MariaDB angelegten Benutzers eingeben.
⇒ Einstiegsseite zu phpMyAdmin erscheint.
SSH und FTP
SSH installieren
sudo dnf install openssh openssh-server openssh-clientsInstalliert Bibliotheken, den Server und Client
FTP Server installieren
sudo dnf install vsftpdKommandos für Arch Linux
Kommandos für den Paketmanager pacman
Apache und PHP
Installieren
PHP installieren
sudo pacman -S --needed phpWeb installieren
sudo pacman -S --needed apacheApache-Service starten und einbinden
sudo systemctl enable --now httpdÜberprüfen
Apache-Service Status abfragen.
sudo systemctl status httpd- Browser öffnen.
-
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-apacheKonfigurieren
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.iniphp.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-
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. -
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
-
Datei phpinfo.php mit Inhalt erzeugen
echo '<?php phpinfo() ?>' > phpinfo.php
Datei phpinfo.php nach
document root
kopieren sudo cp phpinfo.php /srv/http -
Im Browser die Adresse http://localhost/phpinfo.php aufrufen.
⇒ Eine Seite mit PHP Infos erscheint.
MariaDB
Installieren
MariaDB installieren
sudo pacman -S --needed mariadbInstalliert den Server und den Client gleich mit.
MariaDB Datenbank anlegen
sudo mariadb-install-db --user=mysql --basedir=/usr --datadir=/var/lib/mysqlMariaDB-Service einbinden und starten
sudo systemctl enable --now mariadbÜberprüfen
MariaDB-Service Status abfragen
sudo systemctl status mariadbBei MariaDB anmelden
sudo mysql -p
Man muss hier sudo
verwenden und das eigene Linux Passwort eingegeben.
Es startet die MariaDB Konsole.
Abmelden
quitphpMyAdmin
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.confInhalt 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.confphpmyadmin.conf in httd.conf einbinden
Include conf/extra/phpmyadmin.confDas sollte ganz unten in der Datei stehen.
Apache neu starten
sudo systemctl restart httpdÜberprüfen
- Browser öffnen.
-
Adresse http://localhost/phpmyadmin eingeben.
⇒ Login Seite erscheint. -
Login-Daten eines in MariaDB angelegten Benutzers eingeben.
⇒ Einstiegsseite zu phpMyAdmin erscheint.
SSH und FTP
SSH installieren
sudo pacman -S --needed opensshInstalliert Bibliotheken, den Server und Client
FTP Server installieren
sudo pacman -S --needed vsftpdKommandos für openSUSE
Kommandos für den Paketmanager zypper
Apache und PHP
Installieren
PHP installieren
sudo zypper install phpApache und Dokumentation installieren.
sudo zypper install apache2 apache2-docApache-Service in "systemd" einbinden und starten
sudo systemctl enable --now apache2Überprüfen
Apache-Service Status abfragen.
sudo systemctl status apache2- Browser öffnen.
-
In der Adresszeile http://localhost eingeben.
⇒ Eine Seite mit der Fehlermeldung "Access forbidden" sollte auftauchen. -
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.
Merken
document root
ist /srv/www/htdocs.
PHP Integration
Installieren
Wenn noch nicht geschehen:
PHP installieren
sudo zypper install phpBei openSUSE Leap gibt es nichts weiter zu tun.
Überprüfen
-
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 -
Im Browser die Adresse http://localhost/phpinfo.php aufrufen.
⇒ Eine Seite mit PHP Infos erscheint.
MariaDB
Installieren
MariaDB installieren
sudo zypper install mariadbInstalliert 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 mariadbZugriff prüfen
sudo mysql -p
Man muss hier sudo
verwenden und das eigene Linux Passwort eingegeben.
Es startet die MariaDB Konsole
Abmelden
quitphpMyAdmin
Installieren
phpMyAdmin installieren
sudo zypper install phpMyAdminDie "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
- Browser öffnen.
-
Adresse http://localhost/phpMyAdmin eingeben.
⇒ Login Seite erscheint. -
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-clientsInstalliert Bibliotheken, den Server und Client
FTP Server installieren
sudo zypper install vsftpd
su
echo "<h1>Hallo Tach.</h1>" > /srv/www/htdocs/index.html
exit
Danach die Adresse noch einmal aufrufen.