Traduction(s) : aucune


LAMP, Linux Apache Mysql PHP

Installation

Avant de commencer, pensez à vérifier que votre installation est à jour. Le caractère '#' indique que vous devez procéder en tant que root :

 # aptitude update && aptitude upgrade

mysql

Installez ensuite mysql en utilisant les commandes suivantes :

 # aptitude install mysql-server mysql-client

Pour des raisons de sécurité, vous devriez changer le mot de passe root de mysql immédiatement après son installation: * Cette étape est inutile depuis lenny car le mot de passe root est défini durant l'installation.

 # /usr/bin/mysqladmin -u root password 'enter-your-good-new-password-here'

Vous ne devriez jamais utilisezr votre mot de compte root pour utiliser vos bases de données. You must never use your root account and password when running databases. The root account is a privileged account which should only be used for admin procedures. You will need to create a separate user account to connect to your MySQL databases from a PHP script. You can add users to a MySQL database by using a control panel like phpMyAdmin to easily create or assign database permissions for users.

apache2

Installez le serveur web comme ceci :

 # aptitude install apache2 apache2-doc

Configuration des dossiers utilisateurs d'Apache

Activez le module :

# a2enmod userdir

Configurez maintenant le module dans le fichier /etc/apache2/mods-enabled/userdir.conf comme suit :

<IfModule mod_userdir.c>
        UserDir public_html
        UserDir disabled root

        <Directory /home/*/public_html>
                AllowOverride All
                Options MultiViews Indexes SymLinksIfOwnerMatch
                <Limit GET POST OPTIONS>
                        Order allow,deny
                        Allow from all
                </Limit>
                <LimitExcept GET POST OPTIONS>
                        Order deny,allow
                        Deny from all
                </LimitExcept>
        </Directory>
</IfModule>

Créez un dossier en tant qu'utilisateur (pas comme root) :

$mkdir /home/$USER/public_html

En tant que root, changez le groupe du dossier et redémarrez le serveur :

# chgrp www-data /home/<username>/public_html
# service apache2 restart

Si vous avez une erreur 403 "Forbidden" quand vous essayez d'accéder vos pages persos, vérifiez que les permissions de /home/<username>/public_html soient configurées ainsi drwxr-xr-x. Le cas échéant, corrigez les :

# chmod 755 /home/<username>

Pour pouvoir se servir de PHP, vérifiez que le module est bien configuré dans le fichier /etc/apache2/mods-available/php5.conf :

<IfModule mod_php5.c>
    <FilesMatch "\.ph(p3?|tml)$">
        SetHandler application/x-httpd-php
    </FilesMatch>
    <FilesMatch "\.phps$">
        SetHandler application/x-httpd-php-source
    </FilesMatch>
    # To re-enable php in user directories comment the following lines
    # (from <IfModule ...> to </IfModule>.) Do NOT set it to On as it
    # prevents .htaccess files from disabling it.
    #<IfModule mod_userdir.c>
    #    <Directory /home/*/public_html>
    #        php_admin_value engine Off
    #    </Directory>
    #</IfModule>
</IfModule>

Mettez du contenu dans ~/public_html et allez voir ce qui se passe à http://localhost/~username.

PHP (ou encore Perl ou même Python)

Installer PHP comme partie d'une LAMP est assez simple, en tant que root installez les paquets suivants :

 # aptitude install php5 php5-mysql libapache2-mod-php5

Si vous préférez Perl, alors tapez plutôt :

 # aptitude install perl libapache2-mod-perl2

Enfin, si vous jetez votre dévolu sur Python :

 # aptitude install python libapache2-mod-python

Configuration

Apache2 : /etc/apache2/apache2.conf

You can edit this file when needed, but for most simple applications, this should not be necessary as most stuff is now done using conf.d.

Testons PHP

Pour tester PHP, modifiez le fichiez /var/www/apache2-default/test.php et ajoutez-y la ligne suivante dans le body :

<?php phpinfo(); ?>

Après ceci faites un tour sur http://SERVERIP/apache2-default/test.php avec votre navigateur préféré.

phpmyadmin

phpmyadmin vous simplifiera l'administration de votre base de données mysql grâce à son interface graphique :

 # aptitude install phpmyadmin

To have access to phpMyAdmin on your website (i.e. http://example.com/phpmyadmin/ ) all you need to do is include the following line in /etc/apache2/apache2.conf (needed only before Squeeze, since 6.0 it will be linked by the package install script to /etc/apache2/conf.d/phpmyadmin.conf -> ../../phpmyadmin/apache.conf automatically):

Include /etc/phpmyadmin/apache.conf

Redémarrez Apache:

 # /etc/init.d/apache2 restart

Pour l'utiliser rendez vous à l'adresse http://SERVERIP/phpmyadmin/ Utilisez votre IP à la place de SERVERIP. En local, l'IP est toujours 127.0.0.1

PHP: /etc/php5/apache2/php.ini

Il arrive souvent que l'on dusse activer mysql dans PHP. Pour ce faire, éditez php.ini en décommentant la ligne suivante (cherchez l'occurence mysql).

extension=mysql.so

Notez que ceci ne devrait plus être requis tant que l'on utilise conf.d

MySql : /etc/mysql/my.cnf

Vous trouverez des exemples de configuration ici : /usr/share/doc/mysql-server/examples

Voir aussi :

This page is based largely on http://linux.justinhartman.com/Setting_up_a_LAMP_Server.



CategoryFrSoftware