Fumados II

Este video se recomienda mirarlo bajos los placenteros efectos del Cannabis ;)

Upgrade Redmine 1.2.2 > 1.3.0 en Debian Squeeze

En el dia de ayer, se publicó la versión 1.3.0 de Redmine y en mi actual instalación tengo la versión 1.2.2, estos son los pasos para hacer un upgrade de la instalación a la versión 1.3.0

Importante! Si siguen las instrucciones oficiales para realizar el upgrade con el comando svn update, la versión que tendrán será la 1.2.3, no la 1.3.0

Instalar dependencias

1
2
3
4
server:~# cd /var/lib/redmine/
server:~# gem install rdoc -v=2.4.2
server:~# gem install rails -v=2.3.14
server:~# gem uninstall rails -v=2.3.11
server:~# cd /var/lib/redmine/
server:~# gem install rdoc -v=2.4.2
server:~# gem install rails -v=2.3.14
server:~# gem uninstall rails -v=2.3.11

Como verán, prefiero desinstalar la versión en uso de rails (-v=2.3.11), pero deben editar el archivo config/environment.rb y cambiar la linea:
RAILS_GEM_VERSION = ’2.3.11′
por lo siguiente:
RAILS_GEM_VERSION = ’2.3.14′

Backup Backup Backup imagine a Steve Ballmer gritando backup! backup! backup!

1
2
server:~# mysqldump -u <username> -p database | gzip > /backup/redmine-db_`date +%y_%m_%d`.gz
server:~# tar -cvzf /backup/redmine-files_`date +%y_%m_%d`.gz /var/lib/redmine/files
server:~# mysqldump -u <username> -p database | gzip > /backup/redmine-db_`date +%y_%m_%d`.gz
server:~# tar -cvzf /backup/redmine-files_`date +%y_%m_%d`.gz /var/lib/redmine/files

Ahora si podemos ejecutar svn update

1
2
3
4
5
server:~# svn update
*
*
*
server:~# Checked out revision 8180.
server:~# svn update
*
*
*
server:~# Checked out revision 8180.

Pueden ver que la copia local hizo update a la revision 8180, que no es la 1.3.0, sino la 1.2.3 pero a no preocuparse.

Actualizamos la base de datos y los plugins

1
2
server:~# rake db:migrate RAILS_ENV=production
server:~# rake db:migrate_plugins RAILS_ENV=production
server:~# rake db:migrate RAILS_ENV=production
server:~# rake db:migrate_plugins RAILS_ENV=production

Hacemos una limpieza de sesiones y cache

1
2
server:~# rake tmp:cache:clear
server:~# rake tmp:sessions:clear
server:~# rake tmp:cache:clear
server:~# rake tmp:sessions:clear

Reiniciamos Apache, ingresamos a nuestro Redmine y en Administration–> Information vemos que la versión es la 1.2.3, no la 1.3.0…

Dado que la instalación original de Redmine se hizo mediante un svn checkout, la url continua apuntando a la versión 1.2, debemos cambiarla

1
2
3
45
6
7
8
9
server:~# cd /var/lib/redmine
server:~# svn info | grep URL:
URL: http://redmine.rubyforge.org/svn/branches/1.2-stable
server:~# svn switch http://redmine.rubyforge.org/svn/branches/1.3-stable*
*
*
*
server:~# Checked out revision 8188.
server:~# cd /var/lib/redmine
server:~# svn info | grep URL:
URL: http://redmine.rubyforge.org/svn/branches/1.2-stable
server:~# svn switch http://redmine.rubyforge.org/svn/branches/1.3-stable
*
*
*
*
server:~# Checked out revision 8188.

Nuevamente actualizamos la base de datos y los plugins (ahora si actualiza la DB)

1
2
server:~# rake db:migrate RAILS_ENV=production
server:~# rake db:migrate_plugins RAILS_ENV=production
server:~# rake db:migrate RAILS_ENV=production
server:~# rake db:migrate_plugins RAILS_ENV=production

Hacemos una limpieza de sesiones y cache

1
2
server:~# rake tmp:cache:clear
server:~# rake tmp:sessions:clear
server:~# rake tmp:cache:clear
server:~# rake tmp:sessions:clear

Reiniciamos Apache, ingresamos a nuestro Redmine y en Administration–> Information, ahora vemos que la versión es la 1.3.0

Click para agrandar

Compilar e instalar Proftpd + mod_sftp en Debian

