GNU/Linux >> Znalost Linux >  >> Debian

Jak nainstalovat TYPO3 7 s Nginx a MariaDB na Debian 8 (Jessie)

Tento tutoriál ukazuje, jak nainstalovat a nakonfigurovat webovou stránku TYPO3 (verze 7) na serveru Debian 8 (Jessie), který má nainstalovaný Nginx jako webový server a MariaDB jako databázový server. Nginx je rychlý webový server, který v tomto nastavení nahrazuje standardní webový server „Apache“, MariaDB je vidlice MySQl, která je rychlejší než MySQL a kterou vyvinul původní vynálezce MySQL Monty Widenius.

Typo3 je podnikový CMS systém napsaný v PHP, který má velkou uživatelskou a vývojářskou komunitu.

Předběžná poznámka

Chci nainstalovat TYPO3 do vhost s názvem www.example.com zde s kořenem dokumentu /var/www/www.example.com/web. Můj server používá IP adresu 192.168.1.100, prosím nahraďte tuto IP adresu ve všech konfiguračních souborech a příkazech IP adresou vašeho serveru.

Výukový program předpokládá, že již máte funkční instalaci Nginx, pokud ne, nainstalujte Nginx, PHP a MariaDB nejprve podle tohoto průvodce.

Přihlaste se jako uživatel root na serveru a pokračujte dalším krokem.

Instalace APCu

APCu je bezplatný a otevřený PHP opcode cacher pro ukládání do mezipaměti a optimalizaci PHP přechodného kódu, přidává funkce dříve poskytované APC do nyní integrované PHP opcache. Je to podobné jako u jiných cacherů PHP operačních kódů, jako jsou eAccelerator a XCache. Důrazně se doporučuje mít jeden z nich nainstalovaný, aby se urychlila vaše stránka PHP.

APC lze nainstalovat následovně:

apt-get install php5-apcu

Pokud používáte PHP-FPM jako svého FastCGI démona, restartujte jej následovně:

systemctl restart php5-fpm.service

Instalace TYPO3

Kořen dokumentu mého webu www.example.com je /var/www/www.example.com/web – pokud neexistuje, vytvořte jej následovně:

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

Dále stáhneme TYPO3 7.6.4 jako soubor .tar.gz z https://typo3.org/download/ a umístíme jej do kořenového adresáře našeho dokumentu:

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

Doporučuje se nastavit kořen dokumentu a soubory TYPO3 v něm zapisovatelné démonem nginx, který běží jako uživatel www-data a skupina www-data:

chown -R www-data:www-data /var/www/www.example.com/web

Pokud jste ještě nevytvořili databázi MySQL pro TYPO3 (včetně uživatele MySQL TYPO3), můžete to udělat následovně (v tomto příkladu pojmenuji databázi typo3 a uživatel se jmenuje typo3_admin a jeho heslo je 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;

Dále vytvoříme konfiguraci nginx vhost pro náš www.example.com vhost v adresáři /etc/nginx/sites-available/ následovně:

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;
        }

}

Tato konfigurace již obsahuje vše, co je potřeba pro čisté URL (kvůli try_files $uri $uri/ /index.php$is_args$args; řádek v umístění @nocache).

Dále se ujistěte, že máte v /etc/nginx/mime.types následující řádek:

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

Abychom povolili vhost, vytvoříme na něj symbolický odkaz z adresáře /etc/nginx/sites-enabled/:

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

Znovu načtěte nginx, aby se změny projevily:

systemctl reload nginx.service

Poté upravte některé hodnoty v souboru php.ini pro TYPO3. Na tomto serveru používám php-fpm, takže soubor je /etc/php5/fpm/php.ini. Otevřete soubor pomocí editoru:

nano /etc/php5/fpm/php.ini

a upravte následující nastavení.

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

Aplikujte změny pomocí:

systemctl reload php5-fpm.service

Nyní můžeme spustit webový instalátor TYPO3 tím, že přejdeme na http://www.example.com/ – nejprve budete vyzváni k vytvoření souboru FIRST_INSTALL v kořenovém adresáři dokumentu, aby mohla instalace pokračovat:

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

Nyní znovu načtěte stránku. Instalační program zkontroluje, zda jsou splněny všechny předpoklady – pokud se objeví další varování, měli byste se je pokusit nyní opravit:

Klikněte na Pokračovat.

Dále vyplňte údaje o databázi (uživatel:typo3_admin; heslo:typo3_admin_password z doby, kdy jsme databázi typo3 vytvořili) a klikněte na Pokračovat:

Na další stránce zvolte Použít existující prázdnou databázi a z rozbalovací nabídky vyberte typo3. Poté klikněte na Pokračovat:

Dále zadejte uživatelské jméno a heslo pro uživatele admin TYPO3 a název vašeho webu. Klikněte na Pokračovat:

Instalace je nyní dokončena. Pokud chcete začít s demo webem místo zcela prázdného systému, ponechte zaškrtnuté políčko Ano, stáhnout seznam distribucí (tímto nedojde k okamžité instalaci demo dat, ale pouze zpřístupnění demo webu v backendu, odkud můžete zvolte instalaci). Rozhodnu se začít s prázdnou stránkou, abych si mohl vytvořit vlastní web. Poté klikněte na Otevřít backend:

Administrátorskou oblast lze nalézt na http://www.example.com/typo3/. Přihlaste se pomocí uživatelského jména admin a hesla, které jste definovali při instalaci:

Nyní se přihlaste pomocí uživatelského jména a hesla, které jste zvolili během nastavení Typo3.

Typo3 byl úspěšně nainstalován. Nyní můžete začít budovat svůj web Typo3.

Obrázek virtuálního počítače

Tento tutoriál je k dispozici jako virtuální stroj připravený k použití ve formátu OVA / OVF pro předplatitele Howtoforge. Formát VM je kompatibilní s VMWare a Virtualbox a dalšími nástroji, které dokážou tento formát importovat. Odkaz ke stažení najdete v pravém menu nahoře. Kliknutím na název souboru zahájíte stahování.

Přihlašovací údaje virtuálního počítače jsou:

Přihlášení Typo3

Uživatelské jméno:admin
Heslo:howtoforge

Přihlášení SSH

Uživatelské jméno:root
Heslo:howtoforge

Přihlášení do MariaDB

Uživatelské jméno:root
Heslo:howtoforge

Po prvním spuštění změňte hesla.

VM je nakonfigurován pro statickou IP 192.168.1.100, IP lze změnit v souboru /etc/network/interfaces.

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

Debian
  1. Jak nainstalovat Phorum s Nginx na Debian 9

  2. Nainstalujte Pagekit na Debian 7 VPS s Nginx, PHP-FPM a MariaDB

  3. Jak nainstalovat WonderCMS s Nginx na Debian 11

  1. Jak nainstalovat Textpattern CMS s Nginx na Debian 10

  2. Jak nainstalovat a zabezpečit MariaDB na Debian 11

  3. Jak nainstalovat a nakonfigurovat Mariadb 10 v Debianu 11

  1. Jak nainstalovat ownCloud 9.1 s Nginx a MariaDB na CentOS 7

  2. Jak nainstalovat WonderCMS s Nginx na Debian 9

  3. Jak nainstalovat Nginx na Debian 8 (Jessie)