Utilisateur:Gotty/Extranet/Installation

Pour pouvoir développer l'extranet, il faut configurer plusieurs éléments sur son ordinateur :

Cette documentation a pour but de décrire la procédure d'installation et de configuration de ces éléments sous Linux. La distribution utilisée ici est une Ubuntu Edgy Eft.

Accès aux sources

modifier

Le SVN (SubVersioN) est un serveur sur lequel sont hébergées les sources de l'extranet. Pour avoir accès au SVN, plusieurs moyens sont possibles nous choisirons le logiciel Eclipse qui est une interface de développement (comme Microsoft Visual Studio par exemple) permettant l'accès à des sources hébergées.

Eclipse est un très bon IDE "récemment" (2001) libéré par IBM et écrit en Java. Il est d'abord conçu pour ce langage mais ses nombreux plugins permettent de l'étendre à beaucoup d'autres. Toutes les fonctions qu'on peut attendre de ce genre de logiciel sont présentes ou existent sous forme de plugins (coloration syntaxique, complétition, debugger, gestion de projets, intégration aux gestionnaires de versions...).

Avant de pouvoir modifier les sources sur le SVN, il faut demander à ECLAIR de vous ouvrir un compte en écriture sur ce serveur.

Installation

modifier

Pour suivre ce tutoriel, assurez-vous d'avoir activé les dépôts Universe et Multiverse.

Il suffit d'installer le paquet eclipse via Synaptic, ou encore Apt:

$ sudo apt-get install eclipse

Il est fort probable qu'Eclipse soit lent et peu réactif. Ubuntu intègre la machine virtuelle Java (MVJ) libre GCJ. Prenez un moment pour installer la MVJ de Sun, qui fonctionne beaucoup mieux. Une explication peut être trouvée ici : Installation de java

Pour être certain qu'Eclipse utilise la bonne MVJ, ajoutez cette ligne au fichier ~/.eclipse/eclipserc (créez-le au besoin):

export JAVA_HOME=/usr/lib/jvm/java-1.5.0-sun/

Redémarrez Eclipse. Vous devriez vite voir une différence de performances.

Au lancement Eclipse vous demandera de choisir votre workspace, il s'agit du répertoire qui contiendra vos projets.

Voilà, Eclipse est maintenant fin prêt à être utilisé pour de la programmation Java.

Installation des plugins

modifier
PHPEclipse
modifier
Installation
modifier

Un bon plugin PHP pour Eclipse est PHPEclipse. Il n'est pas disponible dans les dépôts d'Ubuntu, il faudra donc utiliser une méthode interne à Eclipse.

Dans le cas où vous êtes derrière un proxy (au hasard si vous êtes connecté sur le réseau du campus de l'ECL), il faut paramétrer le serveur proxy dans Window --> Preferences --> Install/Update --> Proxy settings (dans le cas de l'ECL : proxy.ec-lyon.fr et 3128).

Dans le logiciel, suivez le chemin Help --> Software Updates --> Find and Install.... Choisissez l'option Search for new features to install, cliquez sur Next, puis sur New Remote Site.... Entrez:

Name: PHPEclipse
 URL: http://phpeclipse.sourceforge.net/update/releases

Cliquez sur OK, puis sur Finish. Valider la licence, validez la page suivante et cliquez sur Install All.

Configuration
modifier

Suivez le chemin Window --> Preferences... --> PHPeclipse Web Development --> PHP External Tools. Entrez ces données:

Run PHP command: /usr/bin/php
Parser command: /usr/bin/php -l -f {0}

Dépliez PHP External Tools, et allez dans Apache. Modifiez ces lignes:

Apache: /usr/sbin/apache2
Path to httpd.conf: /etc/apache2/httpd.conf
Path to etc/hosts: /etc/hosts

Allez dans MySQL, et modifiez cette ligne:

MySQL: /usr/sbin/mysqld
Installation du support de (x)HTML, CSS et Javascript
modifier

Reprenez la méthode d'installation du support de PHP, mais avec ces données:

Name: Aptana
URL: http://update.aptana.com/update/

Une fois l'installation complétée, redémarrez Eclipse. Aucune configuration supplémentaire n'est requise.

