SlideShare a Scribd company logo
1 of 4
Download to read offline
Home » Linux
Deploy heroku-style di un child theme
WordPress su VPS via GIT
21/09/2019
Linux, Web Hosting, Wordpress 
Autore: Emilio Petrozzi
Ecco come effettuare in pochi passaggi un deploy heroku-style via GIT su un server dedicato oppure VPS.
Come primo passaggio è indispensabile poter fare il login sul server remoto senza dover inserire username e password.
In gergo si deve avere la possibilità di connettersi via SSH attraverso lo scambio di una chiave.
Quindi generiamo la chiave e la carichiamo sul server remoto con i seguenti comandi, digitando la password quando
richiesta:
utentelocale$ ssh-keygen
utentelocale$ ssh-copy-id utenteremoto@serverremoto.com
Ci loggiamo sul server remoto e creiamo due repository git, uno per il deploy e l'altro nella cartella di destinazione sul
server Web.
SERVER REMOTO:
Repository #1
$ mkdir /home/admin/deploy
$ cd /home/admin/deploy
$ mkdir oceanwp-child
$ cd oceanwp-child
$ git init --bare
Repository #2
$ cd /home/admin/web/sitoweb.it/public_html/wp-content/themes
$ git clone file:///home/admin/deploy/oceanwp-child
Sul nostro server locale quindi creiamo un repository avente come origin il server remoto appena creato.
SERVER LOCALE:
$ mkdir ~/deploy
$ cd ~/deploy
$ mkdir oceanwp-child
$ cd oceanwp-child
$ git init
$ git remote add origin utenteremoto@serverremoto.com:/home/admin/deploy/oceanwp-child
$ git config branch.master.remote origin
$ git config branch.master.merge refs/heads/master
$ git pull
$ git push origin master
I passaggi precedenti possono essere ripetuti su tutti i server locali che si desidera, dando la possibilità a più sviluppatori
di poter collaborare allo stesso progetto.
A questo punto quello che manca è uno script bash che sia in grado di copiare l'ultima versione del codice, quella
appena caricata su “origin master”, dal repository GIT sul server remoto alla cartella servita da Apache/Nginx dello stesso
server.
In particolare bisognerà creare lo script post-receive all'interno della cartella hooks “hooks/post-receive” del repository
"deploy" sul server remoto. Lo script nel nostro caso somiglierà a qualcosa di questo tipo:
SERVER REMOTO:
$ cd ~/deploy/oceanwp-child/hooks
$ nano post-receive
#!/bin/bash
#CONFIGURAZIONE
DESTINAZIONE="/home/admin/web/sitoweb.it/public_html/wp-content/themes/oceanwp-child/"
read oldrev newrev refname
if [ $refname = "refs/heads/master" ]; then
echo "===== deploy del nuovo sito in corso ====="
unset GIT_DIR
cd $DESTINAZIONE
git pull origin master
echo "===== tutto fatto ====="
fi
$ chmod +x post-receive
Grazie a ciò lo script bash remoto ad ogni push effettuato localmente verso il server remoto ci segnalerà tra l'altro se
l'aggiornamento è stato eseguito con successo o meno.
Condividi l'articolo...
Autore articolo: Emilio Petrozzi
Creazione siti web dinamici e di commercio elettronico, assistenza WordPress, ottimizzazione per motori di ricerca,
campagne pubblicitarie web, sicurezza informatica. Esperienza ultra ventennale.
Articoli pubblicati da Emilio Petrozzi | Sito Web
Tags: backup wordpress,deploy wordpress
Lascia un commento
Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *
Commento
Nome *
Email *
Sito web
Do il mio consenso af nché un cookie salvi i miei dati (nome, email, sito web) per il prossimo commento.
P U B B L I C A I L C O M M E N T O
Current ye@r * 5.5
Aricoli correlati
Backup, criptaggio e salvataggio su un
server remoto di un sito WordPress
Rclone, criptare e salvare su Yandex
Disk i propri backups
Installazione e con gurazione di
WordPress attraverso WP-CLI
Contatto Skype
Chi Sono
Emilio Petrozzi
Siti Web WordPress
Tel. Mobile 3205754844
Tel. Fisso 0776811856
Email info@mrtux.it
Social
Email di supporto
Privacy Policy
Cookies
© 2002-2019 MrTux.it 
Emilio Petrozzi  P. I.V.A. IT03080230604 - Professionista ai sensi della Legge 4/2013

More Related Content

What's hot

Gestione delle dipendenze con Composer
Gestione delle dipendenze con ComposerGestione delle dipendenze con Composer
Gestione delle dipendenze con Composer
Massimiliano Arione
 

What's hot (11)

Building Scala with Bazel - Scala Days
Building Scala with Bazel - Scala DaysBuilding Scala with Bazel - Scala Days
Building Scala with Bazel - Scala Days
 
Webdays 2004 Blogfordummies2 Ok
Webdays 2004 Blogfordummies2 OkWebdays 2004 Blogfordummies2 Ok
Webdays 2004 Blogfordummies2 Ok
 
