# Messa in produzione ambiente di staging con sito di produzione già esistente

In questa guida illustreremo come pubblicare il sito realizzato in un ambiente di sviluppo (che chiameremo staging), conservando il vecchio sito in un un sottodominio.

<p class="callout info">Se non è necessario conservare la vecchia versione del sito è possibile cancellare il contenuto della cartella che lo ospita per sostituirlo con quello realizzato nell'ambiente di sviluppo.</p>

Per prima cosa procediamo con la creazione di un sottodominio su cPanel, ad esempio old.dominio.TLD, seguendo la guida che potete trovare al seguente link: [https://kb.artera.net/books/cpanel---domini/page/creazione-sottodominio](https://kb.artera.net/books/cpanel---domini/page/creazione-sottodominio)   
Una volta attivato il sottodominio è necessario renderlo raggiungibile configurando il record DNS appropriato (record A con l'indirizzo IP del server, che è possibile recuperare accedendo al proprio cPanel, nel riepilogo delle "informazioni generali"); se il dominio utilizza i nostri nameserver è possibile consultare la seguente guida per configurare correttamente il record DNS: [https://kb.artera.net/books/area-riservata-c81/page/come-modificare-i-dns](https://kb.artera.net/books/area-riservata-c81/page/come-modificare-i-dns)

<p class="callout info">Se il vecchio sito non dev'essere raggiungibile la modifica delle zone DNS come indicato in precedenza non dev'essere effettuata.</p>

### Copiare il vecchio sito su nuovo sottodominio

Una volta che il nuovo ambiente è pronto sarà necessario spostare il contenuto della cartella che ospita il sito (public\_html se si tratta del portale attivo sul www) all'interno della nuova cartella creata con la configurazione del sottodominio.

E' possibile eseguire questa operazione in tre modi:

##### 1. SSH

Collegarsi allo spazio hosting con il comando:

```shell
ssh nomeutente@dominio 
```

Dove "nomeutente" è l'utente cPanel e "dominio" è il nome dominio associato a cPanel.  
Spostare quindi il contenuto della cartella del sito di produzione attuale all'interno della cartella old.dominio.TLD, utilizzando i seguenti comandi:

```shell
mv public_html/* old.dominio.TLD
```

```shell
mv public_html/.* old.dominio.TLD
```

<p class="callout warning">Il comando dev'essere eseguito nella cartella principale (home), fuori dalle cartelle public\_html e del sottodominio old.dominio.TLD</p>

##### 2. File Manager

La seguente guida illustra come utilizzare questo strumento: [https://kb.artera.net/books/cpanel---file/page/file-manager-gestione-file](https://kb.artera.net/books/cpanel---file/page/file-manager-gestione-file)

Come prima cosa è necessario abilitare la visualizzazione dei file nascosti dai settings in alto a destra abilitando il flag della voce: Show Hidden Files (dotfiles).

Successivamente si potrà spostare il contenuto della cartella di produzione attuale all'interno della cartella old.dominio.TLD.

##### 3. FTP

La seguente guida illustra come configurare correttamente il client FTP: [https://kb.artera.net/books/ftp/page/configurazione-client-ftp-filezilla](https://kb.artera.net/books/ftp/page/configurazione-client-ftp-filezilla)

Anche in questo caso, come per il File Manager di cPanel, sarà necessario spostare il contenuto della cartella che ospita il sito nella nuova cartella old.dominio.TLD.

### Salvare il database

Successivamente recuperiamo le informazioni del database contenente il sito di produzione attuale all'interno del file di configurazione del CMS utilizzato e salviamo una copia del database di produzione attuale, è possibile farlo in due modi:

##### 1. SSH

Collegarsi allo spazio hosting con il comando:

```shell
ssh nomeutente@dominio 
```

Dove "nomeutente" è l'utente cPanel e "dominio" è il nome dominio associato a cPanel.  
Esportiamo quindi il database in un file .sql con il comando:

```shell
mysqldump --no-tablespaces -u NOME_UTENTE_PRODUZIONE -p NOME_DB_PRODUZIONE > dumpDATA.sql
```

Dove "NOME\_UTENTE\_PRODUZIONE" è l'utente associato al database, "NOME\_DB\_PRODUZIONE" è il nome del database utilizzato nell'ambiente di produzione attuale e dumpDATA.sql il nome del file .sql che vorrete generare per salvare il database esportato.   
  
Una volta inserita la password dell'utente associato al database il sistema genererà il file .sql.

<p class="callout info">Il file .sql viene creato nella directory dove si esegue il comando, consigliamo quindi di spostarsi nella cartella old.dominio.TLD prima di lanciarlo.</p>

##### 2. phpMyAdmin

Per procedere con l'esportazione del database da phpMyAdmin consigliamo di consultare la seguente guida: [https://kb.artera.net/books/phpmyadmin/page/esportare-un-database-con-phpmyadmin](https://kb.artera.net/books/phpmyadmin/page/esportare-un-database-con-phpmyadmin)

### Pubblicare il nuovo sito

Una volta ripulito l'ambiente di produzione sarà possibile pubblicare il sito realizzato nell'ambiente di sviluppo consultando la seguente guida:  
  
[https://kb.artera.net/books/ftp/page/messa-in-produzione-sito-sviluppato-in-ambiente-di-staging](https://kb.artera.net/books/ftp/page/messa-in-produzione-sito-sviluppato-in-ambiente-di-staging)