SpiderMonkey is the code-name for the Mozilla’s C implementation of JavaScript. This is useful to test part of our JavaScript from the console or in scripts.
In Debian we have a package called spidermonkey-bin.
SpiderMonkey is the code-name for the Mozilla’s C implementation of JavaScript. This is useful to test part of our JavaScript from the console or in scripts.
In Debian we have a package called spidermonkey-bin.
Voy a explicar como montar el sistema de gestion de proyectos trac y subversion usando https para trabajar con subversion. Yo lo he montado en una debian usando apache2, asi que lo primero que necesitamos es instalar todo lo necesario
apt-get install trac subversion apache2 subversion libapache2-svn libapache2-mod-python2.3
Una vez descargado e instalado creamos el certificado necesario para usar tanto trac y subversion bajo https. Entra en el directorio /etc/apache2/ssl y ejecuta lo siguiente:
openssl genrsa -des3 -out server.key 1024
openssl req -new -key server.key -out server.csr
cp server.key server.key.org
openssl rsa -in server.key.org -out server.key
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
Ahora ya tenemos listo los certificados, asi que ahora solo nos queda configurar el apache. Yo he creado un trac.dominio.ext y un svn.dominio.ext para hacer esto, pero esto va a gusto de cada uno. Yo como uso dos subdominios distintos, lo tengo en ficheros separados.
Primero editaremos el trac, asi que creamos el fichero /etc/apache2/sites-available/trac.domain.ext
NameVirtualHost *:443
#Activate SSL
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/server.crt
SSLCertificateKeyFile /etc/apache2/ssl/server.key
#VirtualHost Servername
ServerName trac.domain.ext
ServerAdmin [email protected]
DocumentRoot /opt/projects/trac
#Authentication
AuthType Basic
AuthName "Trac"
AuthUserFile /opt/projects/.htpasswd
Require valid-user
#Trac
SetHandler mod_python
PythonHandler trac.web.modpython_frontend
PythonOption TracEnvParentDir /opt/projects/trac/
PythonOption TracUriRoot /
El fichero no necesita demasiada explicacion, simplemente le decimos que active el SSL, que pida autentificacion y cargamos el modulo del trac y le especificamos el path de donde estan todos nuestros proyectos.
Ahora vamos con el fichero /etc/apache2/sites-available/svn.domain.ext
NameVirtualHost *:443
#Activate SSL
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/server.crt
SSLCertificateKeyFile /etc/apache2/ssl/server.key
#VirtualHost Servername
ServerName svn.domain.ext
ServerAdmin [email protected]
DocumentRoot /opt/projects/svn
DAV svn
#Authentication
AuthType Basic
AuthName "Subversion"
AuthUserFile /opt/projects/.htpasswd
Require valid-user
#Subversion
SVNParentPath /opt/projects/svn
SVNListParentPath on
SVNAutoVersioning On
#Subversion permission file
AuthzSVNAccessFile /opt/projects/svn/.htpasswd
Es importante separar el AuthzSVNAccessFile de
Ahora que tenemos estos ficheros listos, hay que activar el modulo de ssl en el apache2 y los dos dominios.
vi /etc/apache2/ports.conf
Listen 443
cd /etc/apache2/mods-enabled
ln -s /etc/apache2/mods-available/dav.load .
ln -s /etc/apache2/mods-available/dav_svn.load .
ln -s /etc/apache2/mods-available/mod_python.load .
ln -s /etc/apache2/mods-available/ssl.conf .
ln -s /etc/apache2/mods-available/ssl.load .
cd /etc/apache2/sites-enabled
ln -s /etc/apache2/sites-available/svn.domain.ext 001-svn.domain.ext
ln -s /etc/apache2/sites-available/trac.domain.ext 001-trac.domain.ext
Ahora vamos a crear un proyecto de prueba
mkdir -p /opt/projects/svn
mkdir -p /opt/projects/trac
svnadmin create /opt/projects/svn/NewProject
trac-admin /opt/projects/trac/NewProject initenv
Project Name [My Project]> NewProject
Database connection string [sqlite:db/trac.db]>
Path to repository [/var/svn/test]> /opt/projects/svn/NewProject
Templates directory [/usr/share/trac/templates]>
Creating and Initializing Project
Configuring Project
trac.repository_dir
trac.database
trac.templates_dir
project.name
Installing default wiki pages
..............
Ahora creamos los ficheros de acceso de usuarios.
[Repositorio:/Path]
user = [ [r[w]]]
Por ejemplo, queremos que el user1 pueda leer y escribir, el user2 leer, y anonymous nada (no deberia haber anonymous ya que el htpasswd no los deja pasar, pero siempre viene bien protegerse por si acaso), el fichero quedaria asi
[NewProject:/]
user1 = rw
user2 = r
* =
Ahora ya tenemos todo listo, podemos instalar el modulo TracWebAdmin para que sea mas facil la administracion del trac.
Bueno el otro dia despues de compilar a mano postfix y courier con sus respectivas modificaciones, cada vez que hacia un apt-get update ; apt-get upgrade me decia que queria instalar postfix* y courier* con una version nueva… asi que despues de buscar y trastear descubri que el nombre de release de los paquetes compilados a mano es “now” con lo cual puse lo siguiente en /etc/apt/preferences
Package: postfix*
Pin: release a=now
Pin-Priority: 999
Package: courier*
Pin: release a=now
Pin-Priority: 999
Esto era una de las cosas que tenia pendiente de poner en el server hosting, y ultimamente ha habido mucha gente que superaba de mucho el limite, asi que me he puesto a configurar e instalar postfix con el parch VDA para poner limite de tamaño a los buzones.
Como tengo ahora mismo todo configurado con los paquetes de debian, he pensado que lo mejor es parchear los propios paquetes de debian, y aqui estan los pasos que he seguido:
apt-get install build-essential dpkg-dev fakeroot debhelper po-debconf dpatch lsb-release libdb4.3-dev libgdbm-dev libldap2-dev libpcre3-dev libmysqlclient15-dev libsasl2-dev libpq-dev
apt-get source postfix
wget http://web.onda.com.br/nadal/postfix/VDA/postfix-2.2.8-vda.patch.gz
gunzip postfix-2.2.8-vda.patch.gz
patch -p1
dpkg-buildpackage
dpkg -i postfix_2.2.8-9_i386.deb
dpkg -i postfix-mysql_2.2.8-9_i386.deb
virtual_mailbox_limit_override=yes
#Use IMAP compatible files
virtual_maildir_extended=yes
#Create maildirsize files
virtual_create_maildirsize=yes
#Bounce mails overquota
virtual_overquota_bounce=yes
#MySQL info to get user quota
virtual_mailbox_limit_maps=mysql:/etc/postfix/quota.cf
#Count Trash
virtual_trash_count=yes
virtual_trash_name=.Trash
user=mail
password=mailpassword
dbname=mail
table=users
hosts=localhost
where_field=address
select_field=quota
MYSQL_QUOTA_FIELD quota
Updated (2007/07/12): La nueva URL del patch VDA es http://vda.sourceforge.net/
Hoy me ha tocado instalar una debian 64bits en un opteron. La verdad es que esta bastante currada, con el nuevo instalador de debian, te lo detecta todo solo y se instala perfectamente. El unico problema que he tenido es que ni el LILO ni el GRUB se han querido instalar, se ve que el tema de arrancar por SATA no le va bien (tenemos 3x120gb SATA en RAID5). Al final gracias al gran invento del chroot, he configurado el LILO, pero el kernel que me instala la debian no trae soporte para la controladora SATA :?, pero tampoco ha habido demasiado problema, chroot, wget nuevo kernel, recompilar, reconfigurar lilo y reboot. La verdad es que va super fino y no me esperaba que estubiesen ya tantos paquetes portados.