Migració del servidor joanillo.org a OVH Cloud (núvol)

De wikijoan
Salta a la navegació Salta a la cerca

Introducció[modifica]

Després de 12 anys...

OVH Cloud[modifica]

OVHCloud
Servidores privados virtuales (VPS)
VPS Server: A virtual private server, also referred to as a VPS, is a virtual dedicated server. Unlike web hosting — (also known as shared hosting), where the technical aspects are managed by OVHcloud — you are the administrator of your VPS, and fully manage it.

Gama Starter: 3e/mes


Starter
Procesador: 1 vCore
Memoria: 2 GB
Almacenamiento: 20 GB SSD SATA
Ancho de banda público: 100 Mb/s

joanqc@gmail.com/S*******4
---
Seleccionem Ubuntu 20.04
Europa Occidental, Francia, Gravelines (GRA)
freqüència de renovació mensual


---
Su VPS acaba de instalarse con el siguiente sistema operativo/distribución:
Ubuntu 20.04


PARÁMETROS DE ACCESO:

Dirección IPv4 del VPS: 51.210.179.7

Nombre del VPS: vps-f5d83567.vps.ovh.net

En el VPS se ha configurado la siguiente cuenta de administrador:
Usuario: ubuntu
Contraseña: 7a**********


PARA EMPEZAR:
Si es la primera vez que se conecta a un VPS, le recomendamos que consulte la siguiente guía:
http://www.ovh.es/g1260.como-conectarse-a-un-vps

GESTIÓN, FACTURACIÓN, SOPORTE
Puede gestionar su VPS desde el área de cliente web, en la siguiente
dirección:
https://www.ovh.com/manager/


AYUDA
Para ayudarle a familiarizarse con su VPS, ponemos a su disposición
numerosas guías:
http://www.ovh.es/community/knowledge/
---

$ ssh ubuntu@vps-f5d83567.vps.ovh.net

ubuntu@vps-f5d83567:~$ df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            954M     0  954M   0% /dev
tmpfs           194M  960K  194M   1% /run
/dev/sda1        20G  2.9G   17G  15% /

ubuntu@vps-f5d83567:~$
ubuntu@vps-f5d83567:~$ sudo apt-get update
ubuntu@vps-f5d83567:~$ sudo apt-get install joe
ubuntu@vps-f5d83567:~$ sudo apt-get install unzip
ubuntu@vps-f5d83567:~$ sudo apt-get install apache2
$ sudo apt-get install php php-cli php-mysql
s'instal·la la versió 7.4 de PHP
$ sudo apt-get install libapache2-mod-php

en el portàtil:
http://vps-f5d83567.vps.ovh.net
ja funciona
ubuntu@vps-f5d83567:~$ sudo apt-get install mysql-server

ubuntu@vps-f5d83567:~$ sudo su
root@vps-f5d83567:/home/ubuntu# mysql -h localhost -u root
mysql>

Per entrar al mysql sense haver de fer sudo, hem de fer:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'S*******';
mysql> FLUSH PRIVILEGES;

ara ja puc entrar al mysql amb l'usuari normal:
ubuntu@vps-f5d83567:~$ mysql -h localhost -u root
mysql>


SSH sense demanar password[modifica]

3 passos molt simples. Es tracta de generar una clau pública en el portàtil, i enviar-la al servidor, per tal de què confïi en el portàtil.

$ ssh-keygen -b 4096 -t rsa
$ ssh-copy-id ubuntu@vps-f5d83567.vps.ovh.net

i ara ja podem entrar:

$ ssh ubuntu@vps-f5d83567.vps.ovh.net
$ scp hola.txt ubuntu@vps-f5d83567.vps.ovh.net:/home/ubuntu

mediawiki: wiki.joanillo.org[modifica]

Instal·lem la mediawiki:
MediaWiki 1.34.2 (setembre 2020)
En el servidor
$ cd /var/www
$ sudo wget https://releases.wikimedia.org/mediawiki/1.34/mediawiki-1.34.2.tar.gz
$ sudo tar xvzf mediawiki-1.34.2.tar.gz
$ sudo chown www-data:www-data -R mediawiki-1.34.2/

