Questo tutorial mostra come installare e configurare un sito Web TYPO3 (versione 7) su un server Debian 8 (Jessie) su cui è installato Nginx come server Web e MariaDB come server di database. Nginx è un server web veloce che sostituisce il server web standard "Apache" in questa configurazione, MariaDB è un fork di MySQl che è più veloce di MySQL e sviluppato dall'inventario originale di MySQL Monty Widenius.
Typo3 è un sistema CMS di classe enterprise scritto in PHP che ha una vasta comunità di utenti e sviluppatori.
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. Il mio server utilizza l'indirizzo IP 192.168.1.100, per favore sostituisci questo IP in tutti i file di configurazione e comandi con l'indirizzo IP del tuo server.
Il tutorial presuppone che tu abbia già un'installazione di Nginx funzionante, in caso contrario, segui prima questa guida per installare Nginx, PHP e MariaDB.
Accedi come utente root sul server e procedi al passaggio successivo.
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, aggiunge le funzioni precedentemente fornite da APC all'opcache PHP ora integrato. È 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.
APC può essere installato come segue:
apt-get install php5-apcu
Se usi PHP-FPM come demone FastCGI, riavvialo come segue:
systemctl restart php5-fpm.service
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.6.4 come file .tar.gz da https://typo3.org/download/ e lo posizioniamo nella nostra radice del documento:
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
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/web
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):
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;
Quindi creiamo una configurazione vhost nginx per il nostro vhost 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:
systemctl reload nginx.service
Quindi regola alcuni valori nel file php.ini per TYPO3. Uso php-fpm su questo server, quindi il file è /etc/php5/fpm/php.ini. Apri il file con un editor:
nano /etc/php5/fpm/php.ini
e regolare le seguenti impostazioni.
[...]
always_populate_raw_post_data=-1
[...]
max_execution_time=240
[...]
post_max_size = 20M
[...]
upload_max_filesize = 20M
[...]
max_input_vars=2000
[...]
Applica le modifiche con:
systemctl reload php5-fpm.service
Ora possiamo avviare il programma di installazione TYPO3 basato sul web andando su http://www.example.com/ - ti verrà chiesto di creare prima il file FIRST_INSTALL nella root del documento in modo che l'installazione possa procedere:
cd /var/www/www.example.com/web/
touch FIRST_INSTALL
chown www-data:www-data FIRST_INSTALL
Ora ricarica la pagina. Il programma di installazione verifica se tutti i prerequisiti sono soddisfatti - se sono presenti altri avvisi, dovresti provare a risolverli ora:
Fare clic su Continua.
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 un nome per il tuo sito. Fare clic su Continua in seguito:
L'installazione è ora terminata. Se vuoi iniziare con un sito web demo invece di un sistema completamente vuoto, lascia spuntata la casella Sì, scarica l'elenco delle distribuzioni (questo non installerà i dati demo immediatamente, ma renderà solo disponibile un sito web demo nel backend da cui puoi scegli di installarlo). Sceglierò invece di iniziare con una pagina vuota in modo da poter creare un sito Web personalizzato. 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:
Ora accedi con il nome utente e la password che hai scelto durante la configurazione di Typo3.
Typo3 è stato installato correttamente. Ora puoi iniziare a creare il tuo sito Web Typo3.
Immagine della macchina virtuale
Questo tutorial è disponibile come macchina virtuale pronta per l'uso in formato OVA / OVF per gli abbonati Howtoforge. Il formato VM è compatibile con VMWare e Virtualbox e altri strumenti che possono importare questo formato. Puoi trovare il link per il download nel menu a destra in alto. Fare clic sul nome del file per avviare il download.
I dettagli di accesso della VM sono:
Accesso a Typo3
Nome utente:admin
Password:howtoforge
Accesso SSH
Nome utente:root
Password:howtoforge
Accesso a MariaDB
Nome utente:root
Password:howtoforge
Si prega di modificare le password dopo il primo avvio.
La VM è configurata per l'IP statico 192.168.1.100, l'IP può essere modificato nel file /etc/network/interfaces.
Link
- TYPO3:http://typo3.org/
- nginx:http://nginx.org/
- Wiki di nginx:http://wiki.nginx.org/
- Debian:http://www.debian.org/