Dieses Tutorial enthält eine Schritt-für-Schritt-Anleitung für die In­stal­la­ti­on von Joomla auf einem NGINX-Server.

Joomla ist ein beliebtes und preis­ge­krön­tes Content Ma­nage­ment System (CMS), das dank seiner Be­nut­zer­freund­lich­keit Millionen von Nutzern überzeugt hat. NGINX ist ein Webserver, der hohe Leistung und Sta­bi­li­tät in Ver­bin­dung mit einem schlanken Design und einer einfachen Ar­chi­tek­tur bietet.

An­for­de­run­gen

  • Ein Server mit Linux (Ubuntu 16.04)
  • NGINX wurde in­stal­liert und läuft.
  • PHP Version 5.3.3.3 oder neuer.
  • MySQL 5.5.3+ oder MariaDB 10.1+ (nicht kom­pa­ti­bel mit MySQL 6+)
Free Cloud Server Trial
Virtual Private Server auf En­ter­pri­se-Level
  • KVM-basierte vServer für Ent­wick­ler
  • In­te­griert in die IONOS Compute Engine
  • Ska­lier­bar bis zur En­ter­pri­se-Cloud

Über­prü­fen der Ser­ver­an­for­de­run­gen

Joomla hat eine Reihe von Ser­ver­an­for­de­run­gen für die In­stal­la­ti­on der neuesten Version (3.x). Die meisten aktuellen Server unter Linux werden alle An­for­de­run­gen von Joomla erfüllen oder über­tref­fen, aber es ist ratsam, diese zu über­prü­fen, bevor Sie Joomla in­stal­lie­ren.

Über­prü­fen Sie die MySQL/MariaDB-Version.

Um Ihre Version von MySQL/MariaDB zu über­prü­fen, melden Sie sich am Client mit diesem Befehl an:

sudo mysql -u root -p

Die Ver­si­ons­num­mer wird in der Will­kom­mens­nach­richt angezeigt.

Über­prü­fen Sie die PHP-Version

Du kannst deine PHP-Version mit dem Befehl über­prü­fen:

php -v

In diesem Beispiel läuft auf dem Server PHP Version 7.0.8:

user@localhost:# php -v
PHP 7.0.8-0ubuntu0.16.04.3 (cli) ( NTS )
Copyright (c) 1997-2016 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies
with Zend OPcache v7.0.8-0ubuntu0.16.04.3, Copyright (c) 1999-2016, by Zend Technologies

Verbinden Sie NGINX mit PHP-FPM mit FastCGI

Um Joomla aus­zu­füh­ren, müssen Sie FastCGI verwenden, um NGINX mit PHP-FPM zu verbinden. FastCGI ist in einer Standard-NGINX-In­stal­la­ti­on enthalten. Du kannst dies über­prü­fen, indem du die Datei /etc/nginx/fastcgi_params un­ter­suchst:

more /etc/nginx/fastcgi_params

Diese Datei sollte lesen:

fastcgi_param   QUERY_STRING            $query_string;
fastcgi_param   REQUEST_METHOD          $request_method;
fastcgi_param   CONTENT_TYPE            $content_type;
fastcgi_param   CONTENT_LENGTH          $content_length;
fastcgi_param   SCRIPT_FILENAME         $document_root$fastcgi_script_name;
fastcgi_param   SCRIPT_NAME             $fastcgi_script_name;
fastcgi_param   PATH_INFO               $fastcgi_path_info;
fastcgi_param       PATH_TRANSLATED         $document_root$fastcgi_path_info;
fastcgi_param   REQUEST_URI             $request_uri;
fastcgi_param   DOCUMENT_URI            $document_uri;
fastcgi_param   DOCUMENT_ROOT           $document_root;
fastcgi_param   SERVER_PROTOCOL         $server_protocol;
fastcgi_param   GATEWAY_INTERFACE       CGI/1.1;
fastcgi_param   SERVER_SOFTWARE         nginx/$nginx_version;
fastcgi_param   REMOTE_ADDR             $remote_addr;
fastcgi_param   REMOTE_PORT             $remote_port;
fastcgi_param   SERVER_ADDR             $server_addr;
fastcgi_param   SERVER_PORT             $server_port;
fastcgi_param   SERVER_NAME             $server_name;
fastcgi_param   HTTPS                   $https;
# PHP only, required if PHP was built with --enable-force-cgi-redirect
fastcgi_param   REDIRECT_STATUS         200;

