Samedies

Femmes et logiciels libres


Accueil du site > Notes > Apache Php Mysql & Spip avec Denis

26 mai 2007

Apache Php Mysql & Spip avec Denis

Installation sur Amaya

Notes du Samedi 26 mai 2007


Pour l’après midi de la séance de mai, (26 mai) avec Denis, nous allons travaillé avec notre serveur Amaya.

Nous allons installer comme les autres groupes Apache2 php et mysql server.

Ensuite nous allons installer SPIP, qui est un système facilitant la publication dans internet. (spip = système de publication pour internet).

Amaya est connectée au projecteur.

Pour les notes B. a commencé à prendre des notes ’papier’. Puis à un moment donné, on a dit que l’on récupérerait l’historique des commandes (avec history qui donne la liste des commandes passées), mais grâce (ou à cause) des possibilités réseaux, de ssh, nos manipulations ont été scindées et faites à partir de différentes machines distantes. Nous avions ubuntu en cd autonome (live cd)), avec une connexion d’utilisateur root sur Amaya.
Bref les notes doivent être mises à jour.

dhclient eth1 pour obtenir une adresse ip dans le réseau local

Installation de l’ensemble apache -php - mysql

apt-get update
apt-get install apache2 php5 mysql-server phpmyadmin

verification du controle a distance du serveur :

apt-get install ssh Installation de ssh pour avoir une connection a distance.
ifconfig ifconfig nous donne l’adresse ip de Amaya dans le réseau local : 192.168.2.65

Nous en aurons besoin pour nous connecter par la suite. D’une autre machine, on se connecte a Amaya ssh root@192.168.2.65 ......

who pour voir qui est connecte

mysql

cd /etc/mysql
ls
vi my.cnf fichier de configuration de mysql

on voit la ligne
socket = /var/run/mysqld/mysqld.sock
ce qui signifie que mysql est en train de " tourner".

ls
cd ..
clear
cd apache2/ là on se retrouve dans le répertoire /etc/apache2

On a les fichiers de configuration et des répertoires. Le répertoire sites-available contient les sites qui pourraient être activés. Le répertoire sites-enabled contient les sites activés (à vérifier).

ls -l
vi conf.d/ dans le répertoire /etc/apache2 fichier de configuration
clear
ls -l
ls -l conf.d/
man vi
clear
ls -l
ls -l mods-enabled/
cd /var/www/apache2-default/
ls
mv index.html old.index.html
clear
cd /etc/apache2/
ls -l
cd sites-enabled/

on voit un site
clear
ls -l
vi 000-default fichier de configuration d’un premier site
clear
cd ..
ls

Vérification de apache2 et phpmyadmin

A partir d’une machine distante, dans Firefox (ou autre navigateur internet) nous entrons l’adresse d’Amaya http://192.168.2.65/
et nous avons eu l’affichage de la fameuse phrase it works ! dans la page d’accueil d’apache2

http://192.168.2.65/phpmyadmin et nous avons l’affichage de l’interface de connexion de phpmyadmin : nous tapons root, pas besoin de mot de passe !!! nous entrons dans l’interface d’administration de phpmyadmin.

Par sécurité nous allons changer (j’ai oublié les manips...) dans phpmyadmin. Nous avons administré et changé les privilèges d’utilisateurs.

Installation de spip

1. Préparation

cd sites-available/ déplacement dans le répertoire /etc/apache2/sites-available
ls
vi spip création d’un fichier pour le répertoire spip
wq
ls
clear
vi spip
Ici il manque les options de configuration du site spip.
clear
a2ensite spip commande pour activer le site spip
a2ensite fait partie des outils du paquet apache2-common
vi spip
il manque les modif du fichier de config
clear
a2ensite spip
mkdir /var/www/spip
clear
/etc/init.d/apache2 reload
cd /var/www/spip/
ls
cd ..
ls c
ls -l
cd apache2-default/
ls -lrt
cd ..
ls
cd spip
clear
man wget
clear

2. Téléchargement de spip

SPIP n’est pas un paquet Debian, nous allons le télécharger d’un site, ou l’on a la dernière version. On va utiliser la commande wget qui nous permet de télécharger un fichier de internet.
man wget ne pas oublier de faire un man pour découvrir une commande inconnue
wget http://files.spip.org/spip/spip.zip

zip : fichier compressé, que l’on décompresse avec unzip, qui n’est pas installé (soit on vérifie avec which unzip, (propre) soit on tape unzip ... et on reçoit le message commande not found ...)
apt-get install unzip installation de unzip
unzip spip.zip décompresser le fichier spip

Petite manipulation : on voit avec la commande ls que la décompression a créé un nouveau répertoire spip. Pour faire propre on remonte tout (sinon on a chemin.../spip/spip).

mv spip/* .
ls
rmdir spip
rm spip.zip
ls -l’’

On change le propriétaire et le groupe des fichiers "spip" : ils deviennent fichiers de www-data, utilisateur installé pour le programme Apache.

chown -R www-data:www-data /var/www/spip
ls -l pour vérifier que le propriétaire et le groupe ont bien changé.

La commande fatidique pour garder une trace (du moins sur cet ordi là) dans un fichier.

history > notes.txt

Vérification de l’accès au site spip.

A partir d’une autre machine, (ubuntu live) nous avons lancé Firefox et accédé à la page d’apache.

http://192.168.2.65 (rappel : nous avons eu l’affichage de la fameuse phrase it works !)

http://192.168.2.65/spip

Nous avons l’interface de notre site spip !!!

Nous entrons dans l’interface privé de notre installation spip http://192.168.2.65/spip/ecrire.

Regarder dans l’onglet configuration pour vérifier si l’affichage des images se fait correctement.. la page indique qu’il manque gd et imagick.

En mode texte, sur le serveur, nous devons installer les paquets correspondants qui gèrent des images par des scripts php. Donc on fait notre recherche dans la liste de courses (selon Nicolas) :
apt-cache search imagick | less

Nous voyons qu’il faut installer php4-imagick ou php5-imagick. Comme nous avons installé php5 nous choisissons le dernier.
apt-get install php5-imagick

Idem pour le gd
apt-get install php5-gd

Attention aux scripts php !

Ensuite Denis nous fait une manip super simple pour montrer que php pose des problèmes de sécurité pour le serveur.

Nous créons un petit script tout simple en php
vi test.php (nous éditons, je ne sais plus dans quel répertoire !!!)

<?php
readfile
('/etc/passwd')  ; 
?>

Ce petit script php lit le fichier /etc/passwd.

D’une machine distante, nous accédons à la page http://192.168.2.65/quelque part ???/test.php et nous voyons bien s’afficher le fichier passwd, fichier sensible pour le système ou l’on peut voir le nom des utilisateurices existantEs.

Juste à temps, nous terminons sur ce constat que nous devons vérifier les formulaires php et sécuriser le serveur.



Logo ada | RSS 2.0 | SPIP | Squelettes | Espace privé | Plan du site