Si vous utilisez un système d'exploitation *NIX en n'étant pas « root », soit par manque d'accès (serveurs Web, par exemple) soit pour raisons de sécurité, ceci détaillera comment installer Bugzilla sur ce type de configuration. Il est recommandé de lire la partie Section 2.1, « Installation » d'abord pour avoir une idée des étapes d'installation nécessaires. (Ces notes se référeront aux étapes de ce guide.)
Vous avez peut-être MySQL installé en tant que « root ». Si vous définissez un compte avec un hôte Web, un compte MySQL doit être créé pour vous. De là, vous pouvez créer le compte « bugs » ou utiliser le compte qui vous a été donné.
Vous pouvez avoir des problèmes en définissant des permissions GRANT dans la base de données. Si vous utilisez un hôte Web, il y a des chances que vous ayez une base de données séparée qui est déjà verrouillée (ou une grosse base de données sans accès ou avec des accès limités sur d'autres zones), mais vous pouvez demander à votre administrateur système les paramètres de sécurité définis et/ou lui demander d'exécuter la commande GRANT pour vous. Vous pourriez aussi ne pas être en mesure de changer le mot de passe de l'utilisateur « root » de MySQL (pour des raisons évidentes), aussi, sautez cette étape. |
Créez un fichier .my.cnf
dans votre répertoire
home
(/home/foo
dans cet exemple)
comme suit…
[mysqld] datadir=/home/toto/mymysql socket=/home/toto/mymysql/thesock port=8081 [mysql] socket=/home/toto/mymysql/thesock port=8081 [mysql.server] user=mysql basedir=/var/lib [safe_mysqld] err-log=/home/toto/mymysql/the.log pid-file=/home/toto/mymysql/the.pid
Vous pouvez installer MySQL zn n'étant pas « root », si vous en avez vraiment besoin.
créez-le avec la variable « PREFIX » définié à /home/toto/mysql
,
ou utilisez des exécutables pré-installés en spécifiant que vous voulez mettre
tous les fichiers de données dans /home/toto/mysql/data
.
S'il y a un autre serveur MySQL qui s'exécute sur le système qui ne vous appartient pas,
utilisez l'option « -P » pour spécifier un port TCP qui n'est pas
utilisé.
Après avoir créé votre programme « mysqld » et votre fichier « .my.cnf », vous devez initialiser les bases de données (UNE FOIS).
bash$
mysql_install_db
Puis démarrez le démon avec
bash$
safe_mysql &
après avoir lancé « mysqld » la première fois, connectez vous en tant que « root » et donnez les permissions (GRANT) aux autres utilisateurs. (Le compte « root » de MySQL n'a rien à voir avec le compte « root » des systèmes *NIX).
Vous devrez démarrer les démons vous-mêmes. Vous pouvez soit demander à votre
administrateur système de les ajouter aux fichiers de démarrage du système, soit
ajouter une entrée dans le fichier |
Ne lancez pas de démons ou autres services sur un serveur sans avoir d'abord consulter votre administrateur système ! Les démons utilisent des ressources système et en exécuter peut être en violation des conditions de service pour toute machine sur laquelle vous êtes utilisateur ! |
Dans le cas très rare où vous n'auriez pas Perl sur la machine, vous devrez construire les sources vous mêmes. Les commandes suivantes devraient installer sur votre système votre propre version de Perl :
bash$
wget http://perl.org/CPAN/src/stable.tar.gzbash$
tar zvxf stable.tar.gzbash$
cd perl-5.8.1 (ou la version de Perl que vous avez)bash$
sh Configure -de -Dprefix=/home/toto/perlbash$
make && make test && make install
Dès que vous avez installé Perl dans un répertoire (probablement dans
~/perl/bin
), vous devrez installer les modules
Perl comme détaillé plus bas dans cette page.
Installer les modules Perl sans être utilisateur « root » est réalisé
en exécutant le script install-module.pl
.
Pour plus de détails sur ce script, consultez la documentation de
install-module.pl
.
Idéalement, ceci nécessite aussi d'être installé avec l'utilisateur « root » et s'exécuter
sous un compte spécial pour le serveur Web. Tant que le serveur autorise l'exécution des fichiers
*.cgi
en dehors de cgi-bin
et refuser l'accès
à certains fichiers (comme le fichier .htaccess
),
ça devrait aller.
Vous pouvez exécuter Apache sans être « root », mais le port devra être supérieur à 1024. Si vous saisissez la commande httpd -V, vous obtiendrez une liste des variables que votre copie système de httpd utilise. Une de celles-ci, « HTTPD_ROOT », vous indique où cette installation va rechercher ses informations de configuration.
De là, vous pouvez copier les fichiers de configuration vers votre répertoire home
pour les modifier. Quand vous éditez ceux-ci et que vous utilisez l'option « -d »
pour outrepasser la valeur de la variable « HTTPD_ROOT » compilée dans votre serveur Web, vous
prenez le contrôle de votre propre serveur Web personnalisé.
Vous devrez démarrer les démons vous-mêmes. Vous pouvez soit demander à votre
administrateur système de les ajouter aux fichiers de démarrage du système, soit
ajouter une entrée dans le fichier |
Ne lancez pas de démons ou autres services sur un serveur sans avoir d'abord consulter votre administrateur système ! Les démons utilisent des ressources système et en exécuter peut être en violation des conditions de service pour toute machine sur laquelle vous êtes utilisateur ! |
Quand vous exécutez ./checksetup.pl pour créer le fichier
localconfig
, il listera les modules Perl
qu'il trouve. S'il en manque, revenez en arrière et revérifier
l'installation du module depuis Section 2.6.4, « Modules Perl », puis supprimez le fichier
localconfig
et essayez à nouveau.
L'option dans le fichier |
Si vous êtes sur un système qui utilise « suexec » (la plupart des
environnements d'hébergement le font), vous aurez besoin de définir la valeur de
webservergroup dans le fichier localconfig
pour qu'elle corresponde à votre groupe principal, plutôt que celui
avec lequel le serveur Web est exécuté. Vous devrez lancer les commandes suivantes
après avoir exécuté ./checksetup.pl,
chaque fois que vous le lancez (ou modifiez checksetup.pl
pour qu'il le fasse pour vous grâce à la commande system()).
for i in docs graphs images js skins; do find $i -type d -exec chmod o+rx {} \; ; done for i in jpg gif css js png html rdf xul; do find . -name \*.$i -exec chmod o+r {} \; ; done find . -name .htaccess -exec chmod o+r {} \; chmod o+x . data data/webdot
Faites particulièrement attention au nombre de point-virgules et de points. Ils sont tous importants. Une prochaine version de Bugzilla sera, avec un peu de chance, capable de faire ceci pour vous automatiquement.