So installieren Sie WordPress mit Nginx auf einem FreeBSD 10.1-Server

Einführung

WordPress ist das beliebteste Content-Management-System (CMS) und die beliebteste Blogging-Plattform der Welt. Mit WordPress können Sie Ihre Website schnell konfigurieren und anpassen. So können Sie Inhalte hinzufügen und die visuellen Elemente einfach optimieren.

In diesem Handbuch installieren wir WordPress auf einem FreeBSD 10.1-Computer, wobei Nginx für die Bereitstellung unserer Inhalte verwendet wird. Nginx ist ein leistungsstarker Webserver, der eine große Anzahl von gleichzeitigen Verbindungen effizient verarbeitet. Wir werden dies als Basis für die WordPress-Installation nutzen, die wir in diesem Handbuch einrichten werden.

Voraussetzungen und Ziele

Um dieses Handbuch zu vervollständigen, müssen einige vorbereitende Schritte ausgeführt werden, um Ihren Server fertig zu stellen.

Wir werden die Komponenten in diesem Handbuch einem konfigurierten FEMP-Stack (FreeBSD, Nginx, MySQL und PHP) hinzufügen. In unserem Leitfaden https://www.digitalocean.com/community/tutorials/how-to-install-an-nginx-mysql-and-php erfahren Sie, wie Sie Nginx, MySQL und PHP auf Ihrem FreeBSD 10.1-Server einrichten -femp-stack-on-freebsd-10-1 [hier] hier.

Sobald Sie Nginx, MySQL und PHP auf Ihrem Server installiert und konfiguriert haben, können Sie mit diesem Handbuch fortfahren. Unser Ziel in diesem Handbuch ist es, die neueste Version von WordPress auf unserem FreeBSD-Server zu installieren.

Es gibt ein vorhandenes WordPress-Paket, das mit dem FreeBSD-Befehl + pkg + installiert werden kann. Es basiert jedoch derzeit auf PHP-Version 5.4, für die ab sofort nur noch Sicherheitsupdates verfügbar sind. Das gesamte Lebensende wird im September 2015 sein.

Um sicherzustellen, dass unsere Site auf einer Basis aufgebaut ist, die für eine lange Zeit Unterstützung erhalten wird, werden wir die neueste Version von WordPress von der Site des Projekts herunterladen und installieren und PHP Version 5.6 verwenden, um den dynamischen Inhalt zu verarbeiten.

Installieren Sie zusätzliche PHP-Erweiterungen, die WordPress benötigt

Als wir PHP auf unserem FreeBSD-Server im FEMP-Handbuch eingerichtet haben, haben wir das Paket + php56 + und das Paket + php56-mysql + installiert, damit unsere PHP-Instanz bei Bedarf Daten aus einer MySQL-Datenbank abfragen kann.

Dies ist die Mindestkonfiguration, die erforderlich ist, damit PHP als Basis für eine Vielzahl verschiedener Anwendungen verwendet werden kann. WordPress verwendet das Paket + php56-mysql +, benötigt jedoch auch einige zusätzliche Erweiterungen, um viele seiner Kernfunktionen zu implementieren.

Glücklicherweise können diese einfach mit dem Befehl + pkg + installiert werden. Laden Sie die erforderlichen Erweiterungen herunter und installieren Sie sie, indem Sie Folgendes eingeben:

sudo pkg install php56-xml php56-hash php56-gd php56-curl php56-tokenizer php56-zlib php56-zip

Wenn Sie nach Abschluss der Installation die standardmäßige "+ tcsh +" - Shell verwenden, starten Sie ein Rehash, damit die Shell Ihre neuen Dateien finden kann:

rehash

Alle Pakete, die wir installiert haben, sind PHP-Erweiterungen. Damit unsere PHP-FPM-Instanz diese neuen Erweiterungen verwenden kann, müssen wir den Prozess neu starten:

sudo service php-fpm restart

Nachdem dies abgeschlossen ist, können wir mit der Konfiguration unserer Datenbank beginnen.

Erstellen und konfigurieren Sie eine MySQL-Datenbank

Für WordPress ist eine Datenbank im SQL-Stil erforderlich, um Websiteinhalte und Benutzerdaten zu speichern. Wir haben MySQL in unserem vorherigen Handbuch installiert, sodass wir über die Tools verfügen, die wir zum Erstellen und Zugreifen auf eine solche Datenbank benötigen.

