Articles Taggés ‘Apache’

Installer PHP sous Ubuntu, soit LAMP (Linux Apache MySQL PHP)

12 mars 2010

Installation de l’environnement

Pour développer en local du PHP, vous aurez besoin d’installer Apache, MySQL et PHP.
Tapez dans un terminal :
[cc lang=’bash’ width=’100%’]
sudo tasksel install lamp-server
[/cc]
Il est conseillé de mettre un mot de passe pour MySQL
Une fois que c’est fait, vous pouvez tester le serveur en entrant l’adresse suivante dans votre navigateur préféré : http://127.0.0.1 ou http://localhost/

Si vous voyez ce message :
[cc width=’100%’]
It works!
This is the default web page for this server.
The web server software is running but no content has been added, yet.
[/cc]
c’est que tout s’est bien passé.

Changer de répertoire de travail

Par défaut, la page web que vous voyez se trouve dans
[cc lang=’bash’ width=’100%’]
/var/www
[/cc]
Ce qui n’est pas très pratique, car par défaut vous n’avez pas les droits en écriture sur ce dossier qui appartient à ROOT.

Puisqu’on ne va pas l’utiliser rendons ce dossier inaccessible de l’extérieur.
[cc lang=’bash’ width=’100%’]
sudo gedit /etc/apache2/sites-available/default
[/cc]
Recherchez le bloc délimité par <Directory /var/www/> et </Directory/>et remplacez-le contenu par :
[cc lang=’bash’ width=’100%’]

Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order Deny,Allow
Deny from all
Allow from 127.0.0.1

[/cc]
Ajoutez également Allow from 192.168.0.0/24 si vous voulez y accéder de votre réseau local, si vos adresses IP local sont en 192.168.1.0, adaptez évidemment.

Ouvrez ensuite le fichier httpd.conf
[cc lang=’bash’ width=’100%’]
sudo gedit /etc/apache2/httpd.conf
[/cc]
Et ajoutez cette ligne
[cc lang=’bash’ width=’100%’]
ServerName localhost
[/cc]
On va maintenant activer l’option userdir, qui va permettre d’activer un dossier de développement pour chaque utilisateur.
[cc lang=’bash’ width=’100%’]
mkdir /home/$USER/public_html
sudo a2enmod userdir
[/cc]
On redémarre Apache, pour que les modifications soient prises en compte.
[cc lang=’bash’ width=’100%’]
sudo /etc/init.d/apache2 force-reload
[/cc]
Voilà, maintenant le dossier public_html qui se trouve dans votre espace de travail est accessible via http://127.0.0.1/~yann
Remplacez évidemment yann par votre nom d’utilisateur
pour tester, créez un nouveau fichier test.php dans le dossier public_html et copiez-y ce code

[cc lang=’php’ width=’100%’]
< ?php echo phpinfo(); ?>
[/cc]

Ouvrez l’URL http://127.0.0.1/~yann/test.php, vous devriez voir la configuration PHP s’afficher. Si votre navigateur télécharge les fichiers au lieu de les interpréter, regardez la fin de cet article…

Installer phpMyAdmin

Téléchargez l’archive de phpMyAdmin et décompressez là. Renommez ensuite le dossier en phpMyAdmin puis déplacez le dans /var/www
[cc lang=’bash’ width=’100%’]
sudo mv phpMyAdmin/ /var/www/phpMyAdmin
[/cc]
phpMyAdmin utilise le module mcrypt, alors installons-le
[cc lang=’bash’ width=’100%’]
sudo apt-get install php5-mcrypt
[/cc]
On redémarre Apache
[cc lang=’bash’ width=’100%’]
sudo /etc/init.d/apache2 force-reload
[/cc]
Et voilà phpMyAdmin est accessible à l’adresse http://127.0.0.1/phpMyAdmin
Connectez vous avec root : mot_de_passe_que vous avez_choisi

Où est mon php.ini ?

Le fichier de configuration de PHP se trouve dans /etc/php5/apache2/php.ini pour désactiver short_open_tag et magic_quotes_gpc par exemple, ce qui serait une très bonne idée 😉
N’oubliez pas de relancer Apache
[cc lang=’bash’ width=’100%’]
sudo /etc/init.d/apache2 force-reload
[/cc]

Mon navigateur télécharge les fichiers PHP au lieu de les interpréter 🙁

Sous Ubuntu 10.04, php est désactivé quand vous utilisez le module a2enmod. Pour éviter que le navigateur télécharge les fichiers php, éditez le fichier
[cc lang=’bash’ width=’100%’]
sudo gedit /etc/apache2/mods-enabled/php5.conf
[/cc]
Et commentez les lignes ci dessous :
[cc lang=’bash’ width=’100%’]
#
#
# php_admin_value engine Off
#

#

[/cc]
Et on relance apache…
[cc lang=’bash’ width=’100%’]
sudo /etc/init.d/apache2 force-reload
[/cc]

Si vous recherchez des conseils pour la certification PHP 5