Gestione delle dipendenze con Composer
Gestione delle dipendenze con ComposerGestione delle dipendenze con Composer
Gestione delle dipendenze con Composer
 
node.js e Postgresql
node.js e Postgresqlnode.js e Postgresql
node.js e Postgresql
 
Ubuntu 11.04
Ubuntu 11.04Ubuntu 11.04
Ubuntu 11.04
 
Dev Ops Italia 2015 - Per capire Desired State Configuration
Dev Ops Italia 2015 - Per capire Desired State ConfigurationDev Ops Italia 2015 - Per capire Desired State Configuration
Dev Ops Italia 2015 - Per capire Desired State Configuration
 
Building Large Java Codebase with Bazel - CodeOne
Building Large Java Codebase with Bazel - CodeOneBuilding Large Java Codebase with Bazel - CodeOne
Building Large Java Codebase with Bazel - CodeOne
 
Automation Night (Docker)
Automation Night (Docker)Automation Night (Docker)
Automation Night (Docker)
 
Sviluppare un plugin WordPress da zero - WordCamp Bologna 2018
Sviluppare un plugin WordPress da zero - WordCamp Bologna 2018Sviluppare un plugin WordPress da zero - WordCamp Bologna 2018
Sviluppare un plugin WordPress da zero - WordCamp Bologna 2018
 
Introduzione pratica a docker, da chi lo ha appena conosciuto
Introduzione pratica a docker, da chi lo ha appena conosciutoIntroduzione pratica a docker, da chi lo ha appena conosciuto
Introduzione pratica a docker, da chi lo ha appena conosciuto
 
CMS
CMSCMS
CMS
 

Similar to Deploy Heroku-style di un child theme WordPress su VPS via GIT

Similar to Deploy Heroku-style di un child theme WordPress su VPS via GIT (20)

Con Aruba, a lezione di cloud #lezione 30 - parte 1: 'GitLab e Cloud Server ...
Con Aruba, a lezione di cloud  #lezione 30 - parte 1: 'GitLab e Cloud Server ...Con Aruba, a lezione di cloud  #lezione 30 - parte 1: 'GitLab e Cloud Server ...
Con Aruba, a lezione di cloud #lezione 30 - parte 1: 'GitLab e Cloud Server ...
 
Deploy PrestaShop con Docker
Deploy PrestaShop con DockerDeploy PrestaShop con Docker
Deploy PrestaShop con Docker
 
Con Aruba, a lezione di Cloud #lezione 30 - parte 2: 'GitLab e Cloud Server ...
Con Aruba, a lezione di Cloud  #lezione 30 - parte 2: 'GitLab e Cloud Server ...Con Aruba, a lezione di Cloud  #lezione 30 - parte 2: 'GitLab e Cloud Server ...
Con Aruba, a lezione di Cloud #lezione 30 - parte 2: 'GitLab e Cloud Server ...
 
Idp, passo dopo passo!
Idp, passo dopo passo!Idp, passo dopo passo!
Idp, passo dopo passo!
 
Installazione di Joomla nel cloud di Red Hat
Installazione di Joomla nel cloud di Red HatInstallazione di Joomla nel cloud di Red Hat
Installazione di Joomla nel cloud di Red Hat
 
Linux Day 2009 LAMP HowTo
Linux Day 2009 LAMP HowToLinux Day 2009 LAMP HowTo
Linux Day 2009 LAMP HowTo
 
Creazione componenti con Vue js
Creazione componenti con Vue jsCreazione componenti con Vue js
Creazione componenti con Vue js
 
Distribuire una libreria Java per usarla come dipendenza gradle
Distribuire una libreria Java per usarla come dipendenza gradleDistribuire una libreria Java per usarla come dipendenza gradle
Distribuire una libreria Java per usarla come dipendenza gradle
 
Tiscali bootcamp
Tiscali bootcampTiscali bootcamp
Tiscali bootcamp
 
Silex, iniziamo
Silex, iniziamoSilex, iniziamo
Silex, iniziamo
 
High specialized vm on open stack cloud
High specialized vm on open stack cloudHigh specialized vm on open stack cloud
High specialized vm on open stack cloud
 
Web frameworks
Web frameworksWeb frameworks
Web frameworks
 
TuxIsAlive
TuxIsAliveTuxIsAlive
TuxIsAlive
 
Sicurezza Php (giugno 2010) Stefano Bianchini presso Ce.Se.N.A.
Sicurezza Php (giugno 2010) Stefano Bianchini presso Ce.Se.N.A.Sicurezza Php (giugno 2010) Stefano Bianchini presso Ce.Se.N.A.
Sicurezza Php (giugno 2010) Stefano Bianchini presso Ce.Se.N.A.
 
Working between the clouds
Working between the cloudsWorking between the clouds
Working between the clouds
 
