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:

 

Apache

Apache

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:

Wordpress

WordPress

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.






Home | Chi siamo | Chat | Contattaci | Whois

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *