Вы находитесь на странице: 1из 10

Université Mohammed 1er

Ecole Nationale des Sciences Appliquées


Oujda – Maroc

Département : Génie Télécommunications et Réseaux (GTR)

Niveau : 4ème année

Module : Introduction au système Linux

Réalisé par : Professeur :


 AFELOUAT Othmane Mr. SABER
 AOURAGH Mohamed
 DIALLO Mamadou Tourad
 TINE Papa Mbaye

Année académique : 2007/2008


Introduction
Apache est le serveur Web le plus performant et le plus utilisé sur Internet. C’est un logiciel libre, donc
gratuit (licence GNU). Il est fourni, en standard, dans toutes les distributions Linux.
Un serveur Apache caractérisé par le démon httpd, communique avec un client (IE ou Netscape) grâce un
protocole HTTP (Hyper Text Transfer Protocol).
I. Installation du serveur et les outils Trac et Subversion
On a choisi d’installer Apache2 avec les outils Trac et subversion pour gérer nos projets Web.
Tout d’abord il faut se connecter en tant que root pour ne pas taper à chaque fois la commande sudo.
Il faut donc après la connexion en tant que root suivre ses étapes :
# apt-get install apache2
# apt-get install subversion libapache2-svn libapache2-mod-python2.4 trac
On crée le répertoire système pour les instances de Trac, par exemple dans /var/trac sans oublier de le
rendre accessible en écriture par apache:
# mkdir /var/trac
# chown www-data:www-data /var/trac
 Création d'une instance Trac pour votre projet
Il nous faut maintenant importer un projet dans Subversion. Pour l'exemple, nous créerons un projet
nommé gtr_apache, rien de plus simple... sauf pour les feignants. Pour la création du projet, vous
trouverez le code sur ce lien : http://www.prendreuncafe.com/blog/share/bash/create_svn_repo.sh (On va
donner le fichier en annexe pour ne pas car vous pouvez trouver des problèmes de connexion à ce site).
Il suffit donc d’enregistrer ce fichier nommé create_svn_repo.sh et le rendre exécutable par la commande
# chmod +x create_svn_repo.sh et comme ça on pourra commencer à créer notre projet, voici la
procédure à suivre :
# create_svn_repo.sh
Après l’exécution de cette commande la création du projet subversion commence et on a choisi comme
nom gtr_apache et on donne le chemin où on veut mettre le projet (ici /home/ensao/gtr_apache , mais il
faut au préalable que ce répertoire existe sinon vous auriez des erreurs à la suite de la création du projet)
#######################################
Création d'un nouveau projet Subversion
#######################################
Tapez le nom du nouveau projet :
gtr_apache
Tapez maintenant le chemin du répertoire source :
(Note: les répertoires trunk, branches et tags seront créés automatiquement)
/home/ensao/gtr_apache

ENSAO_GTR4 -1- Installation et Configuration d’Apache


Création du projet gtr_apache depuis /home/ensao/gtr_apache...
Adding /tmp/svn/gtr_apache/trunk
Adding /tmp/svn/gtr_apache/trunk/test
Adding /tmp/svn/gtr_apache/trunk/test/main
...
Committed revision 1.

Projet subversion gtr_apache créé avec succès !

Ainsi, on a réussi à créer notre projet gtr_apache. Ensuite, il faut initialiser l'environnement trac pour
notre projet récemment importé dans Subversion, ce que l'on fait au moyen de la série de commande
suivante :
# trac-admin /var/trac/gtr_apache initenv
# chown -R www-data /var/trac/gtr_apache
Notez encore une fois que je crée la racine trac dans /var/trac mais vous pouvez tout à fait utiliser un
autre emplacement.
 Créer un ou plusieurs utilisateurs Trac et Subversion, gérer les autorisations