Installation du support de Subversion
modifier

Reprenez la méthode d'installation du support de PHP, mais avec ces données:

Name: Subclipse
 URL: http://subclipse.tigris.org/update_1.0.x

Configuration

modifier

Changez de perspective en cliquant sur Window->Open Perspective puis, dans la fenêtre qui s'affiche, choisissez PHP, puis validez en cliquant sur OK

Pour récupérer les sources, créez un projet en cliquant sur File --> New --> Project, puis SVN --> Checkout projects from SVN et enfin cliquez sur Next. Dans la nouvelle fenêtre, choisissez Create a new repository location et cliquez sur Next. Dans url, entrez :

http://svn.eclair.ec-lyon.fr/svn/extranet

et cliquez sur Next.

Puis sélectionnez le dossier Trunk, et cliquez sur Next, puis sélectionnez "Check out as a project in the workspace" en entrant le nom "extranet" sur Finish.

Eclipse devrait alors pouvoir rapatrier toutes les sources sur votre ordinateur.

Utilisation

modifier

A partir du moment où vous modifiez des données sur votre ordinateur (en local), une icône vous indique que des modifications ont été faites. Une fois qu'elles sont terminées (et seulement à ce moment là), vous pouvez les envoyer avec l'option Commit disponible dans Team en faisant un click droit sur un répertoire ou un fichier. Vous pouvez également revenir à la version du serveur en choisissant Revert.

L'option Update permet de récupérer les modifications du serveur sur votre version (si la version est différente). L'option Add permet d'ajouter un fichier au SVN.

Serveur Apache

modifier

Pour pouvoir utiliser php sur votre ordinateur, il vous faut installer un serveur Apache.

Installation

modifier

L'installation se fait simplement par téléchargement du package apache2.

Configuration

modifier

La configuration du serveur est assez complexe et ce tutoriel peut ne pas résoudre tous les problèmes rencontrés. Néanmoins c'est une bonne base pour commencer. En cas de problème, n'hésitez pas à contacter ECLAIR sur son chan IRC par exemple.

Tout d'abord, il faut créer un nouveau site accepté par Apache.

sudo gedit /etc/apache2/sites-available/extranet

Dans ce fichier, mettre la configuration suivante, en remplaçant le chemin /home/gotty/workspace/extranet (ligne 4) par le chemin correspondant à votre répertoire de travail d'Eclipse :

<VirtualHost *>
ServerName localhost
ServerAlias localhost
DocumentRoot /home/gotty/workspace/extranet/
</VirtualHost>

Ensuite, il faut créer un lien symbolique vers ce fichier :

 sudo ln -s /etc/apache2/sites-available/extranet /etc/apache2/sites-enabled/001-extranet

Ainsi, pour désactiver l'extranet dans Apache, il suffira de supprimer ce lien, on pourra conserver la configuration pour une utilisation ultérieure.

Puis, il va falloir changer l'encodage des caractères par défaut. Pour cela, éditons le fichier apache2.conf :

sudo gedit /etc/apache2/apache2.conf

et décommentez la ligne

AddDefaultCharset	ISO-8859-1

Puis choix du fuseau horaire :

sudo gedit /etc/php5/apache2/php.ini

Dans la section Modules Settings, modifier pour que l'on ait :

[Date]
; Defines the default timezone used by the date functions
date.timezone =Europe/Berlin

Enfin, relancez le serveur Apache :

sudo /etc/init.d/apache2 reload

Plusieurs packages PHP doivent être téléchargés :

  • php4
  • php4-ldap
  • php4-pgsql
  • php4-xslt

Une migration vers php5 étant prévue, donc si les paquets php4 ne sont pas disponibles sur votre version de Linux, vous pouvez fonctionner avec les paquets php5 correspondants.

Base de données

modifier

Installation

modifier

Il faut tout d'abord installer le package postgresql-8.1 ainsi que pgadmin3 qui est une interface de gestion de base de données plutôt utile.

Configuration de postgreSQL

modifier

Tout d'abord, changeons le mot de passe par défaut de l'utilisateur postgres. Pour cela, on commence par se logger avec cet utilisateur à la base de données :

