You are looking at the HTML representation of the XML format.
HTML is good for debugging, but probably is not suitable for your application.
See complete documentation, or
API help for more information.
<?xml version="1.0"?>
<api>
<query-continue>
<allpages gapfrom="Samba" />
</query-continue>
<query>
<pages>
<page pageid="45" ns="0" title="Redmine">
<revisions>
<rev xml:space="preserve">== Installation ==
apt-get install ruby rdoc irb libyaml-ruby ruby1.8-dev libzlib-ruby ri libopenssl-ruby1.8
On installe RubyGems
cd /root/
wget 'http://production.cf.rubygems.org/rubygems/rubygems-1.4.1.tgz'
tar xvzf rubygems-1.4.1.tgz
cd rubygems-1.4.1
ruby setup.rb
ln -s /usr/bin/gem1.8 /usr/bin/gem
gem install rails -v 2.3.5
gem install -v=0.4.2 i18n
apt-get install libmysqlclient15-dev
gem install mysql
On créé le user redmine et on l'associe au groupe d'apache (-g 33) ce qui sera nécessaire pour pouvoir accéder au serveur web :
mkdir /var/www/redmine
useradd -d /var/www/redmine -g 33 -s /bin/bash redmine
passwd redmine
chown redmine:www-data
apt-get install imagemagick libmagick9-dev librmagick-ruby1.8
gem install rmagick ---ERROR
===Création de la base de donnée===
create database redmine character set utf8;
create user 'redmine'@'localhost' identified by 'my_password';
grant all privileges on redmine.* to 'redmine'@'localhost';
su - redmine
svn co http://redmine.rubyforge.org/svn/branches/1.1-stable redmine-1.1
mv redmine-1.1 1.1
cd 1.1/config/
cp database.yml.example database.yml
Puis éditer le fichier avec les informations de connexion à la database.
4. Generate a session store secret.
rake generate_session_store
5. Create the database structure, by running the following command under the application root directory:
RAILS_ENV=production rake db:migrate
It will create tables and an administrator account.
6. Insert default configuration data in database, by running the following command:
RAILS_ENV=production rake redmine:load_default_data
=== Installation de Mongrel ===
gem install gem_plugin mongrel mongrel_cluster
mongrel_rails cluster::configure -e production -p 8000 -N 3 -c /var/www/redmine -C /var/www/redmine/1.1/config/mongrel_cluster.yml -a 127.0.0.1 --user redmine --group www-data
mkdir /etc/mongrel_cluster
ln -s /var/www/redmine/1.1/config/mongrel_cluster.yml /etc/mongrel_cluster/redmine.yml
cp /usr/lib/ruby/gems/1.8/gems/mongrel_cluster-1.0.5/resources/mongrel_cluster /etc/init.d/
Faire quelques modifications dans le fichier (voir tutos).
chmod +x /etc/init.d/mongrel_cluster
update-rc.d -f mongrel_cluster defaults
/etc/init.d/mongrel_cluster start
On active les modules Apache2 nécessaire :
a2enmod rewrite
a2enmod proxy_http
a2enmod proxy_balancer
Éditez le fichier et inverser les directives Order et Allow.
vim /etc/apache2/mods-available/proxy.conf
Ensuite on créé le virtualhost :
<pre>
vi /etc/apache2/sites-available/redmine
<VirtualHost *:80>
ServerAdmin admin@votredomaine.tld
ServerName redmine.votredomaine.tld
DocumentRoot /var/www/redmine/1.1/public/
<Directory /var/www/redmine/1.1/public/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
<Proxy balancer://mongrel_cluster>
BalancerMember http://127.0.0.1:8000
BalancerMember http://127.0.0.1:8001
BalancerMember http://127.0.0.1:8002
</Proxy>
RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} -f
RewriteRule (.*) $1 [L]
ProxyPass / Balancer://mongrel_cluster/
ProxyPassReverse / balancer://mongrel_cluster/
AddOutputFilter DEFLATE text/html text/plain text/xml application/xml application/xhtml+xml text/javascript text/css
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
ErrorLog /var/log/apache2/redmine.error.log
LogLevel warn
CustomLog /var/log/apache2/redmine.access.log combined
ServerSignature Off
</VirtualHost>
</pre>
a2ensite redmine
Et on relance Apache pour qu'il prenne tout en compte :
/etc/init.d/apache2 restart
=== Passenger ===
gem install passenger
apt-get install libcurl4-openssl-dev libaprutil1-dev libapr1-dev apache2-prefork-dev
cd /usr/lib/ruby/gems/1.8/gems/passenger-3.0.2/bin/
passenger-install-apache2-module
vi /etc/apache2/mods-available/passenger.load
LoadModule passenger_module /usr/lib/ruby/gems/1.8/gems/passenger-3.0.2/ext/apache2/mod_passenger.so
vi /etc/apache2/mods-available/passenger.conf
PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-3.0.2
PassengerRuby /usr/bin/ruby1.8
vi /etc/apache2/sites-available/redmine
<VirtualHost *:80>
ServerName gioo.hd.free.fr
DocumentRoot /var/www/redmine/1.1/public
LogLevel warn
ErrorLog /var/log/apache2/redmine_error
CustomLog /var/log/apache2/redmine_access combined
<Directory /var/www/redmine/1.1/public>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
</VirtualHost>
a2ensite redmine
/etc/init.d/apache2 restart
Plus d'informations : http://www.admincafe.re/forums/showthread.php?t=250 - http://www.redmine.org/projects/redmine/wiki/RedmineInstall - https://wiki.ousli.org/index.php/Redmine_in_Ubuntu_Jaunty_9.04</rev>
</revisions>
</page>
<page pageid="44" ns="0" title="SVN (Subversion)">
<revisions>
<rev xml:space="preserve">== Création d'un dépôt svn pour un projet ==
svnadmin create /var/svn/projet
Attention à ce que votre projet appartienne bien à svn et non à root
chown -R svn:svn /var/svn/projet
== Configuration ==
Vérifier que le port tcp 3690 est bien ouvert pour svn
Lancer le daemon '''svnserve -d -r /var/svn''' afin de pouvoir se connecter au dépôt svn.
=== Création des utilisateurs SVN ===
Dans le répertoire /var/svn/projet/conf/
Il faut éditer le fichier svnserve.conf avec au minimum :
<pre>
[general]
# Les utilisateurs non auth : none/read/write
anon-access = none
# Les utilisateurs auth : none/read/write
auth-access = read
# le fichier de password
password-db = passwd
# Cette option spécifie l'authentification du référentiel.
# Si deux repo ont les mêmes référentiels d'authentification,
# ils devraient avoir le même mot de passe de base de données, et vice versa.
# Le domaine par défaut est le référentiel uuid.
realm = projet1
</pre>
Il faut éditer le fichier passwd pour qu'il ressemble à :
<pre>
[users]
# nom = mot de passe
user = password
</pre>
/!\ Attention à ne pas laisser d'espaces aux début des lignes, sinon ça ne fonctionne pas.
=== Automatiser le lancement de SVN ===
Jusqu'ici, le serveur SVN est lancé avec votre utilisateur. Ce qui implique que le serveur a les mêmes droits que vous.
Il est donc recommandé de créer un utilisateur pour lancer le serveur et le définir comme propriétaire du dépôt (nous prendrons ici l'utilisateur svn) :
addgroup svn --system
adduser svn --system --home /var/svn --no-create-home --ingroup svn
chown -R svn: /var/svn
Maintenant que nous avons un utilisateur spécifique, pour exécuter SVN au démarrage, il faut créer un script exécutable /etc/init.d/svnserve/ contenant le code suivant.
/!\ Attention à partir de Debian 6.0 il faut ajouter l'entête BEGIN INIT INFO pour éviter le problème suivant - insserv: warning: script 'svnserve' missing LSB tags and overrides
<pre>
#!/bin/sh
#
### BEGIN INIT INFO
# Provides: svnserve
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start and stop svnserve daemon at boot time
# Description: Controls the main subversion server \svnserve\ with default params.
### END INIT INFO
set -e
if [ -x /usr/bin/svnserve ] ; then
HAVE_SVNSERVE=1
else
echo "Svnserve not installed."
exit 0
fi
. /lib/lsb/init-functions
case "$1" in
start)
log_action_begin_msg "Starting SVN server"
start-stop-daemon --start --chuid svn:svn --exec /usr/bin/svnserve -- -d -r /var/svn
log_action_end_msg $?
;;
stop)
log_action_begin_msg "Stoping SVN server"
start-stop-daemon --stop --exec /usr/bin/svnserve
log_action_end_msg $?
;;
force-reload|restart)
$0 stop
$0 start
;;
*)
echo "Usage: /etc/init.d/svnserve {start|stop|restart|force-reload}"
exit 1
;;
esac
exit 0
</pre>
Ne pas oublier de rendre exécutable le script :
chmod +x /etc/init.d/svnserve
Vous pouvez alors respectivement le démarrer, redémarrer et arrêter à l'aide des commandes suivantes :
/etc/init.d/svnserve start
/etc/init.d/svnserve restart
/etc/init.d/svnserve stop
Pour ajouter le serveur SVN au démarrage de la machine :
update-rc.d svnserve defaults
== Commandes de base ==
http://doc.ubuntu-fr.org/subversion#commandes_de_base
Pour les commandes suivantes on supposera que l'on est dans le répertoire local du svn
mkdir projet_local
cd projet_local
Rapatrier le projet en local
svn checkout svn://server/projet . --username user
Vérifier l'état des fichiers local depuis le dernier checkout
svn status
Ajouter des fichiers au svn
svn add fichier répertoire/
Mettre à jour sa version locale (à effectuer avant le commit)
svn update
Envoyer ses modification sur le serveur svn
svn commit fichiers répertoires/ -m "Raison du commit"
= Gestion d'un svn local =
== Import des fichiers ==
svn import /var/www/projet file:///var/svn/projet/ -m "Premier Import"
== Rapatriement du répertoire svn ==
svn checkout file:///var/svn/projet/ /var/www/projet/
= Éditer un message de commit =
Si vous avez oublié de mettre un message à votre commit ou bien si il est incomplet, voici la procédure à suivre pour pouvoir éditer ce log.
Tout d'abord, sur le dépôt de votre projet (sur le serveur svn), allez faire les actions suivantes :
cd /var/svn/projet/hooks/
cp pre-revprop-change.tmpl pre-revprop-change
chown svn:svn pre-revprop-change
chmod a+x pre-revprop-change
Ensuite, de retour dans votre répertoire habituel de travail, tapez la commande suivante :
svn propset -r <numero_de_revision> --revprop svn:log "<Nouveau message de commit.>"
Vous n'avez plus qu'a supprimer le fichier précédemment copié sur le serveur pour interdire de nouveau l'édition des messages de logs
rm /var/svn/projet/hooks/pre-revprop-change
= Activer le tag $Id$ =
Toutes les modifications suivantes sont à faire sur votre poste de travail et non côté serveur.
Éditer le fichier '''~/.subversion/config'''
Dans la partie miscellany, activez l'option suivante.
[miscellany]
enable-auto-props = yes
Dans la partie auto-props, ajouter la ligne suivante pour prendre en compte cette option pour tous les types de fichiers (*).
[auto-props]
* = svn:keywords=Id
Vous pouvez gérer les tags Id uniquement pour certains types de fichiers.
*.php = svn:keywords=Id
Ensuite, il ne vous reste plus qu'à ajouter cette variable ( $Id$ ) à l'endroit voulu dans votre code.
# $Id: nom_fichier numero_release date heure auteur $
Par contre, les fichiers déjà existants ne sont pas pris en compte automatiquement. Il faut utiliser svn propset pour préparer les propriétés automatiques des fichiers existants.
Il faut bien sûr commit le fichier préparé pour prendre en compte les modifications. La variable $Id$ sera complétée automatiquement au moment de ce commit.
svn propset svn:keywords Id mon_fichier
svn commit -m "Updating automatic properties" mon_fichier
Informations complémentaires : [http://www.startupcto.com/server-tech/subversion/setting-the-id-tag]
[http://svnbook.red-bean.com/en/1.4/svn.advanced.props.special.keywords.html]</rev>
</revisions>
</page>
</pages>
</query>
</api>