Guía de Instalación de KMKey

Ya hemos explicado anteriormente cómo instalarse KMKey de forma rápida, pero vamos a explicar también como hacerlo paso a paso, de forma detallada.

En primer lugar necesitamos un sistema GNU/Linux base, a ser posible Debian stable, aunque en Ubuntu funcionaremos sin inconveniente. Si somos de Windows, entonces lo primero es bajarse una versión nuevecita de la VirtualBox e instalarla. Después nos descargaremos el CD 1 o Netinst de Debian, lo conectaremos al CDROM de la máquina física o virtual, y procederemos a instalar el sistema básico. No son necesarios entornos gráficos ni paquetes adicionales, a posteriori instalaremos los imprescindibles.

En cuanto al hardware, las recomendaciones para un servidor de producción de buen rendimiento son 2 GB de RAM, 2 o 3 procesadores de velocidad >= 3 GHz y discos de buena calidad (a ser posible en RAID y de 15.000 rpm). Aunque obviamente se puede funcionar con menos, eso es lo recomendable para un KMKey que se vaya a usar con cierta intensidad.

Una vez tenemos nuestro Linux, entramos con usuario root y empezamos. Las instrucciones indicadas en esta guia son válidas para Debian Lenny, aunque pueden servir de ejemplo para la instalación en otras distribuciones:

1) Verificar que en /etc/apt/sources.list disponemos de acceso a los repositorios "main", "contrib" y "non-free". Por ejemplo:

deb http://ftp.us.debian.org/debian/ lenny main contrib non-free

2) Instalación de paquetes

apt-get update
apt-get -y install make gcc libc6 libc6-dev gettext apache2 subversion python2.4 python2.4-dev python2.4-egenix-mxdatetime xlhtml ppthtml xsltproc wv catdoc poppler-utils python-lxml patch lynx icewm-lite xserver-xorg xfonts-75dpi xfonts-100dpi xbase-clients exim4 tightvncserver xfonts-base sudo less ytnef gs-common msttcorefonts ntpdate

3) Creamos usuario zope

adduser zope

4) Instalamos Zope 2.9.4

wget -c http://www.zope.org/Products/Zope/2.9.4/Zope-2.9.4-final.tgz
tar -zxf Zope-2.9.4-final.tgz
cd Zope-2.9.4-final
vi configure y cambiar ACCEPTABLE="2.4.1 2.4.2" por ACCEPTABLE="2.4.1 2.4.2 2.4.3 2.4.4 24.5 2.4.6"
./configure --prefix=/usr/local/zope294
make
make install
chown -R zope.zope /usr/local/zope294

ln -s /usr/local/zope294 /usr/local/zope

5) Creamos la instancia zope para KMKey

mkdir /usr/local/kmkey
chown -R zope.zope /usr/local/kmkey
su zope
cd /usr/local/zope
bin/mkzopeinstance.py -d /usr/local/kmkey/zope -u admin:tupassword


6) Si queremos usar RelStorage, esto es, ZODB implementado sobre una BBDD postgresql, procedemos a su instalación. ATENCIÓN, este paso es opcional, y algunas de las instrucciones que se indican pueden NO ser recomendadas en servidores compartidos con otros servicios.

apt-get install patch python-psycopg2 postgresql-client-8.3 postgresql-8.3
/etc/init.d/postgresql-8.3 stop
mv /var/lib/postgresql/8.3 /var/zope/postgresql_8.3
ln -s /var/zope/postgresql_8.3 /var/lib/postgresql/8.3
chown postgres.postgres /var/lib/postgresql/8.3
dpkg-reconfigure locales (añadir es_ES@euro si no está)