sudo su - postgres

Et entrez là votre mot de passe de root. Puis effectuez ces opérations :

psql
ALTER USER "postgres" WITH PASSWORD 'MOTDEPASSEADMIN';

où MOTDEPASSEADMIN est le mot de passe que l'on veut donner à l'utilisateur postgres.

Ensuite, délogguez vous en tapant 2 fois CTRL+D. Maintenant, ouvrons le fichier de configuration de la base pour demander une vérification des mots de passe :

sudo gedit /etc/postgresql/8.1/main/pg_hba.conf

Dans ce fichier, rajouter les lignes suivantes en fin de fichier

local   all         postgres                          trust
local   all         all                               md5
host    all         all         127.0.0.1/32          md5

Remarque : le rajout de trust dans la 1ère ligne n'est peut-être pas utile...

Vérifiez qu'aucune autre ligne au-dessus ne pourrait contredire une de ces deux-ci.

Redémarrez le serveur de base de données :

sudo  /etc/init.d/postgresql-8.1 restart 

Configuration de pgAdmin

modifier

Une fois le serveur de base de données configuré, vous pouvez créer la base de données par pgadmin. Lancez donc PgAdmin (dans Applications --> Outils Système) et cliquez sur Fichier --> Ajouter un serveur, puis entrez ces données :

Adresse : 127.0.0.1
Description : extranet
Service : extranet

Nom utilisateur : postgres
Mot de passe : celui que vous avez donné à postgres

Puis, cliquez sur Outils --> Éditeur de requêtes. Dans la nouvelle fenêtre, faites Fichier-->Ouvrir et ouvrez la requête "create_database" qui doit être dans le répertoire "misc/db/" de votre workspace définit par Eclipse. Puis, exécutez cette requête.

Enfin, récupérez un dump[1] de la base de données actuelle de la base de données de production (demandez-le au responsable serveur d'ECLAIR), retournez en console, et tapez :

psql -U extranet extranet < fichier

fichier est le nom du fichier de dump. Mettre comme mot de passe extranet.

Si le fichier dump est trop vieux, ou si la base de données a été modifiée, vous aurez peut être à exécuter quelques requêtes afin de mettre la base de données à jour.

Configuration de l'extra

modifier

La version de l'extra sur les serveurs SVN nécéssite tout de même 2-3 aménagements pour pouvoir être totalement utilisable en dévéloppement. Pour commencer, il faut copier le fichier include/common/config.inc.php-example en le renommant include/common/config.inc.php. Attention : ce fichier ne doit jamais être envoyé sur le SVN (car la configuration dépend de votre poste, et ne sera plus compatible avec l'extranet), ajoutez-le à SVN:ignore (dans le menu Team).

Ensuite, modifiez ce fichier pour être en développement. Cherchez les lignes correspondantes et modifiez-les pour avoir :

define('CONFIG_SITE_TRACE', 1); // booléen : 0 inactif, 1 actif
define('IS_DEV',1); // Site en développement 0 faux, 1 vrai
// <Configuration de la connection à la base Postgresql>
          define('CONFIG_SERVEUR_POSTGRES_HOST', 'localhost'); 
          define('CONFIG_SERVEUR_POSTGRES_PORT', '5432'); 
          define('CONFIG_SERVEUR_POSTGRES_USER', 'extranet'); 
	  define('CONFIG_SERVEUR_POSTGRES_PASSWORD', 'extranet'); 
	  define('CONFIG_SERVEUR_POSTGRES_BASE', 'extranet'); 
// </Configuration de la connection à la base Postgresql>

Et voila, tout doit maintenant fonctionner, en tapant localhost dans votre navigateur internet favori !

Si, lors de la navigation sur la version de dev, vous avez des avertissements comme quoi certains fichiers de cache ne peuvent être créés, c'est sûrement un problème de droits d'écriture. Faites, de manière bourrine, un

chmod 777 -R /le/repertoire/ou/sont/les/sources/
  1. Un dump est un fichier comprenant un ensemble de requêtes SQL permettant de reconstruire la base de données tel qu'elle était à un moment donné.