Mini-HOWTO Sybase-PHP-Apache

Auteur : Tyson Lloyd Thwaites

Auteur : Traduit en français par : Marc Brun

Historique des versions
Version 1.3.fr.1.011 janvier 2004MB
Première traduction en français
Version 1.311 juillet 2001TLT
Exemple de script PHP corrigé. (Fixed example PHP script.)
Version 1.213 juin 2001TLT
Shane Gelven a repéré une erreur dans le path d'un script d'initialisation. (Shane Gelven pointed out an error in the init script paths.)
Version 1.129 mai 2001TLT
La section sur la configuration de l'environnement a été mise à jour. Le nom du mini-HOWTO a été changé. (Updated environment configuration section, changed HOWTO name.)

Résumé

Ce mini-HOWTO explique comment configurer une machine Linux pour faire tourner un serveur Apache, le module PHP et l'accès à une base de données Sybase Adataptive Server Entreprise (Sybase ASE) via PHP.


Table des matières

1. Copyright et licence
2. Installation de Linux
3. Installation de Sybase
4. Configuration de l'environnement
4.1. Preconfiguration d'apache
5. Installation de PHP
6. Installation d'apache
7. Test du système
8. Post Install Tasks
9. Commentaires et corrections

1. Copyright et licence

Copyright 2001 Tyson Lloyd Thwaites. Ce document peut être distribué selon les termes et conditions énoncés dans la licence GNU Free Documentation License.

2. Installation de Linux

Pour ce mini-guide, nous considérons que vous avez déjà installé Linux sur votre machine. Ce mini-guide s'appuie sur la RedHat 6.2. N'hésitez pas à me communiquer vos remarques si vous tentez l'installation avec une autre distribution.

Dans un premier temps, vous devez désinstaller les packages rpms apache et mod_php. Ceci devrait marcher :

    # rpm -e apache
    # rpm -e httpd
    # rpm -e mod_php
    # rpm -e php

Cela devrait avoir désinstallé ce qu'il fallait. Pour en être sûr, faites :

    # rpm -qa | less

et vérifiez qu'il n'y a plus de packages apache ou php.

3. Installation de Sybase

Téléchargez Sybase ASE pour Linux sur http://www.sybase.com/downloads. Sybase-ASE 11.0.3.3 est libre en mode production. Ce mini-guide s'appuie sur cette version.

Note du traducteur

La version 12.5.1 pour Linux est disponible en version d'évaluation.

Tout d'abord, installez les rpms Sybase en tant que root :

    # rpm -ivh sybase-ase-11_0_3_3-6_i386.rpm
    # rpm -ivh sybase-doc-11_0_3_3-6_i386.rpm
    # rpm -ivh sybase-ocsd-10_0_4-6_i386.rpm

Pour plus d'information sur la configuration de Sybase, consultez les instructions du fichier /opt/sybase/doc/howto/howto-ase-quickstart.html. Ce document étant très précis, il est inutile d'en dire davantage ici.

Note

Une fois que vous avez installé la base de données et que vous avez effectué une requête SELECT, vous pouvez interrompre votre lecture du document Syabse. Le reste du HOWTO explique la désinstallation de la base, vous pourrez le tester plus tard.

Note

Quelques problèmes ont été reportés à propos de la façon dont les scripts d'initialisation de Sybase essayent de deviner le répertoire de Sybase. Si vous obtenez le message d'erreur suivant :

    export: sybase-ase-11.0.3.3: not a legal variable name

au cours du script sybinstall.sh, alors il faut éditer ce script. Trouvez les lignes suivantes (aux environs de la ligne 104) :

# export SYBASE=/opt/sybase
export SYBASE=`rpm -q --queryformat \
		'%{installprefix}\n' sybase-ase-11.0.3.3`

Remplacez ces lignes afin qu'elles ressemblent à ça :

export SYBASE=/opt/sybase
#export SYBASE=`rpm -q --queryformat \
#		'%{installprefix}\n' sybase-ase-11.0.3.3`

Cela code en dur la variable SYBASE avec comme valeur /opt/sybase. Si vous aviez installé Sybase à un autre emplacement, non standard, et que vous obtenez cette erreur, vous devrez changer ces lignes afin que la variable SYBASE pointe vers votre répertoire Sybase.

