Installieren von LEMP (Linux, Nginx, MySQL/Mariadb, PHP/PHP-FPM und PHPMYADMIN) in Gentoo Linux

Installieren von LEMP (Linux, Nginx, MySQL/Mariadb, PHP/PHP-FPM und PHPMYADMIN) in Gentoo Linux

Gentoo ist eine der schnellsten Linux -Verteilung aufgrund seines Aufbaues aus der Quellenorientierung und bietet durch sein Software -Management -Programm - Portage - Bestimmte Tools, die zum Erstellen einer vollständigen Webentwicklerplattform erforderlich sind, die sehr schnell wirkt und funktioniert und auch ein hohes Maß an Anpassungsgrad hat.

Installieren Sie Nginx in Gentoo Linux

Dieses Thema führt einen Schritt -für -Schritt -Installationsprozess zum Erstellen einer vollständigen Webumgebungsplattform mit Lemp (Linux nginx, mysql/mariadb, php-fpm/phpmyadmin) und mit Hilfe auf Verwenden Sie Flaggen Bereitstellung von Portage Package Management, das eine Reihe von Paketfunktionen für den Kompilierungsprozess bietet - Module oder Einstellungen, die für eine Webplattform benötigt werden, werden die Serverkonfigurationen sehr optimiert.

Anforderungen

  1. Gentoo -Installation mit einem gehärteten Profil für einen im Internet ausgerichteten Server - Gentoo -Installationshandbuch.
  2. Mit einer statischer IP -Adresse konfiguriertes Netzwerk konfiguriert.

Schritt 1: Installieren Sie den NGINX -Webserver

1. Bevor Sie versuchen, mit der NGINX -Installation fortzufahren.

$ sudo su - # Emerge --Sync # Emerge -update -Deep - -with -bdeps = y @world
Aktualisieren Sie Gentoo Linux

2. Fahren Sie nach Abschluss des Update -Prozesses mit der NGINX -Installation fort, indem Sie die bevorzugten Einstellungen und Module auswählen, indem Sie wiederholt Nginx verwendet Flags nach Portage machen.Conf Datei. Erste Liste nginx Standardinstallationsmodule durch Ausführen des folgenden Befehls.

# Emerge -pv nginx

Informationen zur detaillierten Module (verwenden Sie Flags für Pakete) Äquery Befehl.

# Equery verwendet Nginx
Listen Sie alle Flag -Module auf

Installieren Sie dann Nginx mit dem folgenden Befehl.

# Emerge -masknginx
Installieren Sie den NGINX -Webserver

Wenn Sie zusätzliche Module (WebDAV, FancyIndex, GeoIP usw.) neben Standards benötigen machen.Conf Datei mit Nginx_modules_http Richtlinie, dann Nginx mit neuen Modulen neu kompilieren.

# echo 'nginx_modules_http = "DAV Auth_Pam FancyIndex GeoIP Fastcgi UWSGI Gzip Rewrite"' >>/etc/portage/make.Conf # Emerge -ask nginx
Kompilieren Sie Nginx für neue Module

3. Starten Sie den HTTP -Daemon, nachdem Portage die neu auftretenden Nginx abgeschlossen ist, und verifizieren Sie es, indem Sie Ihren Browser auf die Anweisung http: // localhost.

Überprüfen Sie den NGINX -Webserver

Schritt 2: PHP installieren

4. Installieren PHP-FASTCGI-Prozessmanager (FPM) durch Anhängen FPM und andere wichtige PHP -Erweiterungen auf Portage verwenden Flags und stellen Sie sicher, dass Sie die Apache -Erweiterung entfernen.

# Emerge -pv PHP
Installieren Sie PHP in Gentoo
# Equery verwendet PHP
PHP -Erweiterungsauswahl
# echo "Dev -Lang/Php FPM CGI CURL GD IMAP MYSQL MYSQLI PDO ZIP JSON XCACHE APC ZLIB ZIP TrueType -apache2" >>/etc/portage/paket.Verwenden Sie # Emerge -Abride PHP

5. Vor dem Starten von PHP-FPM müssen einige Änderungen auf die Service-Konfigurationsdatei angewendet werden. Offen PHP-FPM Konfigurationsdatei und die folgenden Änderungen vornehmen.

# nano/etc/php/fpm-php5.5/php-fpm.Conf

