Après MySQL, après Apache, il nous manque encore PHP. Donc allons-y, installons celui-ci.
Qu’est-ce que PHP ?
PHP Hypertext Preprocessor est un langage de script, aujourd’hui orienté objet, qui se situe du côté serveur. Il possède aussi un côté client qui permet d’écrire des scripts et de les exécuter en mode console.
Exemples de codes PHP
<?php echo 'Hello World!'; ?>
Ce petit script affichera la chaine « Hello World! » sur votre console ou dans votre navigateur.
<?php $var = 'foo' . 'bar'; echo '<b>', $var, '</b>'; ?>
Cet autre script nous affichera « <b>foobar</b> » en console, cependant, s’il est exécuté par l’intermédiaire d’un serveur web (ex: Apache), il nous fournira alors la chaine « foobar » en caractères gras, le « . » servant d’opérateur de concaténation;
Je ne vais pas m’éterniser sur le sujet, d’autres tutoriaux seront présents pour apprendre la programmation.
Installation de PHP au sein d’Apache
Et on recommence encore une fois, on se connecte en root sur notre tty1, puis on navigue jusque php.net, et en changeant de répertoire courant au passage :
root@tutolamp:~# cd /other/downloads root@tutolamp:/other/downloads# lynx http://php.net
On descend jusque « Downloads » puis on y va.
On cherche « Current Stable » et on va sélectionner « php-votreversion.tar.gz ». Au moment du tutoriel, c’est PHP 7.1.2 qui est mis à l’honneur.
On descend pour choisir un site miroir d’où télécharger PHP, j’ai choisi fr2.php.net, se situant en France, et on active le lien de téléchargement en appuyant sur [D]. Enregistrez le fichier sur le disque puis quittez avec [Q].
On décompresse PHP et on va dans son répertoire :
root@tutolamp:/other/downloads# tar zxvf php-votreversion.tar.gz root@tutolamp:/other/downloads# cd php-votreversion
PHP a lui aussi son petit lot de dépendances, on va les installer de suite :
root@tutolamp:/other/downloads/php-votreversion# apt-get install libxml2-dev
Place à la configuration de PHP, à sa compilation, puis son installation :
root@tutolamp:/other/downloads/php-votreversion# ./configure --prefix=/other/server/php71 --with-apxs2=/other/server/httpd24/bin/apxs --enable-mbstring --with-mysql-sock=/tmp/mysql.sock --enable-embedded-mysqli --with-mysqli root@tutolamp:/other/downloads/php-votreversion# make root@tutolamp:/other/downloads/php-votreversion# make install
On va configurer maintenant Apache pour qu’il puisse nous servir des pages PHP, mais pour cela on va avoir besoin d’un éditeur de texte. Je vais personnellement utiliser « joe », libre à vous de choisir autre chose (« vi(m) », …) :
root@tutolamp:/other/downoads/php-votreversion#: apt-get install joe root@tutolamp:/other/downoads/php-votreversion#: cd /other/server/httpd24/conf root@tutolamp:/other/server/httpd24/conf# joe httpd.conf
PHP s’est permis de nous installer son module dans le fichier de configuration, c’est toujours ça de moins à faire!
Cherchez d’abord la ligne ServerName pour lui ajouter un nom comme suit:
ServerName localhost:80
Cherchons maintenant cette ligne :
DirectoryIndex index.html
Rajoutons « index.php » comme suit :
DirectoryIndex index.php index.html
Maintenant cherchons les lignes de type « AddType application/ » et ajoutons-y cette ligne :
AddType application/x-httpd-php .php
Enregistrez le fichier et quittez l’éditeur en effectuant la combinaison [Ctrl]+[K] puis [X].
Redémarrez maintenant Apache :
root@tutolamp:/other/server/httpd24/conf# /etc/init.d/apachectl restart
Créons rapidement un script de test PHP:
root@tutolamp:/other/server/httpd24/conf# cd ../htdocs root@tutolamp:/other/server/httpd24/htdocs# joe index.php
Avec pour contenu :
<?php phpinfo(); ?>
Enregistrez et quittez comme tout à l’heure, et regardons si cela a bien fonctionné correctement :
root@tutolamp:/other/server/httpd24/htdocs# lynx http://localhost
Parfait, tout fonctionne! Il ne nous reste plus que phpMyAdmin dans le tutoriel suivant, et notre LAMP sera complet.