sábado, 9 de junio de 2012

guía rápida y sencilla para montar y usar tu servidor GIT con Ubuntu

Buenas frikinautas para todos aquellos programadores que quieren usar su propio servidor como un controlador de versiones. Hoy voy a mostrar lo sencillo que sería tener tu propio servidor con Git.
Primero instalamos en nuestro servidor lo siguiente:
sudo apt-get install git-core openssh-server
Con esto ya tenemos lo necesario para crear nuestro primer repositorio. Para ello nos creamos una carpeta donde nos apetezca y creamos en ella nuestro repositorio:
mkdir repositorios
cd repositorios
git init --bare mi_proyecto.git
Con esto ya tenemos el servidor listo. Solo nos falta configurar nuestro cliente instalando:
sudo apt-get install git-core openssh-client
Una vez instalado configuramos nuestro Git para que cada vez que realicemos commit quede registrado nuestro nombre y correo. Para ello editamos
vim /home/TUusuario/.gitconfig
y lo editamos rellenando los campos por ejemplo:
[user]
name = NombreUsuario
email = Correo@Usuario.com
Así al hacer los commits saldrá nuestro nombre y correo. Bien ya solo nos queda un paso para poder tener configurado nuestro cliente. Nos creamos una carpeta en nuestro equipo y nos bajamos TODO el repositorio del proyecto de nuestro servidor.
mkdir misProyectos
cd misProyectos
git clone ssh://usuarioServidor@ipServidor/~/repositorios/mi_proyecto.git
Dentro de nuestra carpeta nos aparecerá una nueva en ella es donde debemos trabajar añadir ficheros, editarlos......
Una vez que hemos colocado todos los ficheros que queremos en ella podemos añadirlo al repositorio.
git add .
git add *
git add -A
git add NombreFichero
Una vez echo esto. Hacemos commit para guardar nuestras modificaciones
git commit -m "Prueba inicial "
El parametro -m es para dejar un comentario del commit que vas a realizar. Cuando tengas todos los commit listos, sincronizamos con el servidor ejecutando:
git push origin master
Por otro lado si queremos actualizar nuestro repositorio local con los cambios que han podido subir otros usuarios al servidor ejecutamos:
git pull --rebase
Para ver un historial de los cambios que se han ido realizando
git log
en caso de querer deshacer el último commit ejecutamos
git reset HEAD~1
Si queremos deshacer más cambios de un golpe sustituimos el 1 por otra cifra. Y creo que con esto ya podemos trabajar con nuestro nuevo repositorio.

un saludo 

jueves, 7 de junio de 2012

Ubuntu instalador de OpenERP 6.0.4 de un golpe

Simplificando las tareas de HowtoForge para la instalación de OpenERP 6.0.4 he creado un script que en dos simples pasos se instala todo.
Inicialmente hay que crear 3 ficheros aquí os dejo el contenido de los ficheros:
Código del fichero openerp-server este contiene el código que se va a usar para iniciar el servicio automáticamente
#!/bin/sh

### BEGIN INIT INFO
# Provides:             openerp-server
# Required-Start:       $remote_fs $syslog
# Required-Stop:        $remote_fs $syslog
# Should-Start:         $network
# Should-Stop:          $network
# Default-Start:        2 3 4 5
# Default-Stop:         0 1 6
# Short-Description:    Enterprise Resource Management software
# Description:          Open ERP is a complete ERP and CRM software.
### END INIT INFO

PATH=/bin:/sbin:/usr/bin
DAEMON=/opt/openerp/server/bin/openerp-server.py
NAME=openerp-server
DESC=openerp-server

# Specify the user name (Default: openerp).
USER=openerp

# Specify an alternate config file (Default: /etc/openerp-server.conf).
CONFIGFILE="/etc/openerp-server.conf"

# pidfile
PIDFILE=/var/run/$NAME.pid

# Additional options that are passed to the Daemon.
DAEMON_OPTS="-c $CONFIGFILE"

