Dernière mise à jour : 18/10/2009
Cette procédure est destinée à l'installation de la version de développement du Panel-GZW.
Aucun aucun cas cette dernière doit-être utilisée en production !
Pour le moment seule la procédure pour la distribution Debian GNU/Linux sera fournie. Il ne devrait pas être compliqué de l'adapter pour une autre distribution.
En voici les raisons :
La version finale du panel nécessitera l'utilisation du module SuExec d'Apache cependant pour le moment nous nous en passerons.
Il est nécessaire d'avoir un serveur LAMP (Linux Apache MySQL PHP) fonctionnel, si ce n'est pas le cas reportez-vous à cette adresse : http://wiki.goldzoneweb.info/
Après cette petite aparté nous pouvons enfin commencer. :p
Ce dont nous allons avoir besoin :
Activation du module “rewrite” d'Apache.
# a2enmod rewrite
Dans le fichier “default” présent dans le répertoire “/etc/apache2/sites-available/” il est nécessaire de remplacer toute les occurrences suivantes :
AllowOverride None
Par celle-ci :
AllowOverride All
Après ces modifications, il est nécessaire de relancer Apache afin que les changements soient pris en charge.
# /etc/init.d/apache2 reload
Installation de l'interpréteur Perl et du module nécessaire à la création du daemon (service).
# aptitude install perl libproc-daemon-perl
Nous pouvons désormais passer à l'installation du framework CakePHP.
Avant d'aller plus loin, il nous faut télécharger le framework CakePHP.
Ce dernier est disponible à l'adresse suivante : http://cakeforge.org/frs/download.php/734/cake_1.2.5.tar.gz/donation=complete
Une fois l'archive téléchargée et décompressée nous la plaçons dans le répertoire “cake_1.2.5” dans le répertoire “/var/www/”.
Ensuite on renomme le répertoire “cake_1.2.5” en “panel-gzw” puis nous lui donnons au répertoire les droits “www-data”.
Voici la procédure à suivre étape par étape :
tar zxvf cake_1.2.5.tar.gz
mv cake_1.2.5 /var/www
cd /var/www
mv cake_1.2.5 panel-gzw
chown www-data:wwwa-data -R panel-gzw
L'installation est presque terminée.
Ouvrez votre navigateur préféré (Firefox :p), puis entrez l'adresse de votre serveur suivi de ”/panel-gzw/”.
http://adresse-de-mon-serveur/panel-gzw/
Vous devriez obtenir le résultat suivant :
Du jaune, du vert !! Au mon dieu que se passe t-il ?
C'est tout à fait normal, il reste encore deux petites manipulations à effectuer.
Nous réglerons ces léger désagréments un petit plus tard, une fois que la version de développement du Panel-GZW sera téléchargée. :)
La version de développement actuelle est disponible à cette ici : http://www.panel-gzw.com/wp-content/plugins/download-monitor/download.php?id=2
Une fois l'archive récupérée et décompressée vous devriez obtenir un répertoire “panel-gzw_dev_xx-xx-xx” (ou xx-xx-xx est la date de la version).
Ce répertoire a pour contenu ceci :
Nous pouvons maintenant déplacer nos répertoires vers leur destination finale, à savoir que nous supprimons le répertoire “app” présent dans “/var/www/panel-gzw/” afin de le remplacer par le Panel-GZW.
Voici la procédure étape par étape :
# rm -rf /var/www/panel-gzw/app
# mv panel-gzw_dev_xx-xx-xx/app /var/www/panel-gzw/
# mv panel-gzw_dev_xx-xx-xx/panel-gzw /etc/
# chmod 600 /etc/panel-gzw/lib/GZW.pm
# chown www-data:www-data -R /var/www/panel-gzw
# mysql -u root -p panel-gzw < panel-gzw_dev_xx-xx-xx/sql/panel-gzw.sql
Pour finaliser le tout, nous allons renseigner trois fichiers dont deux qui corrigeront les erreurs rencontrées un peu plus haut.
Dans le fichier “GZW.pm” présent dans le répertoire “/etc/panel-gzw/lib/”, il est nécessaire de renseigner les lignes de 26 à 30.
Pour ce fichier, l'utilisateur MySQL doit être l'utilisateur “root” afin d'avoir les pleins pouvoir pour la création d'utilisateurs et de bases de données MySQL.
my $database = "panel-gzw"; my $prefix = ""; my $host = "localhost"; my $login = "root"; my $password = "********";
Ensuite nous allons modifier le fichier “database.php” présent dans le répertoire “/var/www/panel-gzw/app/config/”, les modifications s'effectuent de la ligne 84 à 88.
'host' => 'localhost', 'login' => 'panel-gzw', 'password' => '*******', 'database' => 'panel-gzw', 'prefix' => '',
Ici l'utilisateur MySQL “panel-gzw” est un utilisateur ayant des droits restreints et uniquement sur la base de données MySQL “panel-gzw”.
Et pour finir, il nous reste juste à modifier le fichier “core.php” présent dans le répertoire “/var/www/panel-gzw/app/config/”, dans ce fichier à la ligne 151 modifier le Salt en remplaçant quelques caractère de la chaîne par ceux que vous désirez.
Configure::write('Security.salt', 'DYhG93b0qdfsdffs2guVodsfklhkvniR2G0FgaC9mi');
Le Panel-GZW est maintenant accessible à l'adresse suivante : http://adresse-ip-du-serveur/panel-gzw/
Vous devriez voir une page de connexion avec un formulaire.
En dessous de ce formulaire doit se trouver quelque chose que cela :
Ceci est votre mot de passe chiffré à insérer dans le champ “password” de la table “users” se situant dans la base de données MySQL “panel-gzw”.
Il vous faudra modifier la ligne 52 du fichier “login.ctp” présent dans le répertoire “/var/www/panel-gzw/app/views/layouts/” en remplaçant le mot de passe entre parenthèses (’) par celui désiré.
$newAdminPassword = 'monsupermotdepasse';
Une fois le mot de passe généré et inséré dans la table, supprimez le bloc de lignes 47 à 56.
Nous nous approchons de la fin, il ne reste plus qu'à démarrer le daemon (service) “panel-gzwd.pl”.
Ce daemon a pour vocation de s’occuper de toute la partie système.
Par exemple :
Un utilisateur vient de créer un nouveau nom de domaine, cette action n’est pas effectuée par le panel en lui même mais par le daemon.
La création du nom de domaine se déroule donc de la manière suivante :
- Création du nom de domaine via le Panel-GZW. - Insertion de l’action dans une table nommée daemon. - Le daemon va regarder dans cette table les actions qu’il doit effectuer (à l’aide d’un code de statut). - Une fois l’action déterminée, le daemon va agir en conséquence en exécutant la procédure de création du nom de domaine. - Après création du nom de domaine le code de statut présent dans la table “robot” est mis à 0. - Fin !
Le daemon se trouve dans le répertoire “/etc/panel-gzw/bin/”, l'exécution est très simple.
# cd /etc/panel-gzw/bin
# chmod +x panel-gzwd.pl
# ./panel-gzwd.pl
On vérifie que le daemon tourne bien en tâche de fond.
# ps aux | grep panel-gzwd
Vous devriez obtenir le résultat suivant :
root 8399 1.2 0.9 9784 5060 ? S Oct12 88:36 /usr/bin/perl ./panel-gzwd.pl
Voici une liste de quelques erreurs que j'ai obtenu tout au long du développement.
Firefox me dit “Redirection de page incorrect”.
Si ce message apparaît c'est que vous avez mal renseignez le fichier “database.php” présent dans le répertoire “/var/www/panel-gzw/app/config/”.
Lorsque j'arrive sur le page de connexion j'obtiens le message d'erreur suivant :
Warning (2): mysqli_connect() [function.mysqli-connect]: (42000/1044): Access denied for user 'panel-gzw'@'%' to database 'panel-gzwcake' [CORE/cake/libs/model/datasources/dbo/dbo_mysqli.php, line 73] Warning (2): mysqli_get_server_info() expects parameter 1 to be mysqli, boolean given [CORE/cake/libs/model/datasources/dbo/dbo_mysqli.php, line 79] Warning (2): mysqli_query() expects parameter 1 to be mysqli, boolean given [CORE/cake/libs/model/datasources/dbo/dbo_mysqli.php, line 109] Warning (2): mysqli_query() expects parameter 1 to be mysqli, boolean given [CORE/cake/libs/model/datasources/dbo/dbo_mysqli.php, line 109] Warning (2): Cannot modify header information - headers already sent by (output started at /var/www/utilisateurweb01/www/dev/cake/Panel-GZW/cake/basics.php:109) [CORE/cake/libs/controller/controller.php, line 644]
Si ce message apparaît c'est que vous avez mal renseignez le fichier “database.php” présent dans le répertoire “/var/www/panel-gzw/app/config/”.