Wenn diese Datei in Ordnung ist, ist der nächste Schritt, die FastCGI-Kon­fi­gu­ra­ti­on zur NGINX-Kon­fi­gu­ra­ti­ons­da­tei für die Domain hin­zu­zu­fü­gen, auf der Sie Joomla in­stal­lie­ren.

In den meisten Fällen befindet sich die Kon­fi­gu­ra­ti­ons­da­tei der Domäne in /etc/nginx/sites-available/example.com.conf auf Ubuntu (wobei example.com durch Ihren Do­mä­nen­na­men ersetzt wird). Diese Datei be­ar­bei­ten:

sudo nano /etc/nginx/sites-available/example.com.conf

Ent­kom­men­tie­ren Sie diese Zeilen (wenn die Kon­fi­gu­ra­ti­ons­da­tei vom Standard kopiert wurde) oder fügen Sie den folgenden Code zum Ser­ver­block hinzu:

location ~ \.php$ {
            include snippets/fastcgi-php.conf;
            fastcgi_pass unix:/run/php/php7.0-fpm.sock;
    }

Nach dem Hin­zu­fü­gen des neuen Ab­schnitts sieht es wie folgt aus:

server {
    listen       80;
    server_name  example.com;
    root /usr/share/nginx/example.com/html/;
    index index.php index.html index.htm;
}

Speichern und beenden Sie die Datei und starten Sie NGINX neu:

sudo nginx -s reload

Als nächstes testen Sie die Ver­bin­dung, indem Sie eine Datei namens test.php im NGINX-Do­ku­men­ten­stamm erstellen:

sudo nano /usr/share/nginx/example.com/html/test.php

Den folgenden Inhalt in diese Datei einfügen:

<?php var_export($_SERVER)?>

Speichern und beenden Sie die Datei und be­trach­ten Sie sie dann in einem Browser. Wenn die Ver­bin­dung zu PHP-FM funk­tio­niert, sollten Sie die Text­aus­ga­be in Ihrem Browser ähnlich sehen:

array ( 'USER' => 'www-data', 'HOME' => '/var/www', 'HTTP_CACHE_CONTROL' => 'max-age=0', 'HTTP_UPGRADE_INSECURE_REQUESTS' => '1', 'HTTP_CONNECTION' => 'keep-alive', 'HTTP_COOKIE' => 'Drupal.toolbar.collapsed=0; _ga=GA1.2.1098258524.1476830307', 'HTTP_ACCEPT_ENCODING' => 'gzip, deflate', 'HTTP_ACCEPT_LANGUAGE' => 'en-US,en;q=0.5', 'HTTP_ACCEPT' => 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'HTTP_USER_AGENT' => 'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:49.0) Gecko/20100101 Firefox/49.0', 'HTTP_HOST' => 'ubuntu.oxnardindustries.com', 'REDIRECT_STATUS' => '200', 'SERVER_NAME' => 'ubuntu.oxnardindustries.com', 'SERVER_PORT' => '80', 'SERVER_ADDR' => '50.21.182.126', 'REMOTE_PORT' => '61760', 'REMOTE_ADDR' => '45.48.69.102', 'SERVER_SOFTWARE' => 'nginx/1.10.0', 'GATEWAY_INTERFACE' => 'CGI/1.1', 'REQUEST_SCHEME' => 'http', 'SERVER_PROTOCOL' => 'HTTP/1.1', 'DOCUMENT_ROOT' => '/usr/share/nginx/ubuntu.oxnardindustries.com/html', 'DOCUMENT_URI' => '/test.php', 'REQUEST_URI' => '/test.php', 'SCRIPT_NAME' => '/test.php', 'CONTENT_LENGTH' => '', 'CONTENT_TYPE' => '', 'REQUEST_METHOD' => 'GET', 'QUERY_STRING' => '', 'SCRIPT_FILENAME' => '/usr/share/nginx/example.com/html/test.php', 'PATH_INFO' => '', 'FCGI_ROLE' => 'RESPONDER', 'PHP_SELF' => '/test.php', 'REQUEST_TIME_FLOAT' => 1478468241.011425, 'REQUEST_TIME' => 1478468241, )

