GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come installare TYPO3 7 su Nginx (LEMP) su Ubuntu 15.10

Questo tutorial mostra come installare ed eseguire un sito Web TYPO3 (versione 7 LTS) su un sistema Ubuntu 15.10 su cui è installato un server Web Nginx anziché Apache. Questo tipo di configurazione è spesso chiamato LEMP =L inux + Nginx (pronunciato "e ngine x") + M ySQL + P HP). Nginx è un server HTTP veloce ed efficiente che utilizza meno risorse di Apache e fornisce le pagine molto più velocemente, in particolare i file statici.

1 Nota preliminare

Voglio installare TYPO3 in un host virtuale chiamato www.example.com qui con la radice del documento /var/www/www.example.com/web.

Dovresti avere uno stack LEMP funzionante. Se non hai ancora un'installazione LEMP, usa questo tutorial: Ubuntu LEMP Server

Poiché dobbiamo eseguire tutti i passaggi di questo tutorial con i privilegi di root, possiamo anteporre tutti i comandi in questo tutorial con la stringa sudo, oppure diventare root in questo momento digitando

sudo su

Userò l'editor nano per modificare i file di configurazione sulla shell, nano può essere installato con questo comando:

apt-get install nano 

2 Installazione di APCu

ApCu è un cacher di codice operativo PHP gratuito e aperto per la memorizzazione nella cache e l'ottimizzazione del codice intermedio PHP. È simile ad altri cacher di codice operativo PHP, come eAccelerator e XCache. Si consiglia vivamente di averne uno installato per velocizzare la tua pagina PHP.

L'APCu può essere installato come segue:

apt-get install php-apcu

Se usi PHP-FPM come demone FastCGI, riavvialo come segue:

service php5-fpm restart

3 Installazione di TYPO3

La radice del documento del mio sito Web www.example.com è /var/www/www.example.com/web - se non esiste, creala come segue:

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

Quindi scarichiamo TYPO3 7 come file .tar.gz da http://typo3.org/download/ e lo posizioniamo nella nostra radice del documento:

cd /var/www/www.example.com
wget get.typo3.org/7.6 -O typo3_src-7.6.0.tar.gz
tar xvfz typo3_src-7.6.0.tar.gz
rm typo3_src-7.6.x.tar.gz
cd web
ln -s ../typo3_src-7.6.0 typo3_src
ln -s typo3_src/index.php index.php
ln -s typo3_src/typo3 typo3

Si consiglia di rendere scrivibili la root del documento e i file TYPO3 in esso contenuti dal demone Nginx che è in esecuzione come utente www-data e gruppo www-data:

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

Se non hai già creato un database MySQL per TYPO3 (incluso un utente MySQL TYPO3), puoi farlo come segue (in questo esempio nomino il database typo3 e l'utente si chiama typo3_admin e la sua password è typo3_admin_password):

mysql --defaults-file=/etc/mysql/debian.cnf
CREATE DATABASE typo3;
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

Quindi creiamo una configurazione di host virtuale Nginx per il nostro host virtuale www.example.com nella directory /etc/nginx/sites-available/ come segue:

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

}

Questa configurazione contiene già tutto ciò che è necessario per gli URL puliti (a causa di try_files $uri $uri/ /index.php$is_args$args; riga nella posizione @nocache).

Quindi assicurati di avere la seguente riga in /etc/nginx/mime.types:

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

Per abilitare il vhost, creiamo un collegamento simbolico ad esso dalla directory /etc/nginx/sites-enabled/:

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

Ricarica Nginx per rendere effettive le modifiche:

service nginx reload

Crea il file FIRST_INSTALL nella radice del sito Web per abilitare il programma di installazione di TYPO3.

touch /var/www/www.example.com/web/FIRST_INSTALL

E cambia il proprietario in www-data in modo che lo script di installazione di TYPO3 possa rimuovere il file al termine dell'installazione.

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

