GNU/Linux >> LINUX-Kenntnisse >  >> Debian

So installieren Sie TYPO3 7 mit Nginx und MariaDB auf Debian 8 (Jessie)

Dieses Tutorial zeigt, wie Sie eine TYPO3-Website (Version 7) auf einem Debian 8 (Jessie)-Server installieren und konfigurieren, auf dem Nginx als Webserver und MariaDB als Datenbankserver installiert ist. Nginx ist ein schneller Webserver, der in diesem Setup den Standard-Webserver „Apache“ ersetzt, MariaDB ist ein MySQl-Fork, der schneller als MySQL ist und vom ursprünglichen MySQL-Erfinder Monty Widenius entwickelt wurde.

Typo3 ist ein in PHP geschriebenes CMS-System der Enterprise-Klasse mit einer großen Benutzer- und Entwickler-Community.

Vorbemerkung

Ich möchte TYPO3 in einem vhost namens www.example.com hier mit dem Dokumentenstammverzeichnis /var/www/www.example.com/web installieren. Mein Server verwendet die IP-Adresse 192.168.1.100, bitte ersetzen Sie diese IP in allen Konfigurationsdateien und Befehlen durch die IP-Adresse Ihres Servers.

Das Tutorial geht davon aus, dass Sie bereits eine funktionierende Nginx-Installation haben, wenn nicht, dann folgen Sie bitte zuerst dieser Anleitung, um Nginx, PHP und MariaDB zu installieren.

Melden Sie sich als Root-Benutzer auf dem Server an und fahren Sie mit dem nächsten Schritt fort.

Installation von APCu

APCu ist ein kostenloser und offener PHP-Opcode-Cacher zum Zwischenspeichern und Optimieren von PHP-Zwischencode. Er fügt dem jetzt integrierten PHP-Opcache die früher von APC bereitgestellten Funktionen hinzu. Es ähnelt anderen PHP-Opcode-Cachern wie eAccelerator und XCache. Es wird dringend empfohlen, eines davon zu installieren, um Ihre PHP-Seite zu beschleunigen.

APC kann wie folgt installiert werden:

apt-get install php5-apcu

Wenn Sie PHP-FPM als FastCGI-Daemon verwenden, starten Sie ihn wie folgt neu:

systemctl restart php5-fpm.service

Installation von TYPO3

Das Dokumenten-Stammverzeichnis meiner www.example.com-Website ist /var/www/www.example.com/web - falls es nicht existiert, erstellen Sie es wie folgt:

mkdir -p /var/www/www.example.com/web

Als nächstes laden wir TYPO3 7.6.4 als .tar.gz-Datei von https://typo3.org/download/ herunter und platzieren es in unserem Dokumentenstammverzeichnis:

cd /tmp
wget http://downloads.sourceforge.net/project/typo3/TYPO3%20Source%20and%20Dummy/TYPO3%207.6.4/typo3_src-7.6.4.tar.gz
tar xfz typo3_src-7.6.4.tar.gz
mv typo3_src-7.6.4 /var/www/www.example.com/
cd /var/www/www.example.com/web
ln -s ../typo3_src-7.6.4 typo3_src
ln -s typo3_src/index.php
ln -s typo3_src/typo3

Es wird empfohlen, den Dokumentenstamm und die darin enthaltenen TYPO3-Dateien für den nginx-Daemon beschreibbar zu machen, der als Benutzer www-data und Gruppe www-data:

ausgeführt wird
chown -R www-data:www-data /var/www/www.example.com/web

Wenn Sie noch keine MySQL-Datenbank für TYPO3 erstellt haben (einschließlich eines MySQL-TYPO3-Benutzers), können Sie dies wie folgt tun (ich nenne die Datenbank in diesem Beispiel typo3, und der Benutzer heißt typo3_admin und sein Passwort ist typo3_admin_password):

mysqladmin --defaults-file=/etc/mysql/debian.cnf create typo3
mysql --defaults-file=/etc/mysql/debian.cnf
GRANT ALL PRIVILEGES ON typo3.* TO 'typo3_admin'@'localhost' IDENTIFIED BY 'typo3_admin_password';
GRANT ALL PRIVILEGES ON typo3.* TO 'typo3_admin'@'localhost.localdomain' IDENTIFIED BY 'typo3_admin_password';
FLUSH PRIVILEGES;
quit;

