Centre/SIS sur Ubuntu Server

Publié le 11 septembre 2012 par Menerve
Ici nous allons voir comment installer Centre/SIS sur un serveur de production Ubuntu et ses dépendences qui sont PostgreSQL, HTMLDOC et PhpPGAdmin. Ensuite, nous allons régler les problèmes de langue et de fuseau horaire.
Prérequis:
Avoir un serveur Ubuntu fonctionnel:
Voir articles Installer une Ubuntu Server via VMware sous Windows et Installer LAMP sous Ubuntu Server et accéder au serveur.
Se connecter au serveur en SSH, via Putty par exemple.
1. Installer PostgreSQL 9.1:
sudo apt-get install postgresql
Créer un utilisateur (car il ne sera pas possible de se connecter depuis l'utilisateur postgres): voir 3.4, Méthode alternative pour créer un utilisateur de http://doc.ubuntu-fr.org/postgresql
2. Installer PhpPGAdmin 5:
sudo apt-get install phppgadmin
Si l'URL [site]/phppgadmin ne donne rien, créer le lien symbolique:
sudo ln -s /usr/share/phppgadmin/ /var/www/phppgadmin
Voir http://doc.ubuntu-fr.org/phpmyadmin section 3.2 pour sécuriser PhpPgAdmin en suivant l'exemple pour PhpMyAdmin.
On peut alors se connecter via l'utilisateur que l'on a créé à l'étape 1 et créer un base "centre"!

3. Installer HTMLDOC 1.8.27:
sudo apt-get install htmldoc
Le chemin vers le programme HTMLDOC sera /usr/bin/htmldoc
4. Transferer les fichiers de Centre/SIS dans le répertoire /var/www/centre par exemple, via Filezilla.
Le problème est que le dossier appartient au groupe root et que notre utilisateur n'en fait pas partie. Voir http://superuser.com/questions/250644/ubuntu-9-04-var-www-permissions
5. Problème de locale (traductions):
Par défaut, les locales fr_FR et es_ES ne marchent pas. La commande locale -a permet de connaître les locales installées. Je n'ai que de l'anglais.
On va installer les locales manquantes via language-pack-* (https://help.ubuntu.com/community/Locale)
sudo apt-get install language-pack-fr language-pack-es
Et il faut enfin renommer les locales (sous dossiers de /locale + config.inc.php + les drapeaux du dossier assets/flags/) en fr_FR.utf8 et es_ES.utf8
6. Problème d'heure / fuseau horaire:
Le fuseau horaire utilisé par PHP est mauvais, il faut configurer le bon via le php.ini
sudo nano /etc/php5/apache2/php.ini
Rechercher la ligne date.timezone et renseigner le fuseau horaire suivants les valeurs indiquées sur cette page: http://co.php.net/manual/fr/timezones.php
On redémarre Apache:
sudo /etc/init.d/apache2 restart

Modifier le fuseau horaire utilisé par Ubuntu (Paris, par exemple):
sudo mv /etc/localtime /etc/localtime.old
sudo ln -s /usr/share/zoneinfo/Europe/Paris /etc/localtime