$ cd /var/www/sites-available/
$ sudo joe 000-default.conf

    Alias /wikijoan "/var/www/mediawiki-1.34.2/"
    <Directory "/var/www/mediawiki-1.34.2/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride all
        Order deny,allow
        #Deny from all
        #Allow from 127.0.0.0/255.0.0.0 ::1/128
        Allow from all
        DirectoryIndex index.html default.html index.php
    </Directory>

*http://vps-f5d83567.vps.ovh.net/wikijoan/
he d'instal·lar les extensions mbstring i xml
$ sudo apt-get install php-mbstring php-xml

$ sudo apt-get install php-intl
$ sudo apt-get install php-imagick
$ sudo apt-get install imagemagick

S'ha comprovat l'entorn. Podeu instal·lar el MediaWiki.

nom de la base de dades: wikidb134
root/S*******

Nom del wiki: wikijoan
usuari: joan/S*******44 (10 caràcters mínim)

Després de fer la instal·lació, es genera i es descarrega el fitxer LocalSettings.php, que he d'enviar al servidor:

$ scp LocalSettings.php ubuntu@vps-f5d83567.vps.ovh.net:/home/ubuntu

en el servidor:
$ sudo mv /home/ubuntu/LocalSettings.php /var/www/mediawiki-1.34.2

i ja està, ja tinc una instal·lació neta:
*http://vps-f5d83567.vps.ovh.net/wikijoan/index.php/P%C3%A0gina_principal


CREATE DATABASE IF NOT EXISTS `wikidb117`DEFAULT CHARACTER SET `utf8` COLLATE `utf8_unicode_ci`;
mysql -h localhost -u root -p wikidb117 -f < copia_wikidb117_200902.dmp > control_errors.log 2>&1

...

mysqldump --add-drop-table -i -C -u root -p -r ~/copia_wikidb_2000910.sql -v wikidb117

/var/www/mediawiki-1.34.2/includes/Revision/RevisionStore.php: Main slot of revision 259571 not found in database!



mysql> select * from revision where rev_id=259571;
+--------+----------+-------------+--------------------------+----------+---------------+----------------+----------------+-------------+---------------+---------+--------------------+----------------------------------------+--------------------------------------+
| rev_id | rev_page | rev_text_id | rev_comment              | rev_user | rev_user_text | rev_timestamp  | rev_minor_edit | rev_deleted | rev_parent_id | rev_len | rev_sha1           | rev_content_format                     | rev_content_model                    |
+--------+----------+-------------+--------------------------+----------+---------------+----------------+----------------+-------------+---------------+---------+--------------------+----------------------------------------+--------------------------------------+
| 259571 |     1315 |      259482 | 0x                       |        1 | Joan          | 20200901221249 |              0 |           0 |        259547 |   40598 | 0x                 | 0x                                     | 0x   

mysql> delete from revision where rev_id=259571;

===
mysql -u root -p wikidb117 -f < copia_wikidb117_200902.dmp > control_errors.log 2>&1

mysql> select * from revision where rev_id=259571;
+--------+----------+-------------+--------------------------+----------+---------------+----------------+----------------+-------------+---------------+---------+--------------------+----------------------------------------+--------------------------------------+
| rev_id | rev_page | rev_text_id | rev_comment              | rev_user | rev_user_text | rev_timestamp  | rev_minor_edit | rev_deleted | rev_parent_id | rev_len | rev_sha1           | rev_content_format                     | rev_content_model                    |
+--------+----------+-------------+--------------------------+----------+---------------+----------------+----------------+-------------+---------------+---------+--------------------+----------------------------------------+--------------------------------------+
| 259571 |     1315 |      259482 | 0x                       |        1 | Joan          | 20200901221249 |              0 |           0 |        259547 |   40598 | 0x                 | 0x                                     | 0x   


select * from text where old_id=259482;

