Formation d'administrateur Baby/serveur avancé/SA04-Cours et TP/1

Aller à : navigation, rechercher
Alb-sa04-1-image1.jpg

Cette fois, c'est simple, sur votre page wiki de la formation, mettez un lien vers le pmwiki de votre serveur. indiquez au besoin les heures d'allumage.

Suivant

Les scripts php et mysql

Mysql

Sql (qui signifie "Structured Query Langage", langage de demande structuré), est, depuis des années, le langage utilisé pour demander à une base de donnée de fournir les renseignements qu'elle détient. La base de données MySQL (mon SQL) est la plus présente sur les serveurs accessibles au public, il y sans doute à ça de très bonnes raisons, qui ne nous importent pas.

Nous n'étudierons pas grand chose du SQL, ça n'a aucune importance.

Si vous n'avez pas fait d'autres manipulations que celles qui ont été demandées dans ce cours, la base MySQL est installée.

mouette:~ # ps ax | grep sql
19979 pts/0    S+     0:00 grep sql

Mais elle n'est pas en service.

Mettons-là en route (le restart est juste au cas où elle serait déjà démarrée malgrè ce que nous en pensions) :

mouette:~ # rcmysql restart
Restarting service MySQL
Shutting down service MySQL                 done
Creating/Updating MySQL privilege database...
Installing all prepared tables
Fill help tables
PLEASE REMEMBER TO SET A PASSWORD FOR
THE MySQL root USER !
To do so, start the server, then issue
the following commands:
/usr/bin/mysqladmin -u root password 'new-password'
/usr/bin/mysqladmin -u root -h mouette.perso
password 'new-password'
See the manual for more instructions.

You can test the MySQL daemon with the
benchmarks in the
'sql-bench' directory:
cd sql-bench ; perl run-all-tests

Please report any problems with the
/usr/bin/mysqlbug script!

The latest information about MySQL is
available on the web at
http://www.mysql.com
Support MySQL by buying support/licenses at
https://order.mysql.com
Fixing privilege tables...
Starting service MySQL               done

Et maintenant :

mouette:~ # ps ax | grep sql
20062 pts/0    S      0:00 /bin/sh /usr/bin/mysqld_safe
 --user=mysql
 --pid-file=/var/lib/mysql/mysqld.pid
 --socket=/var/lib/mysql/mysql.sock
 --datadir=/var/lib/mysql
20100 pts/0    Sl     0:01 /usr/sbin/mysqld
 --basedir=/usr
 --datadir=/var/lib/mysql
 --user=mysql --pid-file=/var/lib/mysql/mysqld.pid
 --skip-locking --port=3306
 --socket=/var/lib/mysql/mysql.sock

Reste à définir un mot de passe administrateur, comme on nous le demande.

L'administrateur de la base MySQL est root, il faut lui attribuer un mot de passe spécifique à l'usage de la base, donc différent de celui root usuel. En effet, en cas de compromission de la base, il ne faut pas que cela entraîne une compromission de tout le serveur.

mysqladmin -u root password 'XxXxX'

Tapé en root sur le serveur, tel que, sauf à remplacer les Xx par le mot de passe que vous voulez utiliser. Le mot "password" est une instruction et doit donc être laissé tel que (ce n'est pas l'ancien mot de passe).

Il ne reste plus qu'à valider le démarrage de mysql dans Yast, Système, Éditeur de niveaux d'exécution.

Vous pouvez vérifier l'installation au démarrage par :

ls /etc/init.d/rc5.d | grep mysql

Php

Php est un langage de programmation spécifiquement écrit pour l'utilisation sur un site web. Il est récent, mais, en quelques années il a conquis le monde :-). En tout cas il est disponible partout et tous les utilitaires dont nous allons parler l'utilisent. Il en est à la version 5, mais cette version est encore jeune et la version 4 est souvent préférée, c'est celle que nous allons utiliser.

N'oubliez pas que php est étroitement lié au serveur web Apache. Il s'installe donc comme un module de celui-ci et la version diffère selon la version d'Apache. Nous utilisons Apache 2, et php est déjà installé, faites attention de ne pas installer la version pour Apache 1. Il n'y a rien à configurer pour php...

PmWiki

Vous connaissez les wikis, puisque nous en utilisons un pour noter vos travaux. Mais il en existe une variante qui n'utilise aucune base de données (à vrai dire il existe des dizaines de variantes, nous en verrons deux).

Pmwiki utilise donc des fichiers texte pour stocker ses données. Cela présente des inconvénients, mais pour un petit wiki ce n'est pas très gênant et ça peut vous éviter d'installer Mysql. Cela permet aussi de faire des sauvegardes avec un simple aspirateur de site comme wget.

L'installation est d'une facilité dérisoire. Téléchargez la dernière version depuis le site du développeur, copiez le contenu de l'archive dans un répertoire, par exemple "pmwiki", à la racine de votre site web. Faite-le directement sur le serveur.

Naviguez avec mozilla ou konqueror sur le serveur web (Pas avec l'explorateur, mais le réseau local convient très bien, pourvu que ça passe par Apache). sur ce répertoire :

 http://<votre serveur>/pmwiki/pmwiki.php

Allez en root, dans une console, sur le répertoire pmwiki (sur le serveur), créez un répertoire wiki.d avec les droits 777 (chmod 777) et rechargez la page, c'est tout. Lisez les instructions pour arranger ça à votre guise.

Simple, non ?