Diferència entre revisions de la pàgina «Grup 3 - Posada en producció web higiene postural dockeritzada»

De Wiket
Salta a la navegació Salta a la cerca
(Es desfà la revisió 7717 de [email protected] (Discussió))
Etiqueta: Desfés
(Pàgina blanquejada)
Etiqueta: Buidament
 
Línia 1: Línia 1:
Tornar a [[Projecte IETI Cloud - Grup 3]].
 
  
== Tasca ==
 
Posada en producció de la web d'higiene postural dockeritzada sobre cloud extern (Azure).
 
 
== Informe ==
 
Posarem en producció el nostre WordPress prèviament [[Grup 3 - Elecció versió Wordpress|desplegat en local]] sobre una màquina virtual amb sistema operatiu Ubuntu dins d'Azure.
 
 
=== Migració de local a cloud extern ===
 
En primer lloc, instal·lem Docker i Docker Compose dins la nova màquina virtual d'Azure.
 
<pre>sudo apt-get install docker.io docker-compose</pre>
 
Un cop tenim Docker instal·lat, podem transferir els arxius del projecte mitjançant <code>scp</code>.
 
<pre>scp -i (private key) ./docker-compose.yml (user)@(ip):~/wp-higiene-postural/docker-compose.yml</pre>
 
<pre>scp -i (private key) ./mysql_db_password.txt (user)@(ip):~/wp-higiene-postural/mysql_db_password.txt</pre>
 
<pre>scp -i (private key) ./mysql_root_password.txt (user)@(ip):~/wp-higiene-postural/mysql_root_password.txt</pre>
 
Una vegada hem transferit els arxius del projecte a Azure, encara falta transferir les dades contingudes dins els volums cap a la màquina virtual d'Azure. Amb Docker podem realitzar ''backups'' dels nostres volums en local, que després podrem enviar a Azure i restaurar des d'allà.
 
Amb els contenidors actius podem realitzar aquests ''backups'' mitjançant <code>tar</code> amb la següent comanda:
 
<pre>tar czf ./backup_db_data.tar.gz -C /var/lib/docker/volumes/ wp-higiene-postural_db_data</pre>
 
<pre>tar czf ./backup_wordpress_data.tar.gz -C /var/lib/docker/volumes/ wp-higiene-postural_wordpress_data</pre>
 
Tot just tinguem els ''backups'', els podem enviar també amb <code>scp</code> cap a la màquina d'Azure.
 
<pre>scp -i (private key) backup_db_data.tar.gz (user)@(ip):~/wp-higiene-postural/backup_db_data.tar.gz</pre>
 
<pre>scp -i (private key) backup_wordpress_data.tar.gz (user)@(ip):~/wp-higiene-postural/backup_wordpress_data.tar.gz</pre>
 
Finalment, haurem de descomprimir els ''backups'' al directori <code>/var/lib/docker/volumes/</code> de la màquina virtual d'Azure.
 
<pre>sudo tar xzf ./backup_db_data.tar.gz -C /var/lib/docker/volumes/</pre>
 
<pre>sudo tar xzf ./backup_wordpress_data.tar.gz -C /var/lib/docker/volumes/</pre>
 
 
=== Ajustament de ''wp_options'' dins de MySQL ===
 
Després del punt anterior ens mancarà però solucionar un problema habitual relatiu a l'instal·lació de WordPress. A l'haver instal·lat WordPress en local, dins la base de dades ha quedat la direcció <code>localhost:8000</code> guardada com a direcció de la pàgina, això provocarà que els enllaços interns de la pàgina de WordPress reencaminin o intentin buscar recursos dins el ''localhost'', en comptes del nostre servidor Azure.
 
Per solucionar aquest problema ens connectarem al contenidor mitjançant la ''shell'' amb <code>docker exec</code>:
 
<pre>docker exec -ti (nomdelcontenidor) /bin/bash</pre>
 
Un cop a dins del ''shell'' del contenidor de MySQL podem connectar-nos directament amb la contrasenya present al fitxer de Docker Secrets i solucionar el problema:
 
<pre>
 
$> mysql -u root -p
 
Enter Password: (contrasenya de l'usuari root)
 
</pre>
 
<pre>
 
USE wordpress;
 
UPDATE wp_options SET option_value = "http://(ip):(port)" WHERE option_name LIKE 'siteurl' OR option_name LIKE 'home';
 
</pre>
 
 
=== Posada en marxa ===
 
Un cop seguits els passos anteriors, aixecar el WordPress serà tan senzill com realitzar un <code>docker-compose up -d</code>, que automàticament agafarà les dades emmagatzemades als volums que hem transferit, mantenint tota la nostra configuració tal com estava en local.
 
 
== Referències ==
 
* [https://docs.docker.com/storage/volumes/#backup-restore-or-migrate-data-volumes Docker - Backup, Restore or Migrate Data Volumes]
 

Revisió de 15:17, 17 març 2022