4. Configuration de l'environnement

Après avoir installé Sybase, vous devez mettre en place l'environnement Linux pour accepter des connexions de clients à votre serveur de base de données.

Il faut pour cela renseigner quelques variables d'environnement dans /etc/profile. Ouvrez /etc/profile en tant que root et ajoutez les lignes suivantes :

    export SYBASE=/opt/sybase
    export SYBPLATFORM=linux
    export LD_LIBRARY_PATH=$SYBASE/lib
    export LC_ALL=default
    export PATH="$SYBASE/bin:$PATH"
    export DSQUERY=SYBASE

Ensuite vous devez changer les permissions du répertoire Sybase. Cela résoud quelques problèmes de connexion entre PHP et Sybase. Exécutez la commande suivante en tant que root :

chown -R sybase:sybase /opt/sybase

Pour vérifier que l'environnement Sybase foncitonne, entrez les commandes :

    # su - nobody
    $ isql -Usa -P
    1> sp_helpdb
    2> go

Vous devriez voir une liste de bases de données. Pour vérifier que vous pouvez utiliser la base de données exemple, saisissez :

    1> use pubs2
    2> go
    1> select * from titles
    2> go

Si vous obtenez une liste, vous avez réussi la configuration de Sybase.

Note

Pour que PHP puisse se connecter à Sybase, éditer le fichier /opt/sybase/install/rc.sybase et supprimer la ligne suivante :

    unset LANG; unset LC_ALL; \

Je ne sais pas pourquoi cette ligne est ici.

Note

Vous souhaitez peut-être ajouter Sybase à la liste des services qui s'éxécutent au démarrage. Pour cela, exécutez les commandes suivantes :

    # ln -s /opt/sybase/install/rc.sybase /etc/rc.d/init.d/sybase
    # ln -s /etc/rc.d/init.d/sybase /etc/rc.d/rc3.d/S15sybase
    # ln -s /etc/rc.d/init.d/sybase /etc/rc.d/rc3.d/K15sybase

Désormais Sybase se lancera à chaque fois que vous démarrerez en runlevel 3.

4.1. Preconfiguration d'apache

Téléchargez et désarchivez la dernière version d'apache. Dans le répertoire apache, lancez la commande :

    # ./configure --prefix=/usr/local/apache

Je crois que l'option 'prefix' spécifie l'emplacement des fichiers html ; je me contente de mettre ici le répertoire d'installation d'apache, celui où apache s'installera lorsqu'on lance 'make install'.

5. Installation de PHP

Téléchargez la dernière version de php, et désarchivez-la.

Placez-vous dans le répertoire php et lancez le script ./configure. Vous devez passer quelques options à ce script. Pour permettre à php d'accéder au moteur Sybase, utilisez --with-sybase-ct. Pour préciser le serveur web avec lequel php doit s'interfacer (ici apache), utilisez : --with-apache.

Voilà un exemple complet de la commande configure, avec les deux options décrites ci-dessus, ainsi que d'autres options utiles :

    # ./configure --with-apache=../apache_1.3.19
      --with-sybase-ct=/opt/sybase --enable-bcmath --enable-calendar
      --enable-ctype --enable-exif --enable-ftp --enable-gd-imgstrttf
      --with-gd --enable-trans-sid --enable-shmop --enable-sockets
      --enable-sysvsem --enable-sysvshm --enable-wddx

Si le script configure s'est achevé avec succès, vous pouvez enchaîner :

    # make && make install

PHP devrait se compiler sans accroc. Après l'installation, vous devez copier le fichier php.ini :

    # cp php.ini-optimized /usr/local/lib/php.ini

Maintenant il faut changer quelques éléments dans /usr/local/lib/php.ini. Positionnez les paramètres avec les valeurs suivantes :

    magic_quotes_sybase = on
    sybct.min_server_severity = 11
    sybct.min_client_severity = 11

J'aime bien compléter avec ça :

    register_globals = on
    include_path=.:/usr/local/lib/php

Vous avez maintenant terminé l'installation de php.

6. Installation d'apache