Nachdem Ihr Test ab­ge­schlos­sen ist, löschen Sie diese Datei:

sudo rm /usr/share/nginx/example.com/html/test.php

Her­un­ter­la­den und Entpacken der Joomla Software

In­stal­lie­ren Sie das Unzip-Programm:

sudo apt-get install unzip

Gehen Sie zum Do­ku­men­ten­stamm Ihrer Website:

cd /usr/share/nginx/example.com/html

Laden Sie die aktuelle Version von der Joomla-Website herunter, indem Sie den Befehl verwenden:

sudo wget [download URL]

Um die Download-URL zu finden, besuchen Sie die aktuelle Release-Seite auf der Joomla-Website. Kopieren Sie die URL "Full Package". Sie können es in die Be­fehls­zei­le einfügen, indem Sie auf Umschalt + Einfügen klicken.

Um bei­spiels­wei­se die aktuelle stabile Version ab der Ver­öf­fent­li­chung dieses Artikels (Joomla 3.6.4) her­un­ter­zu­la­den, lautet der Befehl:

sudo wget https://downloads.joomla.org/cms/joomla3/3-6-4/joomla_3-6-4-stable-full_package-zip?format=zip

Entpacken Sie diese Datei mit dem Befehl:

sudo unzip [file name]
Tipp

Sie können die Ver­voll­stän­di­gung der Re­gis­ter­kar­te verwenden, um diesen Vorgang zu er­leich­tern. Geben Sie sudo unzip joomla ein und klicken Sie dann auf Tab. Die Shell füllt au­to­ma­tisch den Rest des Da­tei­na­mens auf der Kom­man­do­zei­le aus.

Um bei­spiels­wei­se die oben her­un­ter­ge­la­de­ne Datei zu entpacken, lautet der Befehl:

sudo unzip joomla_3-6-4-stable-full_package-zip\?format\=zip

Nachdem der Inhalt der Drupal-Datei entpackt wurde, stellen Sie das Eigentum an den Dateien auf den Apache-Benutzer ein:

sudo chown -R www-data:www-data *

Erstellen der Datenbank

Vor der In­stal­la­ti­on von Joomla müssen Sie eine Datenbank erstellen. Melden Sie sich bei MySQL/MariaDB mit dem Befehl an:

sudo mysql –u root –p

Nachdem Sie das MySQL/MariaDB-Root-Be­nut­zer­pass­wort ein­ge­ge­ben haben, werden Sie am MySQL/MariaDB-Client an­ge­mel­det.

Erstellen Sie eine Datenbank mit dem Befehl:

create database [database name];

Ersetzen Sie [Da­ten­bank­na­me] durch den Namen, den Sie für Ihre neue Datenbank verwenden möchten. Wenn Sie bei­spiels­wei­se Ihre Datenbank my_joomla_site benennen möchten, lautet der Befehl:

create database my_joomla_site;

Erstellen Sie einen Benutzer für diese Datenbank und vergeben Sie ihm mit dem Befehl Pri­vi­le­gi­en:

grant all on [database name].* to [database username]@localhost identified by '[database user password]';

