LAMP-Stack auf Ubuntu 18.04 LTS mit PHP 7.2 und Apache 2.4


LAMP Stack Ubuntu Header

In unserem Tutorial LAMP-Server mit PHP 7 und Apache 2.4 auf Ubuntu 16.04 installieren zeige ich dir, wie du den LAMP-Stack auf einem Ubuntu 16.04 LTS startklar machst.
Ubuntu 18.04 LTS ist kürzlich erschienen und steht damit auch als Template innerhalb deines Tech4Hosting Panel zur Verfügung. Für viele bekannte Webanwendung wie z.B. WordPress, Drupal oder Magento wird eine LAMP-Stack Installationsbasis benötigt. Der LAMP-Stack ist damit wohl die bekannteste Server-Installation. LAMP setzt sich aus Linux, Apache, MySQL bzw. MariaDB und PHP zusammen. In diesem Tutorial erkläre ich dir, wie du einen LAMP-Stack auf Ubuntu 18.04 installierst. Ob du wahlweise lieber MariaDB oder MySQL installierst, bleibt dir überlassen. MySQL steht derzeit in Version 5.7 bereit und wird von Oracle weiterentwickelt, MariaDB ist ein MySQL Fork von MySQL Erfinder Monty Widenius und komplett Open-Source.

Bevor du mit der Installation von LAMP loslegen kannst, benötigst du einen Cloud Server mit Ubuntu 18.04 LTS.

Mit den Tech4Hosting Templates kannst du in kürzester Zeit deinen Cloud-Server mit einem Betriebssystem ausstatten. Wenn du Lust bekommen hast und neugierig geworden bist, dann probier doch das Tech4Hosting Panel einfach mal aus und registriere dich.


 

Wir starten, indem du zunächst deinen Server auf den aktuellen Stand bringst.

apt update -y && apt upgrade -y

Apache Server installieren

Im ersten Schritt installierst du den Apache Server.

apt-get -y install apache2

Nach der Installation kannst du direkt testen, ob die Installation geklappt hat. Wenn du die IP-Adresse deines Servers im Browser aufrufst, sollte die Apache Welcome-Page erscheinen.

apache2 Welcome Page

Das DocumentRoot für den Default Apache Virtual Host liegt im Verzeichnis “/var/www/html/”. Die Konfigurationsdatei findest du unter „/etc/apache2/apache2.conf„.

Datenbank installieren

Im nächsten Schritt muss die Datenbank installiert werden. Du kannst wahlweise zwischen MariaDB oder MySQL auswählen. MariaDB hat den Vorteil, dass es komplett Open-Source ist und einige Features bietet, die bei MySQL nicht bereitstehen. Abgesehen davon ist es vergleichsweise egal, für welche der beiden Datenbank du dich entscheidest.

MariaDB

Den MariaDB Server und Client installierst du mit folgendem Befehl:

apt-get -y install mariadb-server mariadb-client

Sobald die Installation fertig ist, solltest du direkt ein Root-Passwort für die Datenbank vergeben und ein paar Sicherheitseinstellungen vornehmen. Das kannst du mit folgendem Befehl machen:

mysql_secure_installation

Dir werden nun ein paar Fragen gestellt. Es beginnt mit dem Passwort und endet mit der Frage, ob du die gerade verwendeten Einstellungen jetzt direkt laden möchtest. Du kannst den Dialog wie folgt übernehmen:

# mysql_secure_installation

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current
password for the root user.  If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.

Enter current password for root (enter for none): 
OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.

Set root password? [Y/n] y
New password: 
Re-enter new password: 
Password updated successfully!
Reloading privilege tables..
 ... Success!


By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] y
 ... Success!

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] y
 ... Success!

By default, MariaDB comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] y
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] y
 ... Success!

Cleaning up...

All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!

Im Anschluss daran kannst du dich zum Testen in deine Datenbank einloggen.

mysql -u root -p

MariaDB Login Test

Mit exit kannst du den MariaDB Client wieder verlassen.

MySQL installieren

Hier zeige ich dir, wie du alternativ MySQL installierst. Der Vorgang bleibt fast der gleiche wie bei MariaDB.

Führe folgenden Befehl aus um MySQL Server und Client zu installieren:

apt-get -y install mysql-server mysql-client

Auch hier solltest du nach der Installation direkt ein sicheres Root-Passwort vergeben und die Datenbank absichern.

mysql_secure_installation

Im Laufe des Dialogs wirst du ebenfalls aufgefordert, ein Root-Passwort festzulegen und nach weiteren Einstellungen gefragt. Du kannst den Verlauf wie folgt übernehmen:

