Mise en place d'un serveur Lighttpd avec PHP5 et MySQL.

Nous verrons dans ce document comment mettre en œuvre et configurer rapidement lighttpd (serveur http ultra-rapide) et le combiner avec les outils PHP5 et le support MySQL, éléments essentiels du développement web actuel.

L'installation se fera sans chroot et via le gestionnaire de packages précompilés pkg_add sous OpenBSD 4.5 (i386).

Installation des packages nécessaires

Lighttpd

# pkg_add ftp://ftp.arcane-networks.fr/pub/OpenBSD/4.5/packages/i386/lighttpd-1.4.21-mysql.tgz

Mysql-server

# pkg_add ftp://ftp.arcane-networks.fr/pub/OpenBSD/4.5/packages/i386/mysql-server-5.0.77.tgz

PHP5 et ses modules importants

# pkg_add ftp://ftp.arcane-networks.fr/pub/OpenBSD/4.5/packages/i386/php5-core-5.2.8p0.tgz
# ln -s /var/www/conf/modules.sample/php5.conf \
       /var/www/conf/modules
# pkg_add ftp://ftp.arcane-networks.fr/pub/OpenBSD/4.5/packages/i386/php5-fastcgi-5.2.8.tgz

La version fastcgi de php est essentielle pour le support lighttpd.

# php-fastcgi -v
PHP 5.2.8 with Suhosin-Patch 0.9.6.3 (cgi-fcgi) (built: Mar  1 2009 15:20:31)
# pkg_add ftp://ftp.arcane-networks.fr/pub/OpenBSD/4.5/packages/i386/php5-curl-5.2.8.tgz
# ln -fs /var/www/conf/php5.sample/curl.ini \
        /var/www/conf/php5/curl.ini
# pkg_add ftp://ftp.arcane-networks.fr/pub/OpenBSD/4.5/packages/i386/php5-gd-5.2.8-no_x11.tgz
# ln -fs /var/www/conf/php5.sample/gd.ini \
        /var/www/conf/php5/gd.ini
# pkg_add ftp://ftp.arcane-networks.fr/pub/OpenBSD/4.5/packages/i386/php5-mbstring-5.2.8.tgz
# ln -fs /var/www/conf/php5.sample/mbstring.ini \
        /var/www/conf/php5/mbstring.ini
# pkg_add ftp://ftp.arcane-networks.fr/pub/OpenBSD/4.5/packages/i386/php5-mcrypt-5.2.8.tgz
# ln -fs /var/www/conf/php5.sample/mcrypt.ini \
        /var/www/conf/php5/mcrypt.ini
# pkg_add ftp://ftp.arcane-networks.fr/pub/OpenBSD/4.5/packages/i386/php5-mysql-5.2.8.tgz
# ln -fs /var/www/conf/php5.sample/mysql.ini \
        /var/www/conf/php5/mysql.ini
# pkg_add ftp://ftp.arcane-networks.fr/pub/OpenBSD/4.5/packages/i386/php5-snmp-5.2.8.tgz
# ln -fs /var/www/conf/php5.sample/snmp.ini \
        /var/www/conf/php5/snmp.ini

Configuration MySQL

Ici nous allons mettre en place MySQL, le pass root MySQL ainsi que le script de démarrage automatique au lancement d'OpenBSD.

Création des tables de base

# /usr/local/bin/mysql_install_db

Lancement de Mysql

# /usr/local/bin/mysqld_safe &

NB: S'il s'avère que votre serveur est particulièrement sollicité vous pouvez jeter un oeil aux conseils contenus dans /usr/local/share/doc/mysql/README.OpenBSD .

Mise en place du mot de passe

# /usr/local/bin/mysqladmin -u root password 'nouveau-pass'

Création du script de démarrage

# vi /etc/rc.conf.local
mysql=YES
# vi /etc/rc.local
# Démarrage MySQL
if [ X"${mysql}" == X"YES" -a -x /usr/local/bin/mysqld_safe ]; then
   echo -n " mysqld "
   /usr/local/bin/mysqld_safe --user=_mysql &
fi

Configuration Lighttpd

Préparation de la configuration, configuration du support php et du script de démarrage automatique.

/etc/lighttpd.conf

# vi /etc/lighttpd.conf

Voici les lignes à modifier :

server.document-root        = "/var/www/htdocs"
accesslog.filename          = "/var/www/logs/access.log"
server.errorlog             = "/var/www/logs/error.log"
index-file.names            = ( "index.html", "index.htm", "default.htm", "index.php" )
server.chroot              = "/"

Dans les options de server.modules += veuillez décocher :

( "mod_fastcgi" )

/etc/lighttpd.conf et PHP5 :

Ligne à rajouter dans votre configuration :

# vi /etc/lighttpd.conf
fastcgi.server = ( ".php" =>
( "localhost" =>
                     (
                        "socket" => "/tmp/php-fastcgi.socket",
                        "bin-path" => "/usr/local/bin/php-fastcgi"
                      )
                   )
)

Test du lancement du service

# /usr/local/sbin/lighttpd -f /etc/lighttpd.conf

Vous devriez obtenir ceci :

# ps aux |grep lighttpd
_lighttpd 17283  0.0  0.1  1216  2216 ??  S      3:24PM    0:00.08 /usr/local/sbin/lighttpd -f /etc/lighttpd.conf
_lighttpd 21167  0.0  0.3  5360  7744 ??  Is     3:24PM    0:00.18 /usr/local/bin/php-fastcgi
_lighttpd 12338  0.0  0.3  5544  7752 ??  Is     3:24PM    0:00.17 /usr/local/bin/php-fastcgi
_lighttpd    44  0.0  0.3  5360  7752 ??  Is     3:24PM    0:00.17 /usr/local/bin/php-fastcgi
_lighttpd 12300  0.0  0.3  5544  7716 ??  Is     3:24PM    0:00.17 /usr/local/bin/php-fastcgi
_lighttpd 30543  0.0  0.3  5688  6452 ??  I      3:24PM    0:01.05 /usr/local/bin/php-fastcgi
_lighttpd 24209  0.0  0.1  5360  1588 ??  I      3:24PM    0:00.01 /usr/local/bin/php-fastcgi
_lighttpd 14986  0.0  0.3  5512  6420 ??  I      3:24PM    0:00.25 /usr/local/bin/php-fastcgi
_lighttpd 14792  0.0  0.1  5544  1576 ??  I      3:24PM    0:00.02 /usr/local/bin/php-fastcgi

Test du fonctionnement de PHP

# vi /var/www/htdocs/phpinfo.php
<?php
phpinfo();
phpinfo(INFO_MODULES);
?>

http://ip/phpinfo.php pour vérifier que PHP est bien pris en compte.

Création du script de démarrage

# vi /etc/rc.conf.local
lighttpd=YES
# vi /etc/rc.local
# Démarrage Lighttpd
if [ X"${lighttpd}" == X"YES" -a -x /usr/local/sbin/lighttpd ]; then
   echo -n " lighttpd "
   /usr/local/sbin/lighttpd -f /etc/lighttpd.conf
fi

Documentation et Crédits

Documentation

Crédits

Auteur : Angeli Matthieu
Date de réalisation : 22/05/2009
Version d'OpenBSD : 4.5

documentations/admin/lighttpd_php_mysql.txt · Dernière modification: 2009/05/26 13:24 par sirpuffy
OpenBSD Apache Driven by DokuWiki
CC Attribution-Noncommercial-Share Alike 3.0 Unported