préparation à la certification LPIC2 version 3.5 en français
Chapitre 8 : Topic 208 : Services Web
Configuration de Apache2 et Squid
Partie 1 : mise en place d'un serveur web
Introduction au serveur web Apache2
Présentation, installation, configuration
08 02 mise en place de serveurs virtuels apache 2Noël
préparation à la certification LPIC2 version 3.5 en français
Chapitre 8 : Topic 208 : Services Web
Configuration de Apache2 et Squid
Partie 2 : mise en place de serveurs virtuels apache 2
Topic 208.2 partie 1
Supports créées par Noël Macé sous Licence Creative Commons BY-NC-SA.
08 04 mise en place d'un serveur mandataire (proxy)Noël
préparation à la certification LPIC2 version 3.5 en français
Chapitre 8 : Topic 208 : Services Web
Configuration de Apache2 et Squid
Partie 4 : mise en place d'un serveur mandataire (proxy)
Topic 208.3
Installation, configuration et gestion du Proxy Squid sous GNU/Linux.
Supports créés par Noël Macé sous Licence Creative Commons BY-NC-SA.
préparation à la certification LPIC2 version 3.5 en français
Chapitre : Topic 209 : Partage de fichiers
Configuration de Samba et NFS
Partie 1 : configuration du serveur samba)
Topic 209.1
Installation, configuration et gestion du serveur et du client SAMBA sous GNU/Linux.
Supports créés par Noël Macé sous Licence Creative Commons BY-NC-SA.
08 02 mise en place de serveurs virtuels apache 2Noël
préparation à la certification LPIC2 version 3.5 en français
Chapitre 8 : Topic 208 : Services Web
Configuration de Apache2 et Squid
Partie 2 : mise en place de serveurs virtuels apache 2
Topic 208.2 partie 1
Supports créées par Noël Macé sous Licence Creative Commons BY-NC-SA.
08 04 mise en place d'un serveur mandataire (proxy)Noël
préparation à la certification LPIC2 version 3.5 en français
Chapitre 8 : Topic 208 : Services Web
Configuration de Apache2 et Squid
Partie 4 : mise en place d'un serveur mandataire (proxy)
Topic 208.3
Installation, configuration et gestion du Proxy Squid sous GNU/Linux.
Supports créés par Noël Macé sous Licence Creative Commons BY-NC-SA.
préparation à la certification LPIC2 version 3.5 en français
Chapitre : Topic 209 : Partage de fichiers
Configuration de Samba et NFS
Partie 1 : configuration du serveur samba)
Topic 209.1
Installation, configuration et gestion du serveur et du client SAMBA sous GNU/Linux.
Supports créés par Noël Macé sous Licence Creative Commons BY-NC-SA.
Création du réseau d'entreprise (LAN, DMZ, WAN) en configurant des différentes serveurs : web(apach), fichier(FNS, FTP, SAMBA), Annuaire, proxy-cach, ...
Meetup Drupal Lyon 2016 - Environnements de dév Drupal automatisés LXC et Ans...Aurelien Navarre
Ce n'est pas vraiment du Drupal mais ça peut servir à tous les drupalistes ! Pour le meetup Drupal Lyon de juillet 2016 j'ai voulu parler des containers mais surtout de l'orchestration. Que ce soit LXC, ou Docker peu importe en fait. Tout dépend de vos besoins. Mais pour l'orchestration, ma préférence va clairement à Ansible qui est facile d'apprentissage et si pratique au quotidien, que ce soit pour vos environnements de dév ou prod.
DrupalCamp Nantes 2016 - Migrer un site Drupal 6 ou Drupal 7 vers Drupal 8Aurelien Navarre
Retour d'expérience de la migration de la base de connaissance docs.acquia.com de Drupal 6 à Drupal 8 au DrupalCamp Nantes 2016. Les thèmes principaux abordés sont : comment auditer et préparer sa migration, comment utiliser les nouvelles commandes Drush à notre disposition pour facilement mettre en place les conditions d'une migration réussie et quelques astuces glanées par l'expérience acquise au cours de cette migration somme toute assez complexe.
- La sécurité informatique est de nos jours devenue un problème majeur dans la gestion des réseaux d’entreprise ainsi que pour les particuliers. Toujours plus nombreux à se connecter à Internet. La transmission d’information sensible et le désire d’assurer la confidentialité de celles-ci est devenue un point primordial dans la mise en place des réseaux informatiques. Ce document a pour but de présenter globalement la manière dont les « Hackers » opèrent afin de pénétrer les systèmes informatiques en espérant qu’il aide à pallier à ce type de problème de plus en plus fréquent …
Création du réseau d'entreprise (LAN, DMZ, WAN) en configurant des différentes serveurs : web(apach), fichier(FNS, FTP, SAMBA), Annuaire, proxy-cach, ...
Meetup Drupal Lyon 2016 - Environnements de dév Drupal automatisés LXC et Ans...Aurelien Navarre
Ce n'est pas vraiment du Drupal mais ça peut servir à tous les drupalistes ! Pour le meetup Drupal Lyon de juillet 2016 j'ai voulu parler des containers mais surtout de l'orchestration. Que ce soit LXC, ou Docker peu importe en fait. Tout dépend de vos besoins. Mais pour l'orchestration, ma préférence va clairement à Ansible qui est facile d'apprentissage et si pratique au quotidien, que ce soit pour vos environnements de dév ou prod.
DrupalCamp Nantes 2016 - Migrer un site Drupal 6 ou Drupal 7 vers Drupal 8Aurelien Navarre
Retour d'expérience de la migration de la base de connaissance docs.acquia.com de Drupal 6 à Drupal 8 au DrupalCamp Nantes 2016. Les thèmes principaux abordés sont : comment auditer et préparer sa migration, comment utiliser les nouvelles commandes Drush à notre disposition pour facilement mettre en place les conditions d'une migration réussie et quelques astuces glanées par l'expérience acquise au cours de cette migration somme toute assez complexe.
- La sécurité informatique est de nos jours devenue un problème majeur dans la gestion des réseaux d’entreprise ainsi que pour les particuliers. Toujours plus nombreux à se connecter à Internet. La transmission d’information sensible et le désire d’assurer la confidentialité de celles-ci est devenue un point primordial dans la mise en place des réseaux informatiques. Ce document a pour but de présenter globalement la manière dont les « Hackers » opèrent afin de pénétrer les systèmes informatiques en espérant qu’il aide à pallier à ce type de problème de plus en plus fréquent …
préparation à la certification LPIC2 version 3.5 en français
Chapitre 8 : Topic 208 : Services Web
Configuration de Apache2 et Squid
Partie 3 : sécurisation d'un serveur web avec ssl
Topic 208.2 partie 2
Mise en place de l'https sur Apache2 via mod_ssl et openssl.
Supports créés par Noël Macé sous Licence Creative Commons BY-NC-SA.
préparation à la certification LPIC2 version 3.5 en français
Chapitre : Topic 210 : Gestion des clients réseau
Configuration des serveurs DHCP, de l'authentification PAM et du client LDAP
Partie 1 : authentification PAM
Topic 210.2
Fichiers, termes et utilitaires de configuration de PAM
Présentation des modules pam_unix, pam_cracklib, pam_limits et pam_listfile
Supports créés par Noël Macé sous Licence Creative Commons BY-NC-SA.
ASFWS 2012 - Les utilités d’un pare-feu applicatif Web (WAF) par Jonathan MarcilCyber Security Alliance
Vous hébergez des applications Web et votre défense se limite à un coupe-feu réseau. Cependant, une grande partie des attaques sont menées directement via le protocole HTTP et l’utilisation d’un coupe-feu traditionnel s’avère inutile.
Le coupe-feu applicatif Web (Web Application Firewall, WAF) se veut une solution à cette problématique. La présentation, basée sur mon expérience des dernières années, fait le point sur les diverses utilités de cette technologie :
Les choix d’implémentations. Les diverses modes de fonctionnements. L’importance et le choix des types de règles à implémenter. Rapports et collection des alertes. Méthodologie de développement de règles. Bonus: Contournement de règles et exceptions.
Le logiciel Open Source ModSecurity sera utilisé comme exemple ainsi que les règles OWASP CRS. D’autres règles conçues pour la présentation seront aussi présentées dans le but de démontrer une utilisation sur mesure du WAF.
Les principales failles de sécurité des applications Web actuellesXavier Kress
Les principales failles de sécurité des applications Web actuelles telles que recensées par l'OWASP. Principes, parades et bonnes pratiques de développement.
Ce document, élaboré dans le cadre d'une présentation faite au CNAM, traite de l’importance de la sécurité applicative (les applications Web sont devenues omniprésentes, objectifs et conséquences d’une attaque, les hackers et les kits d’attaque, l'OWASP et les kits de défense), des principales failles de sécurité applicatives (principe et exemples de fonctionnement, objectifs / conséquences, parades) et des bonnes pratiques permettant de sécuriser un parc applicatif (sensibiliser les développeurs, effectuer des tests d’intrusion et de la revue de code, intégrer la sécurité dans la gestion de projets)
This document describes the functions, specifications, and configurations of the components in the BTS3900C cabinet as well as cable types, cable connections, and connector
specifications.
This document serves as a reference for the BTS3900C site planning and deployment.
Alphorm.com Formation Apache - Le Guide Complet de l'administrateurAlphorm
Formation complète ici:
http://www.alphorm.com/tutoriel/formation-en-ligne-apache-le-guide-complet-de-ladministrateur
Cette formation a pour but de vous présenter une version d’apache, et de différents modules.
Sans forcément rentré dans les détails de chaque module nous allons voir un ensemble de points de configuration.
Alphorm.com Support de la Formation PHP MySQLAlphorm
Formation complète ici :
http://www.alphorm.com/tutoriel/formation-en-ligne-php-mysql
Le PHP est devenu une véritable langue de programmation, avec une style similaire du C et du C++, le PHP est très puissante pour les applications sur Internet.
PHP est le langage de référence pour le développement d'applications web, de même qu'Apache équipe la grande majorité des serveurs HTTP et que MySQL est la plus utilisée des bases de données SQL Open Source. C'est ainsi que la plate-forme appelée LAMP s'est imposée comme l'architecture la plus courante pour publier sur le web.
Pour qui possède (ou loue) un ordinateur avec Ubuntu, Debian, OS X, ou tout autre distribution dérivée d'Unix, l'effort technique pour créer son propre serveur web et le lier avec un nom de domaine est très abordable (au moins au début). Il est ainsi possible de s'écarter des hébergements uniformes. Pour cela, vous verrez tout au long de cette formation PHP MySQL quels sont les outils système (peu nombreux) que vous devez connaître pour installer Apache et les autres composants.
Vous aborderez pendant cette formation PHP MySQL pas à pas toutes les bases algorithmiques de PHP, les types de données, les fonctions, les structures de contrôle, ainsi que les spécificités liées au web : le traitement des formulaires, la gestion des cookies, des sessions, etc.
Vous apprendrez avec cette formation PHP MySQL les premiers jalons des bonnes pratiques de la programmation, en évoquant les outils de tests automatiques (développés plus tard), la documentation du code, ou l'esquisse d'une organisation du code, comprendre les bases de données relationnelles et la notion de modèle. Vous vous servirez de l'algèbre relationnelle pour fouiller dans les données et vous mettrez en œuvre les opérations fondamentales résumées sous l'acronyme CRUD : Create, Read, Update, Delete.
Au fil de cette formation PHP MySQL, nous commencerons à réfléchir à une application-jouet qui sera un mini-Trello, à savoir une application en ligne permettant de gérer des listes de tâches, qui pourrait être tout aussi bien un outil pour prendre des décisions.
A l’issue de cette formation PHP MySQL, vous aurez tous les outils pour héberger et développer vous -mêmes vos applications en PHP et partir vers d'autres horizons.
Intellicore Tech Talk 10 - Apache Web Server InternalsNeil Armstrong
Sujet : Apache Web Server Internals
Description : Le Serveur Web Apache est devenu le logiciel le plus utilisé au mondepour servir les pages internet et intranet. Son utilisation très variée, du petit site familial au site d’entreprise avec systèmes de balance de charge et architecture objet, fait que sa structure est peu connue ainsi que ses différentes configurations.
Conférenciers : Neil Armstrong, élève ingénieur chez Neotion et futur ingénieur Polytech’Nice-Sophia, spécialisé en Logiciels Embarqués et technologies Open-Source.
Date : 10 juin 2008
Lieu : Amphithéâtre Edison, CICA, Sophia Antipolis, FRANCE
Plus d'articles sur www.easyopenerp.com
Vous pouvez téléchargement gratuitement notre machine virtuelle pour vos tests à cette adresse : http://www.easyopenerp.com/machine-de-test-6-1-rc1-a-telecharger/
Cet article explique pas à pas comment installer OpenERP 6.1 rc1 sur une machine virtuelle VMWare ou un serveur physique. Différents aspects sont abordés : préparation du serveur, installation et configuration du client web, sécurisation du client web à l'aide d'un proxy Apache, sécurisation du serveur
Optimiser Wordpress : présentation préparée pour le Wordpressday Algérie en décembre 2011 par Jean-François VIAL
La video du screencast : http://vimeo.com/33115346
Licence : CC-By-SA
PHP jouit parfois d'une mauvaise réputation au niveau des performances. Nous verrons si cette réputation est méritée, si les performances sont réellement un problème pour utiliser PHP.
PHP a une architecture qui lui permet de monter en charge sans mettre en place des solutions complexes. Entre l'installation, la configuration et les possibilités au niveau applicatif, cette session vous permettra de répondre efficacement à la problématique des performances.
préparation à la certification LPIC2 version 3.5 en français
Chapitre : Topic 209 : Partage de fichiers
Configuration de Samba et NFS
Partie 1 : configuration du serveur NFS
Topic 209.2
Installation, configuration et gestion du serveur et du client NFS sous GNU/Linux.
Supports créés par Noël Macé sous Licence Creative Commons BY-NC-SA.
Gestion des dépendances dans un projet PHP - Forum PHP 2012Jean-Marc Fontaine
Que ce soit un framework, des modules ou des libraires spécialisées, la plupart des application web modernes utilisent du code tiers. Ce code a son propre cycle de développement. Il faut donc pouvoir intégrer régulièrement les nouvelles versions sans pour autant perdre la maîtrise de son propre cycle. La tâche n'est pas aisée si elle n'a pas été été prévue dès la conception de l'application. Nous verrons différentes approches pour gérer les dépendances dont les gestionnaires de paquet du système d'exploitation, les liens externes dans les dépôts de code, les fichiers PHAR, l'installateur PEAR et le tout récent Composer.
Apache est le serveur Web le plus utilisé sur la planète. Né en 1995, Apache HTTPD est aujourd'hui massivement utilisé pour supporter des applications PHP.
Cependant, peu de développeurs connaissent vraiment cette machine aussi complexe que robuste qui supporte leur langage fétiche : PHP.
Il n'est pas rare de voir des codes PHP exécutant des actions qu'Apache sait gérer en une seule ligne, de manière beaucoup plus efficace.
Nous parlerons donc généralités, HTTP, Cache, Proxing et nous passerons en revue les différentes manière de coupler Apache à PHP (mod_php, CGI et FCGI, mais aussi mpm_peruser, mpm_itk, suexec, suphp).
Présentation effectuée au Meetup 24 Programmez (5 Avril 2022) par Christophe Villeneuve sur "Infrastructure as code Drupal".
Cette présentation aborde les rappels de l'IaC (infrastructure as code), comment l'utilisé avec le CMS Drupal et déployé automatiquement le contenu et les évolutions dans l'IaC.
préparation à la certification LPIC2 version 3.5 en français
Chapitre : Topic 210 : Gestion des clients réseau
Configuration des serveurs DHCP, de l'authentification PAM et du client LDAP
Partie 1 : configuration DHCP
Topic 210.1
Installation, configuration et gestion du serveur et ISC DHCP ainsi que du relais ISC DHCP Relay sous GNU/Linux.
Supports créés par Noël Macé sous Licence Creative Commons BY-NC-SA.
Similaire à 08 01 mise en place d'un serveur web (20)
1. Linux LPIC2 noelmace.com
Noël Macé
Formateur et Consultant indépendant expert Unix et FOSS
http://www.noelmace.com
Mise en place d'un serveur web
Services web
Licence Creative Commons
Ce(tte) œuvre est mise à disposition selon les termes de la
Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 3.0 France.
2. Linux LPIC2 noelmace.com
Plan
• Introduction
Apache
MPM : prefork ou worker ?
Virtual Hosts
• Configuration
httpd.conf : exemple
Options du serveur Apache
Contrôle des répertoires
Logging
• Modularité
Chargement d'un module Apache
mod_perl
• Installer mod_perl
PHP
Authentification et autorisation
• Mise en place
• Gestion des comptes
utilisateur
• Protection d'un dossier
par DAC
• Protection d'un dossier
par MAC
• apache2ctl
• Bonus : les outils Debian
3. Linux LPIC2 noelmace.com
Introduction
• Un des services primordiaux d'Internet
certainement le plus connu du grand public
beaucoup confondant World Wide Web et Internet
• HTTP
HyperText Transfer Protocol
Permettre aux utilisateurs d’accéder à des données (pages web)
sur un serveur
• via un client web (ex : Firefox)
4. Linux LPIC2 noelmace.com
Apache
• Né en avril 1995
ensemble de correctifs à NCSA HTTPd (du domaine publique)
• leader de l'époque (plus de 55 % de parts de marché)
• "mort" (0%) en juillet 1999
• Totalement réécrit en 2000 pour la version 2
plus aucune trace de NCSA HTTPd
• Libre (Licence Apache)
v2.0 (compatible GPL v3) depuis Janvier 2004
• Multi-plateforme
GNU/Linux, Mac OS X, BSD, Solaris, Windows
• LE serveur web de référence depuis avril 1996
54 % de parts de marché sur les sites actifs en avril
2013 selon netcraft.com
• contre 13 % pour Nginx, plus léger et performant, qui
connaît une progression certaine depuis 2007
• 12 % pour Microsoft-IIS et 8 % pour Google Servers
LAMP : Linux, Apache, MySQL, PHP
5. Linux LPIC2 noelmace.com
MPM : prefork ou worker ?
• Multi-Processing Module
Moteur de serveur : interprète les requêtes
• "duplique" apache
afin de répondre à plusieurs requêtes simultanément
• 2 principaux paquets : apache2-mpm-prefork ou worker
• Worker
Multi-threading : un thread par connexion
Meilleures performances
• pas ou peu de commutation de contexte
nécessite des modules compatibles
• exclue mod_php
• Prefork
Mode historique (apache 1.3)
multi-processing : un processus par
connexion
Meilleure isolation / Faibles performances
6. Linux LPIC2 noelmace.com
Virtual Hosts
• Héberger plusieurs sites sur un même serveur
• Deux types :
IP based
• Nécessite plusieurs interfaces (ou routage)
Named based
• Répond en fonction de l'url appelée
• Configurés dans httpd.conf
ou /etc/apache2/sites-available/ sur Debian et dérivés
cf cours suivant
7. Linux LPIC2 noelmace.com
Configuration
• Dans (suivant la distribution) :
/etc/apache/config/
ou /etc/apache2/
ou /etc/httpd/config/
• httpd.conf (ou apache2.conf)
fichier de configuration principal
• soit séparé en plusieurs parties (cf "Include")
• soit d'un bloc
• s'applique à tout le serveur
3 parties :
• global environment
- configuration générale du serveur
• paramètres du serveur par défaut
- requêtes non gérées par un virtual host
• configuration des virtuals hosts
• fichiers .htaccess
permettent une configuration spécifique pour chaque
dossier
à utiliser avec prudence
• uniquement si vous devez séparer la configuration
de certains contextes du fichier principal
- ie : interdire le droit d'accès à httpd.conf à certains
administrateurs
« En général, vous ne devriez jamais utiliser les
fichiers .htaccess à moins que vous n'ayez pas accès
au fichier principal de configuration du serveur. Il y a,
par exemple, une conception erronée qui prévaut
selon laquelle les droits des utilisateurs doivent
toujours être gérés dans le fichier .htaccess. Cela
n'est simplement pas le cas. Vous pouvez placer les
configurations des droits dans la configuration
principale du serveur, et cela est, en fait, la manière
favorisée de le faire. » - Documentation Apache
9. Linux LPIC2 noelmace.com
Options du serveur Apache
• Première section du fichier httpd.conf
nombreuses options de type clé valeur
• Nombre maximum de requêtes simultanées autorisées
• Nombre de serveurs à lancer au démarrage
• Nombre minimal et maximal de serveurs "en attente"
trop bas → perte de performance / trop haut → consommation excessive de ressources
• nombre maximal de connections (de clients) simultanées
ie : nombre maximal de serveurs
MaxKeepAliveRequests 100MaxKeepAliveRequests 100
StartServers 5StartServers 5
MaxKeepAliveRequests 100MaxKeepAliveRequests 100
MinSpareServers 5
MaxSpareServers 10
MinSpareServers 5
MaxSpareServers 10
10. Linux LPIC2 noelmace.com
Contrôle des répertoires
• Regrouper des directives pour qu'elles ne s'appliquent qu'au
répertoire concerné
• Exemple
voir : https://httpd.apache.org/docs/current/mod/core.html#directory
<Directory chemin répertoire> ... </Directory><Directory chemin répertoire> ... </Directory>
<Directory "/usr/local/httpd/htdocs">
Options Indexes FollowSymLinks
</Directory>
<Directory "/usr/local/httpd/htdocs">
Options Indexes FollowSymLinks
</Directory>
11. Linux LPIC2 noelmace.com
Logging
• généralement dans /var/log/apache2 ou httpd
• Configuration (httpd.conf)
Messages d'erreurs
Niveau de logging des messages d'erreurs
• Dans l'odre : debug, info, notice, warn, error, crit, alert et emerg
• Accès au serveur
• Pour aller plus loin : Documentation Apache des Logs
ErrorLog ${APACHE_LOG_DIR}/error.logErrorLog ${APACHE_LOG_DIR}/error.log
Loglevel warnLoglevel warn
LogFormat "%h %l %u %t "%r" %>s %b" common
CustomLog ${APACHE_LOG_DIR}/access.log
LogFormat "%h %l %u %t "%r" %>s %b" common
CustomLog ${APACHE_LOG_DIR}/access.log
12. Linux LPIC2 noelmace.com
Modularité
• Apache repose sur une architecture modulaire
similaire à celle du kernel Linux
permet à l'administrateur de choisir les fonctionnalités à inclure
• DSOs (Dynamic Shared Objects)
Objets Dynamiques Partagés
séparés du fichier binaire principal httpd
soit compilés en même temps que le serveur
• peuvent être intégrés statiquement dans le binaire httpd
soit ajoutés ultérieurement
• grâce à apxs (Apache Extension Tool)
•
$ cd /chemin/vers/module_tiers
$ apxs -cia mod_foo.c
$ cd /chemin/vers/module_tiers
$ apxs -cia mod_foo.c
$ ./configure --prefix=/chemin/vers/installation --enable-foo
$ make install
$ ./configure --prefix=/chemin/vers/installation --enable-foo
$ make install
13. Linux LPIC2 noelmace.com
Chargement d'un module Apache
• Dans le fichier httpd.conf
• Remarque (pour ceux ayant travaillé sous Apache1) :
la directive AddModule n'est plus nécessaire
• Exemple
•
• Comportement conditionnel pour un module
LoadModule module filenameLoadModule module filename
LoadModule alias_module /usr/lib/apache2/modules/mod_alias.soLoadModule alias_module /usr/lib/apache2/modules/mod_alias.so
<IfModule [!]fichier module|identificateur module>
…
</IfModule>
<IfModule [!]fichier module|identificateur module>
…
</IfModule>
14. Linux LPIC2 noelmace.com
mod_perl
• Interpréteur Perl pour Apache
permet, grâce à des scripts Perl, de :
• produire du contenu dynamique
• gérer Apache
• et bien d'autres choses encore
sans faire appel à un interpréteur externe
• gain de performance significatif
• accès complet à l'API Apache
• "mod_perl is more than CGI scripting on steroids. It is a whole new way to create dynamic
content by utilizing the full power of the Apache web server to create stateful sessions,
customized user authentication systems, smart proxies and much more. Yet, magically, your
old CGI scripts will continue to work and work very fast indeed. With mod_perl you give up
nothing and gain so much!" - Lincoln Stein, un des principaux contributeurs de mod_perl
15. Linux LPIC2 noelmace.com
Installer mod_perl
• Sous Debian :
• Sous CentOS :
• Pour aller plus loin :
installation : https://perl.apache.org/docs/2.0/user/install/install.html
configuration : https://perl.apache.org/docs/2.0/user/config/config.html
# apt-get install libapache2-mod-perl2# apt-get install libapache2-mod-perl2
# yum install mod_perl# yum install mod_perl
16. Linux LPIC2 noelmace.com
PHP
• Langage de script, coté serveur, orienté Web et multi-plateforme
une référence (cf LAMP)
• Pour tester l'installation, créer une PHP info page
• Pour aller plus loin : documentation complète de l'installation
# apt-get install libapache2-mod-php5# apt-get install libapache2-mod-php5
# yum install php# yum install php
# echo -e "<?phpntphpinfo();n?>" > /var/www/html/info.php# echo -e "<?phpntphpinfo();n?>" > /var/www/html/info.php
17. Linux LPIC2 noelmace.com
Authentification et autorisation
• Deux méthodes :
discretionary access control (DAC) - Contrôle d'accès discrétionnaire
• où "un sujet avec une certaine autorisation d'accès est capable de transmettre cette permission (peut-être indirectement) à n'importe quel
autre sujet" - Trusted Computer System Evaluation Criteria
• ici : login + mot de passe
mandatory access controls (MAC) - Contrôle d'accès obligatoire
• décisions de protections imposées (non prises par les objets concernés)
• ici : Adresse IP, nom d'hôte, etc …
• Géré par des modules
mod_auth_basic : le plus courant - stock les informations dans des fichiers texte
• mod_auth_dbd : stockage dans une base SQL
• mod_auth_dbm : stockage dans des fichiers sous un format DBM
• mod_auth_digest : authentification basée sur les condensés MD5
mod_auth_anon : comportement similaire à un FTP anonymisé
mod_authz_host : restriction de l'accès en fonction du nom d'hôte ou de l'ip (depuis 2.3)
• pour les versions précédentes, voir mod_access
• Pour aller plus loin : https://httpd.apache.org/docs/current/howto/auth.html
18. Linux LPIC2 noelmace.com
Mise en place
• Soit dans httpd.conf (recommandé)
directives <Directory> ou <Limit>
• Soit dans des fichiers .htaccess
dans le répertoire à contrôler
non recommandé
• Pour autoriser la surcharge de ces directives
peu concerner les .htaccess, les sous-répertoires avec <Directory>, et
autres
AllowOverride AuthConfigAllowOverride AuthConfig
19. Linux LPIC2 noelmace.com
Gestion des comptes utilisateur
• Création d'un utilisateur
-c pour créer automatiquement le fichier si n'existe pas
le fichier ne DOIT pas être accessible aux autres utilisateurs
• et encore moins au web !
• Supprimer un utilisateur
• Créer un ou plusieurs groupes d'utilisateurs
Créer un fichier de groupe selon la syntaxe suivante
# htpasswd [-c] /usr/local/apache/passwd/passwords monutilisateur# htpasswd [-c] /usr/local/apache/passwd/passwords monutilisateur
# htpasswd -D /usr/local/apache/passwd/passwords monutilisateur# htpasswd -D /usr/local/apache/passwd/passwords monutilisateur
Nom-de-groupe: user1 user2 user3Nom-de-groupe: user1 user2 user3
20. Linux LPIC2 noelmace.com
Protection d'un dossier par DAC
• Dans une directive <Directory mondossier> ou un fichier .htaccess
dans le dossier
• Autoriser l'accès à tout les utilisateurs enregistrés
AuthType Basic
# message à afficher
AuthName "Restricted Files"
AuthBasicProvider file
AuthUserFile /usr/local/apache/passwd/passwords
AuthGroupFile /usr/local/apache/passwd/groups
Require user monutilisateur
Require group mongroupe
AuthType Basic
# message à afficher
AuthName "Restricted Files"
AuthBasicProvider file
AuthUserFile /usr/local/apache/passwd/passwords
AuthGroupFile /usr/local/apache/passwd/groups
Require user monutilisateur
Require group mongroupe
Require valid-userRequire valid-user
21. Linux LPIC2 noelmace.com
Protection d'un dossier par MAC
• adresse IP
sous-réseau
• ip partielle
• réseau / masque
Require ip 10.1.2.3
Require ip 192.168.1.104 192.168.1.205
Require ip 10.1.2.3
Require ip 192.168.1.104 192.168.1.205
Require ip 10.1
Require ip 10 172.20 192.168.2
Require ip 10.1
Require ip 10 172.20 192.168.2
Require localRequire local
Require ip 10.1.0.0/255.255.0.0
Require ip 10.1.0.0/16
Require ip 10.1.0.0/255.255.0.0
Require ip 10.1.0.0/16
Require host example.org
Require host .net example.edu
Require host example.org
Require host .net example.edu
• Hôte
Local
• Grâce au module mod_authz_host
• Dans une directive <Directory mondossier> ou un fichier .htaccess dans le dossier
22. Linux LPIC2 noelmace.com
apache2ctl
• Interface de contrôle du démon Apache
• Commandes
start
stop
restart
fullstatus : statut complet à partir de mod_status
• nécessite un navigateur web texte (comme Lynx)
• url d'accès modifiable (variable STATUSURL)
status : idem, sans la liste des requêtes actuellement traitées
graceful : redémarrage par l'envoi d'un SIGUSR1
• ne clos pas les connections actuellement ouvertes
configtest : teste de syntaxe des fichiers de configuration
help
# apache2ctl [commande] ...# apache2ctl [commande] ...
23. Linux LPIC2 noelmace.com
Bonus : les outils Debian
• activer / désactiver un site
créé / supprimer un lien symbolique de sites-availables/site dans sites-enables
• activer / désactiver un module
créé / supprimer un lien symbolique de sites-availables/site dans sites-enables
$ a2dismod [module]$ a2dismod [module]
$ a2enmod [module]$ a2enmod [module]
$ a2ensite [site]$ a2ensite [site]
$ a2dissite [site]$ a2dissite [site]
24. Linux LPIC2 noelmace.com
Ce qu’on a couvert
• Installation et configuration de Apache2
httpd.conf et .htaccess
fichiers journaux
nombre maximum de requêtes, nombres minimums et maximums de serveurs et de clients
• Gestion des modules
mod_perl
mod_php
mod_auth
• htpasswd
• Apache2ctl
Weight : 3
Description : Candidates should be able to install and configure a web server. This objective includes
monitoring the server's load and performance, restricting client user access, configuring support for
scripting languages as modules and setting up client user authentication. Also included is configuring
server options to restrict usage of resources.
208.1 Implementing a web server
25. Linux LPIC2 noelmace.com
Licence
Ce(tte) œuvre (y compris ses illustrations, sauf mention explicite) est mise à disposition selon les termes de la
Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 3.0 France.
Pour voir une copie de cette licence, visitez http://creativecommons.org/licenses/by-nc-sa/3.0/fr/ ou écrivez à :
Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA.
Vous êtes libre de :
partager — reproduire, distribuer et communiquer cette œuvre
remixer — adapter l’œuvre
Selon les conditions suivantes :
Attribution — Vous devez clairement indiquer que ce document, ou tout document dérivé de celui, est (issu de) l’œuvre
originale de Noël Macé (noelmace.com) (sans suggérer qu'il vous approuve, vous ou votre utilisation de l’œuvre, à moins
d'en demander expressément la permission).
Pas d’Utilisation Commerciale — Vous n’avez pas le droit d’utiliser cette œuvre à des fins commerciales (ie. l'intention
première ou l'objectif d'obtenir un avantage commercial ou une compensation financière privée). Pour obtenir ce droit, une
autorisation explicite de l'auteur est requise.
Partage dans les Mêmes Conditions — Si vous modifiez, transformez ou adaptez cette œuvre, vous n’avez le droit de
distribuer votre création que sous une licence identique ou similaire à celle-ci.
Pour toute demande de collaboration, d'utilisation commerciale ou de publication de ce support ou d'un dérivé de celui-ci sous une
licence incompatible, contacter l'auteur via les contacts indiqués sur le site http://www.noelmace.com. Vous êtes par ailleurs
vivement encouragé (sans obligation légale) à communiquer avec celui-ci si vous réalisez une œuvre dérivée ou toute amélioration
de ce support.