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.
Odkazy
- TYPO3:http://typo3.org/
- nginx:http://nginx.org/
- nginx Wiki:http://wiki.nginx.org/
- Debian:http://www.debian.org/