The wikis are now using the new authentication system.
If you did not migrate your account yet, visit https://idp-portal-info.suse.com/

SDB:LAMP Einrichtung

Wechseln zu: Navigation, Suche


Getestet mit openSUSE Empfohlene Artikel Verwandte Artikel
Icon-checked.png

Icon-manual.png Icon-help.png
Diese Seite beschreibt die schrittweise Installation von LAMP, dies steht für Linux Apache MariaDB PHP. Diese Seite wird dir die Einrichtung von Apache2 Webserver, einen konfigurierten MariaDB Datenbank Server, PHP, mit der Integration zum Apache und schlussendlich phpMyAdmin mit einer konfigurierten pmadb Datenbank zeigen.



Apache2 einrichten

Der Apache-Webserver ist der meistgenutzte Webserver im Internet.

Installation Apache2

Um die Software zu installieren nutzen wir Zypper oder YaST auf der Kommandozeile und führen die Befehle als Root aus:

yast -i apache2 

oder alternativ:

zypper in apache2

Dabei wird auch das Paket apache2-example-pages installiert, welches eine Beispielseite beim Zugriff auf den Webserver bereitstellt.

Start Apache2

Der Apache wird im Terminal gestartet:

systemctl start apache2.service

Um den Apache neu zu starten, nimmt man den folgenden Befehl

systemctl restart apache2.service

oder zum stoppen:

systemctl stop apache2.service}}

Wenn der Apache Webserver nach einem Reboot automatisch starten soll, gibt es das Kommando:

systemctl enable apache2.service

Testen der Installation

Nach der Installation sollte der Apache getestet werden, ob er läuft. Das Paket apache2-example-pages hat die Datei /srv/www/htdocs/index.html installiert, die den folgenden Inhalt hat:

<html><body><h1>It works!</h1></body></html>


Notiz: Es ist möglich neue Dateien zu erstellen oder bestehende zu verändern. Nutze hierfür einen Texteditor deiner Wahl.

Starte dein favorisierten Webbrowser. Navigiere zu 'localhost'. Es sollte nun 'It works!' erscheinen.


PHP einrichten

PHP ist eine Server seitige Skript Sprache mit der es möglich ist, dynamische Webseiten zu erstellen.

Installation PHP7

Um php7 zu installieren

yast -i php7 php7-mysql apache2-mod_php7

oder

zypper in php7 php7-mysql apache2-mod_php7

Vergiss nicht, mod-php zu aktivieren, durch das Ausführen von:

a2enmod php7

Nun ist PHP57 installiert.

Neustart des Webservers

Anschließend muss der Apache2 Webserver neugestartet werden, sodass die Änderungen wirksam werden.

systemctl restart apache2.service


Testen der Installation

Nun ist mod-php aktiviert und es sollte getestet werden, ob es funktioniert. Dazu wechseln wir wieder in das htdocs Verzeichnis mit dem Kommando

cd /srv/www/htdocs.

Erstelle eine neue Datei mit dem Namen index.php und füge folgenden Inhalt ein:

<?php echo "<h1>You succesfully installed PHP!</h>" ?>


Nun starte wieder dein favorisierten Webbrowser. Navigiere zu 'localhost/index.php'. Wenn alles in Ordnung ist, wird 'You successfully installed PHP!' angezeigt.

MariaDB einrichten

MariaDB ist ein freies, relationales Datenbankmanagementsystem, das durch einen Fork aus MySQL entstanden ist.

Installation MariaDB

Wir müssen mariadb und mariadb-tools installieren, mariadb-tools ist erforderlich für die Administration.

yast -i mariadb mariadb-tools

oder

zypper in mariadb mariadb-tools

Start MariaDB Server

MariaDB ist ein alternatives Paket für MySQL, daher wir nun der Name mysql genutzt. Zum starten des MariaDB-Server:

systemctl start mysql.service

Zum Neustarten des MariaDB-Servers:

systemctl restart mysql.service

oder zum Stoppen:

systemctl stop mysql.service

Um den MariaDB-Server auch nach dem Reboot automatisch auszuführen:

systemctl enable mysql.service

Konfiguration des MariaDB/MySQL Server

Zum Setzen des Root-Passwortes wird der folgende Befehl ausgeführt:

mysqladmin -u root password NEWPASSWORD

Um das Passwort später zu ändern:

mysqladmin -u root -p password NEWPASSWORD

Dabei wird nach dem alten Passwort gefragt.

Login zum Client

Nun kann man sich in den Server-Clienten einloggen:

mysql -u root -p

