GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

Installation von Lighttpd mit PHP (PHP-FPM-Modus) und MySQL oder MariaDB auf Ubuntu 15.10

Lighttpd ist ein sicherer, schneller und standardkonformer Webserver, der für geschwindigkeitskritische Umgebungen entwickelt wurde. Dieses Tutorial zeigt, wie man Lighttpd auf einem Ubuntu 15.10-Server mit PHP-Unterstützung (über PHP-FPM) und MySQL oder MariaDB installiert. PHP-FPM (FastCGI Process Manager) ist eine alternative PHP-FastCGI-Implementierung mit einigen zusätzlichen Funktionen, die für Websites jeder Größe nützlich sind, insbesondere für stark frequentierte Websites. Ich verwende in diesem Tutorial PHP-FPM anstelle von Lighttpds spawn-fcgi.

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.

Ich führe alle Schritte in diesem Tutorial mit Root-Rechten aus, stellen Sie also sicher, dass Sie als Root angemeldet sind, bevor Sie fortfahren:

sudo su

2 Installation von MySQL/MariaDB

Ubuntu stellt Pakete für den ursprünglichen MySQL-Datenbankserver (MySQL 5.6) und den MySQL-Fork MariaDB (10) bereit. Die meisten Benutzer bevorzugen heute MariaDB, da es etwas schneller als MySQL ist und die Entwicklung schneller voranschreitet. Ich überlasse Ihnen die Entscheidung, was Sie hier installieren, und erkläre Ihnen beide Optionen. Befolgen Sie entweder die Anweisungen in Kapitel 2.1 oder 2.2, aber nicht beide.

2.1 Installation von MySQL

Installieren Sie MySQL wie folgt:

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

Sie werden aufgefordert, ein Passwort für den MySQL-Root-Benutzer anzugeben – dieses Passwort gilt sowohl für den Benutzer [email protected] als auch für [email protected], sodass wir später kein MySQL-Root-Passwort manuell angeben müssen:

Neues Passwort für den MySQL-"root"-Benutzer:<-- yourrootsqlpassword
Wiederholen Sie das Passwort für den MySQL-"root"-Benutzer:<-- yourrootsqlpassword

2.2 Installation von MariaDB

Installieren Sie MariaDB wie folgt:

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

Jetzt setzen wir ein Root-Passwort für MariaDB.

mysql_secure_installation

Ihnen werden folgende Fragen gestellt:

Enter current password for root (enter for none): <-- press enter
Set root password? [Y/n] <-- y
New password: <-- Enter the new MariaDB root password here
Re-enter new password: <-- Repeat the password
Remove anonymous users? [Y/n] <-- y
Disallow root login remotely? [Y/n] <-- y
Reload privilege tables now? [Y/n] <-- y

3 Installieren von Lighttpd

Lighttpd ist als Ubuntu-Paket verfügbar, daher können wir es wie folgt installieren:

apt-get -y install lighttpd

Leiten Sie nun Ihren Browser zu http://192.168.1.100/index.lighttpd.html, und Sie sollten die Lighttpd-Platzhalterseite sehen:

Lighttpds standardmäßiger Dokumentenstamm ist /var/www/html auf Ubuntu, und die Konfigurationsdatei ist /etc/lighttpd/lighttpd.conf. Zusätzliche Konfigurationen werden in Dateien im Verzeichnis /etc/lighttpd/conf-available gespeichert – diese Konfigurationen können mit dem Befehl lighttpd-enable-mod aktiviert werden, der einen Symlink vom Verzeichnis /etc/lighttpd/conf-enabled zur entsprechenden Konfiguration erstellt Datei in /etc/lightpd/conf-available. Sie können Konfigurationen mit dem Befehl lighttpd-disable-mod deaktivieren.

4 Installation von PHP 5.6

Wir können PHP5 in Lighttpd durch PHP-FPM zum Laufen bringen, das wir wie folgt installieren:

apt-get -y install php5-fpm php5

PHP-FPM ist ein Daemon-Prozess (mit der systemd-Diensteinheit php5-fpm.service), der einen FastCGI-Server auf dem Socket /var/run/php5-fpm.sock ausführt.

5 Konfigurieren von Lighttpd und PHP

Um PHP5 in Lighttpd zu aktivieren, müssen wir /etc/php5/fpm/php.ini ändern und die Zeile cgi.fix_pathinfo=1:

