Por una razón o por otra si quieres usar mongodb sin los respositorios de debian/ubuntu de mongodb hay varias formas de hacerlo. La manera que he decido usar es muy sencilla y eficaz, crear un usuario (/bin/false), un script para init.d y gestionar y añadirlo al path.
Una vez descargamos la ultima versión de mongo se descomprime en /opt (o donde queramos) lo ideal es que vayamos teniendo ahí varias versiones de mongo por si hace falta hacer pruebas solo variando el enlace de /opt/mongodb apunte a otro (mongodb-xxxxx) vayamos saltando la versión. Despues soltamos en profiles.d la linea de añadir el path al sistema (si pones mongo en directorio del path saltate esta paso) con un
echo "export PATH=mipath:$PATH" >> /etc/profiles.d/mogodb.sh
tenemos el path añadido.
Ahora el script lo cogemos de aqui y personalizamos el path, despues creamos el usuario con
sudo useradd mongod -s /bin/false
y creamos los directorios donde albergara los datos y le damos al usuario creado permisos adecuados para que pueda escribir en el (con chown). También creamos la carpeta en /var/log/ como indica el script para que podamos escribir el log.
Con esto tenemos todo listo para que funcione el script, lo llevamos a init.d y ya esta, solo si queremos que se inicie al arranque lo añadimos con
sudo update-rc.d mongodb defaults
Ya tenemos mongo preparado para que funcione como demonio de los tars que ofrecen.
EL POST ESTA ERRÓNEO PRÓXIMAMENTE CORRIJO EL PROBLEMA
Después de tener listo el servidor lo ideal es que tengamos un buen backup de lo que tenemos en la base de datos de nuestro servidor (en este caso de paginas web). Aunque a día de hoy Mysql empieza a dar miedo por su posible discontinuidad sigue siendo una buena opción (y a las malas tenemos MariaDB), así que vamos a explicar como hacer backup de lo que tenemos en nuestros servidor mysql.
Tenemos muchas opciones que ofrecer, pero personalmente me gustan dos mysql-zrm (amanda) y mylvmbackup, cada una tiene sus virtudes y sus problemas pero mylvmbackup requiere de tener preparada una particion lvm en /var/lib/mysql, cosa que no tenemos, pero ganamos que no se para el motor de la base de datos para nada pues se hace un snapshot y se hace el backup a partir de este. mysql-zrm es mas sencillo pues usa los mecanismos habituales para hacer backup de mysql (y no dependen de lvm aunque tiene un plugin para hacer backups por lvm) ademas de que si tu base de datos no es consultada constantemente no vas a tener problemas a la hora de hacer backup (aunque con mysql-proxy y un poco de scriping se soluciona facilmente
).
En este caso vamos a instalar la versión para debian/ubuntu de amanda mysql-zrm:
http://www.zmanda.com/download-zrm.php
son dos paquetes que instalamos de manera individual:
dpkg -i mysql-zrm_xxxx_all.deb dpkg -i mysql-zrm-client_xxxx_all.deb
mysql-zrm tiene el habitual modo de trabajar de cliente servidor pudiendo tener el cliente en varias maquinas y el servidor en una sola, obviamente cada cliente funciona en donde mysql esta instalado y el servidor donde albergamos los backups.
En mi caso particular voy a albergar los backups en un ftp lo que es un problema en cierto modo (debo hacer el backup y luego subirlo al ftp), pero gracias al mundo del software libre existe curlftps que nos permite gracias a fuse montar un ftp como un sistema de ficheros (y a gran velocidad), y con un poco de ayuda de la gente arch linux nos da una buena documentacion. Así que insertamos en /etc/fstab las lineas pertinentes para que nos monte en /mnt/ o en /media/ el ftp y podamos usar de manera sencilla el ftp
curlftpfs#USER:PASSWORD@ftp.domanin.org /mnt/mydomainorg fuse auto,user,uid=1000,allow_other 0 0
una vez montado ya podemos ponernos a configurar nuestro mysql-zrm.
La configuracion de mysql-zrm depende mucho de como, que y cuando queremos hacer el backup de los datos, por tanto su fichero de configuracion es muy amplio, por no decir que esta preparado para tener varias copias de este para cada unos de los sets de datos que queremos hacer backup, esto es un gran acierto pues mysql nos permite varios engines y su comportamiento es muy diferentes unos de otros y por no habler de que podemos tener varios clientes y configurar cosas muy diversas en esos clientes. Para tener la configuracion para cada set de datos en el directorio /etc/mysql-zrm/ crea un directorio y copia el mysql-zrm.conf dentro del directorio creado, para mas información de todas las opciones de este fichero mira la documentación.
En mi caso lo quiero es copias incrementales y para ello debo habilitar los logs binarios en my.cnf, y configurar en mysql-zrm la opcion de backups incrementales
backup-level=1
y bueno ahora solo falta poner la frecuencia de los backups con:
sudo mysql-zrm-scheduler --add -interval daily --backup-set miset --start 2:00
y todos los dias a las 2 tienes las copias hechas. Recuerda configurar bien el fichero de configuración para que los backups vayan donde deben (destination=/mnt/mipunto/) y recuerda revisar esos backups de vez en cuando.
¡Eso es todo!
Bueno fue una pequeña aventura poner este sistemas de blogs, la intención era que funcionara con una serie de tecnologías que no siempre te viene todo hecho, eso le da emoción y aprender mucho. Así que tenemos un servidor virtualizado con kvm, administrado remotamente mediante “brujería”, para el servidor web usamos cherokee, un servidor web ligero y potente pero su magia no viene de ahí sino de su administrador. Cherokee lleva una aplicación web que permite configurar completamente el servidor, aunque pueda parecer eso el demonio lo único que hace es cambiar el fichero de configuración, pudiendo hace backup y portando a otro servidor la configuración.
El unico tema que tiene es que no soporta .htacces y por tanto toda esa configuración tienes que trabajartela si sus asistentes no van (lleva asistente que te configura tu sitio o aplicación web. En este caso tenemos que configurar a mano wordpress-mu.
Cherokee
En principio tenemos que tener listo un servidor (en mi caso ubuntu server), cherokee instalado (en mi caso desde su repositorio ppa), y php-cgi instalado.
Una vez no ponemos con ellos solo hay que empezar la configuración de cherokee, para ello y familiarizaros mejor leer la documentación de cherokee (doc). Una vez sabes como va pasamos a mostrar las pantallas que quedan despues de configurar wordpress-mu
Una vez definido el vhost y configurado ya podemos hacer la instalación de wordpress mu.
Base de wordpress-mu
Usamos una configuración de php+mysql clásica, asi que instalamos mysql y php5( y php-cgi para cherokee), descargamos la ultima versión de wordpress-mu y listo, podemos empezar el proceso de instalación típica de wordpress. Pero antes se va a añadir seguridad a la base de datos, pues ya tenemos otros servicios en el, y no queremos que un ataque nos fastidie lo que tengamos, así que creamos un usuario para wordpress, le damos permisos solo para esa base de datos:
CREATE DATABASE wordpressdb;
CREATE USER ‘especialuser’@'host’ IDENTIFIED BY ‘mysecretpass’;
grant all on wordpressdb.* to especialuser@’host’ identified by ‘mysecretpass’;
y ya podemos proceder a la instalación, y en ella acordarnos de nuestro usuario especial y de la base de datos.
Proximo capitulo
En el próximo post lo dedicare a la administración de wordpress-mu y a los backups de nuestro sistema wordpress-mu, a divertirse
.
Empezamos hace tiempo con el tema de los blogs pero parece que por fin podemos acabar lo que empezamos, ahora por fin tenemos nuestro sistema de blogs, espero añadir temas y darle un aspecto más profesional y elegante al sistema de blogs. También quiero indicar que este servidor esta funcionando con:
- Ubuntu Server 9.04
- WordPress-mu 3.0.1
- Cherokee webserver
- Mucho amor
Espero que os guste a todos , así que ¡A postear!,



