Installieren von LEMP (Linux, Nginx, MySQL/Mariadb, PHP/PHP-FPM und PHPMYADMIN) in Gentoo Linux
- 819
- 209
- Matteo Möllinger
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 LinuxDieses 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
- Gentoo -Installation mit einem gehärteten Profil für einen im Internet ausgerichteten Server - Gentoo -Installationshandbuch.
- 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 @worldAktualisieren 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 NginxListen Sie alle Flag -Module auf
Installieren Sie dann Nginx mit dem folgenden Befehl.
# Emerge -masknginxInstallieren 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 nginxKompilieren 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 -WebserverSchritt 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 PHPInstallieren Sie PHP in Gentoo
# Equery verwendet PHPPHP -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 -KonfigurationSchließ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 sicherErstellen 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 fiErstellen 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 fiErstellen 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 NeustartStarten 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 MariadbInstallieren 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/phpmyadminInstallieren 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.PhpKonfigurieren Sie PhpMyAdmin
# ln -s/usr/share/webapps/phpmyadmin/4.2.2/htdocs//var/www/localhost/htdocs/phpmyadminErstellen 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 Login19. 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 hinzuAktivieren 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.
- « Installieren Sie GUI (Cinnamon Desktop) und Basic Software in Arch Linux
- Praktische Interviewfragen und Antworten zum Linux -Shell -Skripting »