[ -x $DAEMON ] || exit 0
[ -f $CONFIGFILE ] || exit 0

checkpid() {
    [ -f $PIDFILE ] || return 1
    pid=`cat $PIDFILE`
    [ -d /proc/$pid ] && return 0
    return 1
}

case "${1}" in
        start)
                echo -n "Starting ${DESC}: "

                start-stop-daemon --start --quiet --pidfile ${PIDFILE} \
                        --chuid ${USER} --background --make-pidfile \
                        --exec ${DAEMON} -- ${DAEMON_OPTS}

                echo "${NAME}."
                ;;

        stop)
                echo -n "Stopping ${DESC}: "

                start-stop-daemon --stop --quiet --pidfile ${PIDFILE} \
                        --oknodo

                echo "${NAME}."
                ;;

        restart|force-reload)
                echo -n "Restarting ${DESC}: "

                start-stop-daemon --stop --quiet --pidfile ${PIDFILE} \
                        --oknodo

                sleep 1

                start-stop-daemon --start --quiet --pidfile ${PIDFILE} \
                        --chuid ${USER} --background --make-pidfile \
                        --exec ${DAEMON} -- ${DAEMON_OPTS}

                echo "${NAME}."
                ;;

        *)
                N=/etc/init.d/${NAME}
                echo "Usage: ${NAME} {start|stop|restart|force-reload}" >&2
                exit 1
                ;;
esac

exit 0


Código del fichero openerp-web este contiene el código que se va a usar para iniciar el servicio web automáticamente.


### BEGIN INIT INFO
# Provides:             openerp-web
# Required-Start:       $remote_fs $syslog
# Required-Stop:        $remote_fs $syslog
# Should-Start:         $network
# Should-Stop:          $network
# Default-Start:        2 3 4 5
# Default-Stop:         0 1 6
# Short-Description:    OpenERP Web - the Web Client of the OpenERP
# Description:          Open ERP is a complete ERP and CRM software.
### END INIT INFO

PATH="/sbin:/bin:/usr/sbin:/usr/bin"
DAEMON="/opt/openerp/web/openerp-web.py"
NAME="openerp-web"
DESC="openerp-web"

# Specify the user name (Default: openerp).
USER=openerp

# Specify an alternate config file (Default: /etc/openerp-web.conf).
CONFIGFILE="/etc/openerp-web.conf"

# pidfile
PIDFILE=/var/run/$NAME.pid

# Additional options that are passed to the Daemon.
DAEMON_OPTS="-c $CONFIGFILE"

[ -x $DAEMON ] || exit 0
[ -f $CONFIGFILE ] || exit 0

checkpid() {
    [ -f $PIDFILE ] || return 1
    pid=`cat $PIDFILE`
    [ -d /proc/$pid ] && return 0
    return 1
}

case "${1}" in
        start)
                echo -n "Starting ${DESC}: "

                start-stop-daemon --start --quiet --pidfile ${PIDFILE} \
                        --chuid ${USER} --background --make-pidfile \
                        --exec ${DAEMON} -- ${DAEMON_OPTS}

                echo "${NAME}."
                ;;

        stop)
                echo -n "Stopping ${DESC}: "

                start-stop-daemon --stop --quiet --pidfile ${PIDFILE} \
                        --oknodo

                echo "${NAME}."
                ;;

        restart|force-reload)
                echo -n "Restarting ${DESC}: "

                start-stop-daemon --stop --quiet --pidfile ${PIDFILE} \
                        --oknodo

                sleep 1

                start-stop-daemon --start --quiet --pidfile ${PIDFILE} \
                        --chuid ${USER} --background --make-pidfile \
                        --exec ${DAEMON} -- ${DAEMON_OPTS}

                echo "${NAME}."
                ;;

        *)
                N=/etc/init.d/${NAME}
                echo "Usage: ${NAME} {start|stop|restart|force-reload}" >&2
                exit 1
                ;;
esac

exit 0

Por último este es el fichero instalador.sh es la base de todo con el siguiente código procederemos a instalar el servidor.