select rev_text_id from revision r, text t where r.rev_text_id=t.old_id and rev_text_id=259482;

select rev_text_id from revision r where rev_text_id not in (select rev_text_id from revision r, text t where r.rev_text_id=t.old_id);
n'hi ha 1000 i pico. la última:
259484
insert into text(old_id,old_text,old_flags) values (259484,'Dummy','utf-8');
i ara n'hi ha una menys

$ mysql -h localhost -u root -p -s wikidb117 -e 'select rev_text_id from revision r where rev_text_id not in (select rev_text_id from revision r, text t where r.rev_text_id=t.old_id)' > hola.txt
(oblidar-se d'això)

---
===
Original exception: [8859ac7674fd0fd1709be640] /wikijoan/ MediaWiki\Revision\RevisionAccessException from line 1676 of /var/www/mediawiki-1.34.2/includes/Revision/RevisionStore.php: Main slot of revision 259571 not found in database!

https://www.mediawiki.org/wiki/Topic:Uvtlb8b13u3a6uw8

Maybe you need to set $wgMultiContentRevisionSchemaMigrationStage to SCHEMA_COMPAT_OLD or SCHEMA_COMPAT_WRITE_BOTH | SCHEMA_COMPAT_READ_OLD. The default value is changing between versions and maybe the update script is not taking the default setting into account correctly (a BUGREPORT may be worth)

això és lo important!!
===
i ara traspasso wikidb117, que ja funciona, a wikidb134
mysqldump --add-drop-table -i -C -u root -p -r ~/copia_wikidb117_2000910.sql -v wikidb117
mysql -u root -p wikidb134 -f < copia_wikidb117_200919.dmp > control_errors.log 2>&1
ara edito LocalSettings.php, per tal de tornar a fer vàlida la bd wikidb134
===
Error: 1054 Unknown column 'ipb_sitewide' in 'field list' (localhost)

solució:
ALTER TABLE  ipblocks   ADD ipb_sitewide bool NOT NULL default 1;

Configurar noip i sortir per wiki.joanillo.org[modifica]

Vaig a Arsys.es per gestionar els DNS.
L'objectiu és que wiki.joanillo.org es redirigeixi al VPS de OVHCloud
i veig que wiki.joanillo.org es redirigeix a joanqc.no-ip.biz. Això està bé. És a https://www.noip.com/ on s'han de fer els canvis.

El que he de fer és instal·lar, en el meu VPS, el client de noip per tal de què s'envïi la informació a noip. En la pàgina web de noip tind el duc: dynamic update client. És el client que s'haurà d'executar en el meu VPS.

1. Download the DUC and save the file to: /usr/local/src
Open terminal and execute the following:
2. cd /usr/local/src
3. tar xzf noip-duc-linux.tar.gz
4. cd no-ip-2.1.9
5. make
6. make install
7. Create the configuration file: /usr/local/bin/noip2 -C
You will be prompted to enter your username and password for No-IP, and for the hostnames you wish to update.
8. Launch the DUC: /usr/local/bin/noip2

ara wiki.joanillo.org ja s'està redirigint a OVHCloud
$ ping wiki.joanillo.org
PING joanqc.no-ip.biz (51.210.179.7) 56(84) bytes of data.
64 bytes from vps-f5d83567.vps.ovh.net (51.210.179.7): icmp_seq=1 ttl=47 time=31.0 ms

http://wiki.joanillo.org/ -> m'apareix la pàgina web per defecte de l'Apache

El problema ara és que el meu servidor web no sap què és wiki.joanillo.org. He de configurar el meu Apache (i també el meu LocalSettings.php)

$ sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/wiki.joanillo.org.conf
$ sudo joe /etc/apache2/sites-available/wiki.joanillo.org.conf

ServerName wiki.joanillo.org
ServerAlias wiki.joanillo.org
DocumentRoot /var/www/mediawiki-1.34.2/
Hem d'habilitar aquest site, creant un enllaç simbòlic a sites-enabled:

$ sudo a2ensite wiki.joanillo.org.conf
Reiniciem el servei amb qualsevol d'aquestes comandes:

$ sudo systemctl restart apache2
$ sudo service apache2 restart
$ sudo /etc/init.d/apache2 restart


Ara http://wiki.joanillo.org
ja ho fa bé, però em redirigeix a:
*http://vps-f5d83567.vps.ovh.net/wikijoan/index.php/P%C3%A0gina_principal
Ara ja és un tema d'editar LocalSettings.php:

#$wgScriptPath = "/wikijoan";
$wgScriptPath = "";

## The protocol and server name to use in fully-qualified URLs
#$wgServer = "http://vps-f5d83567.vps.ovh.net";
$wgServer = "http://wiki.joanillo.org";

mediawiki: wikijoan.joanillo.org[modifica]

Ara que ja he fet la migració de wiki.joanillo.org, la migració de wikijoan.joanillo.org serà més fàcil. (TBD)

wordpress: www.joanillo.org[modifica]

Instal·lació versió 5.5.1[modifica]

última versió: 5.5.1

$ cd /var/www
$ sudo wget https://ca.wordpress.org/latest-ca.tar.gz
$ sudo tar xvzf latest-ca.tar.gz
$ sudo chown www-data:www-data -R wordpress/
$ sudo joe /etc/apache2/sites-available/000-default.conf

    Alias /blogjoanillo "/var/www/wordpress/"
    <Directory "/var/www/wordpress/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride all
        Order deny,allow
        #Deny from all
        #Allow from 127.0.0.0/255.0.0.0 ::1/128
        Allow from all
        DirectoryIndex index.html default.html index.php
    </Directory>

$ sudo cp /etc/apache2/sites-available/wiki.joanillo.org.conf /etc/apache2/sites-available/www.joanillo.org.conf
$ sudo joe /etc/apache2/sites-available/www.joanillo.org.conf

ServerName www.joanillo.org
ServerAlias www.joanillo.org
DocumentRoot /var/www/wordpress/

Hem d'habilitar aquest site, creant un enllaç simbòlic a sites-enabled:

$ sudo a2ensite www.joanillo.org.conf

Reiniciem el servei amb qualsevol d'aquestes comandes:

$ sudo systemctl restart apache2
$ sudo service apache2 restart
$ sudo /etc/init.d/apache2 restart

ja funcionen:

CREATE DATABASE IF NOT EXISTS `blogjoanillo` DEFAULT CHARACTER SET `utf8` COLLATE `utf8_unicode_ci`;

blogjoanillo
root
S*******
localhost

Títol lloc web: joanillo.org
nom d'usuari: joanillo
pwd: S*******

i ja tenim la instal·lació feta.

Fem una còpia de la base de dades acabada d'instal·lar:

$ mysqldump --add-drop-table -i -C -u root -p -r ~/copia_blogjoanillo_200911.dmp -v blogjoanillo

Tema twentytwelve[modifica]

Escullo twentytwelve, que és un tema minimalista:

$ cd /var/www/wordpress/wp-content/themes
$ sudo wget https://downloads.wordpress.org/theme/twentytwelve.3.2.zip
$ sudo unzip twentytwelve.3.2.zip

i més tard el configuraré

categories i etiquetes[modifica]

Faig la migració de totes les categories que tinc. Un cop tingui tots els posts, hauré d'associar les categories als posts.

select * from wp_terms;
1	Uncategorized	uncategorized	0
6	Convocatoria VIDA	convocatoria-vida	0
3	Links	links	0
5	Arduino	arduino	0
7	Música Electrònica	electronic-music	0
...

Les introdueixo manualment.

Configuració de plugins[modifica]

Altres projectes web[modifica]

langtrainer[modifica]

(TBD)

rutesGPS[modifica]

(TBD)

retroplaneta[modifica]

(TBD)

dòlmens[modifica]

(TBD)

esglésies romàniques[modifica]

(TBD)

arthropoda[modifica]

(TBD)



creat per Joan Quintana Compte, setembre 2020