Ersetzen:

  • [Da­ten­bank­na­me] mit dem Namen Ihrer Datenbank.
  • [Da­ten­bank­be­nut­zer­na­me] mit dem Be­nut­zer­na­men, den Sie für Ihre Datenbank erstellen möchten.
  • [Da­ten­bank­be­nut­zer­pass­wort] mit einem Passwort für diesen Benutzer. Hinweis: Achten Sie darauf, dem Benutzer ein sicheres Passwort zu geben.

Um bei­spiels­wei­se einen Benutzer namens my_joomla_user mit dem Passwort Fr4i*Re!2 zu erstellen und den Benutzern Zu­griffs­rech­te auf die Datenbank my_joomla_site zu geben, lautet der Befehl:

grant all on my_joomla_site.* to my_joomla_user@localhost identified by 'Fr4i*Re!2';

Wenn Sie fertig sind, verlassen Sie die Datenbank mit dem Befehl:

quit;

Install Joomla

Um die In­stal­la­ti­on ab­zu­schlie­ßen, wechseln Sie zu einem Web­brow­ser und gehen Sie auf Ihre Website. Sie werden die Joomla-In­stal­la­ti­ons­sei­te sehen.

Füllen Sie die folgenden Felder aus:

  • Site Name
  • Ad­mi­nis­tra­tor-E-Mail
  • Ad­mi­nis­tra­tor-Be­nut­zer­na­me
  • Ad­mi­nis­tra­tor-Passwort (zweimal)

Klicken Sie dann auf Weiter, um zur Seite Datenbank-Kon­fi­gu­ra­ti­on zu gelangen.

Füllen Sie auf dieser Seite die folgenden Felder aus:

  • Datenbank-Typ: MySQLi
  • Hostname: Localhost
  • Be­nut­zer­na­me: Der Benutzer, den Sie im vor­he­ri­gen Schritt für die Datenbank angelegt haben.
  • Passwort: Das Passwort für den Da­ten­bank­be­nut­zer.
  • Da­ten­bank­na­me: Der Name der Datenbank, die Sie im vor­he­ri­gen Schritt erstellt haben
  • Ta­bel­len­prä­fix: Verwenden Sie die Stan­dard­ein­stel­lung, oder geben Sie eine an, wenn Sie möchten.
  • Alter Da­ten­bank­pro­zess: Sicherung

Klicken Sie dann auf Weiter, um zur Seite FTP-Kon­fi­gu­ra­ti­on zu gelangen.

Stellen Sie auf dieser Seite Folgendes ein:

  • FTP-Layer ak­ti­vie­ren: Ja
  • FTP-Be­nut­zer­na­me: Leer lassen
  • FTP-Passwort: Leer lassen
  • FTP Host: 127.0.0.1
  • FTP Port: 21
  • FTP-Passwort speichern: Nein

Klicken Sie dann auf Weiter, um zur end­gül­ti­gen In­stal­la­ti­ons­sei­te zu gelangen. Hier können Sie alle Ihre Ent­schei­dun­gen über­prü­fen und bei Bedarf Än­de­run­gen vornehmen.

Wenn Sie sicher sind, dass alle In­for­ma­tio­nen korrekt sind, klicken Sie auf In­stal­lie­ren, um die In­stal­la­ti­on ab­zu­schlie­ßen.

Klicken Sie nach Abschluss der In­stal­la­ti­on auf die gelbe Schalt­flä­che In­stal­la­ti­ons­ord­ner entfernen, um den In­stal­la­ti­ons­ord­ner zu entfernen, damit Sie fort­fah­ren können.

Gehen Sie auf Ihre Haupt­sei­te und über­prü­fen Sie, ob Joomla korrekt in­stal­liert ist.

Von hier aus können Sie sich mit dem Ad­mi­nis­tra­tor-Be­nut­zer­na­men und dem Passwort, das Sie bei der In­stal­la­ti­on fest­ge­legt haben, bei Joomla anmelden.

Zum Hauptmenü