Finden Sie die folgenden Richtlinien, um so auszusehen.

ERROR_LOG =/VAR/LOG/PHP-FPM.Protokoll hören = 127.0.0.1: 9000 ## Hier können Sie einen beliebigen HTTP-Socket (IP-Port-Kombination) verwenden, den Sie möchten ## PM.start_servers = 20

6. Ändern Sie nach dem bearbeiteten PHP-FPM-Konfigurationsdatei die Berechtigungen von PHP-FPM-Protokolldatei und starten Sie den Dienst.

# Chmod 755/var/log/PHP-FPM.Protokoll # /etc /init.D/PHP-FPM-Start

Auch wenn der PHP-FPM-Dienst gestartet wird, kann Nginx nicht mit PHP-Gateway kommunizieren. Daher müssen einige Änderungen an Nginx-Konfigurationsdateien vorgenommen werden.

Schritt 3: Bearbeiten von Nginx -Konfigurationen

7. Die Konfigurationsdatei nginx Standardvorlage bietet nur einen grundlegenden HTTP -Socket nur für Localhost. Um dieses Verhalten zu ändern und virtuelle Hosts zu ermöglichen, öffnen Sie nginx.Conf Datei befindet sich auf /etc/nginx/ Pfad und die folgenden Konfigurationen erstellen.

# nano/etc/nginx/nginx.Conf

Suchen Sie den ersten Server Block entspricht Localhost und hört auf 127.0.0.1 IP -Adresse und empfehlen.

Deaktivieren Sie die grundlegende HTTP -Konfiguration

Schließen Sie die Datei noch nicht und gehen Sie ganz unten und fügen Sie die folgende Anweisung hinzu "".