auskommentieren
nano /etc/php5/fpm/php.ini
[...]
; cgi.fix_pathinfo provides *real* PATH_INFO/PATH_TRANSLATED support for CGI.  PHP's
; previous behaviour was to set PATH_TRANSLATED to SCRIPT_FILENAME, and to not grok
; what PATH_INFO is.  For more information on PATH_INFO, see the cgi specs.  Setting
; this to 1 will cause PHP CGI to fix its paths to conform to the spec.  A setting
; of zero causes PHP to behave as before.  Default is 1.  You should fix your scripts
; to use SCRIPT_FILENAME rather than PATH_TRANSLATED.
; http://php.net/cgi.fix-pathinfo
cgi.fix_pathinfo=1
[...]

Die Lighttpd-Konfigurationsdatei für PHP /etc/lighttpd/conf-available/15-fastcgi-php.conf ist für die Verwendung mit spawn-fcgi geeignet, wir möchten jedoch PHP-FPM verwenden, daher erstellen wir eine Sicherungskopie der Datei ( namens 15-fastcgi-php-spawnfcgi.conf) und ändern Sie 15-fastcgi-php.conf wie folgt:

cd /etc/lighttpd/conf-available/
cp 15-fastcgi-php.conf 15-fastcgi-php-spawnfcgi.conf
nano 15-fastcgi-php.conf
# /usr/share/doc/lighttpd-doc/fastcgi.txt.gz
# http://redmine.lighttpd.net/projects/lighttpd/wiki/Docs:ConfigurationOptions#mod_fastcgi-fastcgi

## Start an FastCGI server for php (needs the php5-cgi package)
fastcgi.server += ( ".php" =>
        ((
                "socket" => "/var/run/php5-fpm.sock",
                "broken-scriptfilename" => "enable"
        ))
)

Führen Sie die folgenden Befehle aus, um die Fastcgi-Konfiguration zu aktivieren:

lighttpd-enable-mod fastcgi
lighttpd-enable-mod fastcgi-php

Dadurch werden die Symlinks /etc/lighttpd/conf-enabled/10-fastcgi.conf erstellt, die auf /etc/lighttpd/conf-available/10-fastcgi.conf und /etc/lighttpd/conf-enabled/15-fastcgi-php zeigen .conf, die auf /etc/lighttpd/conf-available/15-fastcgi-php.conf verweist:

ls -l /etc/lighttpd/conf-enabled
[email protected]:/etc/lighttpd/conf-available# ls -l /etc/lighttpd/conf-enabled
total 0
lrwxrwxrwx 1 root root 33 Nov 11 13:59 10-fastcgi.conf -> ../conf-available/10-fastcgi.conf
lrwxrwxrwx 1 root root 37 Nov 11 13:59 15-fastcgi-php.conf -> ../conf-available/15-fastcgi-php.conf

Dann laden wir Lighttpd neu:

service lighttpd force-reload

6 Testen von PHP5 / Abrufen von Details zu Ihrer PHP5-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 5.6 und es funktioniert über FPM/FastCGI, wie in der Server-API-Zeile gezeigt. Wenn Sie weiter nach unten scrollen, sehen Sie alle Module, die bereits in PHP5 aktiviert sind. MySQL ist dort nicht aufgeführt, was bedeutet, dass wir noch keine MySQL-Unterstützung in PHP haben.

7 MySQL-Unterstützung in PHP5 erhalten

Um MySQL-Unterstützung in PHP zu erhalten, können wir das Paket php5-mysqlnd installieren. Dies wird gegenüber php5-mysql bevorzugt Paket, da es einen neueren MySQL-Dribver enthält, der sowohl MySQL als auch MariaDB unterstützt. Es ist eine gute Idee, einige andere PHP5-Module zu installieren, die Sie möglicherweise für Ihre Anwendungen benötigen. Sie können wie folgt nach verfügbaren PHP5-Modulen suchen:

apt-cache search php5

Wählen Sie die benötigten aus und installieren Sie sie wie folgt:

apt-get -y install php5-mysqlnd php5-curl php5-gd php5-intl php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-ming php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl

Xcache ist ein kostenloser und offener PHP-Opcode-Cacher zum Zwischenspeichern und Optimieren von PHP-Zwischencode. Es ähnelt anderen PHP-Opcode-Cachern wie eAccelerator und APC. Es wird dringend empfohlen, eines davon zu installieren, um Ihre PHP-Seite zu beschleunigen.

Xcache kann wie folgt installiert werden:

apt-get -y install php5-xcache

Laden Sie nun PHP-FPM neu:

service php5-fpm reload

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 jetzt viele neue Module finden, einschließlich des MySQL-Moduls:

8 phpMyAdmin

phpMyAdmin ist eine Webschnittstelle, über die Sie Ihre MySQL-Datenbanken verwalten können. Es ist eine gute Idee, es zu installieren:

apt-get -y install phpmyadmin

Sie sehen die folgenden Fragen:

