[ TEMIGA ]
Linux
Instalando Apache + SSL + Subversion + WebDAV + WebSVN en Ubuntu Server.
11 Feb
El propósito en este artículo es explicar una opción para configurar Apache2, Múltiples repositorios con Subversión, Acceso a los repositorio mediante WebDav y OpenSSL en Ubuntu Server (Casi un Debian).
Como siempre menciono en los artículo en lo que el tema de configuración trata, esta configuración fue la que me funcionó de acuerdo a la experiencia al momento de configurar los servicios que a lo largo de este How To se mencionan, si alguien tiene alguna sugerencia, critica, etc. para mejorar esta configuración será bien recibida.
Por favor no corte y pgue todo lo que se escribe ejecute los comando y lea las instrucciones antes de hacer algo.
Habrá momento de la configuración que no me detendré a explicar asumiendo que son cosas sencillas y se deben manejar.
Lo primero que haremos es instalar los siguientes paquetes.
El Servidor Web Apache.
#aptitude install apache2
Instalamos Subversión y el modulo de apache de este Sistema de Control de Versiones.
#aptitude install subversión #aptitude install libapache2-svn
Ya con estos paquetes instalados podemos crear repositorios para ilustrar el how to crearemos dos repositorios en el directorio que mejor nos parezca en mi caso los cree en /var/svn/.
Creamos el directorio svn
#mkdir /var/svn/
Y ahora creamos los repositorios.
#svnadmin create /var/svn/web1 #svnadmin create /var/svn/web2
Donde web1 y web2 son nuestros repositorios, para no tener problema de permisos con apache le asignare los permisos necesarios, para hacer esto le asignaré el directorio donde se encuentran nuestros repositorios (/var/svn/) y todo lo que este ahí adentro al usuario de apache (www-data), ejecutando el siguiente comando.
#chown -R www-data:www-data /var/svn/*
Ahora colocaremos un archivo en el directorio que mas les guste para que nos sirva como data de prueba en nuestro repositorio web1 con la finalidad que el mismo este haciendo el trabajo.
#echo “Test Repositorio” > /tmp/test.txt
Subimos este archivo al repositorio y verificamos que el mismo este el repositorio, para referencia sobre los comando de svn pueden consultar aquí.
#svn import –m “Import inicial del repositorio web1” \ /tmp/ svn+ssh://127.0.0.1/var/svn/web1 #svnlook tree /var/svn/web1
Hacemos un checkout del repositorio y lo guardaremos en el directorio checkout.
#svn co svn+ssh://127.0.0.1/var/svn/web1 checkout
Si verificamos que contiene este directorio el mismo deberá contener el archivo test.txt
#ls –l checkout
Hasta aquí hemos configurado el Subversión, ahora corresponde hacer la configuración al WebDav de Subversión el cual nos va a permitir acceder al repositorio mediante apache.
Para esto cargamos los siguientes módulos.
#a2enmod dav #a2enmod dav_svn
Una vez cargados estos módulos creamos el ficheros de acceso.
#htpasswd –c /etc/apache/svn.passwd user1 #htpasswd /etc/apache/svn.passwd user2
Algo importante al momento de crear este fichero se puede observar en el comando de arriba que la primera línea tiene la opción –c esto se hace solamente cuando creamos por primeras el fichero si colocamos esta opción ya creado el fichero simplemente borrara los usuarios que estén creados.
ditamos el archivo /etc/apache2/mods-available/dav_svn.conf, en este archivo indicamos donde se encuentra nuestro repositorio vamos a configurar web1 para los demás repositorios el lo mismo, el url que se encargara de atender la petición, el fichero de acceso (svn.passwd) y el tipo de autenticación.
Este es archivo deberá quedar así:
10 11 12 13 14 15 16 | <location> DAV svn SVNPath /var/svn/web1 AuthName “Subversion Repositorio web1” AuthUserFile /etc/apache2/svn.passwd Require valid-user </location> |
Recargamos la configuración de apache
#/etc/init.d/apache2 force-reload
Nos queda probar si esta funcionando Subversión, para esto abrimos nuestro navegador y colocamos http://localhost/svn/web1, nos debe solicitar usuario y clave, estos datos fueron los que se colocaron al momento de crear el fichero svn.passwd. Una vez autenticado podremos ver el archivo test.txt que subimos inicialmente, de la misma forma podremos hacer checkout del repositorio colocando la misma url.
http://localhost/svn/web1 checkout
Esta es una vista muy básica del repositorio mediante una interfaz web para mejorar esta presentación vamos a instalar websvn y enscript este paquete nos muestra el código fuente coloreado de acuerdo al lenguaje que se utilice, pero ante debemos instalar php ya que websvn esta hecho en php.
#aptitude install php5 #aptitude install websvn
dejo una imagen que muestra al momento de configurar websvn.
#aptitude install enscript
Con esto si volvemos a colocar en el navegador http://localhost/svn/web1 debe mostrarse más amigable el contenido del repositorio.
El siguiente paso es configurar el SSL, para efecto del How to yo coloco la configuración del SSL para todo el sitio esto significa que escucha por el puerto 80 en caso que ustedes desean ponerlo por otro puerto simplemente sustituyan 80 por por el puerto que ustedes prefieran normalmente se coloca en el puerto 443.
Lo primero que haremos es generar nuestro Certificado Digital.
#openssl req $@ -new -x509 -days 365 -nodes -out \ /etc/apache2/ssl/apache.pem -keyout /etc/apache2/ssl/apache.pem
Al ejecutar ese comando le solicitara cierta información que debe colocar.
Una vez generado el certificado editamos el archivo /etc/apache2/sites-available/default y debera quedar algo como este.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | NameVirtualHost *:80 <virtualhost> ServerAdmin admin@ser.com DocumentRoot /var/www/ SSLEngine on SSLCertificateFile /etc/apache2/ssl/apache.pem LoadModule ssl_module /usr/lib/apache2/modules/mod_ssl.so <directory> Options FollowSymLinks AllowOverride All </directory> <location> Options FollowSymLinks order allow,deny allow from all AuthType Basic AuthName "Subversion Repository" Require valid-user AuthUserFile /etc/apache2/svn.passwd </location> <directory> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all RedirectMatch ^/$ /principal/ </directory> ServerSignature On </virtualhost> |
Volvemos a cargar la configuración de nuestro servidor web.
#/etc/init.d/apache2 force-reload
Solo nos queda ingresar a nuestro sitio vía https. https://localhost/
Si quieren probar toda esta configuración pero en la web y no de manera local pueden consultar Servidor Web con Dirección IP dinamica.
De esta manera a quedado configurado nuestro servidor de manera segura, espero les sirva esta configración.
Enlaces con los cuales me apoye al momento de hacer la configuración.
Instalando Drivers Tarjeta Inalambrica broadcom 4311 en Debian Etch
5 Feb
Hace unos días tube problema al momento de instalar los drivers de mi tarjeta inalambrica con un Ship Broadcom lo que se necesita para configurar esta tarjeta en una lapto presario V2000 es instalar el paquete bcm43xx-fwcutter el cual al momento de la instalación extrae el firmware wl_apsta.o resulta que cuando se esta ejecutando el proceso de búsqueda de este firmware que se encuentra en la web no lo encontraba específicamente buscaba en esta URL http://svit.epfl.ch/stuff/wl_apsta.o, busque un poco por la web ese firmware para ver si había otro sitio donde estuviera disponible y di con el. Vale destacar que el paquete bcm43xx-fwcutter se instala sin problema todo esta al momento de instalar el firmware que necesita la tarjeta para que funcione correctamente.
Luego de encontrar otro url que tuviera el firmware deseado lo que hice fue editar el archivo que en mi caso utilizando Debian Etch se ubica en:
/usr/share/bcm43xx-fwcutter/install_bcm43xx_firmware.sh
En ese archivo lo que edite borrando el url que estaba fallando y justo donde estaba esa url agrege la que si tiene disponible el firmware la cual es: http://svit.epfl.ch/stuff/wl_apsta.o si tienes alguna duda así te deberia quedar el archivo install_bcm43xx_firmware.sh:
#!/bin/sh set -e dname=wl_apsta.o if [ -e /usr/bin/wget ]; then DL=wget; fi if [ -e /usr/bin/curl ]; then DL="curl -o $dname"; fi cd /tmp $DL http://svit.epfl.ch/stuff/wl_apsta.o bcm43xx-fwcutter $dname mkdir -p /lib/firmware for i in *.fw; do mv $i /lib/firmware/$i; done rm wl_apsta.o
Posterior que edite edite el archivo lo ejecute desde una consola común y silvestre para descargar los firmware.
#sh /usr/share/bcm43xx-fwcutter/install_bcm43xx_firmware.sh
Con esto se solventa el problema, espero que les sirva a quienes estan pasando por este inconveniente.
gOS Beta 2.0
10 Ene
Ya esta disponible la Distro de Linux gOS Rocket 2.0 Beta basada en Ubuntu transformada al mundo de Google, la distro es bien liviana (unos 536MB) y cuenta con unas características que entre la mas interesante es que utiliza el gestor de ventanas Enlightenment.
Se ve bien llamativa la interfaz, será un buen caramelito para atraer a muchos usuarios.

