Utilisateur:Gotty/Extranet/Installation
Pour pouvoir développer l'extranet, il faut configurer plusieurs éléments sur son ordinateur :
- Un accès au SVN
- Un serveur Apache 2
- PHP 4
- Une base de données PostgreSQL
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
modifierLe 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
modifierPour 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
modifierPHPEclipse
modifierInstallation
modifierUn 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
modifierSuivez 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
modifierReprenez 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
modifierReprenez 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
modifierChangez 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
modifierA 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
modifierPour pouvoir utiliser php sur votre ordinateur, il vous faut installer un serveur Apache.
Installation
modifierL'installation se fait simplement par téléchargement du package apache2.
Configuration
modifierLa 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
PHP
modifierPlusieurs 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
modifierInstallation
modifierIl 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
modifierTout 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
modifierUne 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
où 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
modifierLa 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/
Notes
modifier- 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é.