LAMP Server unter CentOS 7

Seit meinem letzten Beitrag zu diesem Thema, hat sich bezüglich der Installation eines LAMP Servers unter CentOS einiges geändert:

  • Datenbank
  • Firewall
  • Konfigurationen

Unter Berücksichtigung der Änderungen, wird nachfolgend die Installation einer LAMP Umgebung beschrieben.

Allgemein

LAMP bezeichnet einen Webserver unter Linux inkl. einer Datenbank und PHP. Ursprünglich stand die Abkürzung für Linux, Apache, MySQL  und PHP. Die Ursprüngliche verwendete Datenbank MySQL wurde im Standard bei CentOS durch die MariaDB ersetzt.  Dabei handelt es sich um einen Abspaltung (Fork) von MySQL, der vom ehemaligen Gründer Michael Widenius betreut wird. Ich habe einen interessanten Beitrag auf PHP-Dev gefunden, den ich hier nicht vorenthalten möchte (http://blog.php-dev.info/2014/04/mariadb-vs-mysql/).

CentOS installiert die Abhängigkeiten zur gewünschten Software gleich mit. Also nicht wundern, wenn aus einem Paket viele werden – das ist gut so.

Die Befehle werden in diesem Beitrag mit dem Befehl ’sudo‘ eingeleitet. Sofern man bereits als User ‚root‘ angemeldet ist, wäre das nicht notwendig.

Voraussetzungen

Der Beitrag setzt auf einer CentOS 7 – Grundinstallation auf, das sollte aber grundsätzlich auf jeder anderen CentOS Installation funktionieren. Für die Installation der Pakete wird ein Internetzugang benötigt.

Vorbereitung (optional)

Die Vorbereitung ist rein optional und nicht zwingend für eine LAMP-Installation notwendig.

Ich möchte die DB später über eine Weboberfläche verwalten können und nutze hierfür phpMyAdmin. Diese Software ist nicht Teil der offiziellen CentOS-Repository. Hierfür muss die EPEL-Paketquelle als Zusatz für die offiziellen installiert werden. Seit CentOS 7 kann dies direkt über den Paket-Manager yum erledigt werden.

Ich installiere mir noch gerne „nano“ als zusätzlichen Editor zum VI und wget zum laden von Dateien aus dem Internet.

Installation LAMP

Es besteht die Möglichkeit alles in einem Rutsch zu installieren (für die Ungeduldigen: sudo yum install httpd mariadb-server mariadb php phpmyadmin) trenne diese aber bewusst um die Schritte zu verdeutlichen.

  1. Webserver: Apache installieren, starten und für den Autostart bei Neustart des Systems einrichten
  2. Datenbank: MariaDB installieren, starten und für den Autostart bei Neustart des Systems einrichten
  3. PHP: PHP installieren
  4. phpMyAdmin: phpMyAdmin installieren

Grundkonfiguration für die LAMP-Umgebung

Wir haben nun die notwendigen Programme installiert können diese aber nur bedingt nutzen. Der Webserver ist von außen nicht erreichbar, die Datenbank funktioniert nicht und phpMyAdmin kann nicht genutzt werden. Darum werden wir uns jetzt kümmern.

Zugriff von außen einrichten

Damit der Webserver und die Datenbank von außen genutzt werden können, müssen wir entsprechende Regeln in der Firewall eingerichtet werden. Wir benötigen Regeln für http, https und mysql. Ich möchte hier nochmal erwähnen, dass ich die Grundinstallation verwende. Dabei liegt die Netzwerkkarte (eth0) in der Zone ‚public‘ – dies muss ggf. in anderen Umgebungen angepasst werden.

Die Konfiguration der Firewall wird geprüft mit:

Das Ergebnis sollte wie folgt oder so ähnlich aussehen. Wichtig sind die Dienste http, https und mysql.

Screenshot: Centos 7.1-1503: firewall-cmd --list-all
Screenshot: Centos 7.1-1503: firewall-cmd –list-all

 

 

Datenbank initiieren

Die Datenbank wird über ein Skript initiiert (nicht wundern, der Name ist korrekt)

Das Skript kann mit den Standardvorgaben übernommen werden. Ich empfehle ein Kennwort zu setzen.

phpMyAdmin einrichten

Um den Zugriff auf die Webseite von phpMyAdmin zu gewährleisten, muss die entsprechende Datei angepasst werden.

  1. Konfigurationsdatei sichern
  2. Die Datei (etc/httpd/conf.d/phpMyAdmin.conf) wie folge editieren
    • der Inhalt
    • wird durch diesen ersetzt
  3. Neustart des Webservers

Et voilà, die Installation ist fertig und einsatzbereit.

Ein wichtiger Hinweis!
Auch wenn der Server nun einsatzfähig ist, würde ich diesen mit der oben genannten Installation nicht im Internet betreiben. Die Dienste sollten vor einem produktiven Betrieb im Internet gehärtet und die Zugriffe auf das notwendigste beschränkt werden. Darüber hinaus empfehle ich die Apache-Konfiguration anzupassen.

Überprüfung der Installation

Zum Schluss bleibt die Überprüfung der Installation.

Test Webserver

Durch einen Aufruf der IP-Adresse des Webservers (hier: 192.168.1.80) in einem Browser, sollte bei einer erfolgreichen Installation die Testseite von Apache angezeigt werden.

Screenshot: Centos 7.1-1503: Testseite des Apache Webservers
Screenshot: Centos 7.1-1503: Testseite des Apache Webservers

Test PHP und phpMyAdmin

Durch den Aufruf der Seite „http://ip-adresse-server/phpmyadmin“ sollte der Login von phpMyAdmin erscheinen.

Screenshot: Centos 7.1-1503: Login phpMyAdmin
Screenshot: Centos 7.1-1503: Login phpMyAdmin

Für nähere Informationen bezüglich PHP, kann eine entsprechende Datei hinterlegt (z.B.: „/var/www/html/phpinfo.php“ werden. Über den Browser wird diese angesteuert und sollte alle notwendigen Informationen ausweisen.

Der Dateiinhalt der Datei:

Das erwartete Ergebnis:

Screenshot: Centos 7.1-1503:  phpinfo.php
Screenshot: Centos 7.1-1503: phpinfo.php

 

Quellen/Verweise

2 Gedanken zu „LAMP Server unter CentOS 7

Kommentar verfassen