GNU/Linux >> Znalost Linux >  >> Ubuntu

Spuštění TYPO3 6.2 na Nginx (LEMP) na Debian Wheezy/Ubuntu 13.10

Tento tutoriál ukazuje, jak můžete nainstalovat a spustit webovou stránku TYPO3 (verze 6.2) na systému Debian Wheezy nebo Ubuntu 13.10, který má nainstalovaný nginx místo Apache (LEMP =L inux + nginx (vyslovuje se „e ngine x") + M ySQL + P HP). nginx je HTTP server, který využívá mnohem méně zdrojů než Apache a poskytuje stránky mnohem rychleji, zejména statické soubory.

Neposkytuji žádnou záruku, že to pro vás bude fungovat!

1 předběžná poznámka

Chci nainstalovat TYPO3 do vhost s názvem www.example.com/example.com zde s kořenem dokumentu /var/www/www.example.com/web.

Měli byste mít funkční instalaci LEMP.

Poznámka pro uživatele Ubuntu:

Protože musíme všechny kroky z tohoto tutoriálu spustit s právy root, můžeme buď před všechny příkazy v tomto tutoriálu přidat řetězec sudo, nebo se staneme rootem hned teď zadáním

sudo su

2 Instalace APC

APC je bezplatný a otevřený PHP opcode cacher pro ukládání do mezipaměti a optimalizaci PHP přechodného kódu. 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 php-apc

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

/etc/init.d/php5-fpm restart

Pokud jako svého FastCGI démona používáte program spawn-fcgi lighttpd, musíme zabít aktuální proces spawn-fcgi (běžící na portu 9000) a vytvořit nový. Spustit

netstat -tap

zjistit PID aktuálního spawn-fcgi procesu:

[email protected]:~# netstat -tap
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 *:sunrpc                *:*                     LISTEN      734/portmap
tcp        0      0 *:www                   *:*                     LISTEN      2987/nginx
tcp        0      0 *:ssh                   *:*                     LISTEN      1531/sshd
tcp        0      0 *:57174                 *:*                     LISTEN      748/rpc.statd
tcp        0      0 localhost.localdom:smtp *:*                     LISTEN      1507/exim4
tcp        0      0 localhost.localdom:9000 *:*                     LISTEN      1542/php5-cgi
tcp        0      0 localhost.localdo:mysql *:*                     LISTEN      1168/mysqld
tcp        0     52 server1.example.com:ssh 192.168.0.198:2462      ESTABLISHED 1557/0
tcp6       0      0 [::]:www                [::]:*                  LISTEN      2987/nginx
tcp6       0      0 [::]:ssh                [::]:*                  LISTEN      1531/sshd
tcp6       0      0 ip6-localhost:smtp      [::]:*                  LISTEN      1507/exim4
[email protected]:~#

Ve výše uvedeném výstupu je PID 1542, takže aktuální proces můžeme ukončit následovně:

kill -9 1542

Poté vytvoříme nový proces spawn-fcgi:

/usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -u www-data -g www-data -f /usr/bin/php5-cgi -P /var/run/fastcgi-php.pid

3 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 6.2 jako soubor .tar.gz z http://typo3.org/download/ a umístíme jej do kořenového adresáře dokumentu:

cd /tmp
wget http://downloads.sourceforge.net/project/typo3/TYPO3%20Source%20and%20Dummy/TYPO3%206.2.1/typo3_src-6.2.1.tar.gz
tar xvfz typo3_src-6.2.1.tar.gz
cd typo3_src-6.2.1/
mv * /var/www/www.example.com/web/

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 -u root -p create typo3
mysql -u root -p
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 nginx Konfigurace vhost pro náš www.example.com vhost v adresáři /etc/nginx/sites-available/ takto:

vi /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:

vi /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:

/etc/init.d/nginx reload

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 vám zobrazí pouze varování, že /typo3_src by měl být odkaz, můžete pokračovat kliknutím na Vím, co dělám, pokračovat! - pokud existují další varování, měli byste se je nyní pokusit opravit:

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 administrátora TYPO3. 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). 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 stahuje seznam dostupných ukázkových webových stránek:

Pokud si přejete nainstalovat jeden z nich, klikněte na příslušné tlačítko Instalovat:

Po úspěšné instalaci se zobrazí následující obrazovka. Varování RealURL můžete ignorovat:

Pokud opustíte backend, demo stránka vypadá následovně. Pokud jej projdete, všimnete si, že čisté adresy URL fungují ve výchozím nastavení:

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

O autorovi

Falko Timme je vlastníkem Timme Hosting (ultrarychlý webhosting nginx). Je hlavním správcem HowtoForge (od roku 2005) a jedním z hlavních vývojářů ISPConfig (od roku 2000). Přispěl také do O'Reillyho knihy „Linux System Administration“.


Ubuntu
  1. Nastavení ISPConfig Perfect Multiserver na Ubuntu 20.04 a Debian 10

  2. Nainstalujte OpenQRM Cloud Computing Platform na Ubuntu 14.04 / Debian Wheezy

  3. Příklad použití UFW firewallu v Debian/Ubuntu

  1. Jak nainstalovat a nakonfigurovat Nginx na Ubuntu 18.04 / Debian 9

  2. Spuštění concrete5 na Nginx (LEMP) na Debian Squeeze/Ubuntu 12.10

  3. Jak nainstalovat LEMP na Ubuntu 18.04

  1. Jak nainstalovat TYPO3 7 na Nginx (LEMP) na Ubuntu 15.10

  2. Jak nainstalovat TYPO3 8.1 s Nginx (LEMP) na Ubuntu 16.04

  3. Jak používat GeoIP s Nginx na Ubuntu 16.04