Backup en Postgres…
10 Sep
Llevo algunos meses trabajando con Postgres y tengo unas aplicaciones en producción esto significa que constantemente debo hacer backup de estas base de datos, pues lo que realice fue un pequeño script en bash que se encargara de hacer esto de manera automática ya que constantemente hacer el mismo procedimiento se me hacia fastidioso, aquí esta una propuesta para generar tus backup de una forma mas amigable…
Este script genera un backup de la Base de Datos que cumple con los requerimientos mínimo de respaldo Creación de Base de Datos y Tablas y comando de inserción de datos.
Para ejecutar el script solo necesitamos indicarle unos datos básicos tales como:
- IP del servidor de Base de Datos.
- Usuarios con el cual nos conectamos.
- Nombre de la Base de Datos a respaldar.
- Nombre del archivo, en caso de no colocar ningún nombre al archivo el script asignara uno el cual sera Backup-nombreBD-fecha.sql
NOTA: no es necesario colocar la extensión .sql
#!/bin/bash clear #Funcion que muestra un msj de Bienvenida function bienvenida { echo "Script para Generar Backup de una Base de Datos en PostgreSQL" echo "" } #funcion que muestra una nueva linea function newLine { echo "" } bienvenida echo El Backup se va a generar en el Directorio "$HOME" newLine #opciones del backup #Leyendo el host del servidor de BD echo "-->Host. (Ej. 127.0.0.1)" read H #obteniendo el Usuario clear bienvenida echo "-->Host: $H" echo "-->Usuario del Servidor de Base de Datos." read U #nombre de la BD clear bienvenida echo "-->Host: $H" echo "-->Usuario: $U" newLine echo "Ingrese el nombre de la Base de Datos." read BD while [ "$BD" = "" ]; do clear bienvenida echo "-->Host: $H" echo "-->Usuario: $U" newLine echo "-->Debe Ingresar el nombre de la Base de Datos." read BD done #nombre del archivo newLine echo "Nombre de Archivo (No es necesario el ".sql")" read F if [ "$F" = "" ]; then F=backup-$BD-$(date +%Y-%m-%d) echo "No coloco ningun nombre al archivo. el Script asignara un nombre por defecto $F" newLine echo "Presiones Enter para continuar..." read fi echo pg_dump -i -h $H -p 5432 -U $U -F p -C -D -v -f "$HOME/$F.sql" "$BD" echo generando backup... pg_dump -i -h $H -p 5432 -U $U -F p -C -D -v -f "$HOME/$F-$(date +%Y-%m-%d).sql" "$BD" #mostrando el archivo en la consola... less $HOME/$F-$(date +%Y-%m-%d).sql
Como siempre lo digo es solo una propuesta a muchas que deben existir en la red y espero que les sea de su gran utilidad…
10 Comando de Linux…
17 Ago
Rescatando un post publicado hace un tiempo sobre cuales eran los 10 comando más utilizados de GNU/Linux, aquí les dejo el comando y los resultados arrojados por la PC de mi trabajo.
:~$ history|awk ‘{print $2}’|awk ‘BEGIN {FS=”|”} {print $1}’|sort|uniq -c|sort -rn|head -10
219 sudo
124 exit
17 clear
14 ssh
11 cd
11 aptitude
10 gedit
8 ls
7 history
6 php
Invito a todos aquellos usuarios a que verifiquen cuales son los 10 comando que mas utilizan…







Comentarios Recientes…