Pubblicare un sito di WordPress

PASSO 1: Preparazioone Nuovo host

Creare il nuovo host, per esempio se il servizio lo mettiamo sul Server LAMP-ITALCUBE AWS

creare il folder:

/var/www/jp.bonini.cafe

Nel DNS impostare jp.bonini.cafe come record con IP: 34.242.189.9 che è IP pubblico della macchina.

Dentro a /etc/apache2/sites-available

creare il file di configurazione jp.bonini.cafe.conf, indicando come default index index.php.

<VirtualHost *:80>
	ServerAdmin info@bonini.cafe
	ServerName jp.bonini.cafe
	ServerAlias bonini.cafe

	DocumentRoot /var/www/jp.bonini.cafe/
	php_admin_value open_basedir "/var/www/jp.bonini.cafe/:/tmp/:/var/files/jp.bonini.cafe/"
	SetEnv ENVIRONMENT "production"

    <FilesMatch "\.(jpg|jpeg|png|gif)$">
		Header set Cache-Control "max-age=2419200, public"
    </FilesMatch>

    <FilesMatch "\.(js|css)$">
        Header set Cache-Control "max-age=604800, public"
    </FilesMatch>

	<Directory />
		Options +FollowSymLinks
		AllowOverride None
	</Directory>
	<Directory /var/www/jp.bonini.cafe/>
		Options +FollowSymLinks +MultiViews -Indexes 
		AllowOverride all
		DirectoryIndex index.php
		Require all granted
	</Directory>

	ErrorLog ${APACHE_LOG_DIR}/jp.bonini.cafe.error.log

	# Possible values include: debug, info, notice, warn, error, crit,
	# alert, emerg.
	LogLevel warn

	CustomLog ${APACHE_LOG_DIR}/jp.bonini.cafe.access.log combined
</VirtualHost>

Abilitare il file di configurazione con il comando:

sudo a2ensite jp.bonini.cafe

poi lanciare

sudo service apache2 reload

PASSO 2: Copiare il DB MySQL Locale dentro al DB MySQL del nuovo Host

Copiare tutto il DB di wordpress presente in locale , dentro al DB MySQL del nuovo HOST.

Per farlo è sufficiente sfruttare Esport Data e poi Import Data di MySQL Workbench

PASSO 3: Copiare tutto il sito dentro nuovo Host

Il folder locale con WordPress copiarlo sul nuovo server alla posizione:

/var/www/jp.bonini.cafe, quella creata al passo precedente.

PASSO 4: Cambia gli URL nel database

Sul DB del nuovo server HOST cambiare i records URL presenti nella tabella wp_options lanciando la query:

SELECT * FROM wordpress_bonini.wp_options where option_id in (1,2)

Qui, nella colonna option_name, cerca le voci siteurl e home. Vedrai che in entrambe le righe, nella colonna option_value è presente il percorso del tuo sito in locale. L’obiettivo è sostituire questo valore con il dominio dove vuoi che sia visibile il sito online.

Bisogna impostare jp.bonini.cafe al posto dell’URL locale.

Assicurati di fare la stessa cosa per entrambe le righe, quella relativa alla voce siteurl e quella relativa alla voce home.

PASSO 5: modifica il file wp-config.php

Fatti questi passaggi, hai caricato sul tuo hosting sia il database che i file che costituiscono il tuo sito, ed abbiamo quasi finito di trasferire WordPress da locale a remoto. Se però provi a visitare il sito dal browser, vedrai un errore di connessione al database. Questo accade perché dobbiamo modificare il file wp-config.php in modo che i file vengano collegati al nuovo database creato.

Vedrai che al momento, in corrispondenza delle voci DB_NAME, DB_USER e DB_PASSWORD sono presenti le credenziali del sito sviluppato in locale (mi riferisco a ciò che è scritto tra le due virgolette). Dobbiamo andare a sostituirle con le informazioni del database che abbiamo appena creato.

  • DB_NAME è il nome del database, come lo vedi all’interno di phpMyAdmin.

  • DB_USER è il nome dell’utente associato al database.

  • DB_PASSWORD è la password che hai creato per l’utente.

Quando hai modificato queste informazioni, clicca “Save” in alto a destra.

Di seguito trovi due immagini, una prima delle modifiche ed una dopo le modifiche ai codici:

Prima delle modifiche, con credenziali del sito locale

Dopo le modifiche, con credenziali del sito online (parzialmente oscurate)

PASSO 6: ultimi aggiornamenti Database sul server Host

Quando il tuo sito è live, effettua l’accesso a WordPress è fai le seguenti cose:

  • naviga in Impostazioni > Generali ed assicurati che nei campi Indirizzo WordPress (URL) ed Indirizzo Sito (URL) ci sia il dominio corretto. Quindi, salva.

  • Naviga in Impostazioni > Permalink e clicca salva a fondo pagina.

  1. Aggiungere una query SQL al tuo database (è meno complicato di quanto sembri). Per farlo, apri phpMyAdmin dal cPanel. Quindi, clicca sul database sul quale vuoi lavorare ed in alto seleziona SQL. Qui, incolla le seguenti righe di codice, personalizzate con gli url del tuo sito locale e quello del tuo sito nuovo.

UPDATE wp_posts SET post_content = REPLACE(post_content, 'localhost/sitolocale/', 'www.example.com/');

Devi sostituire

  • localhost/sitolocale con l’url del vecchio sito locale e

  • www.example.com con il tuo nuovo dominio.

In questo caso, fai molta attenzione a non cancellare parentesi, virgolette, ecc, e a modificare solo gli URL dei siti.

Quando hai finito e controllato che sia tutto corretto, clicca Esegui.

nel nostro caso abbiamo lanciato per verificare e correggere:

SELECT * FROM wp_posts WHERE post_content LIKE '%wordpress.bonini.cafe.testing.local/%'

UPDATE wp_posts SET post_content = REPLACE(post_content , 'wordpress.bonini.cafe.testing.local/', 'jp.bonini.cafe/');

UPDATE wp_posts SET guid = REPLACE(guid, 'localhost/sitolocale/', 'www.example.com/');

nel nostro caso abbiamo lanciato:

SELECT * FROM wp_posts WHERE guid LIKE '%wordpress.bonini.cafe.testing.local/%'

UPDATE wp_posts SET guid = REPLACE(guid, 'wordpress.bonini.cafe.testing.local/', 'jp.bonini.cafe/');

Ora il processo per trasferire WordPress da locale a remoto è stato completato ed il tuo sito sarà visibile online all’URL specificato.