Configurare più siti WordPress su una singola VPS Ubuntu
Introduzione
WordPress è un noto CMS (Content Management System) che permette di creare il vostro sito facilmente e rapidamente. A volte si ha il bisogno di ospitare diversi siti, non correlati, sullo stesso server.
Questa guida vi spiega come ospitare due diverse instanze WordPress in un’unica VPS. Ognuna avrà il proprio nome a dominio. Diversamente da come trattato in Configurare molteplici siti.
Lo faremo attraverso l’uso dei virtual host. In questa guida verrà utilizzata un VPS Ubuntu Server 12.04, ma distribuzioni differenti dovrebbero funzionare in modo simile.
Requisiti
Per procedere avrete bisogno di alcuni requisiti approfonditamente trattati in altre guide di DigitalOcean. Prima di iniziare assicuratevi di aver correttamente portato a termine:
- Creare una nuova VPS di DigitalOcean per ospitare i vostri siti WordPress. Completate la configurazione iniziale del server seguendo questa guida.
- Configurare due nomi a dominio con DigitalOcean. Per farlo usate questa guida.
- Installare uno stack LAMP come mostrato in questa guida.
Se avete fatto tutto correttamente ora dovreste avere un LAMP installato su Ubuntu con entrambi i vostri nomi a dominio collegati alla vostra droplet [la VPS di DigialOcean, NdT].
Assicuratevi il giusto funzionamento visitando il vostro dominio utilizzando un browser. Entrambi i domini devono mostrarvi la stessa pagina principale Apache di default:
Se i vostri domini non vi rimandano a questa pagina dovete attendere i cambiamenti dei DNS per la propagazione del dominio, oppure avete sbagliato nel configurare qualcosa nei passaggi precedenti. Non proseguite finché non avete risolto.
Download di WordPress
Quando siete pronti accedete al server e posizionatevi nella vostra home directory. Effettueremo il download dei file da qui:
cd wget http://wordpress.org/latest.tar.gz
Estraete e decomprimete l’archivio usando il seguendo comando:
tar xzvf latest.tar.gz
Creare il database e gli utenti del sito
Prima di continuare, abbiamo bisogno di configurare un database indipendente e un utente per ogni sito usando MySQL. Questo ci assicurerà che i dati del sito siano separati.
Per gli scopi di questa guida useremo le seguenti informazioni:
Site Name | primosito.com | secondosito.com |
---|---|---|
Database Name | PrimoDatabase | SecondoDatabase |
Database User | PrimoUtente | SecondoUtente |
Database Password | PrimaPassword | SecondaPassword |
La tabella qui sopra è utile a darvi il contesto per i comandi che andremo ad usare. Quando eseguite i comandi sostituite le voci con le vostre informazioni.
Accedete in MySQL usando l’account di amministrazione configurato durante l’installazione di MySQL:
mysql -u root -p
Vi verrà chiesta la password root di MySQL e quindi vi troverete nel prompt di MySQL.
Create i due database usando i seguenti comandi:
CREATE DATABASE PrimoDatabase; CREATE DATABASE SecondoDatabase;
Create un utente associato ad ogni database:
CREATE USER PrimoUtente@localhost; CREATE USER SecondoUtente@localhost;
Di seguito impostate la password di accesso per ogni account:
SET PASSWORD FOR PrimoUtente@localhost= PASSWORD("PrimaPassword"); SET PASSWORD FOR SecondoUtente@localhost= PASSWORD("SecondaPassword");
Concludete garantendo i privilegi ai nuovi utenti. Questo associa il database utenti con i loro rispettivi database e conferisce loro gli appropriati permessi:
GRANT ALL PRIVILEGES ON PrimoDatabase.* TO PrimoUtente@localhost IDENTIFIED BY 'PrimaPassword'; GRANT ALL PRIVILEGES ON SecondoDatabase.* TO SecondoUtente@localhost IDENTIFIED BY 'SecondaPassword';
Aggiornate i privilegi di MYSQL per applicare i cambiamenti:
FLUSH PRIVILEGES;
Uscite da MySQL e tornate alla shell:
exit
Configurare le root directory dei siti
Installeremo entrambi i siti con directory individuali nella web root del nostro server.
Andate alla directory “/var/www/”:
cd /var/www
Creiamo una directory per ogni nostro sito. Qui verranno memorizzati i file dei siti:
sudo mkdir PrimoSito sudo mkdir SecondoSito
Facciamo una copia della configurazione di esempio prima di spostare i contenuti web nelle nostre directory:
cp ~/wordpress/wp-config-sample.php ~/wordpress/wp-config.php
A questo punto copiate i file nelle directory che avete creato nella web root del server:
sudo rsync -avP ~/wordpress/ /var/www/PrimoSito/ sudo rsync -avP ~/wordpress/ /var/www/SecondoSito/
Date la proprietà delle directory all’utente web Apache e quindi aggiungete il vostro nome utente di Linux al gruppo Web.
sudo chown www-data:www-data * -R
sudo usermod -a -G www-data nome_utente_linux
Configurazione di WordPress
Configureremo ogni sito con le informazioni dei nostri siti.
Configurazione del primo sito
Posizionatevi nella document root del primo sito:
cd /var/www/PrimoSito
Aprite il file di configurazione di WordPress:
sudo nano wp-config.php
Trovate la parte che contiene i seguenti campi e sostituite database, nome utente e password per il vostro sito:
// ** MySQL settings - You can get this info from your web host ** // /** The name of the database for WordPress */ define('DB_NAME', 'PrimoDatabase'); /** MySQL database username */ define('DB_USER', 'PrimoUtente'); /** MySQL database password */ define('DB_PASSWORD', 'PrimaPassword');
Salvate ed uscite.
Configurazione del secondo sito
Posizionatevi nella document root del secondo sito:
cd /var/www/SecondoSito
Aprite il file di configurazione di WordPress:
sudo nano wp-config.php
Trovate la stessa sezione che avete modificato per il primo sito. In questo caso inserite però le informazioni per il secondo sito.
// ** MySQL settings - You can get this info from your web host ** // /** The name of the database for WordPress */ define('DB_NAME', 'SecondoDatabase'); /** MySQL database username */ define('DB_USER', 'SecondoUtente'); /** MySQL database password */ define('DB_PASSWORD', 'SecondaPassword');
Salvate ed uscite.
Configurazione dei virtual host di Apache
Dobbiamo configurare Apache affinché direzioni il traffico da ogni dominio alla propria rispettiva directory. Lo faremo creando file di virtual host separati per ogni dominio.
Posizionamoci nella directory Apache dei siti accessibili:
cd /etc/apache2/sites-available
Creiamo un nuovo file virtual host per ogni sito copiando il file virtual host di default:
sudo cp default PrimoSito sudo cp default SecondoSito
Configurazione del virtual host del primo sito
Aprite il primo file che avete copiato per configurare il virtual host per il primo sito:
sudo nano PrimoSito
Modificate le informazioni nel file in modo che corrispondano alle seguenti. Ricordatevi di sostituire le informazioni in rosso con quelle del vostro primo sito:
<VirtualHost *:80> ServerAdmin il_vostro_indirizzo_email ServerName primosito.com ServerAlias www.primosito.com DocumentRoot /var/www/PrimoSito <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/PrimoSito> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </Directory> . . . . . .
Se ritenete necessario abilitare dei permalink comodi, nella sezione “<Directory /var/www/Primosito>” potete cambiare “AllowOverride None” con “AllowOverride All”. Potete consultare i requisiti per i permalink qui.
Dopo aver effettuato i cambiamenti salvate e chiudete il file.
Configurazione del virtual host del secondo sito
Aprite il file del secondo virtual host:
sudo nano SecondoSito
Cambiate le informazioni per farle corrispondere a quelle del secondo sito:
<VirtualHost *:80> ServerAdmin il_vostro_indirizzo_email ServerName secondosito.com ServerAlias www.secondosito.com DocumentRoot /var/www/SecondoSito <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/SecondoSito> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </Directory> . . . . . .
Salvate e chiudete il file.
Configurazione finale
Per far funzione i nostri siti ci sono ancora un paio di passaggi da fare.
Primo, per funzionare correttamente WordPress necessita di un ulteriore modulo PHP installato. Installatelo digitando:
sudo apt-get install php5-gd
Poi, abilitate i file virtual host che abbiamo creato eseguendo:
sudo a2ensite PrimoSito sudo a2ensite SecondoSito
Per finire, aggiornate Apache per applicare le modifiche:
sudo service apache2 reload
Vediamo i risultati
Per visualizzare i vostri nuovi siti WordPress, digitate i nomi dei vostri domini in un browser.
Se avete configurato tutto correttamente dovreste essere accolti da una pagina di questo tipo:
Ora potete accedere e configurare ogni sito indipendentemente. Questi siti sono completamente separati e possono essere amministrati come se fossero presenti su due Server VPS differenti.
Autore: Justin Ellingwood
Traduzione di Zantx dell’articolo: https://www.digitalocean.com/community/tutorials/how-to-set-up-multiple-wordpress-sites-on-a-single-ubuntu-vps Copyright © 2016 DigitalOcean™ Inc.