Zunächst müssen Sie den Befehl "+ mysql" verwenden, um sich bei Ihrem Datenbanksystem als Administrator zu authentifizieren:

mysql -u root -p

Sie werden aufgefordert, das Kennwort des MySQL-Root-Benutzers einzugeben, das Sie im vorherigen Handbuch konfiguriert haben (während Sie das Skript + mysql_secure_installation + ausführen). Sobald Sie das richtige Passwort eingegeben haben, wird eine MySQL-Eingabeaufforderung angezeigt.

Als erstes erstellen wir eine Datenbank für Ihre WordPress-Instanz. Sie können dies so nennen, wie Sie möchten, aber wir werden den Datenbanknamen "+ wordpress +" für dieses Handbuch verwenden, da es semantisch und leicht zu merken ist:

CREATE DATABASE wordpress;

Wenn Sie mit dem obigen Befehl Probleme haben, stellen Sie sicher, dass am Ende Ihrer Anweisung ein Semikolon (;) steht. Die SQL-Abfragesprache erfordert, dass alle Anweisungen mit einem Semikolon enden.

Nachdem wir unsere Datenbank erstellt haben, besteht unser nächster Schritt darin, einen dedizierten Benutzer zu erstellen, mit dem wir auf die Datenbank zugreifen. Es wird empfohlen, für jede Anwendung, in der Daten in MySQL gespeichert werden, einen eigenen MySQL-Benutzer zu erstellen und zu verwenden. Dies hilft, den Umfang von Sicherheitsproblemen zu minimieren.

In diesem Handbuch rufen wir unseren neuen Benutzer "+ wordpressuser +" auf und konfigurieren die Zugriffsbeschränkungen so, dass sie nur für Verbindungen gelten, die vom Server selbst stammen. Wir werden auch ein Passwort für den Benutzer festlegen:

CREATE USER wordpressuser@localhost IDENTIFIED BY '';

Denken Sie daran, die Komponente "++" im obigen Befehl in ein sicheres Kennwort zu ändern. Sie müssen sich diesen Wert später merken.

Wir haben jetzt die beiden MySQL-Komponenten erstellt, die für Ihre WordPress-Installation erforderlich sind. Sie sind jedoch noch in keiner Weise miteinander verbunden. Wir müssen unserem neuen Benutzer Zugriff auf die WordPress-Datenbank gewähren, damit er die Daten für unsere Site einrichten und verwalten kann. Geben Sie dazu Folgendes ein:

GRANT ALL PRIVILEGES ON wordpress.* TO wordpressuser@localhost;

Unser neuer Benutzer hat nun Zugriff auf die von uns konfigurierte Datenbank. Um die derzeit ausgeführte Instanz von MySQL über diese neuen Änderungen zu informieren, sollten wir die Privilegientabelle leeren:

FLUSH PRIVILEGES;

Schließlich können wir die MySQL-Eingabeaufforderung beenden, um zu unserer regulären Shell-Umgebung zurückzukehren, indem wir Folgendes eingeben:

exit

Jetzt, da wir eine Datenbank und einen Benutzer bereit haben, können wir die tatsächlichen WordPress-Dateien herunterladen und konfigurieren.

Laden Sie WordPress herunter und konfigurieren Sie es

Wir werden die neueste Version von WordPress von der Projekt-Website herunterladen, um sie für unsere Installation zu verwenden. Wegen möglicher Sicherheitsupdates ist es sehr wichtig, immer die aktuellste Version von WordPress zu verwenden.

Das WordPress-Team macht dies einfach, indem es die neueste Version immer in ein Archiv unter "+ / latest.tar.gz " auf seiner Website packt. Wir können dies mit dem FreeBSD-Dienstprogramm ` fetch +` in unser Home-Verzeichnis herunterladen:

cd ~
fetch http://wordpress.org/latest.tar.gz

Sobald die Datei heruntergeladen wurde, können wir die WordPress-Dateien und die Verzeichnisstruktur mit dem Befehl + tar + extrahieren:

tar xzvf latest.tar.gz

Das Verzeichnis, das erstellt wird, heißt "+ wordpress". Löschen Sie das Archiv "+ .tar.gz +" und verschieben Sie es in dieses Verzeichnis, damit wir mit der Konfiguration beginnen können:

rm latest.tar.gz
cd wordpress

