
=========
Prrequis
=========

Installer PHP 5.1+, Apache 2+, MySQL 4+ et ventuellement phpMyAdmin.
Dcommenter extension=mysql.so dans /etc/php5/apache2/php.ini.

Activer les modules Apache requis:
sudo a2enmod autoindex dir php5

Installer perl et perl-suid:
sudo apt-get install perl perl-suid


========
Fichiers
========

Tlcharger les sources:
svn co svn+ssh://gdsdmi01.ens-lyon.fr/local/denif

Dans la suite, $SVNDIR reprsente le rpertoire
o vous avez tlcharg les sources.

Crer un groupe denif et un utilisateur denif dans ce groupe.
Ajouter le groupe denif  l'utilisateur www-data.

Donner les droits par dfaut:
chgrp denif -R $SVNDIR
chmod o= -R $SVNDIR


==========
Paramtres
==========

Copier: $SVNDIR/src/conf-local-template.inc.php
sous le nom: $SVNDIR/src/conf-local.inc.php

Modifier le fichier pour:
- spcifier les coordonnes de la base SQL
- dfinir la variable bLocal spcifiant si le site est local
  (test, dveloppement)

Copier: $SVNDIR/tools/conf-template.sh
sous le nom: $SVNDIR/conf.sh

Modifier le fichier pour:
- spcifier les coordonnes de la base SQL
- dfinir le rpertoire de backup des bases de donnes,
  par dfaut le sous-rpertoire 'backups'
  du rpertoire contenant le script


===========
Serveur Web
===========

Si le serveur Web n'est PAS dans /var/wwwdenif,
modifier le chemin d'accs contenu en dur dans:
- $SVNDIR/src/set-data-rights.pl
- $SVNDIR/tools/conf.sh
Dans toute la suite on suppose que le serveur Web est dans /var/wwwdenif.

Configurer Apache. Par exemple, pour affecter le site au sous-domaine denif
et lui donner des logs spars:
   <VirtualHost *>
      ServerAlias denif.*
      DocumentRoot /var/wwwdenif

      <Directory /var/wwwdenif/>
         Options Indexes FollowSymLinks MultiViews
         AllowOverride All
         Order allow,deny
         Allow from all
      </Directory>

      ErrorLog /var/log/apache2/denif-error.log
      CustomLog /var/log/apache2/denif-access.log combined
      LogLevel warn
      ServerSignature On
   </VirtualHost>

Redmarrer Apache avec:
sudo apache2ctl restart


Crer /var/wwwdenif, y copier le contenu de $SVNDIR/src
Droits:
- user: un utilisateur du groupe www-data
- group: denif
Par exemple:
sudo chown www-data-user:denif /var/wwwdenif


Le script set-data-rights.pl doit avoir le SUID bit pour root:
sudo chown root:root set-data-rights.pl
sudo chmod u=rwxs,go=rx set-data-rights.pl


Excuter /var/wwwdenif/updt.sh, pour modifier certains droits.


===============
Base de donnes
===============

Crer la base de donnes denif grce au fichier $SVNDIR/src/denif.sql
ou  la dernire sauvegarde de gdsdmi01.

Crer l'utilisateur denif avec tous les droits sauf GRANT sur la base denif.


===================
Scripts disponibles
===================

* $SVNDIR/src/updt.sh
- Met  jour la copie locale du code  partir du repository SVN
- Configure les droits des fichiers du code:
  - Mmes droits au groupe qu' l'user
  - Aucun droit pour other
  - Droits d'excution pour les scripts

* $SVNDIR/src/set-data-rights.pl
- Donne les bons user, groupe et droits aux fichiers du cache,
  dans le rpertoire data:
  - user: www-data
  - group: denif
  - droits user et group: rwX
  - droits other: aucun

* $SVNDIR/src/ping_download.sh
Excute:
- ping_download.php pour tlcharger des fichiers dans le cache
- set-data-rights.pl pour leur donner les bons droits


* $SVNDIR/src/maintenance.php
Peut tre lanc en ligne de commande, en donnant en paramtre
le nom des oprations de maintenance  effectuer, par exemple:

php maintenance.php bClean bOptimize


* $SVNDIR/src/sitemaps/generate.sh
Gnre le fichier sitemaps, avertit Google de sa mise  jour.


===========
Maintenance
===========

Crer /local/deniftools, y copier le contenu de $SVNDIR/tools.
N'importe quel autre rpertoire peut tre utilis.

Donner les bons droits aux scripts:
chmod ug=rwx,o= /local/deniftools/{automysqlbackup.sh,maintenance.sh}
chmod ug=rw,o= /local/deniftools/conf.sh


* $SVNDIR/tools/automysqlbackup.sh
Permet d'effectuer des sauvegardes de la base.
 diter pour spcifier:
- le mot de passe de la base de donnes
- le rpertoire d'enregistrement des backups,
  par dfaut: /local/deniftools/backups


* $SVNDIR/tools/maintenance.sh
1) Effectue les oprations de maintenance bClean et bOptimize
2) Gnre le fichier sitemaps
3) Efface les rpertoires vides non rfrencs par une ressource


* Automatisation avec cron
L'utilitaire crontab permet de consulter et de modifier
la liste des excutions planifies.

Contenu recommand:

MAILTO=""

# m  h  dom mon dow   command
 15  5  *   *   *     /local/deniftools/automysqlbackup.sh
 30  5  *   *   *     /local/deniftools/maintenance.sh