su postgres
cd /var/lib/postgresql/8.3
mv main main_old
/usr/lib/postgresql/8.3/bin/initdb /var/lib/postgresql/8.3/main/ --locale=es_ES@euro --lc-ctype=es_ES@euro
cp main_old/postmaster.opts main/
/usr/lib/postgresql/8.3/bin/pg_resetxlog main
cp main_old/*crt main
cp main_old/*key main
exit

/etc/init.d/postgresql-8.3 start
cd
wget http://pypi.python.org/packages/source/R/RelStorage/RelStorage-1.1.3.tar.gz
tar xzf RelStorage-1.1.3.tar.gz
cd RelStorage-1.1.3
export PYTHONPATH="/usr/local/zope/lib/python/"
python2.4 setup.py install --install-lib=/usr/local/zope/lib/python
cd /usr/local/zope/lib/python/ZODB
patch < $HOME/RelStorage-1.1.3/poll-invalidation-1-zodb-3-7-1.patch su postgres psql -c "CREATE USER zope WITH password 'tupassword' createdb" template1 exit su zope createdb kmkey_zodb


Editamos /usr/local/kmkey/zope/etc/zope.conf y cambiamos el zodb_db main por este otro:

%import relstorage
<zodb_db>
mount-point /
cache-size 15000
<relstorage>
<postgresql>
dsn dbname='kmkey_zodb' user='zope' host='localhost' password='tupassword'
</postgresql>
</relstorage>
</zodb_db>


7) Añadir productos KMKey a Zope

su zope
cd /usr/local/kmkey
mkdir source
cd source
echo "Please accept our certificate"
svn co https://joinup.ec.europa.eu/svn/kmkey/bundles/kmkey-stable
ln -s kmkey-stable current
cd current
python2.4 KMKeyCore/utils/generate_mo_files.py
cp ZOORRA/zoorra-config.xml.default ZOORRA/zoorra-config.xml
cp ZOORRA/server/zoorrad-config.xml.default ZOORRA/server/zoorrad-config.xml
cd /usr/local/kmkey/zope/Products
ln -s ../../source/current/* .
exit

cd /usr/local/kmkey/zope/Products/TextIndexNG3/extension_modules
python2.4 setup.py install


8) Creamos un script de arranque y reiniciamos Zope

cat > /etc/init.d/kmkey <<EOF
#!/bin/bash
su -c "/usr/local/kmkey/zope/bin/zopectl \$@" zope
EOF
chmod a+x /etc/init.d/kmkey
update-rc.d kmkey defaults 90 10
/etc/init.d/kmkey restart


9) Si queremos tener apache delante, entonces lo configuramos

cd /etc/apache2/mods-enabled
ln -s ../mods-available/proxy_balancer.load .
ln -s ../mods-available/proxy.conf .
ln -s ../mods-available/proxy.load .
ln -s ../mods-available/proxy_http.load .
ln -s ../mods-available/deflate.* .

cat > /etc/apache2/sites-available/kmkey <<EOF
ServerAdmin tu@tudominio.com
ErrorLog /var/log/apache2/error.log
LogLevel warn
CustomLog /var/log/apache2/access.log combined
<proxy balancer://lb>
BalancerMember http://127.0.0.1:8080
ProxySet lbmethod=byrequests
ProxySet stickysession=STICKY_ROUTE
Order allow,deny
Allow from all
</proxy>

ProxyRequests Off
ProxyVia On
<LocationMatch "^[^/]">
Deny from all
</LocationMatch>

LoadModule rewrite_module /usr/lib/apache2/modules/mod_rewrite.so
RewriteEngine On
RewriteRule ^/(.*) balancer://lb/VirtualHostBase/http//%{HTTP_HOST}:80/kmkey/VirtualHostRoot/\$1 [L,P]
EOF

cd /etc/apache2/sites-enabled
rm 000-default
ln -s ../sites-available/kmkey 000-default

10) Finalmente, si queremos poder obtener listados en formatos MS-Office o PDF, necesitaremos configurar OpenOffice y ZOORRA:

apt-get install python-uno openoffice.org-writer openoffice.org-calc
ln -s /usr/local/kmkey/zope/Products/ZOORRA/server /usr/local/zoorra
cd /usr/local/zoorra
Ajustar /usr/local/zoorra/zoorrad-config.xml
ln -s /usr/local/zoorra/zoorrad.sh /etc/init.d
update-rc.d zoorrad.sh defaults 95
/etc/init.d/zoorrad.sh start

su zope
cd /usr/local/kmkey/zope/Products/ZOORRA
cat > zoorra-config.xml
<oood-config><openoffice_python_path value="/usr/bin/python2.5"><python_uno_path value=""><pdf_conversion_method value="ps2pdf"><connection_string value="socket,host=localhost,port=2002"><conversion_timeout value="120">
exit
/etc/init.d/kmkey restart


Y esto es todo amigos, a disfrutar de vuestro KMKey, y no os olvideis de activar unas copias de seguridad de datos

Etiquetas: