Logiciels libres, linux, le web...

Aller au contenu | Aller au menu | Aller à la recherche

Tag - lighttpd

Fil des billets

lundi, juin 28 2010

Souci d'accès interdit (403) aux pages php après la mise à jour de lighttpd

J'ai mis à jour lighttpd l'autre jour sans remplacer le fichier de configuration par celui du paquet, je ne sais pas si cela vient de la mais je préfère le préciser. Suite à cette mise à jour je ne pouvais plus accéder au pages php hébergés sur le serveur. Je ne m'en sers qu'en local pour développer sur mon eeepc donc l'impact n'est pas énorme mais c'est quand même désagréable.

Après quelques recherches sur le web je suis arrivé sur les forums d'Ubuntu et plus particulièrement sur un post qui m'a permis de résoudre le problème, c'est en anglais donc pour ceux qui ne recherchent pas sur les forums en anglais ce billet leur permettra certainement de résoudre leur problème. Même si j'utilise Debian, la solution fonctionne très bien.

Si vous avez systématiquement des erreurs 403 lorsque vous voulez accéder à des scripts php sur votre serveur lighttpd, que vous soyez sur Debian ou Ubuntu (cela doit fonctionner aussi sur d'autres dérivées de Ubuntu mais je n'ai pas testé), vous pouvez ajouter les lignes suivantes au fichier "/etc/lighttpd/lighttpd.conf" et tout devrait rentrer dans l'ordre.
fastcgi.server = ( ".php" => ((
"bin-path" => "/usr/bin/php5-cgi",
"socket" => "/tmp/php.socket"
)))

mardi, mai 26 2009

Installation de Drupal avec lighttpd / MySql et les URL simplifiées (Clean URLs)

Drupal est un CMS que j'aime bien, vous pouvez trouver une description d'après le site : Drupal est un logiciel qui permet aux individus comme aux communautés d'utilisateurs de publier facilement, de gérer et d'organiser un vaste éventail de contenus sur un site web. Des dizaines de milliers de personnes et d'organisations utilisent Drupal pour propulser des sites de toutes tailles et fonctions.
Site officiel : http://drupal.org/

Installation

Pour installer Drupal, nous allons utiliser lighttpd avec le support de php et mysql.
Vous devez récupérer l'archive sur le site ici. Si c'est nécessaire vous pouvez télécharger l'archive des traductions en français.
Pour installer lighttpd avec le support de php vous pouvez vous aider de ce tutoriel : http://howto.landure.fr/gnu-linux/debian-4-0-etch/installer-lighttpd-et-php-sur-debian-4-0-etch
Nous allons créer un utilisateur et une base de donnée pour drupal, vous pouvez naturellement changer les noms. On peut utiliser les commandes suivantes ou un outil tel que phpMyadmin :

$ mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 43

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> CREATE DATABASE drupal;
Query OK, 1 row affected (0.00 sec)

mysql> use drupal
Database changed

mysql> grant all on drupal.* to drupaluser@localhost identified by 'password';
Query OK, 0 rows affected (0.00 sec)

Base de données : drupal / nom d'utilisateur : drupaluser / mot de passe : password

Fichiers de l'application

Il faut extraire les fichiers de l'archive de drupal :
# cd /var/www/
# tar -xzvf /dossier/de/l'archive/drupal-6.12.tgz
Ensuite on peut extraire les fichiers de traductions :
# tar -xzvf /dossier/de/l'archive/fr-6.x-1.0.tgz
Donner la permission au serveur web (pour debian www-data) et créer le dossier des fichiers de drupal :
# mv drupal-6.12/ drupal
# mkdir drupal/sites/default/files
# chown -R www-data:www-data drupal/

Ensuite il faut créer le fichier de configuration et lui attribuer les droits nécessaires pour le modifier :
# cp drupal/sites/default/default.settings.php drupal/sites/default/settings.php
# chmod g+w drupal/sites/default/settings.php


Fin de l'installation


Rendez vous ensuite à l'adresse de drupal http://localhost/drupal/ par exemple et suivez les instructions du programme d'installation. Pour la base de données, entrez les valeurs que vous avez choisi lors de sa création (dans cet exemple : drupal / drupaluser / password).


Mise en place des URL simplifiées avec Lighttpd (Clean URLs)

Cette technique pour mettre en place les URL simplifiées est basé sur cet article. L'auteur met en pièce jointe un script qui permet d'adapter les règles de réécriture correctement.
Le script est disponible ici : http://more.zites.net/morefiles/lighty-drupal-lua-conf.tar.gz.

Préparation de lighttpd

Nous allons utiliser le module magnet de lighttpd, pour l'installer on peut entrer les lignes suivantes dans un terminal :
# apt-get install lighttpd-mod-magnet

Une fois le module installé, il faut l'activer à l'aide des commandes suivantes :
# lighty-enable-mod magnet
Available modules: auth cgi fastcgi magnet proxy rrdtool simple-vhost ssi ssl status userdir
Already enabled modules: fastcgi
Enabling magnet: ok
Run /etc/init.d/lighttpd force-reload to enable changes
# /etc/init.d/lighttpd force-reload

Il faut ensuite installer le paquet lua qui va nous permettre d'interpréter le script de l'article cité plus haut. Sous debian vous pouvez utiliser la commande suivante :
# apt-get install lua50

Mise en place des scripts

Nous pouvont maintenant extraire les scripts dans le répertoire de lighttpd (/etc/lighttpd/) :
# tar xvzf lighty-drupal-lua-conf.tar.gz
# chmod +x drupal-lua-conf.sh
Il ne reste plus maintenant plus qu'à ajouter ces lignes au fichier /etc/lighttpd/lighttpd.conf :

 $HTTP["host"] =~ "localhost" {
   include_shell "./drupal-lua-conf.sh drupal"
 }

Le paramètre du script (ici "drupal") correspond au dossier dans lequel drupal est installé.
et après avoir redémarré lighttpd rendez vous dans la section Administrer / Configuration du site / URL simplifiées pour activer le tout.