Im Inneren befindet sich eine Beispielkonfigurationsdatei, die wir als Vorlage für unsere Installation verwenden können. Kopieren Sie die Datei in den von WordPress gelesenen Dateinamen + wp-config.php +:

cp wp-config-sample.php wp-config.php

Jetzt können wir die Datei zum Bearbeiten öffnen, um die Zugangsdaten für die MySQL-Datenbank und den Benutzer zu konfigurieren, die wir im letzten Abschnitt eingerichtet haben:

vi wp-config.php

Im Inneren gibt es drei Werte, die Sie ändern müssen, damit WordPress eine ordnungsgemäße Verbindung zu Ihrem MySQL-System herstellen und es verwenden kann. Die Variable + DB_NAME + definiert den Namen der von Ihnen erstellten MySQL-Datenbank, die Variable + DB_USER + sollte auf den von Ihnen festgelegten Benutzer festgelegt werden und die Variable + DB_PASSWORD + sollte so geändert werden, dass sie das für diesen Benutzer ausgewählte Kennwort enthält:

. . .

/** The name of the database for WordPress */
define('DB_NAME', '');

/** MySQL database username */
define('DB_USER', '');

/** MySQL database password */
define('DB_PASSWORD', '');

. . .

Wenn Sie mit dem Ändern dieser Werte fertig sind, speichern und schließen Sie die Datei.

Als nächstes können wir die WordPress-Installation in das Verzeichnis "+ / usr / local / www " kopieren, in dem wir unsere verschiedenen Site-Dateien aufbewahren. Wir werden das Hilfsprogramm ` rsync +` verwenden, da es uns erlaubt, bestimmte Dateiattribute während des Verschiebens beizubehalten:

sudo rsync -avP ~/wordpress /usr/local/www

Als nächstes müssen wir den Eigentümer unserer WordPress-Dateien anpassen, damit unser Webserver gegebenenfalls Änderungen vornehmen kann. Unser Webbenutzer und unsere Gruppe heißen beide "+ www +":

sudo chown -R www:www /usr/local/www/wordpress

Nachdem Ihre WordPress-Dateien mit der richtigen Konfiguration erstellt wurden, können wir unsere Nginx-Konfiguration ändern.

Konfigurieren Sie Nginx

In unserem letzten Handbuch haben wir Nginx für die Bereitstellung der Standard-Nginx-Webseite eingerichtet und so konfiguriert, dass PHP-Anforderungen an unsere PHP-FPM-Instanz weitergeleitet werden. Dies führt uns zum größten Teil zu der Konfiguration, die wir für WordPress benötigen.

Öffnen Sie die Nginx-Konfigurationsdatei mit den Rechten "+ sudo", um Ihre Änderungen vorzunehmen:

sudo vi /usr/local/etc/nginx/nginx.conf

Wenn Sie die Anweisungen des letzten Handbuchs befolgt haben, sollte Ihre Datei wie folgt aussehen (wir haben die folgenden Kommentare aus Gründen der Übersichtlichkeit entfernt):

user  www;
worker_processes  2;
error_log /var/log/nginx/error.log info;

events {
   worker_connections  1024;
}

http {
   include       mime.types;
   default_type  application/octet-stream;

   access_log /var/log/nginx/access.log;

   sendfile        on;
   keepalive_timeout  65;

   server {
       listen       80;
       server_name   www.;
       root /usr/local/www/nginx;
       index index.php index.html index.htm;

       location / {
           try_files $uri/ $uri/ =404;
       }

       error_page      500 502 503 504  /50x.html;
       location = /50x.html {
           root /usr/local/www/nginx-dist;
       }

       location ~ \.php$ {
               try_files $uri =404;
               fastcgi_split_path_info ^(.+\.php)(/.+)$;
               fastcgi_pass unix:/var/run/php-fpm.sock;
               fastcgi_index index.php;
               fastcgi_param SCRIPT_FILENAME $request_filename;
               include fastcgi_params;
       }
   }
}

Wir müssen zwei Anpassungen vornehmen, um sicherzustellen, dass Ihr WordPress richtig funktioniert.

Zuerst müssen wir den Dokumentenstamm anpassen, da sich unsere WordPress-Dateien im Verzeichnis + / usr / local / www / wordpress + befinden:

server {

   . . .

   root ;

   . . .

}