Chi ha paura della command-line? - WordCamp Roma 2018
Chi ha paura della command-line? - WordCamp Roma 2018Chi ha paura della command-line? - WordCamp Roma 2018
Chi ha paura della command-line? - WordCamp Roma 2018
 
Phpday 2009 php e java
Phpday 2009 php e javaPhpday 2009 php e java
Phpday 2009 php e java
 
sicurezza e php
sicurezza e phpsicurezza e php
sicurezza e php
 
Introduzione a Docker (Maggio 2017) [ITA]
Introduzione a Docker (Maggio 2017) [ITA]Introduzione a Docker (Maggio 2017) [ITA]
Introduzione a Docker (Maggio 2017) [ITA]
 
Php mysql3
Php mysql3Php mysql3
Php mysql3
 

Deploy Heroku-style di un child theme WordPress su VPS via GIT

  • 1. Home » Linux Deploy heroku-style di un child theme WordPress su VPS via GIT 21/09/2019 Linux, Web Hosting, Wordpress  Autore: Emilio Petrozzi Ecco come effettuare in pochi passaggi un deploy heroku-style via GIT su un server dedicato oppure VPS. Come primo passaggio è indispensabile poter fare il login sul server remoto senza dover inserire username e password. In gergo si deve avere la possibilità di connettersi via SSH attraverso lo scambio di una chiave. Quindi generiamo la chiave e la carichiamo sul server remoto con i seguenti comandi, digitando la password quando richiesta: utentelocale$ ssh-keygen utentelocale$ ssh-copy-id utenteremoto@serverremoto.com Ci loggiamo sul server remoto e creiamo due repository git, uno per il deploy e l'altro nella cartella di destinazione sul server Web. SERVER REMOTO: Repository #1 $ mkdir /home/admin/deploy $ cd /home/admin/deploy $ mkdir oceanwp-child $ cd oceanwp-child $ git init --bare Repository #2 $ cd /home/admin/web/sitoweb.it/public_html/wp-content/themes $ git clone file:///home/admin/deploy/oceanwp-child Sul nostro server locale quindi creiamo un repository avente come origin il server remoto appena creato. SERVER LOCALE:
  • 2. $ mkdir ~/deploy $ cd ~/deploy $ mkdir oceanwp-child $ cd oceanwp-child $ git init $ git remote add origin utenteremoto@serverremoto.com:/home/admin/deploy/oceanwp-child $ git config branch.master.remote origin $ git config branch.master.merge refs/heads/master $ git pull $ git push origin master I passaggi precedenti possono essere ripetuti su tutti i server locali che si desidera, dando la possibilità a più sviluppatori di poter collaborare allo stesso progetto. A questo punto quello che manca è uno script bash che sia in grado di copiare l'ultima versione del codice, quella appena caricata su “origin master”, dal repository GIT sul server remoto alla cartella servita da Apache/Nginx dello stesso server. In particolare bisognerà creare lo script post-receive all'interno della cartella hooks “hooks/post-receive” del repository "deploy" sul server remoto. Lo script nel nostro caso somiglierà a qualcosa di questo tipo: SERVER REMOTO: $ cd ~/deploy/oceanwp-child/hooks $ nano post-receive #!/bin/bash #CONFIGURAZIONE DESTINAZIONE="/home/admin/web/sitoweb.it/public_html/wp-content/themes/oceanwp-child/" read oldrev newrev refname if [ $refname = "refs/heads/master" ]; then echo "===== deploy del nuovo sito in corso =====" unset GIT_DIR cd $DESTINAZIONE git pull origin master echo "===== tutto fatto =====" fi $ chmod +x post-receive
  • 3. Grazie a ciò lo script bash remoto ad ogni push effettuato localmente verso il server remoto ci segnalerà tra l'altro se l'aggiornamento è stato eseguito con successo o meno. Condividi l'articolo... Autore articolo: Emilio Petrozzi Creazione siti web dinamici e di commercio elettronico, assistenza WordPress, ottimizzazione per motori di ricerca, campagne pubblicitarie web, sicurezza informatica. Esperienza ultra ventennale. Articoli pubblicati da Emilio Petrozzi | Sito Web Tags: backup wordpress,deploy wordpress Lascia un commento Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati * Commento Nome * Email * Sito web Do il mio consenso af nché un cookie salvi i miei dati (nome, email, sito web) per il prossimo commento. P U B B L I C A I L C O M M E N T O Current ye@r * 5.5 Aricoli correlati
  • 4. Backup, criptaggio e salvataggio su un server remoto di un sito WordPress Rclone, criptare e salvare su Yandex Disk i propri backups Installazione e con gurazione di WordPress attraverso WP-CLI Contatto Skype Chi Sono Emilio Petrozzi Siti Web WordPress Tel. Mobile 3205754844 Tel. Fisso 0776811856 Email info@mrtux.it Social Email di supporto Privacy Policy Cookies © 2002-2019 MrTux.it  Emilio Petrozzi  P. I.V.A. IT03080230604 - Professionista ai sensi della Legge 4/2013