Webserver zur automatischen Neukonfiguration:<-- lighttpd
Datenbank für phpmyadmin mit dbconfig-common konfigurieren? <-- ja

Password of the database's administrative user: <-- Enter the MySQL/MariaDB root password
MySQL application password for phpmyadmin: <-- Press ENTER

Danach erreichen Sie phpMyAdmin unter http://192.168.1.100/phpmyadmin/:

9 PHP-FPM eine TCP-Verbindung verwenden lassen (optional)

Standardmäßig lauscht PHP-FPM auf dem Socket /var/run/php5-fpm.sock. Es ist auch möglich, PHP-FPM dazu zu bringen, eine TCP-Verbindung zu verwenden. Öffnen Sie dazu /etc/php5/fpm/pool.d/www.conf...

nano /etc/php5/fpm/pool.d/www.conf

... und lass die Listen-Zeile wie folgt aussehen:

[...]
;listen = /var/run/php5-fpm.sock
listen = 127.0.0.1:9000
[...]

Dadurch lauscht PHP-FPM auf Port 9000 auf der IP 127.0.0.1 (localhost). Stellen Sie sicher, dass Sie einen Port verwenden, der auf Ihrem System nicht verwendet wird.

Laden Sie dann PHP-FPM neu:

service php5-fpm reload

Öffnen Sie als Nächstes die PHP-Konfigurationsdatei von Lighttpd /etc/lighttpd/conf-available/15-fastcgi-php.conf und ersetzen Sie die Socket-Zeile durch Host- und Port-Zeilen:

nano /etc/lighttpd/conf-available/15-fastcgi-php.conf
# /usr/share/doc/lighttpd-doc/fastcgi.txt.gz
# http://redmine.lighttpd.net/projects/lighttpd/wiki/Docs:ConfigurationOptions#mod_fastcgi-fastcgi

## Start an FastCGI server for php (needs the php5-cgi package)
fastcgi.server += ( ".php" =>
        ((
                "host" => "127.0.0.1",
                "port" => "9000",
                "broken-scriptfilename" => "enable"
        ))
)

Zum Schluss Lighttpd neu laden:

service lighttpd force-reload

10 Image-Download der virtuellen Maschine für dieses Tutorial

Dieses Tutorial ist als gebrauchsfertiges Image der virtuellen Maschine im ovf/ova-Format für Howtoforge-Abonnenten verfügbar. Das VM-Format ist mit VMWare und Virtualbox kompatibel. Das Image der virtuellen Maschine verwendet die folgenden Anmeldedaten:

SSH-/Shell-Anmeldung

Benutzername:administrator
Passwort:howtoforge

Dieser Benutzer hat sudo-Rechte.

MySQL-/MariaDB-Anmeldung

Benutzername:root
Passwort:howtoforge

Die IP der VM ist 192.168.1.100, sie kann in der Datei /etc/network/interfaces geändert werden. Bitte ändern Sie alle oben genannten Passwörter, um die virtuelle Maschine zu sichern.

  • Lighttpd:http://www.lighttpd.net/
  • PHP:http://www.php.net/
  • PHP-FPM:http://php-fpm.org/
  • MySQL:http://www.mysql.com/
  • Ubuntu:http://www.ubuntu.com/
  • phpMyAdmin:http://www.phpmyadmin.net/

Ubuntu
  1. Installieren von Nginx mit PHP5 (und PHP-FPM) und MySQL-Unterstützung (LEMP) unter Ubuntu 14.04 LTS

  2. Installation von Lighttpd mit PHP5 (PHP-FPM) und MySQL-Unterstützung auf Ubuntu 14.04LTS

  3. Installation von Nginx mit PHP und MariaDB (als MySQL-Ersatz) – LEMP – auf Ubuntu 15.10 (Wiley Werewolf)

  4. So installieren Sie Lighttpd mit PHP5 und MySQL unter Ubuntu 11.04

  5. Installation von LLMP (Lighttpd, PHP und MySQL) auf Ubuntu 14.10

Installation von Lighttpd mit PHP (PHP-FPM-Modus) und MySQL oder MariaDB auf Ubuntu 15.04

Lighttpd mit PHP5 (PHP-FPM) und MySQL auf Debian 8 (Jessie) installieren

Installation von Nginx mit PHP (als PHP-FPM) und MariaDB (LEMP) auf Debian 8

So installieren Sie Lighttpd mit PHP und MariaDB unter Ubuntu 15.04

So installieren Sie Lighttpd mit PHP und MariaDB unter Ubuntu 16.04 LTS

So installieren Sie Lighttpd mit MariaDB und PHP unter Ubuntu 18.04 LTS