TARDITI Richard TSIO1 Mise en place d un serveur Apache Dans le cadre d un travail dirigé j ai mis en place un serveur Apache avec des hôtes virtuels et un certificat, sous une machine virtuelle Linux. 1
Sommaire Partie DNS :... 3 I) Installation de bind9... 3 II) Modification du fichier «named.conf.local»... 3 III) Modification du fichier «resolv.conf»... 3 IV) Création d un fichier de zones... 3 V) Création d un fichier de reverse DNS... 4 VI) Redémarrer le serveur DNS... 4 Partie APACHE :... 5 I) Installation LAMP... 5 II) SSL... 5 III) Hôtes virtuels... 6 2
Partie DNS : I) Installation de bind9 Tout d abord installez bind9 en tapant la commande «apt-get install bind9» II) Modification du fichier «named.conf.local» Allez dans le répertoire «/etc/bind» et modifiez le fichier «named.conf.local» avec la commande «nano named.conf.local» et ajoutez : Zone «pod1.infogest.local» { type master ; file «/etc/bind/zones/db.pod1.infogest.local» ; } ; III) Modification du fichier «resolv.conf» Allez dans le répertoire «/etc» et modifiez le fichier «resolv.conf» avec la commande «nano resolv.conf» et ajoutez : Nameserver «X.X.X.X» (Remplacez les «X» par votre @ IP) IV) Création d un fichier de zones Allez dans le répertoire «/etc/bind» et créer le dossier zones en entrant la commande «mkdir zones». Cette commande indique vers quels serveurs pointent votre domaine et ses sousdomaines. Allez dans le répertoire «/etc/bind/zones» et créez votre fichier de zones afin de répertorier les adresses et machines que devra utiliser votre serveur DNS. Tapez la commande «nano db.pod1.infogest.local» et ajoutez dans le fichier 3
pod1.infogest.local. IN SOA dns.pod1.infogest.local. admin.pod1.infogest.local. ( 2006081401 28800 3600 604800 38400 ) pod1.infogest.local. IN NS dns.pod1.infogest.local. richard IN A X.X.X.X V) Création d un fichier de reverse DNS Toujours dans le répertoire «/etc/bind/zones» entrez la commande «nano rev.x.x.inaddr.arpa» pour créez le fichier reverse et ajoutez : @ IN SOA pod1.infogest.local. admin.pod1.infogest.local. ( 2006081401; 28800; 604800; 604800; 86400); IN NS dns.pod1.infogest.local. X.X //ici doit figurer les deux derniers numéros de l adresse IP de votre serveur DNS IN PTR pod1.infogest.local. VI) Redémarrer le serveur DNS Enfin redémarrer le serveur pour que toutes les modifications soient prises en compte, en tapant la commande «/etc/init.d/bind9 restart» : Si tout va bien vous devez obtenir : Allez sur le navigateur et entrez dans la barre URL «richard.pod1.infogest.local» 4
Partie APACHE : I) Installation LAMP Nous allons installer Apache, Mysql et Php, pour cela commencez par entrer les commandes suivantes : «apt-get install apache2 php5 libapache2-mod-php5» Si vous voulez utiliser une méthode d authentification externe comme IMAP, LDAP ou un serveur CAS, installez les packages suivants : «apt-get install php5-imap php5-ldap php5-curl» Nous allons à present installer le serveur php, pour cela entrez la commande suivante : «apt-get install mysql-server5.5 php5-mysql» Une fois tout installé, redémarrez vos serveurs Apache et MySQL avec les commandes suivantes : «/etc/init.d/apache2 restart» «/etc/init.d/mysql restart» II) SSL Nous allons mètre en place SSL sur le serveur apache, dans un premier temps nous allons installer le paquet «Openssl» pour cela entrez la commande suivante : «apt-get install openssl» Que ce soit un certificat auto-signé ou un certificat signé par une autorité de certification, il faut que vous créiez une clé privée pour cela entrez la commande suivante : «openssl genrsa des3 out server.key 1024» La clé RSA de 1024 bits est donc créée et le système vous demande uns passphrase afin de protéger cette clé. Ensuite, il nous faut créer la requête de signature (CSR), il suffit de taper cette commande : 5
«openssl req new key server.key out server.csr» Tapez la passphrase de la clé privée et ensuite plusieurs choses vous seront demandées, cela représente les attributs X.509 du certificate. A présent nous allons créer un certificat auto-signé pour cela entrez la commande suivante : «openssl x509 req in server.csr signkey server.key out server.crt» X509: la signature d un certificate passé par les attributes x.509 d une clé RSA -req : nous faisons ici une requête -in server.csr : nous soumettons le CSR pour signature -signkey server.key : spécifie quelle clé RSA doit être utilisée pour la signature -out server.crt : spécifie le fichier de sortie Enfin activez le module SSL avec la commande suivante : «a2enmod ssl» III) Hôtes virtuels Apache peut héberger un nombre illimité de sites web à la fois. Cette technique d'hébergement virtuel est possible gràce à l'installation de ce qu'on appelle des virtual hosts dans votre serveur Apache. Au niveau le plus basique, seuls deux répertoires doivent être utilisés pour installer des virtual hosts : «/etc/apache2/sites-available/» et «/etc/apache2/sites-enabled/». Pour créer un hôte virtuel allez dans le répertoire «/etc/apache2/sites-available/» vous trouverez un fichier «default» et «default-ssl», copiez les : «cp default richard» «cp default-ssl richard-ssl» Maintenant nous allons configure ces deux fichiers : 6
Dans ce fichier ajoutez la ligne «ServerName richard.pod1.infogest.local» qui sera l adresse par laquelle on accèdera à votre site, «DocumentRoot /var/www/richard/» et «<Directory /var/www/richard/> qui est le répertoire dans lequel votre site sera stocké. N oubliez pas de modifiez les «AllowOverride None» en «AllowOverride All». 7
Faîtes de même que précédemment et allez à la deuxième page et indiquez les répertoires ou sont stocké votre «server.crt» et «server.key». Maintenant nous allons créer votre site dans le répertoire «/var/www /» : Créez un répertoire par site web que vous voulez créer, ici nous aurons un site pour deux mode d accès (normal et sécurisé), entrez dans le répertoire : Ici j ai créé deux fichiers et deux répertoires : -Index.html : c est le fichier qui affichera la première page lors de la connexion au site. 8
-test.php : c est le fichier test pour vérifier si le service php est bien installé. -pod1 : c est le dossier dans lequel est répertorié le site de chaque membre du pod1. -photoprivee : c est le dossier dans lequel sera stocké les fichiers «.htaccess» et «.htpasswd». 9
Maintenant nous allons activer le site pour cela allez dans le répertoire «/etc/apache2/sitesavailable/» et entrez la commande suivante : «a2ensite richard» «a2ensite richard-ssl» Voila notre site est donc accessible : 10
11