Tot i que MariaDB és compatible amb versions de Ghost 4.x, en les darreres actualitzacions ha deixat de ser compatible. Sobretot amb la versió de Ghost 5.x. Si tens pensat actualitzar Ghost 4.x a Ghost 5.x has de tenir en compte que, si fas servir la nostra imatge, hauràs de canviar MariaDB 10.x per MySQL 8.x.
En aquest tutorial t'expliquem com fer aquest canvi. Hem de tenir en compte que la imatge de Ghost es basa en Ubuntu 20.04, per tant MySQL 8.x no es troba als repositoris.
Còpia de seguretat de les dades
El primer pas serà crear una instantània per tenir una còpia del servidor abans de fer el canvi. I després haurem de crear una còpia de seguretat de la base de dades per importar-la de nou a MySQL 8.x.
Per fer la còpia de seguretat de la base de dades:
# mysqldump -u ghost ghost -p > ghost.sqlEliminar MariaDB
El pas següent és eliminar MariaDB del nostre servidor; per fer-ho, executem l'ordre següent:
# apt remove --purge mariadb-client-10.4 mariadb-client-core-10.4 mariadb-common mariadb-server mariadb-server-10.4 mariadb-server-core-10.4Durant el procés, ens demanarà si volem eliminar les bases de dades. Com que ja hem fet una còpia de seguretat de la base de dades de Ghost, li direm que sí.
Instal·lació de MySQL
El primer pas serà afegir el repositori; descarreguem el paquet següent:
# wget https://dev.mysql.com/get/mysql-apt-config_0.8.22-1_all.debL'instal·lem:
# dpkg -i mysql-apt-config_0.8.22-1_all.debSeleccionem la primera opció i fem clic a Ok.
Seleccionem mysql-8.0. i fem clic a Ok. A la pantalla següent seleccionem Ok de nou.
Després d'instal·lar el paquet, actualitzem els repositoris:
# apt updateDesprés instal·lem els paquets necessaris:
# apt install mysql-client mysql-community-server mysql-serverDurant el procés d'instal·lació et demanarà que configuris una contrasenya segura.
Protegir MySQL
Un cop instal·lat, és recomanable executar l'ordre següent per protegir el servei:
# mysql_secure_installationImportem la base de dades
Ara importem la base de dades que hem exportat anteriorment; per fer-ho, hem d'accedir a MySQL, crear la base de dades i atorgar els permisos necessaris:
# mysql -u root -pI aquí executem:
CREATE DATABASE ghost;
CREATE USER ghost@localhost IDENTIFIED BY '[CONTRASEÑA]';
GRANT ALL PRIVILEGES ON ghost.* TO ghost@localhost;
FLUSH PRIVILEGES;Per a la contrasenya de l'usuari, haurem de fer servir la mateixa que es troba al fitxer /var/www/ghost/config.production.json.
I ara la importem:
# mysql -u ghost -p ghost < ghost.sqlUn cop hem importat la base de dades, és recomanable reiniciar la instància de Ghost perquè torni a carregar la configuració.
# su - ghostinst
# cd /var/www/ghost
# ghost restart