LAMP ist die Abkürzung für L inux, A pache, M ySQL, P PS. Dieses Tutorial zeigt, wie Sie einen Apache-Webserver auf einem Debian Stretch (9) Server mit PHP 7 (mod_php) und MariaDB-Unterstützung installieren. MariaDB ist ein Fork des bekannten MySQL-Datenbankservers, bietet ein MySQL-kompatibles Feature-Set und ist laut Benchmarks, die ich im Internet gefunden habe, etwas schneller. MariaDB funktioniert mit allen Anwendungen, die MySQL benötigen, wie Wordpress, Joomla usw.
Ein LAMP-Setup ist eine perfekte Basis für CMS-Systeme wie Joomla, Wordpress oder Drupal.
1 Vorbemerkung
In diesem Tutorial verwende ich den Hostnamen server1.example.com mit der IP-Adresse 192.168.1.100. Diese Einstellungen können für Sie abweichen, daher müssen Sie sie gegebenenfalls ersetzen.
2 Installation von MariaDB als MySQL-Ersatz
Zuerst installieren wir MariaDB wie folgt:
apt-get -y install mariadb-server mariadb-client
Als nächstes sichern wir MariaDB mit der mysql_secure_installation Befehl. Führen Sie den folgenden Befehl aus und folgen Sie dem Assistenten.
mysql_secure_installation
Die empfohlene Eingabe wird rot angezeigt.
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): <-- Hit return
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: <-- Enter the new password for the MariaDB root user
Re-enter new password: <-- Enter the password again
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!
Das MariaDB-Setup ist jetzt gesichert.
3 Installieren des Apache-Webservers
Apache ist als Debian-Paket verfügbar, daher können wir es wie folgt installieren:
apt-get -y install apache2
Richten Sie nun Ihren Browser auf http://192.168.1.100, und Sie sollten die Apache2-Platzhalterseite sehen (es funktioniert!):
Das standardmäßige Dokumentenstammverzeichnis von Apache ist /var/www unter Debian und die Konfigurationsdatei ist /etc/apache2/apache2.conf. Zusätzliche Konfigurationen werden in Unterverzeichnissen des /etc/apache2-Verzeichnisses wie /etc/apache2/mods-enabled (für Apache-Module), /etc/apache2/sites-enabled (für virtuelle Hosts) und /etc/apache2/conf gespeichert -aktiviert.
4 Installation von PHP 7.1
Wir können PHP und das Apache PHP-Modul wie folgt installieren:
apt-get -y install php7.0 libapache2-mod-php7.0
Danach müssen wir Apache neu starten:
service apache2 restart
5 Testen von PHP / Abrufen von Details über Ihre PHP-Installation
Das Dokumentenstammverzeichnis der Standardwebsite ist /var/www/html. In diesem Verzeichnis erstellen wir nun eine kleine PHP-Datei (info.php) und rufen sie in einem Browser auf. Die Datei zeigt viele nützliche Details über unsere PHP-Installation an, wie z. B. die installierte PHP-Version.
nano /var/www/html/info.php
<?php
phpinfo();
Nun nennen wir diese Datei in einem Browser (z. B. http://192.168.1.100/info.php):
Wie Sie sehen, funktioniert PHP 7.0 und es funktioniert über den Apache 2.0-Handler, wie in der Server-API-Zeile gezeigt. Wenn Sie weiter nach unten scrollen, sehen Sie alle Module, die bereits in PHP5 aktiviert sind. MySQL / MariaDB ist dort nicht aufgeführt, was bedeutet, dass wir noch keine MySQL-Unterstützung in PHP5 haben.
6 MySQL- und MariaDB-Unterstützung in PHP erhalten
Um MySQL-Unterstützung in PHP zu erhalten, installieren wir das Paket php7.0-mysql. Es ist eine gute Idee, einige andere PHP-Module zu installieren, die Sie möglicherweise für Ihre Anwendungen benötigen. Sie können wie folgt nach verfügbaren PHP 7-Modulen suchen:
apt-cache search php7.0
Wählen Sie die benötigten aus und installieren Sie sie wie folgt:
apt-get -y install php7.0-mysql php7.0-curl php7.0-gd php7.0-intl php-pear php-imagick php7.0-imap php7.0-mcrypt php-memcache php7.0-pspell php7.0-recode php7.0-sqlite3 php7.0-tidy php7.0-xmlrpc php7.0-xsl
Starten Sie nun Apache neu:
service apache2 restart
7 PHP Cache zur Verbesserung der PHP-Geschwindigkeit
Um PHP zu beschleunigen, sollte ein Opcache installiert werden. Prüfen Sie, ob das PHP-Opcache-Modul korrekt installiert und aktiviert wurde. Führen Sie diesen Befehl aus:
php --version
Die Ausgabe soll die rot markierte Zeile I enthalten.
PHP 7.0.27-0+deb9u1 (cli) (built: Jan 5 2018 13:51:52) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
with Zend OPcache v7.0.27-0+deb9u1, Copyright (c) 1999-2017, by Zend Technologies
Wenn Sie das Opcache-Modul nicht im Ergebnis sehen, installieren Sie es mit diesem Befehl:
apt-get -y install php7.0-opcache
Es gibt noch einen weiteren Cache, der nützlich sein könnte, sein Name ist APCu. APCu ist ein kostenloser PHP-Opcode-Cacher zum Caching und Optimieren von PHP-Zwischencode.
APCu kann wie folgt installiert werden:
apt-get -y install php-apcu
Starten Sie nun Apache neu:
service apache2 restart
Laden Sie nun http://192.168.1.100/info.php in Ihrem Browser neu und scrollen Sie erneut nach unten zum Modulbereich. Dort sollten Sie nun viele neue Module finden, darunter das MySQL-Modul, das als MariaDB-Treiber verwendet wird:
8 phpMyAdmin
phpMyAdmin ist eine Webschnittstelle, über die Sie Ihre MySQL- und MariaDB-Datenbanken verwalten können. Es ist eine gute Idee, es zu installieren:
apt-get -y install phpmyadmin
Sie sehen die folgenden Fragen:
Web server to reconfigure automatically: <-- apache2
Configure database for phpmyadmin with dbconfig-common?<-- Yes
MySQL application password for phpmyadmin: <-- Press enter, apt will create a random password automatically.
Danach erreichen Sie phpMyAdmin unter http://192.168.1.100/phpmyadmin/:
9 Aktivieren Sie die MySQL-Root-Anmeldung für phpMyAdmin
Während Sie sich als Root-Benutzer bei MariaDB auf der Shell anmelden können, funktioniert die Root-Anmeldung in phpMyAdmin nicht. Um dem Root-Benutzer zu erlauben, phpMyAdmin ebenfalls zu verwenden, führen Sie den folgenden Befehl auf der Shell aus:
echo "UPDATE mysql.user SET plugin = 'mysql_native_password' WHERE user = 'root' AND plugin = 'unix_socket';FLUSH PRIVILEGES;" | mysql -u root -p
10 Links
- Apache:http://httpd.apache.org/
- PHP:http://www.php.net/
- MySQL:http://www.mysql.com/
- Debian:http://www.debian.org/
- phpMyAdmin:http://www.phpmyadmin.net/