Als Nächstes erstellen wir eine nginx-vhost-Konfiguration für unseren www.example.com-vhost im Verzeichnis /etc/nginx/sites-available/ wie folgt:

nano /etc/nginx/sites-available/www.example.com.vhost
server {
       listen 80;
       server_name www.example.com example.com;
       root /var/www/www.example.com/web;

       if ($http_host != "www.example.com") {
                 rewrite ^ http://www.example.com$request_uri permanent;
       }

       index index.php index.html;

       location = /favicon.ico {
                log_not_found off;
                access_log off;
       }

       location = /robots.txt {
                allow all;
                log_not_found off;
                access_log off;
       }

       # Deny all attempts to access hidden files such as .htaccess, .htpasswd, .DS_Store (Mac).
       location ~ /\. {
                deny all;
                access_log off;
                log_not_found off;
       }

        location ~ \.php$ {
                        try_files $uri =404;
                        include /etc/nginx/fastcgi_params;
                        fastcgi_pass unix:/var/run/php5-fpm.sock;
                        fastcgi_index index.php;
                        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                        fastcgi_intercept_errors on;
                        fastcgi_buffer_size 128k;
                        fastcgi_buffers 256 16k;
                        fastcgi_busy_buffers_size 256k;
                        fastcgi_temp_file_write_size 256k;
                        fastcgi_read_timeout 1200;
        }
		
        client_max_body_size 100M;

        location ~ /\.(js|css)$ {
                expires 604800s;
        }

        if (!-e $request_filename){
                rewrite ^/(.+)\.(\d+)\.(php|js|css|png|jpg|gif|gzip)$ /$1.$3 last;
        }

        location ~* ^/fileadmin/(.*/)?_recycler_/ {
                deny all;
        }
        location ~* ^/fileadmin/templates/.*(\.txt|\.ts)$ {
                deny all;
        }
        location ~* ^/typo3conf/ext/[^/]+/Resources/Private/ {
                deny all;
        }
        location ~* ^/(typo3/|fileadmin/|typo3conf/|typo3temp/|uploads/|favicon\.ico) {
        }

        location / {
                        if ($query_string ~ ".+") {
                                return 405;
                        }
                        if ($http_cookie ~ 'nc_staticfilecache|be_typo_user|fe_typo_user' ) {
                                return 405;
                        } # pass POST requests to PHP
                        if ($request_method !~ ^(GET|HEAD)$ ) {
                                return 405;
                        }
                        if ($http_pragma = 'no-cache') {
                                return 405;
                        }
                        if ($http_cache_control = 'no-cache') {
                                return 405;
                        }
                        error_page 405 = @nocache;

                        try_files /typo3temp/tx_ncstaticfilecache/$host${request_uri}index.html @nocache;
        }

        location @nocache {
                        try_files $uri $uri/ /index.php$is_args$args;
        }

}

Diese Konfiguration enthält bereits alles, was für saubere URLs benötigt wird (wegen der try_files $uri $uri/ /index.php$is_args$args;-Zeile in der @nocache-Location).

Stellen Sie als Nächstes sicher, dass Sie die folgende Zeile in /etc/nginx/mime.types haben:

nano /etc/nginx/mime.types
[...]
        text/x-component                        htc;
[...]

Um den vhost zu aktivieren, erstellen wir einen symbolischen Link zu ihm aus dem Verzeichnis /etc/nginx/sites-enabled/:

cd /etc/nginx/sites-enabled/
ln -s /etc/nginx/sites-available/www.example.com.vhost www.example.com.vhost

Laden Sie nginx neu, damit die Änderungen wirksam werden:

systemctl reload nginx.service

Passen Sie dann einige Werte in der php.ini-Datei für TYPO3 an. Ich verwende php-fpm auf diesem Server, also ist die Datei /etc/php5/fpm/php.ini. Öffnen Sie die Datei mit einem Editor:

nano /etc/php5/fpm/php.ini

und passen Sie die folgenden Einstellungen an.

[...]
always_populate_raw_post_data=-1
[...]
max_execution_time=240
[...]
post_max_size = 20M
[...]
upload_max_filesize = 20M
[...]
max_input_vars=2000
[...]

Übernehmen Sie die Änderungen mit:

systemctl reload php5-fpm.service