Créons tout d'abord le fichier de stockage des mots de passe Trac/Subversion et ajoutons un utilisateur
maintener :
# trac-admin /var/trac/gtr_apache permission add maintener TRAC_ADMIN
On peut également imaginer la création d'un compte utilisateur développeur, qui peut créer des tickets, en
fermer et maintenir le wiki :
# htpasswd -c /etc/apache2/dav_svn.passwd dev
# trac-admin /var/trac/gtr_apache permission add dev WIKI_CREATE WIKI_MODIFY
TICKET_CREATE TICKET_MODIFY
Il nous reste qu’à désactiver les contributions anonymes comme ceci :
# trac-admin /var/trac/gtr_apache permission remove anonymous WIKI_CREATE
WIKI_MODIFY TICKET_CREATE TICKET_MODIFY

ENSAO_GTR4 -2- Installation et Configuration d’Apache


 Configuration au coté subversion :
Côté Subversion, il nous faut autoriser les checkouts anonymes mais s'assurer qu'un utilisateur est
authentifié avant d'accepter ses commits. Cela se configure très facilement dans le fichier :
/var/svn/gtr_apache /conf/svnserve.conf, dans lequel vous pouvez saisir :
[general]
anon-access = read
auth-access = write
password-db = passwd
# authz-db = authz
realm = gtr_apache Subversion Repository

II. Installer Trac WebAdmin


Trac WebAdmin est une interface web d'administration de votre ou vos instance(s) Trac offrant un
confort appréciable pour administrer vos projets et en gérer les paramètres. Même si nous n'avons pas
encore défini de virtual host apache, rien ne nous empêche d'installer le plugin, qui passe d'abord par
l'installation des setuptools :
# wget http://peak.telecommunity.com/dist/ez_setup.py
# python ez_setup.py

Ceci fait, téléchargez le fichier de plugin TracWebAdmin sur le site de Trac, supprimez son extension
.zip et installez-le au moyen du programme easy_install précédemment installé, comme suit :

# wget http://trac.edgewall.org/attachment/wiki/WebAdmin/TracWebAdmin-0.1.2dev_r6060-
py2.4.egg.zip?format=raw
# mv TracWebAdmin-0.1.2dev_r6060-py2.4.egg.zip\?format\=raw TracWebAdmin.egg
# easy_install TracWebAdmin.egg

Éditez votre fichier de configuration d'instance Trac : # nano /var/trac/gtr_apache/conf/trac.ini.


