TP n°8: Services Web sous Unix
4h
But: Installer et administrer Apache sous Linux
- apt-get install apache2: Installation et lancement
de apache2
- apt-get install apache2-doc: Installation de la documentation
de apache2
- Modifications du système
- Démon installé
- ps -lfA
- Plusieurs intance du démon httpd en fonctionnement
- Site en fonctionnement: Verification via navigateur du fonctionnement du nouveau site web
- Pas de nouvel utilisateur mais emploi de l'utilisateur www-data (uid 33) et du groupe www-data (gid 33)
comme utilateur endossé par les démons httpd
- Documentation en ligne http://httpd.apache.org/docs
- Topographie d'installation
- Repertoire de publication /var/www
- Un seul fichier index.html
- Journaux de logs: /var/log/apache2
- access.log: Accès au site par défaut
- error.log: Erreurs d'utilisation du site par défaut
- other_vhosts_access.log
- Répertoire des fichiers de configuration /etc/apache2
- Fichier envvars: Variables d'environnement définissant les utilisateurs et les répertoires importants
- Fichier apache2.conf: Options de configuration générales
- Utilisateur et groupe endossés
- Nom des fichiers de contrôle d'accès
- Type MIME par défaut
- Fichier erreur log par défaut
- Inclusion des fichiers de configuration
- Fichier ports.conf: Ports et noms d'entêtes utilisés sur le serveur Web pour les différents sites qu'il
gère
- Répertoire sites-available:
- Fichiers de configuration des sites disponibles
- Nom d'entête et port associé au site
- Racine de publication
- Répertoires virtuels (alias)
- Entrées Directory: Options de configuration propres aux répertoires virtuels ou non
- Méthode d'authentification
- Filtrage des clients
- Localisation des journaux de log (accès et erreurs)
- default: Site par défaut (en fonctionnement)
- default-ssl: Site ssl par défaut (arrêté)
- Répertoire sites-enabled: Sites en ligne (liens symboliques vers les fichiers contenus dans sites-available)
- Répertoire mods-available: Fichiers de description et configuration des modules disponibles
- Répertoire mods-enabled: Modules en fonctionnement (liens symboliques vers les fichiers contenus dans mods-available)
- Administration
- Commande de gestion: apache2ctl ou apachectl
- /etc/init.d/apache2 restart pour relancer apache2
- Type MIME (Multipurpose Internet Mail Extension)
- Chaîne de description associée à un fichier indiquant le type de son contenu
- Souvent associé à l'extension du nom de fichier
- Exemples:
- Gestion intégrée au système d'exploitation ou spécifiquement au service
- Existence d'un type MIME par défaut
- Création d'un nouveau type MIME
- /etc/mime.types par l'intermediaire de mods-available/mime.conf ou plus directement mods-available/mime.conf
- Creation d'un site web virtuel
- Fichiers publiés
- Création de /var/www2 avec un fichier index.html personnalisé
- Déclaration du site virtuel sur le port 8000
- Modification du fichier ports.conf pour un site sur le port 8000
- Duplication et adaptation des 2 lignes de spécification de port et de nom d'entête
- Ajout (copie) d'un fichier de configuration sous /etc/apache2/sites-available
- cp /etc/apache2/sites-available/default /etc/apache2/sites-available/site2
- Reconfiguration du fichier site2
- Port 8000
- /var/www2
- /var/log/apache2/access2.log
- /var/log/apache2/error2.log
- Ajout d'un lien symbolique sous /etc/apache2/sites-enabled
- ln /etc/apache2/sites-available/site2 /etc/apache2/sites-enabled/001-site2
- Restart de apache2
- vérification du fonctionnement du site
- Creation d'un répertoire virtuel dans le site2
- Ajout d'un alias nommé homes pointant sur /home en queue de fichier de configuration du site n°2
- Déclaration de l'alias dans le fichier de configuration du site
Alias /homes /home/
- Configuration du répertoire pointé par l'alias
<Directory "/home/">
AllowOverride None
Order allow,deny
Allow from all
Options Indexes
</Directory>
- Mise en place d'une authentification sur cet alias
- Systeme de compte deconnecté du système de comptes de Linux
- Deux fichiers invisibles à créer
- .htaccess: Configuration de l'authentification
- .htpasswd: Fichier login-password
- Spécification d'une authentification pour le répertoire
AllowOverride AuthConfig
- Fichier .htaccess créé "à la main"
AuthType Basic
AuthName "Login?"
AuthUserFile /home/.htpasswd
AuthGroupFile /dev/null
Require valid-user
- Fichiert .htpasswd cree avec htpasswd -c /home/.htpasswd Gamma
- php5
- apt-get install libapache2-mod-php5: Installation
- apt-get install php5-gd: Installation du module gd
- Que peut être installé concernant Php5:
- Vérification du fonctionnement et des modules disponibles
- mysql-5.1
- apt-get install mysql-server-5.1: Installation
- apt-get install php5-mysql: Installation de l'interface
php pour mysql
- ps -lfA
- Existence d'une instance du démon my-sqld
- phpMyAdmin
- apt-get install phpmyadmin: Installation
- Test de phpMyAdmin
- URL http://127.0.0.1/phpmyadmin/
But: Installer PHP sous IIS
- Installation en extension ISAPI -> Une requête sur un fichier php aura pour conséquence son interprétation
en script php dont le résultat d'exécution sera le résultat de la requête.
- Télécharger et installer une distribution PHP pour Windows munie de la dll php5isapi.dll (ftp://raphaello.univ-fcomte.fr/pub/php/php.zip)
- Créer un répertoire php dans l'arborescence du site web d'installation
- Placer les fichiers php dans ce répertoire
- Accéder aux assistants spécifiques à ce répertoire dans le "Gestionnaire des services Internet (IIS)"
- Lancer le mappage de gestionnaires
- Ajouter un nouveau mappage de scripts associant l'extension php à la dll php5isapi.dll (sans restriction).
- Cette dll se voit activée en exécution sur le serveur Web.
- Test: Télécharger, installer et exécuter le fichier test.php