El paquete Proftpd en Debian por defecto no trae soporte para mod_sftp, en mi caso particular utilizo este en vez del Subsystem sftp de SSH, que nunca lo pude configurar a mi gusto y tampoco me provee de todas las opciones que mod_sftp pone a mi disposición.

El primer paso es instalar el source y algunas dependencias

12345
6
7
8
9
10
11
12
13
14
15
16
1718
19
20
21
22
23
24
25
26
27
28
29
server:~# cd /usr/local/srcserver:~# aptitude install build-essential openssl libssl-dev devscriptsserver:/usr/local/src# cd proftpd-dfsg-1.3.3aserver:/usr/local/src# apt-get source proftpd-dfsgReading package lists... Done
Building dependency tree
Reading state information... Done
Need to get 4,828 kB of source archives.
Get:1 http://security.debian.org/ squeeze/updates/main proftpd-dfsg 1.3.3a-6squeeze4 (dsc) [1,426 B]
Get:2 http://security.debian.org/ squeeze/updates/main proftpd-dfsg 1.3.3a-6squeeze4 (tar) [4,719 kB]
Get:3 http://security.debian.org/ squeeze/updates/main proftpd-dfsg 1.3.3a-6squeeze4 (diff) [108 kB]
Fetched 4,828 kB in 10s (442 kB/s)
dpkg-source: info: extracting proftpd-dfsg in proftpd-dfsg-1.3.3a
dpkg-source: info: unpacking proftpd-dfsg_1.3.3a.orig.tar.gz
dpkg-source: info: applying proftpd-dfsg_1.3.3a-6squeeze4.diff.gz
 
server:/usr/local/src# apt-get build-dep proftpd-dfsgReading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
dpatch libacl1-dev libattr1-dev libaudio2 libcap-dev libdrm-intel1 libdrm-radeon1 libdrm2 libgl1-mesa-dri libgl1-mesa-glx libglu1-mesa libice6 liblcms1 libltdl-dev libmng1 libncurses5-dev libodbcinstq1c2 libqt3-mt libsm6 libtool
libwrap0-dev libxcursor1 libxdamage1 libxfixes3 libxi6 libxinerama1 libxmu6 libxrandr2 libxt6 libxxf86vm1 unixodbc-dev
0 upgraded, 31 newly installed, 0 to remove and 2 not upgraded.
Need to get 23.3 MB of archives.
After this operation, 63.6 MB of additional disk space will be used.
Do you want to continue [Y/n]? Y
 
server:/usr/local/src# cd proftpd-dfsg-1.3.3a
server:~# cd /usr/local/src
server:~# aptitude install build-essential openssl libssl-dev devscripts
server:/usr/local/src# cd proftpd-dfsg-1.3.3a
server:/usr/local/src# apt-get source proftpd-dfsg
Reading package lists... Done
Building dependency tree
Reading state information... Done
Need to get 4,828 kB of source archives.
Get:1 http://security.debian.org/ squeeze/updates/main proftpd-dfsg 1.3.3a-6squeeze4 (dsc) [1,426 B]
Get:2 http://security.debian.org/ squeeze/updates/main proftpd-dfsg 1.3.3a-6squeeze4 (tar) [4,719 kB]
Get:3 http://security.debian.org/ squeeze/updates/main proftpd-dfsg 1.3.3a-6squeeze4 (diff) [108 kB]
Fetched 4,828 kB in 10s (442 kB/s)
dpkg-source: info: extracting proftpd-dfsg in proftpd-dfsg-1.3.3a
dpkg-source: info: unpacking proftpd-dfsg_1.3.3a.orig.tar.gz
dpkg-source: info: applying proftpd-dfsg_1.3.3a-6squeeze4.diff.gz

server:/usr/local/src# apt-get build-dep proftpd-dfsg
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
dpatch libacl1-dev libattr1-dev libaudio2 libcap-dev libdrm-intel1 libdrm-radeon1 libdrm2 libgl1-mesa-dri libgl1-mesa-glx libglu1-mesa libice6 liblcms1 libltdl-dev libmng1 libncurses5-dev libodbcinstq1c2 libqt3-mt libsm6 libtool
libwrap0-dev libxcursor1 libxdamage1 libxfixes3 libxi6 libxinerama1 libxmu6 libxrandr2 libxt6 libxxf86vm1 unixodbc-dev
0 upgraded, 31 newly installed, 0 to remove and 2 not upgraded.
Need to get 23.3 MB of archives.
After this operation, 63.6 MB of additional disk space will be used.
Do you want to continue [Y/n]? Y