Das Terminal wird mit exit verlassen.

Einrichtung phpMyAdmin

Was ist phpMyAdmin?

phpMyAdmin ist ein Werkzeug zur Administration der Datenbanken. Die Installation ist recht einfach.

Installation phpMyAdmin

Für die Installation von phpMyAdmin im Terminal:

yast -i phpMyAdmin

oder

zypper in phpMyAdmin

Dabei werden einige benötigte php7 Module installiert und der Apache2-Server neugestartet.

Login in phpMyAdmin

Um sich in phpMyAdmin einzuloggen:

  • Navigiere zu localhost/phpMyAdmin
  • Gib das root Accountname and Passwort für den MariaDB-Server ein
  • Klick auf 'Go'

Konfiguration phpMyAdmin

Um phpMyAdmin zu konfigurieren, muss die Konfigurationsdatei /etc/phpMyAdmin/config.inc.php editiert werden.

  • Öffne die Datei und passe die nötigen Zeilen an (beachte die doppelten Unterstriche im Namen der Tabellen):
$cfg['Servers'][$i]['controluser'] = 'somename';
$cfg['Servers'][$i]['controlpass'] = 'somepassword';
/*Advanced phpMyAdmin features */
$cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';
$cfg['Servers'][$i]['bookmarktable'] = 'pma__bookmark';
$cfg['Servers'][$i]['relation'] = 'pma__relation';
$cfg['Servers'][$i]['table_info'] = 'pma__table_info';
$cfg['Servers'][$i]['table_coords'] = 'pma__table_coords';
$cfg['Servers'][$i]['pdf_pages'] = 'pma__pdf_pages';
$cfg['Servers'][$i]['column_info'] = 'pma__column_info';
$cfg['Servers'][$i]['history'] = 'pma__history';
$cfg['Servers'][$i]['tracking'] = 'pma__tracking';
$cfg['Servers'][$i]['designer_coords'] = 'pma__designer_coords';
  • Es muss der Accountname vom Kontroll-Account (above somename) und das Kontroll-Passwort (above somepassword) geändert werden.
  • Ändere den Zugriffsschutz der Datei so, dass root der Nutzer ist und die Gruppe www nur Lese-Rechte hat.
    chown root:www /etc/phpMyAdmin/config.inc.php
chmod 640 /etc/phpMyAdmin/config.inc.php
  • Log wieder auf localhost/phpMyAdmin ein.
  • Importiere via dem Import Reiter auf der phpMyAdmin Seite die Datei /usr/share/doc/packages/phpMyAdmin/example/create_tables.sql Ein Dialog wird anzeigen das ein Nutzer pma bereits existiert, wie auch immer das ist nicht relevant.
  • Log nochmal aus und ein, dabei nutze als Accountname root und das root Passwort von MySQL.
  • Wähle den Reiter Benutzer und drück Benutzer hinzufügen. Gib als neuen Accountnamen den Namen vom Kontrollaccount ein der Oben verwendet wurde, localhost als Host, zwei mal das Oben gesetzte Passwort in die dafür vorgesehenden Felder und drücke Go (unten rechts).
  • Erstelle eine Datei mit folgenden Inhalt, somename und somepassword sind mit dem Oben gesetyten werten zu ersetzen.
GRANT USAGE ON mysql.* TO 'somename'@'localhost' IDENTIFIED BY 'somepassword';
GRANT SELECT (
  Host, User, Select_priv, Insert_priv, Update_priv, Delete_priv,
  Create_priv, Drop_priv, Reload_priv, Shutdown_priv, Process_priv,
  File_priv, Grant_priv, References_priv, Index_priv, Alter_priv,
  Show_db_priv, Super_priv, Create_tmp_table_priv, Lock_tables_priv,
  Execute_priv, Repl_slave_priv, Repl_client_priv
 ) ON mysql.user TO 'somename'@'localhost';
 GRANT SELECT (Host, Db, User, Table_name, Table_priv, Column_priv)
   ON mysql.tables_priv TO 'somename'@'localhost';
 GRANT SELECT ON mysql.db TO 'somename'@'localhost';
 GRANT SELECT, INSERT, UPDATE, DELETE ON phpmyadmin.* TO 'somename'@'localhost';

und importiere diese Datei via dem Import Reiter.

  • Lese die Dokumentation von phpMyAdmin auf der phpMyAdmin website.
  • Vergiss nicht die nötigen Sicherheitsmaßnahmen zu ergreifen.
  • Nun sollte ein funktionstüchtiger LAMP Server arbeiten.