Projecte

General

Perfil

Accions

InstallarInvenio112 » Historial » Revisió 9

« Anterior | Revisió 9/10 (diferències) | Següent »
Ferran Jorba, 11-06-2015 10:44


Installar Invenio 1.1.2

Aquests passos són la simplificació de la migració de proves de Traces a 1.1.2, documentada a
http://wikis.bib.uab.cat/projects/Traces/wiki/InstallarInvenio112. En el cas de Traces-test, la migració era més complicada perquè teníem que unificar les particularitats del DDD i les d'IFMuC. Traces no n'havia tingut cap.

Ara que Traces-test ja ho té unificat, només es tracta d'agafar els patches i aplicar-los al DDD-test.

Actualització de la base de dades

Com que la base de dades de proves és molt antiga i obsoleta, val la pena agafar un backup recent (el d'ahir, p. ex.) i instal·lar-lo a proves. El copiem amb rsync, i hi canviem les referències de les URLs amb sed, i el resultat el guardem també comprimit, perquè anem justos d'espai de disc:

ddd@nuix:~/migracio$ rsync -av ddd@homs:/var/backups/mysql/ddduab-dbdump-2015-06-10_02:00:02.sql.gz .
ddd@nuix:~/migracio$ zcat ddd-dbdump-2015-06-10_02\:00\:02.sql.gz | sed 's|http://ddd.uab.cat|http://ddd-test.uab.cat:2000|g; s|https://ddd.uab.cat|https://ddd-test.uab.cat|g' | gzip -9 >ddd-test.sql.gz

Important: cal fer un bibsched stop abans de pujar el backup a la base de dades!!!

traces@nuix:~/migracio$ time zcat traces-test.sql.gz | dbexec ; date

Error: duplicated key

Com que dóna aquest error de clau duplicada en els índexos de fulltext, farem la càrrega sense el dbexec, i hi afegirem el --force

I executar el webcoll a proves.

I ja està a punt per fer la migració pròpament dita.

Backup de la instal·lació actual

ddd@nuix:~$ tar cvfz invenio-1.1.1.tar.gz invenio/.git invenio/bin invenio/etc invenio/lib invenio/share

Instal·lar la versió 1.1.2

Aquesta vegada hem cregut que val la pena crear una branca nova de git. Primer, desfarem la història dels patches de la 1.1.0 (inclou la 1.1.1). Seguirem el tutorial https://ddd.uab.cat/record/93913:

$ ddd@nuix:~/invenio$ q pop make-install_1.1.1.patch
$ ddd@nuix:~/invenio$ q push
$ ddd@nuix:~/invenio$ q top
install-1.1.1.patch
ddd@nuix:~/invenio$ git checkout -b invenio-1.1.2
Switched to a new branch 'invenio-1.1.2'
ddd@nuix:~/invenio$ guilt init

Com que sabem que havent fet el pop, ja no es podrà connectar a la base de dades, hem de fer un patch específic ara mateix:

ddd@nuix:~/invenio$ q new fix-database-user-and-pass.patch
ddd@nuix:~/invenio$ jmacs lib/python/invenio/dbquery.py
## both here and in inveniocfg when the time permits.
CFG_DATABASE_HOST = 'localhost'
CFG_DATABASE_PORT = '3306'
CFG_DATABASE_NAME = 'ddduab'
CFG_DATABASE_USER = 'ddd'    
CFG_DATABASE_PASS = 'xxyyzz'
CFG_DATABASE_SLAVE = ''
traces@nuix:~/invenio$ q refr

Ara que ja es podrà connectar a la base de dades, ja podrem continuar amb les instruccions:

ddd@nuix:~/download/invenio/invenio-1.1.2$ make check-upgrade
/usr/bin/python ./modules/miscutil/lib/inveniocfg_upgrader.py . --upgrade-check
>>> WARNING: compiletime version 2.6 of module 'lib.intbitset' does not match runtime version 2.7
>>> Following upgrade(s) have not been applied yet:
>>>  * invenio_2012_11_15_hstRECORD_marcxml_longblob (Increase of hstRECORD.marcxml storage to longblob)
>>>  * invenio_2012_11_21_aiduserinputlog_userid_check (Check existence of aidUSERINPUTLOG.userid column)
>>>  * invenio_2012_11_01_lower_user_email (Lowering user.email values)
>>>  * invenio_2012_10_31_tablesorter_location (Standardisation of the jQuery tablesorter location)
>>> Running pre-upgrade checks...
>>> pre_check_custom_templates: Checking custom templates...
>>> pre_check_bibsched: Checking bibsched process...
>>> Upgrade check successful - estimated time for upgrading Invenio is less than 1 day...
ddd@nuix:~/download/invenio/invenio-1.1.2$ 

Abans de fer el make install:

Sobretot! Crear un nom nom per al patch d'instal·lació (a la Traces de proves ens en vam oblidar, no hi és):

ddd@nuix:~/invenio$ q new make-install-1.1.2.patch

Des del directori de download:

ddd@nuix:~/download/invenio/invenio-1.1.2$ make install
make  install-recursive
make[1]: Entering directory `/home/ddd/download/invenio/invenio-1.1.2'
Making install in po
make[2]: Entering directory `/home/ddd/download/invenio/invenio-1.1.2/po'
/bin/sh /home/ddd/download/invenio/invenio-1.1.2/install-sh -d /home/ddd/invenio/share
installing af.gmo as /home/ddd/invenio/share/locale/af/LC_MESSAGES/invenio.mo
[...]
 /bin/mkdir -p '/home/ddd/invenio/etc/build'
 /usr/bin/install -c config.nice '/home/ddd/invenio/etc/build'
for d in / /cache /cache/RTdata /log /tmp /tmp-shared /data /run /tmp-shared/bibencode/jobs/done ; do    \
        mkdir -p /home/ddd/invenio/var$d ;        \
    done
************************************************************
** Invenio software has been successfully installed!      **
**                                                        **
** You may proceed to customizing your installation now.  **
************************************************************
make[3]: Leaving directory `/home/ddd/download/invenio/invenio-1.1.2'
make[2]: Leaving directory `/home/ddd/download/invenio/invenio-1.1.2'
make[1]: Leaving directory `/home/ddd/download/invenio/invenio-1.1.2'
You have new mail in /var/mail/ddd
ddd@nuix:~/download/invenio/invenio-1.1.2$

Consolidar els canvis via guilt:

ddd@nuix:~/invenio$ q files | wc -l
134
ddd@nuix:~/invenio$ q refr
Patch make-install-1.1.2.patch refreshed
ddd@nuix:~/invenio$ git status
# On branch guilt/invenio-1.1.2
# Untracked files:
[...]
ddd@nuix:~/invenio$ q add bin/websubmitadmin lib/python/invenio/bibformat_elements/bfe_arttype.py lib/python/invenio/bibformat_utils_unit_tests.py lib/python/invenio/memoiseutils.py lib/python/invenio/intbitset-2.6.so lib/python/invenio/memoiseutils_unit_tests.py lib/python/invenio/ping_webinterface.py lib/python/invenio/websubmitadmincli.py
ddd@nuix:~/invenio$ q refr
Patch make-install-1.1.2.patch refreshed
ddd@nuix:~/invenio$ q files | wc -l
142

Continuem amb les instruccion del CERN. La primera (rsync) no, perquè aplicarem els nostres canvis via guilt

En el cas del DDD, aprofitarem que de Traces ja ho tenim força compactat en 36 patches. Ens saltarem els dos primers (make-install i el fix-database-and-password.patch).

Atenció! no ens hem d'oblidar del tac, per que l'ordre sigui l'invers:

ddd@nuix:~/invenio$ for patch in $(cat ~traces/invenio/.git/patches/invenio-1.1.2/series | awk 'NR > 2' | tac); do echo $patch; done
ddd@nuix:~/invenio$ for patch in $(cat ~traces/invenio/.git/patches/invenio-1.1.2/series | awk 'NR > 2' | tac); do echo $patch; q import ~traces/invenio/.git/patches/invenio-1.1.2/$patch; done

I ara els aplicarem:

ddd@nuix:~/invenio$ q push

Actualitzat per Ferran Jorba fa quasi 11 anys · 10 revisions