Die andere Änderung, die wir vornehmen müssen, betrifft die Direktive "+ try_files " im Block " location / +". Gegenwärtig weist die Konfiguration Nginx an, zuerst zu versuchen, die Anfrage als Datei zu finden. Wenn keine übereinstimmende Datei gefunden wird, wird versucht, ein Verzeichnis zu finden, das der Anforderung entspricht. Wenn dies keine Ergebnisse liefert, gibt Nginx einen 404-Fehler aus, der angibt, dass die Ressource nicht gefunden wurde.

Wir müssen dies ändern, damit die Anfrage nicht mit einem 404-Fehler endet, sondern in eine + index.php + - Datei umgeschrieben wird. Die ursprüngliche Anfrage und die Argumente werden als Abfrageparameter übergeben. Wir können dies konfigurieren, indem wir die Direktive + try_files + so ändern, dass sie wie folgt aussieht:

server {

   . . .

   location / {
       try_files $uri $uri/ ;
   }

   . . .

}

Wenn Sie fertig sind, sollte die Konfigurationsdatei ungefähr so ​​aussehen:

user  www;
worker_processes  2;
error_log /var/log/nginx/error.log info;

events {
   worker_connections  1024;
}

http {
   include       mime.types;
   default_type  application/octet-stream;

   access_log /var/log/nginx/access.log;

   sendfile        on;
   keepalive_timeout  65;

   server {
       listen       80;
       server_name   www.;
       root ;
       index index.php index.html index.htm;

       location / {
           try_files $uri $uri/ ;
       }

       error_page      500 502 503 504  /50x.html;
       location = /50x.html {
           root /usr/local/www/nginx-dist;
       }

       location ~ \.php$ {
               try_files $uri =404;
               fastcgi_split_path_info ^(.+\.php)(/.+)$;
               fastcgi_pass unix:/var/run/php-fpm.sock;
               fastcgi_index index.php;
               fastcgi_param SCRIPT_FILENAME $request_filename;
               include fastcgi_params;
       }
   }
}

Wenn Sie mit den obigen Änderungen fertig sind, speichern und schließen Sie die Datei.

Jetzt können wir Nginx neu starten, um unsere neuen Änderungen zu implementieren. Überprüfen Sie zunächst, ob unsere Syntax korrekt ist:

sudo nginx -t

Wenn keine Fehler gefunden werden, starten Sie den Dienst neu:

sudo service nginx restart

Abschließen der Installation über das Webinterface

Unsere WordPress-Installation ist nun vollständig auf der Serverseite konfiguriert. Wir können den Rest des Prozesses mit einem Webbrowser abschließen.

Besuchen Sie in Ihrem Webbrowser den Domainnamen oder die IP-Adresse Ihres Servers:

http://

WordPress fragt Sie zuerst, welche Sprache Sie verwenden möchten:

Bild: https: //assets.digitalocean.com/articles/freebsd_lemp_wp/choose_language.png [WordPress Sprache auswählen]

Nachdem Sie Ihre Auswahl getroffen haben, werden Sie zur ersten Konfigurationsseite weitergeleitet, um Ihre WordPress-Installation einzurichten:

Geben Sie den Namen Ihrer Site ein und wählen Sie den Benutzernamen aus, den Sie zur Verwaltung der Site verwenden möchten. Sie müssen ein Passwort für Ihre Site auswählen und bestätigen und eine E-Mail-Adresse eingeben, unter der Sie erreichbar sind. Die letzte Option ist die Auswahl, ob Suchmaschinen die Site indizieren dürfen.

Wenn Sie Ihre Auswahl getroffen haben, klicken Sie unten auf der Seite auf die Schaltfläche „WordPress installieren“. Sie werden aufgefordert, sich mit den soeben ausgewählten Anmeldeinformationen bei der Site anzumelden.

Nach dem Einloggen wird Ihnen das Administrationsfenster für Ihre neue WordPress-Installation angezeigt:

Sie können diese Oberfläche verwenden, um neue Inhalte zu veröffentlichen, das Erscheinungsbild Ihrer Site zu ändern und Plug-ins zu installieren und zu konfigurieren, um die zusätzlichen Funktionen zu nutzen.

Fazit

Sie haben jetzt eine neue WordPress-Installation, die von Nginx, MySQL und PHP unterstützt wird. WordPress ist unglaublich leistungsfähig und ermöglicht es Ihnen, viele verschiedene Arten von Inhalten anzuzeigen, die Ihren Vorlieben entsprechen. Wenn Sie WordPress noch nicht kennen, sollten Sie sich zunächst die optionalen Designs und Plugins ansehen.