introduzione
In questo tutorial imparerai come installare WordPress su un'istanza appena creata. Dimostrerò l'installazione su un server Ubuntu 14.04. Queste istruzioni potrebbero funzionare anche su versioni precedenti di Ubuntu e Debian.
Quindi iniziamo.
Fase 1: aggiornare i pacchetti esistenti
apt-get update && apt-get upgrade
Passaggio 2: installare Nginx
Nginx è un server Web leggero ad alte prestazioni progettato con lo scopo di fornire grandi quantità di contenuto statico con un uso efficiente delle risorse di sistema. A differenza di Apache, Nginx utilizza un modello asincrono guidato da eventi che fornisce prestazioni più prevedibili sotto carico.
Aggiungiamo un repository di terze parti per installare l'ultima versione di Nginx (1.6.1).
sudo apt-get install python-software-properties
add-apt-repository -y ppa:rtcamp/nginx
sudo apt-get update
sudo apt-get install nginx
service nginx start
Ora proviamo se il server è attivo e in esecuzione.
http://YOUR-VPS-IP
Dovrebbe portarti alla pagina di destinazione predefinita di Nginx.
Passaggio tre: installare PHP 5.5
PHP è un linguaggio di scripting open source ampiamente utilizzato che è particolarmente adatto allo sviluppo Web e può essere incorporato in HTML.
Installiamo l'ultima versione di PHP sul nostro server.
sudo add-apt-repository ppa:ondrej/php5
sudo apt-get update
sudo apt-get install php5-common php5-mysqlnd php5-xmlrpc php5-curl php5-gd php5-cli php5-fpm php-pear php5-dev php5-imap php5-mcrypt
Se vuoi controllare la tua versione di PHP, esegui il seguente comando:
php -v
Vedrai qualcosa del genere.
PHP 5.5.16-1+deb.sury.org~trusty+1 (cli) (built: Aug 25 2014 10:24:59)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies
withZendOPcache v7.0.4-dev, Copyright (c) 1999-2014, by Zend Technologies
Ora faremo una leggera modifica della configurazione per rendere la nostra installazione più sicura. Apri il file di configurazione principale di php5-fpm con i privilegi di root:
sudo nano /etc/php5/fpm/php.ini
Premi Ctrl + W e cerca cgi.fix_pathinfo=
. Rimuovi il commento (elimina;) e modifica da 1 a 0. Dopo le modifiche, la riga dovrebbe apparire così:
cgi.fix_pathinfo=0
Salva ( Ctrl + O ) e chiudi il file ( Ctrl + X ).
Ora, dobbiamo solo riavviare il nostro processore PHP digitando:
sudo service php5-fpm restart
Fase quattro: installare MySQL
Per archiviare e gestire database, è necessario installare MySQL. Puoi installarlo facilmente digitando quanto segue nella console:
sudo apt-get install mysql-server
Durante il processo di installazione, ti verrà chiesto di impostare una password di root per MySQL. Dopo aver impostato la password di root, dovremo dire a MySQL di generare la struttura di directory in cui verranno archiviati i database.
sudo mysql_install_db
Finiamolo eseguendo uno script di sicurezza che modificherà alcune insicurezze predefinite.
sudo mysql_secure_installation
Digita semplicemente la password di root di MySQL e digita n
se non vuoi cambiarla. Successivamente, digita y
ogni domanda.
Imposta fuso orario (condizionale)
Per impostazione predefinita, il fuso orario del server è UTC. Se vivi in un fuso orario diverso, puoi cambiarlo digitando il comando seguente:
sudo dpkg-reconfigure tzdata
A questo punto, il tuo server LEMP è attivo e funzionante.
Fase cinque: configurazione di Nginx per servire Wordpress
Iniziamo l'installazione di Wordpress creando un blocco server Nginx per il nostro sito.
sudo nano /etc/nginx/sites-available/wordpress
Incolla qui il seguente codice:
server {
listen 80;
root /var/www/wordpress;
index index.php index.html index.htm;
server_name domain.com;
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
location / {
# try_files $uri $uri/ =404;
try_files $uri $uri/ /index.php?q=$uri&$args;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location = /favicon.ico {
access_log off;
log_not_found off;
expires max;
}
location = /robots.txt {
access_log off;
log_not_found off;
}
# Cache Static Files For As Long As Possible
location ~*
\.(ogg|ogv|svg|svgz|eot|otf|woff|mp4|ttf|css|rss|atom|js|jpg|jpeg|gif|png|ico|zip|tgz|gz|rar|bz2|doc|xls|exe|ppt|tar|mid|midi|wav|bmp|rtf)$
{
access_log off;
log_not_found off;
expires max;
}
# Security Settings For Better Privacy Deny Hidden Files
location ~ /\. {
deny all;
access_log off;
log_not_found off;
}
# Return 403 Forbidden For readme.(txt|html) or license.(txt|html)
if ($request_uri ~* "^.+(readme|license)\.(txt|html)$") {
return 403;
}
# Disallow PHP In Upload Folder
location /wp-content/uploads/ {
location ~ \.php$ {
deny all;
}
}
}
Questo è un file di configurazione di Wordpress ottimizzato con supporto per permalink. Salva ( Ctrl + O ) e chiudi il file ( Ctrl + X ). Abilitiamo il blocco server tramite collegamento simbolico:
sudo ln -s /etc/nginx/sites-available/wordpress /etc/nginx/sites-enabled/wordpress
Successivamente, elimineremo il blocco del server predefinito Nginx.
sudo rm /etc/nginx/sites-enabled/default
Ora, metteremo a punto il file di configurazione principale di Nginx:
sudo nano /etc/nginx/nginx.conf
Assicurarsi che il numero di processi di lavoro sia uguale al numero di core nell'istanza.
user www-data;
worker_processes 1;
pid /run/nginx.pid;
Aggiungi usa epoll; al blocco eventi.
events {
worker_connections 4096;
multi_accept on;
use epoll;
}
Aggiungi client_max_body_size e server_tokens off direttiva. Impostare keepalive_timeout su 30 secondi.
##
# Basic Settings
##
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 30;
types_hash_max_size 2048;
server_tokens off;
client_max_body_size 100m;
# server_names_hash_bucket_size 64;
# server_name_in_redirect off;
include /etc/nginx/mime.types;
default_type application/octet-stream;
Assicurati che l'intero blocco delle impostazioni di Gzip sia simile al seguente:
##
# Gzip Settings
##
gzip on;
gzip_disable "msie6";
gzip_vary on;
gzip_proxied any;
gzip_comp_level 6;
gzip_buffers 16 8k;
gzip_http_version 1.1;
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;
Salva ( Ctrl + O ) e chiudi il file ( Ctrl + X ). Quindi riavviare il server:
sudo service nginx restart
Se vuoi caricare file più di 2 MB sul tuo sito WordPress, devi aumentare le variabili di dimensione del caricamento PHP in php.ini .
sudo nano /etc/php5/fpm/php.ini
Ora premi Ctrl + W e cerca " upload_max_filesize " e impostalo su 100m .
upload_max_filesize=100M
Fai lo stesso con post_max_size . post_max_size deve essere della stessa dimensione o più grande di upload_max_filesize .
post_max_size=100M
Riavvia PHP.
sudo service php5-fpm restart
Passaggio 7: configurare il database MySQL
In questo passaggio, creeremo l'utente e le tabelle del database. Vai avanti e accedi alla shell MySQL:
mysql -u root -p
Accedi usando la tua password di root di MySQL. Dovremo creare un database WordPress, insieme a un utente nel database. Innanzitutto, creiamo il database (sentiti libero di dargli il nome che preferisci):
CREATE DATABASE wordpress;
Query OK, 1 row affected (0.00 sec)
Successivamente, dobbiamo creare un nuovo utente. Sostituisci il database, il nome e la password con quello che preferisci:
CREATE USER wordpressuser@localhost;
Query OK, 0 rows affected (0.00 sec)
Imposta una password per il tuo nuovo utente:
SET PASSWORD FOR wordpressuser@localhost= PASSWORD("password");
Query OK, 0 rows affected (0.00 sec)
Termina concedendo tutti i privilegi al nuovo utente. Senza questo comando, il programma di installazione di WordPress non sarà in grado di avviarsi:
GRANT ALL PRIVILEGES ON wordpress.* TO wordpressuser@localhost IDENTIFIED BY 'password';
Query OK, 0 rows affected (0.00 sec)
Quindi aggiorna MySQL:
FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
Esci dalla shell MySQL:
exit
Passo otto: installazione dei file WordPress
Abbiamo quasi finito. Procediamo con l'installazione di WordPress.
Passare innanzitutto alla directory principale del sito:
mkdir /var/www/
cd /var/www/
Ora scarica l'ultima versione di WordPress:
wget http://wordpress.org/latest.tar.gz
Estrailo dall'archivio:
tar -xzvf latest.tar.gz
Dare i permessi /var/www/wordpress
per www-data
utente. Consentirà il futuro aggiornamento automatico dei plugin di WordPress e la modifica dei file con SFTP.
sudo chown -R www-data:www-data wordpress/
sudo usermod -a -G www-data www-data
Hai finito! Il tuo nuovo sito WordPress è ora pronto. Basta visitare il sito Web e terminare l'installazione.