root@lamp:~# mysql_secure_installation

Securing the MySQL server deployment.

Connecting to MySQL using a blank password.

VALIDATE PASSWORD PLUGIN can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD plugin?

Press y|Y for Yes, any other key for No: y

There are three levels of password validation policy:

LOW    Length >= 8
MEDIUM Length >= 8, numeric, mixed case, and special characters
STRONG Length >= 8, numeric, mixed case, special characters and dictionary                  file

Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 2
Please set the password for root here.

New password: 

Re-enter new password: 

Estimated strength of the password: 100 
Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : y
By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL without having to have
a user account created for them. This is intended only for
testing, and to make the installation go a bit smoother.
You should remove them before moving into a production
environment.

Remove anonymous users? (Press y|Y for Yes, any other key for No) : y
Success.


Normally, root should only be allowed to connect from
'localhost'. This ensures that someone cannot guess at
the root password from the network.

Disallow root login remotely? (Press y|Y for Yes, any other key for No) : y
Success.

By default, MySQL comes with a database named 'test' that
anyone can access. This is also intended only for testing,
and should be removed before moving into a production
environment.


Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y
 - Dropping test database...
Success.

 - Removing privileges on test database...
Success.

Reloading the privilege tables will ensure that all changes
made so far will take effect immediately.

Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y
Success.

All done! 

Zum Testen kannst du anschließend kurz überprüfen, ob alles geklappt hat.

mysql -u root -p

MySQL Login Test

PHP 7.2 installieren

Jetzt fehlt nur noch die Installation von PHP:

apt-get -y install php7.2 libapache2-mod-php7.2

Und anschließend den Apache Server neu starten.

 systemctl restart apache2

Nach der Installation kannst du die phpinfo() in deinem Browser aufrufen. Mittels phpinfo() werden dir nützliche Informationen über die aktuelle PHP-Konfiguration ausgegeben und über diesen Weg kannst du auch direkt testen, ob PHP 7.2 richtig installiert wurde.

Wechsel hierfür in dein Apache Web-Root-Verzeichnis mit:

cd var/www/html/

und erstelle dort die Datei info.php mit einem Editor deiner Wahl wie z.B. nano:

nano info.php

In die soeben neu erstellte Datei schreibst du dann folgendes:

<?php phpinfo(); ?>

Anschließen mit strg + x abspeichern und schließen.

Die phpinfo() kannst du jetzt über deinen Browser aufrufen, hänge dafür einfach /info.php an die IP-Adresse deines Servers.

[deine-ip]/info.php

PHP Version Info

Wichtig! Bitte nicht vergessen die info.php zu löschen, nachdem du sie nicht mehr benötigst. Die Datei verrät anderen sensible Informationen über deinen Server.

Mit folgendem Befehl kannst du die Datei wieder löschen:

rm -f /var/www/html/info.php

Zusätzliche PHP-Pakete

Dir fehlt jetzt nur noch das MariaDB/MySQL PHP-Paket, damit deine PHP Installation MySQL unterstützt.

apt install php7.2-mysql

Dann nochmal den Apache neu starten.

systemctl restart apache2

Viele Webanwendungen benötigen zusätzliche PHP-Module, um richtig zu funktionieren. Falls du ein spezifisches Modul für deine Installation benötigen solltest, kannst du mit “apt search + Suchbegriff” nach einem Paket suchen. Die Paketnamen beinhalten meistens php7.2 oder php-, also kannst du bspw. so nach vorhandenen Paketen suchen:

apt search php7.2

oder

apt search php-

 

Noch ein kleiner Tech4Hosting Tipp für den Schluss:

Wenn du öfters LAMP-Server verwendest, kannst du dir die Installation bei Tech4Hosting als Template speichern, indem du zuerst ein Snapshot vom Storage erstellst und dieses dann in ein Template umwandelst.

Tech4Hosting Snapshot zu Template umwandeln

Fazit

In diesem Tutorial-Update habe ich dir gezeigt, wie du einen aktuellen LAMP-Stack mit PHP 7.2 und Apache 2.4 auf einem Ubuntu 18.04 LTS Server einrichtest. Mit einem LAMP-Stack auf deinem Cloud Server hast du eine funktionierende Basis für viele bekannte Webanwendungen geschaffen. Viel Spaß damit!

PS: Schreib uns gerne eine Mail an info@Tech4Hosting wenn du Anregungen hast oder dir ein Tutorial zu einem bestimmten Thema wünschen möchtest.

Zurück zur Tutorial Übersicht Back to Tutorial Overview

© 2002-2023 Phox inc. all rights reserved.

© 2002-2023 Phox inc. all rights reserved.