7 – Activer la
possibilitée pour les utilisateurs d'avoir un répertoire
personnel, de plus, le répertoire utilisateur
sera
différents pour les deux virtualhost.
8 – Pour chacun de ces sites web, le répertoire /private sera
protégé par le login "patrick", mot de passe "saumon",
9 – Pour chacun de ces sites web, l'alias /cgi-bin/ contiendra un
script cgi appelé "liste.cgi qui affichera un message
quelconque. Le programme sera réalisé en C :
#include <stdio.h>
#include <stdlib.h>
int main () {
char * page = "Content-type: text/html\n\n<html><body>Bonjour</body></html>";
printf("%s\n",page);
exit(0);
}
10 – Lorsque apache ne trouve pas de page d'index dans un repertoire,
soit il affiche un message d'erreur, soit le contenu du
répertoire suivant ce qui est spécifié dans son
fichier de configuration. De plus lorsque le contenu du
répertoire
peut
être affiché, apache peut ajouter une entete et un
pied de
page personnalisé a travers deux fichiers
configurés pas
Headername et readname, Vous allez donc réalisez la
configuration suivante :
- Pour le virtualhost tpY-pcXX, l'affichage du contenu du
répertoire /liste sera désactivé pour tous les sous
répertoires de ce virtualhost.
- Pour le virtualhost tpY-pc1XX, l'affichage du contenu du
répertoire /liste sera activé, vous placerez des fichiers dans ce répertoire mais
pas d'index. De plus, vous ajouterez systématiquement le
même fichier header pour avoir une présenatation plus
propre de vos fichiers.
11 – Utilisez les règles de réécriture
(rewrite)
pour rediriger les requêtes et sous requêtes de
tpY-pc1XX.prive.iut-amiens.fr/redirect/ sur tpY-pcXX.prive.iut-amiens.fr/.
12 – Vous allez maintenant récupérer un logiciel
d'analyse de fichiers d'access logs pour Apache, l'installer et le
configurer pour avoir une analyse de vos logs par virual host, les
statistiques de chaque site seront accessibles par l'adresse
"http://.../stats/". Vous pouvez utiliser au choix : webalizer, awstats
ou analog.
Annexe Mysql :

Pour
Mysql, il faut
récuperer
les archives mysql et mysql-server
au format rpm et
les installer. Apres l'installation, il faut securiser un peu mysql.
Deux comptes MySQL root sont créés en tant
qu'administrateurs ayant tous les droits. Le mot de passe de
l'utilisateur initial root est vide, ce qui permet
à
n'importe qui de se connecter en tant que root sans mot de passe, pour
profiter de tous les droits.
o Sous Windows, un compte root permet de
se
connecter depuis l'hôte local, et l'autre depuis n'importe
quel
hôte.
o Sous Unix, les deux comptes root sont
destinés à être utilisés
depuis le compte
local. Les connexions doivent être faîtes en
spécifiant le nom d'hôte localhost, ou le
véritable
nom d'hôte, ou l'adresse IP.
Deux comptes utilisateur anonyme sont créés, qui
peuvent
faire ce qu'ils veulent avec toutes les tables dans la base de
données 'test' ou commençant par 'test_' . Cela
signifie
qu'un utilisateur peut se connecter sans mot de passe et être
traité comme un utilisateur anonyme.
o Sous Windows, un compte anonyme sert
depuis
l'hôte local. Ce compte a tous les droits, comme root.
L'autre
sert aux connexions depuis les hôtes, et a tous les droits
pour
les bases test ou commençant par test.
o Sous Unix, les deux comptes anonymes
servent
depuis l'hôte local. Les connexions doivent être
faîtes en spécificant le nom d'hôte
localhost, ou le
véritable nom d'hôte, ou l'adresse IP. Ces comptes
ont
tous les droits dans les bases test ou dont le nom commence par test_.
Etapes de
securisation
: (Ce qui est a taper est en gras)
[root@mamachine
root]# mysql -u root
mysql>
SELECT Host,User FROM
mysql.user;
+--------------------------------+------+
|
Host
| User |
+--------------------------------+------+
|
localhost
| |
|
localhost
| root |
|
mamachine.prive.iut-amiens.fr
| |
|
mamachine.prive.iut-amiens.fr
| root |
+--------------------------------+------+
4
rows in set
(0.00 sec)
mysql>
DELETE FROM mysql.user
WHERE User = '';
Query
OK, 2
rows affected (0.00 sec)
mysql>
SELECT Host,User FROM
mysql.user;
+-------------------------------------+------+
|
Host
| User |
+-------------------------------------+------+
|
localhost
| root |
|
mamachine.prive.iut-amiens.fr
| root |
+-------------------------------------+------+
2
rows in set
(0.00 sec)
mysql>
FLUSH PRIVILEGES;
Query
OK, 0
rows affected (0.00 sec)
mysql>
SET PASSWORD FOR
'root'@'localhost' =
PASSWORD('nouveau_mot');
Query
OK, 0
rows affected (0.00 sec)
mysql>
SET PASSWORD FOR
'root'@'mamachine.prive.iut-amiens.fr'
= PASSWORD('nouveau_mot');
Query
OK, 0
rows affected (0.00 sec)
mysql>
quit
Autres commandes
utiles
:
Outil d'administration de mysql : mysqladmin
[root@mamachine
root]# mysqladmin status
mysqladmin:
connect to server at 'localhost' failed
error:
'Access denied for user: 'root@localhost' (Using password: NO)'
[root@mamachine
root]# mysqladmin status
-u root -p
Enter
password:
Uptime:
1738 Threads: 1 Questions: 504 Slow
queries: 0
Opens: 18 Flush tables: 1 Open tables: 2 Queries
per second
avg: 0.290
[root@skarsnik
root]#
Pour voir la structure
d'une base :
mysqlshow
Sans argument donne les bases disponibles, exemple : mysqlshow mysql,
mysqlshow mysql user.
Pour la gestion des bases, des tables et des utilisateurs vous pouvez
utiliser le logiciel phpMyAdmin, qui permet ce type de gestion via un
portail web en php.