Dobbiamo regolare alcuni valori di php.ini in modo che corrispondano ai requisiti per TYPO3. Apri il file php.ini:

nano /etc/php5/fpm/php.ini

E regola le seguenti opzioni di configurazione in modo che abbiano questi valori:

[....]
always_populate_raw_post_data=-1
[....]
max_execution_time=240
[....]
post_max_size = 20M
[....]
upload_max_filesize = 20M
[....]
max_input_vars=1500
[....]
memory_limit = 256M
[....]

Quindi salva il file e riavvia PHP-FPM per caricare la nuova configurazione:

service php5-fpm restart

Ora possiamo avviare il programma di installazione TYPO3 basato sul Web andando su http://www.example.com/:

Fare clic sul pulsante "Sistema in buone condizioni. Continua" per avviare il processo di installazione. Nel caso in cui questa pagina mostri un messaggio che non tutti i prerequisiti sono soddisfatti, quindi regola prima la tua configurazione in modo che corrisponda ai requisiti prima di procedere con l'installazione:

Quindi inserisci i dettagli del database (utente:typo3_admin; password:typo3_admin_password da quando abbiamo creato il database typo3) e fai clic su Continua:

Nella pagina successiva scegli Usa un database vuoto esistente e scegli typo3 dal menu a discesa. Quindi fare clic su Continua:

Quindi fornisci un nome utente e una password per l'utente amministratore di TYPO3 e inserisci un nome per il tuo sito Web TYPO3. Fare clic su Continua in seguito:

L'installazione è ora terminata. Se vuoi iniziare con un sito web demo invece di un sistema completamente vuoto, seleziona l'opzione Sì, scarica l'elenco delle distribuzioni (questo non installerà i dati demo immediatamente, ma renderà disponibile solo un sito web demo nel back-end da cui puoi scegliere per installarlo). Sceglierò qui di non scaricare alcun sito demo. Quindi fare clic su Apri il backend:

L'area di amministrazione può essere trovata in http://www.example.com/typo3/. Accedi con il nome utente admin e la password che hai definito durante l'installazione:

E accedi con l'utente amministratore TYPO§ che hai creato sopra.

E inizia a costruire il tuo sito Web TYPO3. Il frontend mostrerà un errore come "Servizio non disponibile (503) Nessuna pagina trovata a livello di root!" fino a quando non hai aggiunto una pagina principale nel back-end. Ti consiglio di dare un'occhiata all'eccellente documentazione di TYPO3 su come creare il tuo primo sito web in TYPO3 se non hai ancora familiarità con questo CMS.

4 Download dell'immagine della macchina virtuale di questo tutorial

Questo tutorial è disponibile come immagine della macchina virtuale pronta per l'uso in formato ovf/ova per gli abbonati Howtoforge. Il formato VM è compatibile con VMWare e Virtualbox. L'immagine della macchina virtuale utilizza i seguenti dettagli di accesso:

Accesso SSH/Shell

Nome utente:amministratore
Password:howtoforge

Questo utente dispone dei diritti sudo.

Accesso MySQL/MariaDB

Nome utente:root
Password:howtoforge

L'IP della VM è 192.168.1.100, può essere modificato nel file /etc/network/interfaces.

Accesso a TYPO3

Nome utente:admin
Password:howtoforge

Si prega di modificare tutte le password di cui sopra per proteggere la macchina virtuale.

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

Ubuntu
  1. Come installare Nginx su Ubuntu 18.04

  2. Come installare Nginx su Ubuntu 16.04

  3. Come installare LEMP su Ubuntu 16.04

  4. Come installare TYPO3 su Ubuntu 16.04

  5. Come installare LEMP su Ubuntu 18.04

Come installare Nginx su Ubuntu 15.04

Come installare LEMP su Ubuntu 15.10

Come installare LEMP su Ubuntu 16.04

Come installare LEMP su Ubuntu 18.04 LTS

Come installare LEMP su Ubuntu 20.04 LTS

Come installare NGINX su Ubuntu 18.04