Et ajoutez-y la section suivante (si elle n'existe pas) :
[components]
webadmin.* = enabled

Enregistrez le fichier et quittez.

ENSAO_GTR4 -3- Installation et Configuration d’Apache


 Créer un hôte virtuel Apache :
Nous devons rendre accessible par le web notre instance de Trac ainsi que le dépôt Subversion associé,
par le biais d'un hôte virtuel apache dédié, il nous faut créer le fichier trac.mondomaine.org comme suit :
# nano /etc/apache2/sites-available/trac.mondomaine.org

<VirtualHost *>
ServerAdmin webmaster@mondomaine.org
ServerName trac.mondomaine.org

DocumentRoot /var/trac/gtr_apache
<Location />
SetHandler mod_python
PythonHandler trac.web.modpython_frontend
PythonOption TracEnv /var/trac/gtr_apache
PythonOption TracUriRoot /
PythonPath "sys.path + ['/var/trac/gtr_apache']"
</Location>

ErrorLog /var/log/apache2/error.trac.domaine.org.log
CustomLog /var/log/apache2/access.trac.domaine.org.log combined
<Location /svn>
DAV svn
SVNPath /var/svn/gtr_apache
AuthType Basic
AuthName "gtr_apache Subversion repository"
AuthUserFile /etc/apache2/dav_svn.passwd
<LimitExcept GET PROPFIND OPTIONS REPORT>
Require valid-user
</LimitExcept>
</Location>

<Location "/login">
AuthType Basic
AuthName "Trac login"
AuthUserFile /etc/apache2/dav_svn.passwd
Require valid-user
</Location>

</VirtualHost>

ENSAO_GTR4 -4- Installation et Configuration d’Apache


Vous devrez bien entendu enregistrer le domaine et le sous domaine dans votre fichier de configuration
DNS, voire simplement dans votre fichier /etc/hosts. Ici denzel c’est mon hostname, vous pouvez
connaître votre hostname en tapant la commande # hostname.
# nano /etc/hosts
127.0.0.1 localhost.localdomain localhost denzel
127.0.0.1 trac.mondomaine.org denzel

Nous utilisons mod_python (précédemment installé), n'oublions pas de l'activer :

# 2enmod mod_python

Ceci fait, il nous reste à activer le nouvel hôte apache et à relancer ce dernier :

# a2ensite trac.mondomaine.org
# /etc/init.d/apache2 restart

Pour vérifier que tout s'est déroulé correctement, faites pointer votre navigateur préféré vers l'adresse
trac.mondomaine.org, vous devriez accéder sans encombres à votre instance nouvellement créée. Vous
pouvez vous loguer en cliquant sur le lien Login et en fournissant les paramètres d'accès utilisateur que
vous avez définis précédemment. Si vous vous loguez en administrateur Trac, vous devriez disposer du
menu Admin donnant accès à l'extension WebAdmin où vous pourrez ajuster les paramètres de votre
instance à vos besoins.

Conclusion
Ce mini projet nous a donc permis à comprendre le fonctionnement du serveur Apache2 et son utilité pour
la création de site web. On a aussi su comment utiliser Apache avec les outils Trac et Subversion.

ENSAO_GTR4 -5- Installation et Configuration d’Apache


Annexes :

 Fichier create_svn_repo.sh

#!/bin/bash
# Vous pouvez éditer ces variables selon vos besoins
SVN_ROOT="/var/svn"
SVN_TMP_PATH="/tmp/svn"
APACHE_USER="www-data"
APAGE_GROUP="www-data"
TRAC_ROOT="/var/trac"
TRAC_SHARE="/usr/share/trac"

# Ce script doit être executer avec les droits de superutilisateur


test -w /root;
if [ ! "$?" -eq "0" ]; then
echo "Vous devez executer ce script en tant que superutilisateur."
exit 0
fi

echo "#######################################"
echo "Création d'un nouveau projet Subversion"
echo "#######################################"
echo ""
echo "Tapez le nom du nouveau projet :"
read PROJECT_NAME

if [ -z "$PROJECT_NAME" ]; then
echo "$PROJECT_NAME n'est pas un nom de projet valide.";
exit 0
fi

echo "Tapez maintenant le chemin du répertoire source :"


echo "(Note: les répertoires trunk, branches et tags seront créés automatiquement)"
read PROJECT_SOURCE_PATH

ENSAO_GTR4 -6- Installation et Configuration d’Apache


if [ -z "$PROJECT_SOURCE_PATH" -o ! -d $PROJECT_SOURCE_PATH ]; then
echo "$PROJECT_SOURCE_PATH n'est pas un répertoire valide.";
exit 0
fi

echo "Création du projet $PROJECT_NAME depuis $PROJECT_SOURCE_PATH..."

# Si le répertoire $SVN_ROOT n'existe pas, on le crée


if [ ! -d $SVN_ROOT ]; then
mkdir $SVN_ROOT
fi

# Si le répertoire $SVN_TMP_PATH n'existe pas, on le crée


if [ ! -d $SVN_TMP_PATH ]; then
mkdir $SVN_TMP_PATH
fi

# Création du répertoire du dépôt


mkdir $SVN_ROOT/$PROJECT_NAME

# Création d'un répertoire temporaire de stockage avant import


mkdir $SVN_TMP_PATH/$PROJECT_NAME
mkdir $SVN_TMP_PATH/$PROJECT_NAME/branches
mkdir $SVN_TMP_PATH/$PROJECT_NAME/tags
mkdir $SVN_TMP_PATH/$PROJECT_NAME/trunk

# Copie des fichiers originaux dans le répertoire temporaire


cp -R $PROJECT_SOURCE_PATH/* $SVN_TMP_PATH/$PROJECT_NAME/trunk/

# Création du dépôt et import depuis le répertoire créé


svnadmin create $SVN_ROOT/$PROJECT_NAME
svn import $SVN_TMP_PATH/$PROJECT_NAME file://$SVN_ROOT/$PROJECT_NAME -m "Initial
import"

# Attribution des permissions à Apache sur le repertoire du dépot


chown -R $APACHE_USER:$APACHE_GROUP $SVN_ROOT/$PROJECT_NAME

ENSAO_GTR4 -7- Installation et Configuration d’Apache


# Attribution de droits supplémentaires
sudo chown -R $APACHE_USER:$APACHE_GROUP $TRAC_SHARE

# Suppression du répertoire temporaire


rm -rf $SVN_TMP_PATH/$PROJECT_NAME

# Done !
echo ""
echo "Projet subversion $PROJECT_NAME créé avec succès dans $SVN_ROOT/$PROJECT_NAME
!"

echo "Voulez-vous lancer l'utilitaire de création d'environnement trac"


echo "correspondant au projet ? (oui/non)"

read GENERATE_TRAC_INSTANCE

if [ $GENERATE_TRAC_INSTANCE == "oui" ]; then


trac-admin $TRAC_ROOT/$PROJECT_NAME initenv
chown -R $APACHE_USER:$APACHE_GROUP $TRAC_ROOT/$PROJECT_NAME
fi

Il suffit juste donc de créer sous le nom create_svn_repo.sh avec n’importe qu’elle éditeur de texte et
l’enregistrer dans un répertoire. Puis il faut le rendre exécutable par # chmod + x create_svn_repo.sh et
donc pour l’exécuter, il suffit d’être dans le répertoire contenant ce fichier et taper la commande
# create_svn_repo.sh et ainsi on pourra créer notre projet comme précédemment.

ENSAO_GTR4 -8- Installation et Configuration d’Apache


 Fichiers .htaccess
Les fichiers .htaccess peuvent être utilisés dans n'importe quel répertoire virtuel ou sous-répertoire.
Les principales raisons d'utilisation des fichiers .htaccess sont :
Gérer l'accès à certains fichiers.
- Ajouter un mime-type,
- Protéger l'accès à un répertoire par un mot de passe,
- Protéger l’accès à un fichier par un mot de passe,
- Définir des pages d’erreurs personnalisées.
Dans notre cas on va l’utiliser pour gérer l’erreur 404 Not found fourni par le serveur Apache quand il ne
trouve pas un fichier sur le serveur. Pour cela, on crée le fichier .htaccess dans le répertoire /var/www.
# nano /var/www/.htaccess
ErrorDocument 404 /erreur/404.html

Après cela il faut ajouter cette ligne aussi dans /ect/apache2/apache2.conf, faire donc :
# nano /ect/apache2/apache2.conf et y ajouter ErrorDocument 404 /erreur/404.html
Il faut d’abord créer le repertoire erreur dans /var/www et y créer ensuite le fichier 404.html comme
suit, la procédure est donc : création du répertoire, après se placer dans ce répertoire et créer le fichier.
# mkdir /var/www/erreur
#cd /var/www/erreur
# gedit 404

<html>
<head><title>Erreur 404 Not found</title></head>
<body>
<center><font size = 5 color = ‘red’>La page demandé n’existe pas dans le serveur.</font></center>
</body>
</html>

Enregistrer le fichier avec « Ctrl+S » au format html (extension .html) avant de quitter gedit.
Ainsi tous les erreurs de nature 404 Not Found vont donc être redirigés vers /var/www/erreur/404.html et
donc du coup on ne vas pas afficher les informations sur notre serveur Apache ou bien le système
d’exploitation utilisé par notre hôte.

ENSAO_GTR4 -9- Installation et Configuration d’Apache

Вам также может понравиться