if [ $1 == 2 ]; then
 sudo apt-get install python python-psycopg2 python-reportlab \
 python-egenix-mxdatetime python-tz python-pychart python-mako \
 python-pydot python-lxml python-vobject python-yaml python-dateutil \
 python-pychart python-pydot python-webdav
 sudo apt-get install python-cherrypy3 python-formencode python-pybabel \
 python-simplejson python-pyparsing
 wget http://www.openerp.com/download/stable/source/openerp-server-6.0.4.tar.gz
 wget http://www.openerp.com/download/stable/source/openerp-web-6.0.4.tar.gz
 cd /opt/openerp
 sudo tar xvf ~/openerp-server-6.0.4.tar.gz
 sudo tar xvf ~/openerp-web-6.0.4.tar.gz
 sudo chown -R openerp: *
 sudo cp -a openerp-server-6.0.4 server
 sudo cp -a openerp-web-6.0.4 web
 sudo cp /opt/openerp/server/doc/openerp-server.conf /etc/
 sudo chown openerp:root /etc/openerp-server.conf
 sudo chmod 640 /etc/openerp-server.conf
 #configuramos que se inicie el servidor al arranque
 sudo cp openerp-server /etc/init.d/openerp-server
 sudo chmod 755 /etc/init.d/openerp-server
 sudo chown root: /etc/init.d/openerp-server
 sudo mkdir /var/log/openerp
 sudo chown openerp:root /var/log/openerp
 sudo update-rc.d openerp-server defaults
 #configuramos que se inicie el servicio web al arranque
 sudo cp /opt/openerp/web/doc/openerp-web.cfg /etc/openerp-web.conf
 sudo chown openerp:root /etc/openerp-web.conf
 sudo chmod 640 /etc/openerp-web.conf
 sudo cp openerp-web /etc/init.d/openerp-web
 sudo chmod 755 /etc/init.d/openerp-web
 sudo chown root: /etc/init.d/openerp-web
 sudo update-rc.d openerp-web defaults
else
 sudo apt-get install openssh-server denyhosts
 sudo apt-get update
 sudo apt-get dist-upgrade
 sudo adduser --system --home=/opt/openerp --group openerp
 sudo apt-get install postgresql
 sudo su - postgres
 createuser --createdb --username postgres --no-createrole --pwprompt openerp
 echo "Ahora ejecuta la segunda parte del programa primero escribe exit y despues ./instalador.sh 2"
fi

#fuente http://www.howtoforge.com/how-to-install-openerp-6-on-ubuntu-10.04-lts-server
 
Después de crear los tres ficheros openerp-server, openerp-web y instalador.sh los tenemos que alojar en la misma carpeta de nuestro servidor Ubuntu. Para comenzar con la instalación ejecutamos:

sudo chmod 777 instalador.sh
sudo chmod 777 openerp-web
sudo chmod 777 openerp-servidor
#y comenzamos la instalación ejecutando
./instalador.sh

En principio el instalador.sh instalará los paquetes iniciales para preparar el usuario postgresql y openerp. Una vez terminado tenemos que ejecutar exit y nos pedirá introducir la clave del usuario postgres. Es muy probable que durante este breve proceso necesite confirmación del usuario para instalar los paquetes. Una vez listo y escrito exit volveremos a nuestro usuario inicial y nos aparecerá un mensaje donde nos pide que ejecutemos la segunda parte de la instalación.

./instalador.sh 2

En esta segunda parte se instalaran TODOS los paquetes necesarios. Como he dicho antes es posible que se necesite confirmación del usuario. Después se descarga el instalador OpenERP del server y web. Descomprime los ficheros y los instala en el servidor y los prepara para que al reiniciar el equipo arranquen solos automáticamente. Una vez echo esto si entramos en http://localhost:8069 accederemos a nuestro servidor OpenERP. Lo único que falta es configurar la clave de la BBDD en nuestro servidor.

Y esto es todo espero que os sirva de algo

un saludo