Maintenant retournez dans le répertoire dans lequel vous avez désarchivé apache. Saisissez les commandes suivantes :

    # ./configure --activate-module=src/modules/php4/libphp4.a
    # make && make install

Ca ne devrait poser aucun problème. Une fois fait, éditez le fichier /usr/local/apache/conf/httpd.conf et décommentez la ligne :

    AddType application/x-httpd-php .php

Cela prévient apache d'utiliser le module php pour les fichiers avec une extension .php. Vous pouvez aussi ajouter d'autres extensions à la fin de la ligne, par exemple :

    AddType application/x-httpd-php .php .php3 .html .htm

Note du traducteur

Ca n'est pas toujours judicieux d'ajouter .html et .htm à la fin de cette ligne, le module php sera appelé systématiquement lors de la consultation de fichiers html purs (sans php), et les performances d'apache peuvent être atténuées.

Maitenant que vous avez installé tous les éléments nécessaires, vous êtes prêts à tester votre système.

7. Test du système

Déjà, assurez-vous qu'apache et Sybase soient lancés :

    # /usr/local/apache/bin/apachectl start
    # /opt/sybase/install/rc.sybase start

Déplacez vous dans le répertoire /usr/local/apache/htdocs. Créer un fichier test.php et insérez-y les lignes suivantes :

        <?php
                $connexion = sybase_connect("SYBASE", "sa", "");
                sybase_select_db("pubs2");
                $requete = sybase_query("select * from titles", $con);

                echo sybase_result($requete, 1, 1);

                sybase_close($connexion);
        ?>

Sauvez le fichier et accéder à l'adresse suivante avec votre navigateur :

    http://localhost/test.php

Si vous voyez apparaître du texte, bravo ! Vous avez terminé l'installation de Linux/Apache/PHP/Sybase-ASE. Sinon ... bon courage. Vérifiez que vous avez bien installé la base de données pubs2. Si vous n'êtes pas sûrs, essayer la commande :

    # isql -Usa -P < /opt/sybase/scripts/installpubs2

Envoyez moi un mail (en anglais) si vous rencontrez des problèmes, ou si vous souhaitez me soumettre des corrections et des ajouts. Mais s'il vous plaît, ne m'écrivez que si vous avez déjà tout testé dans ce mini-guide ! Merci.

8. Post Install Tasks

Une fois que votre système fonctionne, savourez votre victoire. Je vous suggère aussi d'aller manger un morceau. Après ça, il vous reste quelques points à régler.

La toute PREMIERE que vous devriez faire est de changer le mot de passe pour l'utilisateur 'sa'. Par défaut, il est vide. Pour modifier le mot de passe de sa, taper l'instruction suivante à l'aide d'isql :

        1> sp_password null, 'new_pass123', 'sa'
        2> go

Cela va modifier le mot de passe. Vous devez désormais le passer en tant que paramètre de connexion à Sybase. De même, il faudra le spécifier à Sybase lorsque vous lancerez isql, ce qui peut être fait grâce à l'option '-P'.

Note

Une fois que vous avez renseigné un mot de passe, vous ne pouvez plus l'effacer (Sybase exige un minimum de six caractères pour un mot de passe, donc une chaîne vide sera refusée).

Vous souhaitez peut-être installer le client Windows. Vous le trouverez sur un CD si vous achetez une copie d'ASE auprès de Sybase. Sinon, si vous utilisez la version libre 11.0.3.3, vous pouvez télécharger une version de démonstration de ASE 12.0 pour NT, et n'installer que les composants 'ASE Plugin for Sybase Central', 'ASE ODBC Driver', et 'Sybase Central'.

Note

Je ne suis pas sûr que la licence d'utilisation soit respectée si vous utilisez le client sans avoir acheté ASE. Bien que je ne pense pas que ce soit un problème, vous devriez contacter Sybase pour en être certains.

9. Commentaires et corrections

Merci de faire parvenir en anglais à l'auteur vos questions et commentaires relatifs à la version originale de ce document à l'adresse .

N'hésitez pas à faire parvenir tout commentaire relatif à la version française de ce document à en précisant le nom et la version du document auquel vous faites référence.