Jetzt können wir den webbasierten TYPO3-Installer starten, indem wir zu http://www.example.com/ gehen - Sie werden aufgefordert, zuerst die Datei FIRST_INSTALL im Dokumentenstammverzeichnis zu erstellen, damit die Installation fortgesetzt werden kann:

cd /var/www/www.example.com/web/
touch FIRST_INSTALL
chown www-data:www-data FIRST_INSTALL

Laden Sie nun die Seite neu. Der Installer überprüft, ob alle Voraussetzungen erfüllt sind - falls es andere Warnungen gibt, sollten Sie versuchen, diese jetzt zu beheben:

Klicken Sie auf Weiter.

Geben Sie als Nächstes die Datenbankdetails ein (Benutzer:typo3_admin; Passwort:typo3_admin_password aus der Zeit, als wir die typo3-Datenbank erstellt haben) und klicken Sie auf Weiter:

Wählen Sie auf der nächsten Seite Vorhandene leere Datenbank verwenden und wählen Sie typo3 aus dem Dropdown-Menü. Klicken Sie dann auf Weiter:

Geben Sie als Nächstes einen Benutzernamen und ein Passwort für den TYPO3-Administratorbenutzer und einen Namen für Ihre Site ein. Klicken Sie anschließend auf Weiter:

Die Installation ist nun abgeschlossen. Wenn Sie mit einer Demo-Website statt mit einem komplett leeren System beginnen möchten, lassen Sie das Kontrollkästchen Ja, Liste der Distributionen herunterladen aktiviert (dies installiert nicht sofort Demo-Daten, sondern stellt nur eine Demo-Website im Backend zur Verfügung, von wo aus Sie können wählen, um es zu installieren). Ich beginne stattdessen mit einer leeren Seite, damit ich eine benutzerdefinierte Website erstellen kann. Klicken Sie dann auf Backend öffnen:

Den Admin-Bereich finden Sie unter http://www.example.com/typo3/. Melden Sie sich mit dem Benutzernamen admin und dem Passwort an, das Sie während der Installation festgelegt haben:

Melden Sie sich jetzt mit dem Benutzernamen und dem Passwort an, die Sie während der Typo3-Einrichtung gewählt haben.

Typo3 wurde erfolgreich installiert. Jetzt können Sie mit dem Aufbau Ihrer Typo3-Website beginnen.

Image der virtuellen Maschine

Dieses Tutorial ist als fertige virtuelle Maschine im OVA / OVF-Format für Howtoforge-Abonnenten verfügbar. Das VM-Format ist kompatibel mit VMWare und Virtualbox und anderen Tools, die dieses Format importieren können. Sie finden den Download-Link im rechten Menü oben. Klicken Sie auf den Dateinamen, um den Download zu starten.

Die Anmeldedaten der VM lauten:

Typo3-Anmeldung

Benutzername:admin
Passwort:howtoforge

SSH-Anmeldung

Benutzername:root
Passwort:howtoforge

MariaDB-Anmeldung

Benutzername:root
Passwort:howtoforge

Bitte ändern Sie die Passwörter nach dem ersten Booten.

Die VM ist für die statische IP 192.168.1.100 konfiguriert, die IP kann in der Datei /etc/network/interfaces.

geändert werden

  • TYPO3:http://typo3.org/
  • nginx:http://nginx.org/
  • nginx-Wiki:http://wiki.nginx.org/
  • Debian:http://www.debian.org/

Debian
  1. So installieren Sie Phorum mit Nginx unter Debian 9

  2. So installieren und sichern Sie MariaDB unter Debian 11

  3. So installieren Sie Nginx unter Debian 8 (Jessie)

  4. So installieren und konfigurieren Sie Mariadb 10 in Debian 11

  5. So installieren Sie WonderCMS mit Nginx unter Debian 11

So installieren Sie TYPO3 8.1 mit Nginx (LEMP) auf Ubuntu 16.04

So installieren Sie Wordpress mit Nginx, MariaDB und HHVM auf Debian 8

So installieren und konfigurieren Sie vsftpd mit TLS unter Debian 8 (Jessie)

So installieren Sie Nextcloud 10 mit Nginx auf Debian 8

So installieren Sie phpBB mit LEMP (Nginx, MariaDB und PHP) unter Debian 11 Bullseye

So installieren Sie phpMyAdmin mit Nginx unter Debian 11