Include/etc/nginx/sites-fähig/*.conf;
Aktivieren Sie den Nginx Virtual Host

8. Als nächstes erstellen Websites fähig Und Standorte verfügbar (Für nicht verwendete virtuelle Hosts) Nginx -Verzeichnisse und Konfigurationsdateien für Localhost auf HTTP- und HTTPS -Protokollen.

# mkdir/etc/nginx/sites-verfügbare # mkdir/etc/nginx/sites-fähig

Erstellen Sie die folgende Dateikonfiguration für Localhost.

# nano/etc/nginx/seites-verfügbare/localhost.Conf

Fügen Sie den folgenden Dateiinhalt hinzu.

Server Listen 80; server_name localhost; Access_log/var/log/nginx/localhost_access_log main; ERROR_LOG/VAR/LOG/NGINX/localhost_error_log info; root/var/www/localhost/htdocs; Ort / Indexindex.HTML -Index.HTM -Index.PHP; autoIndex auf; autoIndex_exact_size off; autoIndex_localtime on;  Ort ~ \.Php $  # Test für nicht existierende Skripte oder eine 404-Fehler # ohne diese Zeile sendet nginx blind eine Anforderung, die in endet .PHP zu PHP-FPM try_files $ Uri = 404; integrieren/etc/nginx/fastcgi.conf; FASTCGI_PASS 127.0.0.1: 9000; ## Stellen Sie sicher
Erstellen Sie die Nginx Virtual Host -Konfiguration

Für Localhost mit SSL erstellen Sie die folgende Konfigurationsdatei.

# nano/etc/nginx/seites-verfügbare/localhost-ssl.Conf

Fügen Sie den folgenden Dateiinhalt hinzu.

Server Hören 443 SSL; server_name localhost; SSL auf; ssl_certificate/etc/ssl/nginx/nginx.Pem; ssl_certificate_key/etc/ssl/nginx/nginx.Taste; access_log/var/log/nginx/localhost.ssl_access_log main; ERROR_LOG/VAR/LOG/NGINX/LOCALHOST.ssl_error_log info; root/var/www/localhost/htdocs; Ort / Indexindex.HTML -Index.HTM -Index.PHP; autoIndex auf; autoIndex_exact_size off; autoIndex_localtime on;  Ort ~ \.Php $  # Test für nicht existierende Skripte oder eine 404-Fehler # ohne diese Zeile sendet nginx blind eine Anforderung, die in endet .PHP zu PHP-FPM try_files $ Uri = 404; integrieren/etc/nginx/fastcgi.conf; FASTCGI_PASS 127.0.0.1: 9000; 
Erstellen Sie den virtuellen SSL Nginx -Host

9. Jetzt ist es an der Zeit, zwei Skripte auf einem von System ausführbaren Pfad ($ Path -Shell -Variable) zu erstellen, das als Befehle zum Aktivieren oder Deaktivieren von Nginx -virtuellen Hosts fungiert.

Erstellen Sie das erste Bash -Skript mit dem Namen N2ensit Dadurch können Sie virtuelle Hosts -Konfigurationsdateien ermöglichen, indem ein symbolischer Zusammenhang zwischen bestimmten Hosts von erstellt wird Standorte verfügbar Zu Websites fähig.

# nano/usr/local/bin/n2eniste

Fügen Sie den folgenden Dateiinhalt hinzu.

#!/bin/bash if test -d/etc/nginx/sites -verfügbar && test -d/etc/nginx/sites -fähig; dann echo "------------------------------------------- "else mkdir/etc/nginx/sites-verfügbare mkdir/etc/nginx/sites-fähig fi verfügbar.Confabteabled =/etc/nginx/sites-fähig/site = "ls/etc/nginx/sites-verfügbare/" if ["$#" != "1"]; dann echo "Skript verwenden: n2ensit virtual_sit" echo -e "\ navilable virtuelle Hosts: \ n $ site" beenden 0 sonst wenn test -e $ verfügbar; dann sudo ln -s $ verfügbar $ aktiv! Bitte erstellen Sie einen!\ n $ Site "0 fi, wenn test -e $ aktiviert/$ 1.conf; dann echo "Erfolg"!! Starten Sie nun Nginx Server neu: sudo /etc /init.d/ nginx neu starten "else echo -e -e" virtueller Host $ UVIGE existiert nicht!\ nPlease Siehe verfügbare virtuelle Hosts: \ n $ Site "Beenden Sie 0 fi fi
Erstellen Sie virtuelles Host -Aktivierungs -Skript

10. Erstellen Sie dann das zweite Skript aufgerufen N2dissit, Dadurch werden angegebene aktive virtuelle Hosts aus gelöscht Websites fähig Nginx Pfad mit dem folgenden Inhalt.

# nano/usr/local/bin/n2dissit

Fügen Sie den folgenden Inhalt hinzu.

#!/bin/bash averle =/etc/nginx/sites-fähig/$ 1.Confabteabled =/etc/nginx/sites-fähige Site = "ls/etc/nginx/sites-available/" if ["$#" != "1"]; dann echo "Skript verwenden: n2dissit virtual_sit" echo -e "\ navilable virtuelle Hosts: \ n $ site" beenden 0 sonst wenn test -e $ verfügbar; dann sudo rm $ vel echo -e -e "$ virtual Host existiert nicht! Ausgehen!"Beenden Sie 0 fi, wenn test -e $ aktiviert/$ 1.conf; dann echo "Fehler"!! Konnte $ virtual Host nicht entfernen!"sonst echo -e" Erfolg! $ Ulfil wurde entfernt!\ nPlease neu starten nginx: sudo /etc /init.d/nginx neu starten "beenden 0 fi fi
Erstellen Sie virtuelles Host -Deaktivierungsskript

11. Nach Abschluss der Bearbeitungs -Bash -Skripte, appendieren Sie Ausführungsberechtigungen und aktivieren Sie virtuelle Hosts von Localhost - verwenden .Conf Erweiterung, dann Nginx- und PHP-FPM-Dienste neu starten, um Änderungen anzuwenden.

# chmod +x/usr/local/bin/n2dissit # chmod +x/usr/local/bin/n2ensit # n2ensit localhost # n2ensit localhost-ssl # service nginx restart # service PHP-FPM Neustart
Starten Sie Nginx und PHP-FPM neu

12. Um Konfigurationen zu testen, erstellen Sie eine PHP -Info -Datei auf Localhost Standard -Root -Pfad für Webdateien (/var/www/localhost/htdocs) und Ihren Browser umleiten https: // localhost/info.Php oder http: // localhost/info.Php.

echo ""/var/www/localhost/htdocs/info.Php
Überprüfen Sie die PHP -Konfiguration

Verwenden von Localhost Virtual Hosts Konfigurationsdateien als Vorlagen und Nginx n2enmod Und n2dismod Sie können jetzt problemlos so viele Websites hinzufügen, wie Sie möchten, jedoch versichern Sie, dass Sie gültige DNS-Zeiger für einen Webserver im Internet haben oder Einträge lokal in Systemhosts-Datei verwenden.

Schritt 4: Installieren Sie MySQL/Mariadb + PhpMyAdmin

So installieren Sie die MySQL -Datenbank und die PhpMyAdmin -Webschnittstelle für MySQL. Verwenden Sie dieselbe Prozedur, die bei der Installation von Lampen auf Gentoo vorgestellt wurde.

13. Im Gegenzug, wenn Sie Mariadb verwenden möchten, ein Drop-In-Ersatz für MySQL, verwenden Sie die folgenden Befehle, um zu erhalten Verwenden Sie Flaggen und installieren Sie es.

# Emerge -pv mariadb # Emerge -Made Mariadb
Installieren Sie die MariADB -Datenbank

Falls Sie einen Paketkonflikt mit MySQL erhalten, fügen Sie Portage die folgenden Zeilen hinzu Paket.akzeptieren.Schlüsselwörter.

# echo “= dev-db/mariadb-5.5.37-R1 ~ AMD64 ”>>/etc/portage/paket.akzeptieren.Schlüsselwörter # echo “= virtual/mySQL-5.5 ~ AMD64 ”>>/etc/portage/paket.akzeptieren.Keywords # tauchen auf -mariadb maskieren

14. Nachdem die MySQL -Datenbank den Startservice installiert hat und diese mithilfe von Sicherungen erhalten wurde mysql_secure_installation (Ändern Sie das Stammkennwort, deaktivieren Sie die Stammanmeldung außerhalb von Localhost, entfernen Sie die anonyme Benutzer-/Testdatenbank.).

# Service MySQL Start # mysql_secure_installation

15. Geben Sie die MySQL -Datenbank mit, Mysql -u root -p Befehl, seine Funktionalität zu testen und sie mitzulassen Ausfahrt Befehl.

# MySQL -U root -p mariadb> Datenbanken anzeigen; Mariadb> Exit;
Überprüfen Sie die MySQL -Konnektivität

16. Wenn Sie nicht zu gut mit der MySQL -Befehlszeile sind. Installieren Sie PhpMyAdmin Web Frontend, indem Sie die folgenden Befehle ausführen.

# Emerge -pv dev-db/phpmyadmin # echo „dev-db/phpmyadmin setup vhosts“ >>/etc/portage/paket.Verwenden Sie # Emerge-ask Dev-db/phpmyadmin
Installieren Sie PhpMyAdmin

17. Erstellen Sie nach der Installation von PHPMYADMIN eine Konfigurationsdatei basierend auf der Beispielkonfigurationsdatei, ändern Sie Blowfish_secret Passphrase mit einer zufälligen Zeichenfolge und erstellen Sie dann einen symbolischen Link von /usr/share/webapps/phpmyadmin/phpmyadmin_version_number/htdocs/ auf virtuelle Hosts Dokument Root Pfad, auf die Sie auf PhpMyAdmin -Weboberfläche zugreifen möchten.

# CD/usr/share/webapps/phpmyadmin/4.2.2/ htdocs/ # CP -Konfiguration.Probe.Inc.PHP -Konfiguration.Inc.PHP # Nano -Konfiguration.Inc.Php
Konfigurieren Sie PhpMyAdmin
# ln -s/usr/share/webapps/phpmyadmin/4.2.2/htdocs//var/www/localhost/htdocs/phpmyadmin
Erstellen Sie einen phpmyadmin symbolischen Link

18. Um über PhpMyAdmin -Webschnittstelle auf die MySQL -Datenbank zuzugreifen, öffnen Sie einen Browser und verwenden Sie die folgende URL -Adresse https: // localhost/phpmyadmin.

Überprüfen Sie PhpMyAdmin Login

19. Der letzte Schritt besteht darin, das systemweite Dienste zu aktivieren, um automatisch nach dem Neustart zu beginnen.

# RC-Update Hinzufügen nginx Standard # RC-Update Fügen Sie PHP-FPM-Standard hinzu
Aktivieren Sie das Servicesystem breit

Jetzt haben wir ein minimales Umgebungs -Setup für das Webhosting. Wenn Sie nur HTML-, JavaScript- und PHP -Dynamic -generierte Seiten verwenden und keine SSL -Websites benötigen, sollte die obige Konfiguration für Sie zufriedenstellend sein.