
bzr=/var/bzr repos=$bzr/repos
Groupe Apache:
groupadd bzr
for i in sra mpa www-data; do
gpasswd -a $i bzr
done
mkdir $bzr cd $bzr mkdir env repos python chown root:bzr env repos python chmod 755 env repoos python ln -sf /var/bzr/repos/ /bzr
Repos/ rwxr-x--- root:bzr
tri1/ rwxr-x--- tri1:bzr
tri2/ rwxr-x--- tri2:bzr
cd $bzr/repos
for trigramme in *;do
chown -Rf $trigramme:bzr $trigramme
chmod -Rf 750 $trigramme
done
Rely on ldap auth. for users creation:
mkdir $bzr/repos/$trigramme gpasswd -a $trigramme bzr chown -Rf $trigramme:bzr $trigramme chmod -Rf 750 $trigramme
Got a python bootstrapper and letz rule:
apt-get install build-essential m4 libtool pkg-config autoconf m4 gettext bzip2 cd $bzr wget http://hg.minitage.org/hg/minitage/shell/raw-file/tip/PyBootstrapper.sh bash ./PyBootstrapper.sh python python/bin/virtualenv --no-site-packages env source env/bin/activate # bootstrap, puis install en dev pour bzr-svn mkdir bzr.repos cd bzr.repos easy_install paramiko easy_install Pyrex easy_install bzr bzr branch lp:loggerhead cd $bzr/bzr.repos/loggerhead && easy_install . easy_install http://www.owlfish.com/software/simpleTAL/downloads/SimpleTAL-4.1.tar.gz easy_install Paste
log as root:
crontab -e #and add * */15 * * * /var/bzr/bin/fix_rights.sh
#!/bin/sh
#
# Loggerhead start/stop script.
host="bzr.makina-nantes.net"
port="8443"
prefix="/var/bzr"
repos="$prefix/repos"
log_folder="$prefix/var/log"
start_cmd="$prefix/env/bin/serve-branches --port $port --host $host $repos --log-folder=$log_folder"
pid_file="$prefix/var/run/loggerhead.pid"
user="www-data"
py="$prefix/env/bin/python"
server_name="Loggerhead"
start() {
echo "Starting $server_name server"
start-stop-daemon --start -c $user --quiet --background\
-p $pid_file -m --exec "$py" -- $start_cmd
}
stop() {
echo "Stopping $server_name server"
start-stop-daemon --stop --user $user \
-p $pid_file
}
case "$1" in
'start')
start
;;
'stop')
stop
;;
'restart')
stop
start
;;
*)
echo "usage: $0 start|stop|restart"
exit 1
;;
esac
#vim:set ft=bash:
Add modrewrite and proxy:
a2enmod rewrite proxy proxy_http apt-get install libapache2-mod-proxy-html a2enmod proxy_html /etc/init.d/apache2 force-reload
Add the vhost:
# /etc/apache2/sites-available/100-bzr
<VirtualHost *>
ServerName bzr.makina-nantes.net
ServerAlias bzr.makinanantes.net
# Logs
ErrorLog "|/usr/bin/cronolog /var/bzr/var/log/apache/%Y/%W/%d-apache_error.log"
CustomLog "|/usr/bin/cronolog /var/bzr/var/log/apache/%Y/%W/%d-apache_access.log" combined
DocumentRoot /var/bzr/htdocs
<Directory "/var/bzr/htdocs">
Options Indexes ExecCGI IncludesNOEXEC FollowSymLinks SymLinksIfOwnerMatch
AllowOverride All
Order allow,deny
Allow from all
</Directory>
<Directory "/var/bzr/repos/">
Options Indexes ExecCGI IncludesNOEXEC FollowSymLinks SymLinksIfOwnerMatch
AllowOverride All
Order allow,deny
Allow from all
</Directory>
<IfModule mod_proxy.c>
# pas d'open proxy
ProxyRequests off
<Proxy http://bzr.makina-nantes.net:8443>
Order deny,allow
Allow from all
</Proxy>
RewriteEngine on
ProxyPass / http://bzr.makina-nantes.net:8443/
ProxyPassReverse / http://bzr.makina-nantes.net:8443/
SetOutputFilter proxy-html
ProxyHTMLExtended On
ProxyHTMLURLMap http://bzr.makina-nantes.net:8443/ http://bzr.makina-nantes.net/
</IfModule>
</VirtualHost>
a2ensite 100-bzr /etc/init.d/apache2 restart
- Sur le reseau makina: http://bzr.makina-nantes.net