Changes between Version 16 and Version 17 of Version2/Instalacion


Ignore:
Timestamp:
Sep 7, 2011, 4:47:10 PM (13 years ago)
Author:
adelcastillo
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Version2/Instalacion

    v16 v17  
    5050}}}
    5151
    52 * !OpenSUSE
     52* OpenSUSE
    5353{{{
    5454# zypper in postgresql
     
    7171}}}
    7272
    73 * !OpenSUSE
     73* OpenSUSE
    7474{{{
    7575zypper in python-virtualenv
     
    9292}}}
    9393
    94 * !OpenSUSE
     94* OpenSUSE
    9595{{{
    9696# zypper in subversion
     
    105105=== Configuración ===
    106106
    107 En el servidor es necesario que exista una base de datos que usarán los dos servicios. Por defecto es Sqlite, pero puedes cambiar la configuración en el fichero config.py para que no sea así. Para saber como configurar la base de datos usando mySQL, PostgreSQL, Oracle o cualquier otra base de datos que soporta SQLAlchemy echar un vistazo a [http://www.sqlalchemy.org/docs/05/dbengine.html#create-engine-url-arguments]. Después de hacer eso sólo habrá que ejecutar:
    108 
    109 {{{
    110 ./setup.sh
    111 }}}
    112 
    113 Esto generará la base de datos y también los fichero de traducción para los lenguajes soportados.
     107==== Instalación de entorno virtual ====
     108
     109Instalemos las dependencias python que tiene el servicio web a través de la herramienta VirtualEnv. Accedemos a el directorio server y ejecutamos:
     110
     111{{{
     112$ cd server/
     113$ virtualenv --distribute --no-site-packages env/
     114}}}
     115
     116Esto nos instala y configura un python2 mínimo en el directorio. Para activarlo e instalar las dependencias necesarias se ejecuta:
     117
     118{{{
     119$ source env/bin/activate
     120}}}
     121
     122Aparecerá al principio del prompt de la consola "(env)", esto nos indica que estamos utilizando el entorno virtual generado. Cada vez que vaya a utilizarse la web en la consola habrá que ejecutar este comando en el directorio "server". Para salir del entorno se puede ejecutar:
     123
     124{{{
     125$ deactive
     126}}}
     127
     128Aunque también se puede cerrar esa terminal sin que ocurra más problema.
     129
     130Para terminar de instalar las dependencias en este entorno virtual, debemos estar usandolo por lo que hay que asegurarse que aparece "(env)" al principio del prompt antes de ejecutar el siguiente comando:
     131
     132{{{
     133$ pip-2.7 install -r dependencies.txt
     134}}}
     135
     136Este comando sólo habrá que usarlo una vez ya que es un proceso de instalación y una vez hecho no habrá que repetirlo.
     137
     138==== Instalación de SQLAlquemy ====
     139
     140En el servidor es necesario que exista una base de datos que usarán los dos servicios. Por defecto es SQLAlquemy, pero se puede cambiar la configuración en el fichero server/web/config.py para que no sea así. Por defecto encontramos en este fichero algo así:
     141
     142{{{
     143#DB = 'sqlite:///database.sqlite'
     144DB = 'postgresql://opengnsys:opengnsys@localhost/opengnsys'
     145}}}
     146
     147Para saber como configurar la base de datos usando mySQL, PostgreSQL, Oracle o cualquier otra base de datos que soporta SQLAlchemy echar un vistazo a [http://www.sqlalchemy.org/docs/05/dbengine.html#create-engine-url-arguments].
     148
     149Vamos a configurar el SQLAlquemy para que funcione tal como viene por defecto en este fichero, aunque puede ser modificado para adaptarse a cualquier necesidad. Para ello hay que asegurarse de que el servicio está funcionando:
     150
     151{{{
     152# /etc/init.d/postgres start
     153}}}
     154
     155
     156Ahora entramos como usuario postgres para realizar las operaciones, existen dos maneras según el sistema usado:
     157
     158{{{
     159$ sudo -i -u postgres
     160}}}
     161{{{
     162$ su root
     163$ su - postgres
     164}}}
     165
     166Nuestro prompt habrá cambiado para recordarnos que ahora somos el usuario postgres. Ahora procedemos a crear un usuario para la base de datos llamado "opengnsys". Cuando pregunte por la contraseña debemos poner también "opengnsys" para que funcione con la configuración por defecto.
     167
     168{{{
     169$ createuser -D -R -S -P opengnsys
     170}}}
     171
     172Una vez creado procedemos a crear una base de datos también llamada "opengnsys" y que pertenezca al usuario creado anteriormente:
     173
     174{{{
     175$ createdb -T template0 -E UTF8 opengnsys -O opengnsys
     176}}}
     177
     178Con esto ya tenemos configurado PostgreSQL.
     179
     180Nota: Si no arranca el servicio y en el fichero de log "/var/log/postgresql.log" aparece lo siguiente:
     181
     182{{{
     183postgres cannot access the server configuration file "/var/lib/postgres/data/postgresql.conf": No such file or directory
     184}}}
     185
     186Probad a ejecutar como usuario postgres:
     187
     188{{{
     189initdb -D /var/lib/postgres/data/
     190}}}
     191
     192Y volver a intentar arrancar el servicio de nuevo.
     193
     194==== Instalación de SQLite ====
     195
     196Si optamos por no usar PostreSQL y queremos una opción más sencilla (y mucho menos escalable) podemos utilizar SQLite. Si cambiamos el fichero "server/web/config.py" de esta manera:
     197
     198{{{
     199DB = 'sqlite:///database.sqlite'
     200#DB = 'postgresql://opengnsys:opengnsys@localhost/opengnsys'
     201}}}
     202
     203Usará una base de datos sqlite que no necesita configuración ni instalación adicional. Todos los datos se guardarán en el archivo "database.sqlite" que se generará automáticamente en el siguiente paso.
     204
     205==== Creación de la base de datos ====
     206
     207Simplemente accedemos al directorio "server/web/" y ejecutamos:
     208
     209{{{
     210$ cd server/web/
     211$ ./db.py
     212}}}
     213
     214Esto generará las tablas necesarias en la base de datos.
     215
     216==== Generación de traducciones ====
     217
     218Al igual que en el caso anterior vamos al directorio "server/web/" y ejecutamos lo siguiente:
     219
     220{{{
     221$ cd server/web/
     222$ ./i18n_make.sh
     223$ ./i18n_make_plugin.sh
     224}}}
     225
     226Esto generará los ficheros .mo a partir de los .po encontrados.
     227
    114228
    115229=== SSL Setup ===
     
    185299}}}
    186300
    187 * !OpenSUSE
     301* OpenSUSE
    188302{{{
    189303# zypper in dnsmasq
     
    210324}}}
    211325
    212 * !OpenSUSE (TODO) es samba el paquete?
     326* OpenSUSE (TODO) es samba el paquete?
    213327{{{
    214328# zypper in samba
     
    243357}}}
    244358
    245 * !OpenSUSE (TODO) es samba el paquete?
     359* OpenSUSE (TODO) es samba el paquete?
    246360{{{
    247361# zypper in nfs-server