Instalación WAP
De Wiki
Revisión del 11:19 17 feb 2011 de Pablo (Discusión | contribuciones)
Contenido
- 1 Instalación
- 1.1 Inicio Instalación Debian
- 1.2 Modifico el sources.list
- 1.3 Actualizo la lista
- 1.4 Instalo el paquete mc
- 1.5 Instalo el paquete ssh
- 1.6 Instalo el paquete proftpd
- 1.7 Instalo el paquete apache
- 1.8 Instalacion de PhpPgAdmin
- 1.9 Instalo el paquete postgres
- 1.10 Instalo el paquete php5
- 1.11 Instalo el paquete php5-pgsql
- 2 Crear usuario
- 3 Configurar Placa de Red
- 4 Instalación Sisfl
- 5 Instalacion Esclava
- 6 Configuración Multi-esclavo
- 7 Configuración de Filtros
Instalación
Inicio Instalación Debian
Se instala desde el cd 1 de debian lenny
Modifico el sources.list
Edito el archivo de busqueda de paquetes
nano /etc/apt/sources.list
Comento todos los sources
Hay que ver bien porque el grulic esta caido asique hay que buscar nuevos repositorios
esto se hace poniendo # #deb cdrom:[Debian GNU/Linux 5.0.1 _Lenny_ - Official amd64 CD Binary-1 20090413-02:50]/ lenny main #deb cdrom:[Debian GNU/Linux 5.0.1 _Lenny_ - Official amd64 CD Binary-1 20090413-02:50]/ lenny main #deb http://security.debian.org/ lenny/updates main #deb-src http://security.debian.org/ lenny/updates main #deb http://volatile.debian.org/debian-volatile lenny/volatile main #deb-src http://volatile.debian.org/debian-volatile lenny/volatile main
Agrego el del grulic
Desde aqui los paquetes bajan mas rapido deb http://ftp.grulic.org.ar/debian/debian lenny main contrib non-free
Actualizo la lista
apt-get update
Instalo el paquete mc
apt-get install mc
Instalo el paquete ssh
apt-get install ssh
Configuro ssh
mcedit /etc/ssh/sshd_config Modifico PermitRootLogin No Le agrego la linea para q el user dgp sea el unico q entra via ssh AllowUsers dgp (si quiero agregar otro usuario para que ingrese debo solo separarlos por un espacio)
Instalo el paquete proftpd
apt-get install proftpd Se instala como independiente
Configuro proftpd
mcedit /etc/proftpd/proftpd.conf Es importante configurar q el usuario no pueda subir niveles. Eso se llama encarcelar DefaultRoot ~
El nombre ServerName "dgp"
reinicio todo o recinicio desde demonio /etc/init.d/"nombre" --help
El tipo (este se elijó al instalar) ServerType standalone mas referencais en [1]
Instalo el paquete apache
apt-get install apache2
Instalacion de PhpPgAdmin
Descargo PhpPgAdmin [2] Descompirmo PhpPgAdmin Creo con "mc" una carpeta donde voy a copiar el PhpPgAdmin, ejemplo de nombre "servers" Luego en el panel de la izquierda del mc me ubico en la carpeta "servers" y en el de la derecha me conecto
con el ftp (ejemplo: usuario@direccionip. Copio ahora la carpeta PhpPgAdmin en servers.
Edito config.inc.php: mcedit /servers/PhpPgAdmin/conf/config.inc.php y modifico $conf[`extra_login_security`]=false;
Configurar Alias
editar el archivo mcedit /etc/apache2/sites-enabled/000-default Copio el original sin modificarlo ni borarlo y lo copio abajo y lo dejo asi:
Alias /nombrealias "/donde/dejo/las/cosas" <Directory "/donde/dejo/las/cosas"> Options Indexes MultiViews FollowSymLinks AllowOverride None Order deny,allow Allow from all </Directory>
Instalo el paquete postgres
apt-get install postgresql-8.3
Cambio el pass del usuario postgres
esto es por q al instalarse no sabemso que password le puso
Me logueo como postgres
su postgres
Entro a la base que se crea por defecto
/usr/bin/psql template1
Ya estando logueado cambio la pass
template1=# \password
Me deslogueo
template1=# \q
Cambio el modo de acceso desde localhost a las bases de postgres
mcedit /etc/postgresql/8.3/main/pg_hba.confç (ojo este archivo puede estar en otor lado, dependiendo de donde se creo el cluster de postgres) edito la linea local all postgres ident sameuser reemplazandola por local all all md5
Instalo el paquete php5
apt-get install php5
Instalo el paquete php5-pgsql
Esto es para que se integre php con postgres apt-get install php5-pgsql
Crear usuario
Esto es para crear un usuario diferente, como por ejemplo "desarrollo" 1)Loguearse como root 2)adduser desarrollo --home /ubicacion/de/sitios/o/server/desarrollo 3) Esto crea las 3 entradas: Una en /etc/passwd otra en /etc/group otra en /etc/shadow
Configurar Placa de Red
1)Loguearse como root 2)mcedit /etc/network/interfaces iface eth0 inet static address 192.168.19.26 netmask 255.255.255.0 gateway 192.168.19.1 Guardamos los cambio 3)mcedit /etc/resolv.conf domain unc.local search unc.local nameserver 200.16.16.1 nameserver 200.45.191.35 Guardamos los cambio
Instalación Sisfl
1)Copio SIS desde el ftp a la carpeta \servers\Sistemas\ 2)Configurar Alias editar el archivo mcedit /etc/apache2/sites-enabled/000-default Copio el original sin modificarlo ni borarlo y lo copio abajo y lo dejo asi: Alias /nombrealias "/donde/dejo/las/cosas" <Directory "/donde/dejo/las/cosas"> Options Indexes MultiViews FollowSymLinks AllowOverride None Order deny,allow Allow from all </Directory>
Instalacion Esclava
Aunque el script python podría ejecutarse en windows, actualmente solo se soporta linux (debian) para el demonio de replicación esclavo. Note: psycopg en windows no viene con el soporte para select por defecto, y después de haberlo compilado, parece no funcionar correctamente (la conexión es cerrada inesperadamente cuando se usan transacciones y listen) Hay un servicio muy básico que puede ser usado en windows (service.py), pero como no se soporta signal/select, usa polling.
Instalación Esclava en Debian
* Restaurar el resguardo de la base de datos maestra * Instalar los paquetes requeridos (python2.4 y psycopg2) * Bajar los archivos de script a una ubicación bien definida (ej. /usr/local/pyreplica): * Copiar y modificar la configuración por cada base de datos esclava (ej. /etc/pyreplica/somedb.conf) * Hacer un enlace al script init.d * Agregar el usuario pyreplica (chequear uid/gid en su sistema y actualizar daemon.py) * Instalar el script init.d con update-rc.d (asi se inicia cuando la maquina se prende) * Iniciar pyreplica
Ejemplo de linea de comando: {{{ apt-get install python2.4 python-psycopg2 svn co http://www.nsis.com.ar/svn/pyreplica /usr/local/pyreplica cp /usr/local/pyreplica/sample.conf /etc/pyreplica/somedb.conf vi /etc/pyreplica/somedb.conf ln /usr/local/pyreplica/pyreplica.sh /etc/init.d/pyreplica -sf useradd pyreplica -g 103 -u 103 update-rc.d pyreplica defaults /etc/init.d/pyreplica start }}}
En el archivo de registro (usualmente /var/log/pyreplica.log), se ver que esta sucediendo: {{{ somedb Sun Jun 1 14:52:32 2008 Opening origin (master) connection somedb Sun Jun 1 14:52:34 2008 Opening replica (slave) connection somedb Sun Jun 1 14:52:34 2008 Encoding for this connections are UTF8 UTF8 somedb Sun Jun 1 14:52:34 2008 Executing: UPDATE "test" SET "a"='123' WHERE "id2"='1' AND "id2"='2' somedb Sun Jun 1 18:50:34 2008 Waiting for 'NOTIFY' somedb Sun Jun 1 18:51:34 2008 Timeout(keepalive)! somedb Sun Jun 1 18:51:34 2008 Waiting for 'NOTIFY' somedb Sun Jun 1 18:52:34 2008 Timeout(keepalive)! }}}
Si falla, se puede ejecutar pyreplica.py directamente para ver la salida directamente en la consola: {{{ python pyreplica.py "dbname=master user=postgres host=remotehost" "dbname=slave user=postgres host=localhost" }}} (cambiar dbname, user, password y host)!
Configuración Multi-esclavo
Para configurar multiples esclavos, agregar un campo booleano por cada esclavo en la tabla replica_log, y configurar SLAVE_FIELD con el
nombre de dicho campo.
Esta configuración actualmente no esta probada (observar los mecanismos de señales y bloqueos).
Configuración de Filtros
Pyreplica ahora puede replicar solo los eventos (INSERT, UPDATE, DELETE) que ud. elige. Puede filtrar los datos a ser replicados usando condiciones (expresiones python), evaluando los valores de los registros en new y old (diccionarios), etc.
* Por ahora, ejecutar master-install-filter.sql * Agregar las condiciones de filtro: {{{ INSERT INTO py_log_filter (relname, event, condition) VALUES ('mytable','INSERT','new["field1"].startswith("Something") or new["field2"]==123'); }}}