server:/usr/local/src# cd proftpd-dfsg-1.3.3a

Una vez instaladas todas las dependencias, debemos editar el archivo /usr/local/src/proftpd-dfsg-1.3.3a/debian/rules y agregar al final de la sección CONF_ARGS la opción –with-modules=mod_sftp

1
2
3
4
5
CONF_ARGS := --prefix=/usr \
             --with-includes=$(shell pg_config --includedir):$(shell mysql_config --include|sed -e 's/-I//') \
             --mandir=/usr/share/man --sysconfdir=/etc/$(NAME) --localstatedir=/var/run --libexecdir=/usr/lib/$(NAME) \
             --enable-sendfile --enable-facl --enable-dso --enable-autoshadow --enable-ctrls --with-modules=mod_readme \
             --enable-ipv6 --enable-nls --with-modules=mod_sftp
CONF_ARGS := --prefix=/usr \
             --with-includes=$(shell pg_config --includedir):$(shell mysql_config --include|sed -e 's/-I//') \
             --mandir=/usr/share/man --sysconfdir=/etc/$(NAME) --localstatedir=/var/run --libexecdir=/usr/lib/$(NAME) \
             --enable-sendfile --enable-facl --enable-dso --enable-autoshadow --enable-ctrls --with-modules=mod_readme \
             --enable-ipv6 --enable-nls --with-modules=mod_sftp

Para evitar que con alguna actualización Debian nos reinstale Proftpd, debemos marcar el paquete como una versión exclusiva.

1
server:/usr/local/src/proftpd-dfsg-1.3.3a# dch -l local 'Proftpd with sftp support'
server:/usr/local/src/proftpd-dfsg-1.3.3a# dch -l local 'Proftpd with sftp support'

Y finalmente compilamos el paquete

1
server:/usr/local/src/proftpd-dfsg-1.3.3a# debuild -us -uc
server:/usr/local/src/proftpd-dfsg-1.3.3a# debuild -us -uc

Cuando este proceso termina, tendremos en /usr/local/src/ los *.deb generados

123
4
5
6
7
8
server:/usr/local/src/proftpd-dfsg-1.3.3a# cd ..server:/usr/local/src# ls -lh *.deb-rw-r--r--  1 root root 1.5M Nov 27 02:28 proftpd-doc_1.3.3a-6squeeze4local1_all.deb
-rw-r--r--  1 root root 347K Nov 27 02:28 proftpd-mod-ldap_1.3.3a-6squeeze4local1_i386.deb
-rw-r--r--  1 root root 338K Nov 27 02:28 proftpd-mod-mysql_1.3.3a-6squeeze4local1_i386.deb
-rw-r--r--  1 root root 340K Nov 27 02:28 proftpd-mod-odbc_1.3.3a-6squeeze4local1_i386.deb
-rw-r--r--  1 root root 338K Nov 27 02:28 proftpd-mod-pgsql_1.3.3a-6squeeze4local1_i386.deb
-rw-r--r--  1 root root 337K Nov 27 02:28 proftpd-mod-sqlite_1.3.3a-6squeeze4local1_i386.deb
server:/usr/local/src/proftpd-dfsg-1.3.3a# cd ..
server:/usr/local/src# ls -lh *.deb
-rw-r--r--  1 root root 1.5M Nov 27 02:28 proftpd-doc_1.3.3a-6squeeze4local1_all.deb
-rw-r--r--  1 root root 347K Nov 27 02:28 proftpd-mod-ldap_1.3.3a-6squeeze4local1_i386.deb
-rw-r--r--  1 root root 338K Nov 27 02:28 proftpd-mod-mysql_1.3.3a-6squeeze4local1_i386.deb
-rw-r--r--  1 root root 340K Nov 27 02:28 proftpd-mod-odbc_1.3.3a-6squeeze4local1_i386.deb
-rw-r--r--  1 root root 338K Nov 27 02:28 proftpd-mod-pgsql_1.3.3a-6squeeze4local1_i386.deb
-rw-r--r--  1 root root 337K Nov 27 02:28 proftpd-mod-sqlite_1.3.3a-6squeeze4local1_i386.deb

Asi da gusto navegar

Click para agrandar

Denis Ritchie (September 9, 1941 – October 8, 2011)

Mi humilde homenaje…