installer_un_serveur_debian - Documentation Ubuntu Francophone Installation complète d'un serveur web sous Debian 6.0



Documents pareils
Installation d OwnCloud 8.0 sous Debian Avec connexion des utilisateurs active directory et mise en place de HTTPS

BTS SIO SISR3 TP 1-I Le service Web [1] Le service Web [1]

Projet de mise en œuvre d un serveur ftp sur serveur dédié

Serveur Linux : FTP. Mise en place d un service FTP sous Linux. Bouron Dimitri 20/04/2014

Tutoriel compte-rendu Mission 1

Le protocole FTP (File Transfert Protocol,

Installation d un hébergement Web à domicile

TP HTTP. Université Pierre Mendès France U.F.R. Sciences de l Homme et de la Société Master IC²A

Sauvegarde automatique des données de GEPI

Procédure d'installation

TP Service HTTP Serveur Apache Linux Debian

Installation du serveur WEB Apache ( MySQL, PHP) sous Debian 7.

REPARTITION DE CHARGE LINUX

BTS SIO Dossier BTS. PURCHLA Romain

Installation d'un serveur sftp avec connexion par login et clé rsa.

BIND : installer un serveur DNS

Installer un serveur web de développement avec VirtualBox

Ocs Inventory et GLPI s appuie sur un serveur LAMP. Je vais donc commencer par installer les paquets nécessaires.

Linux et le Shell. Francois BAYART. Atelier du samedi 20 Novembre

Préparation d un serveur Apache pour Zend Framework

Installation GLPI-OCSNG-SSL Linux Debian Sarge

Maintenance et gestion approfondie des Systèmes d exploitation Master 2 SILI. Année universitaire David Genest

Les différentes méthodes pour se connecter

Serveur de partage de documents. Étude et proposition d'une solution afin de mettre en place un serveur de partage de documents.

Note : Ce tutoriel a été réalisé sur GNU/Linux (Ubuntu) avec un serveur LAMP installé en local.

Réaliser un inventaire Documentation utilisateur

GUIDE D INSTALLATION. Portaneo Enterprise Portal version 4.0

Windows sur Kimsufi avec ESXi

Maintenir Debian GNU/Linux à jour

Installation UpdatEngine serveur (CentOs apache2 / MySQL)

Déploiement d OCS 1.02 RC2 sous Debian Etch 64

Table des matières Hakim Benameurlaine 1

Installer un gestionnaire de parc GLPI sous Linux

MANUEL D INSTALLATION D UN PROXY

- FICHE DE PROCEDURE - Configurer un serveur DNS avec Bind9 sur Debian

Il est possible d associer ces noms aux langages numérique grâce à un système nommé DNS(Domain Name System)

Les serveurs WEBUne introduction

Installation des outils OCS et GLPI

SERVEUR HTTP Administration d apache

Serveur Subversion Debian GNU/Linux

Bind, le serveur de noms sous Linux

INSTALLATION APACHE POUR WINDOWS (XP OU 2000)

DOCUMENTATION ADMINISTRATEUR

OCS Inventory & GLPI

Tuto 2 : Configuration Virtual box, Configuration et installation du serveur XiBO

Raspberry pi : Développer une petite application web sur Raspberry

Afin d'éviter un message d'erreur au démarrage du service Apache du type :

WEBMESTRE : CONCEPTION DE SITES ET ADMINISTRATION DE SERVEURS WEB

SERVEUR DE MESSAGERIE

titre : CENTOS_BIND_install&config Système : CentOS 5.7 Technologie : Bind 9.3 Auteur : Charles-Alban BENEZECH

Faire fonctionner symfony sous wamp et windows avec des vhost. Installation de wamp

Mise en place d'un serveur FTP avec vsftpd / pureftpd sous netbsd 3.1. Compte-rendu

[ GLPI et OCS pour Gentoo 2006] ArtisanMicro. Alexandre BALMES

Bon ben voilà c est fait!

Module 7 : Configuration du serveur WEB Apache

TP réseaux 4 : Installation et configuration d'un serveur Web Apache

CDS Invenio Installation et configuration de base

PPe jaune. Domingues Almeida Nicolas Collin Leo Ferdioui Lamia Sannier Vincent [PPE PROJET FTP]

CASE-LINUX MAIL - ROUNDCUBE

Hébergement WeboCube. Un système performant et sécurisé. Hébergement géré par une équipe de techniciens

Installation et configuration de Vulture Lundi 2 février 2009

GUIDE D INSTALLATION DE L APPLICATION GECOL SUR

Serveur Web Apache - SSL - PHP Debian GNU/Linux

Hébergement de site web Damien Nouvel

Pratique et administration des systèmes

Domain Name System. F. Nolot

Administration Linux - FTP

Installation du DNS (Bind9)

Tutoriel réalisé par luo. Version du 22/02/14

L installation du module Webmail nécessite également quelques prérequis, à savoir :

INSTALLATION NG V2.1 D OCS INVENTORY. Procédure d utilisation. Auteur : GALLEGO Cédric 23/10/2014 N version : v1

GLPI OCS Inventory. 1. Prérequis Installer un serveur LAMP : apt-get install apache2 php5 libapache2-mod-php5 apt-get install mysql-server php5-mysql

Service WEB, BDD MySQL, PHP et réplication Heartbeat. Conditions requises : Dans ce TP, il est nécessaire d'avoir une machine Debian sous ProxMox

Table des matières Hakim Benameurlaine 1

SECURIDAY 2012 Pro Edition

L installation a quelque peu changée depuis les derniers tutos, voici une actualisation.

Dans l'épisode précédent

PPE Installation d un serveur FTP

Installation 1K-Serveur

NOTE: Pour une meilleure sécurisation, nous vous recommandons de faire l installation des outils web à l intérieur d un serveur virtuel.

Installation d' OCS inventory et de GLPI

Déploiement d'un serveur ENT

Louer et utiliser un Hébergement Mutualisé OVH (Version 1.0)

Installation Serveur DNS Bind9 Ubuntu LTS

Microsoft Hosted Exchange 2010 DOCUMENT D EXPLOITATION

LOSLIER Mathieu. Filière Informatique et Réseau 1 ère année. TP DNS. Responsable : LOHIER Stephane. Chargé de TD : QUIDELLEUR Aurélie

Serveur de messagerie sous Debian 5.0

Création d'un site dynamique en PHP avec Dreamweaver et MySQL

ISPConfig Documentation

Installation de la plate-forme Liberacces 2.0 «Intégrale» avec LiberInstall

Installation d un serveur HTTP (Hypertext Transfer Protocol) sous Débian 6

PPE GESTION PARC INFORMATIQUE

Différentes installations sur un serveur Windows 2000 ou 2003.

FORMATION PcVue. Mise en œuvre de WEBVUE. Journées de formation au logiciel de supervision PcVue 8.1. Lieu : Lycée Pablo Neruda Saint Martin d hères

FTP-SSH-RSYNC-SCREEN au plus simple

Tutoriel Création d une source Cydia et compilation des packages sous Linux

Transcription:

Page 1 sur 17 Contenu Rechercher Menus Ubuntu-fr Communauté francophone d'utilisateurs d'ubuntu Recherche : Recherche rapide... Chercher dans : Documentation ok Identifiant : Identifiant Mot de passe : connexion / inscription Installation de Debian Se connecter en root Mettre à jour le serveur Installer le serveur SSH Installation des paquets Installation d'apache 2 Installation de PHP 5 Installation de la base de données MySQL Installation du FTP (VSFTPD) Configuration d'apache 2 Introduction Pré-requis Activer le module userdir Activer PHP pour userdir Installation des virtualhosts En savoir plus Configuration de VSFTPD en mode "utilisateur virtuel" Introduction Préparation La base de données Modification de vsftpd.conf Paramétrer les utilisateurs Redémarrage et test Ajouter un utilisateur FTP Configuration des noms de domaines Méthode 1 : Utilisez votre registrar Méthode 2 : Utilisez votre serveur comme serveur DNS avec Bind9 à recycler Installation complète d'un serveur web sous Debian 6.0 Installation de Debian Téléchargez la version de votre choix depuis la page : http://www.debian.org/distrib/netinst Gravez l'image ISO puis insérez le CD dans le lecteur de votre futur serveur. Il est conseillé d'utiliser l'installation graphique qui est plus simple d'utilisation. Quand l'installation vous le proposera, décochez les cases "Environnement graphique de bureau" et "Utilitaires standard du système", nous allons installer uniquement ce dont nous avons besoin. Sous Debian, root correspond à l'administrateur du serveur, il est le seul à pouvoir manipuler

Page 2 sur 17 celui-ci. Pensez donc à bien protéger son mot de passe. Pour commencer, on vérifie que le serveur est à jour : Mise à jour des dépôts On commence par mettre à jour la liste des fichiers disponibles dans les dépôts APT présents dans le fichier de configuration /etc/apt/sources.list. L'exécuter régulièrement est une bonne pratique, afin de maintenir à jour votre liste de paquets disponibles. # apt-get update Mise à jour des paquets L'option upgrade met à jour tous les paquets installés vers les dernières versions. # apt-get upgrade Pour en savoir plus sur apt-get : http://doc.ubuntu-fr.org/apt-get Le serveur SSH vous permet de vous connecter à votre serveur depuis n'importe qu'elle autre ordinateur, ce qui est très pratique pour administrer votre serveur à distance. # apt-get install openssh-server Répondez oui pour confirmer l'installation. Une fois celui-ci installé, vous pouvez administrer votre serveur à distance en utilisant le logiciel PuTTY (http://www.01net.com/telecharger/windows/internet/serveur_ftp/fiches/20166.html) et l'adresse IP de votre serveur. Changer le port du serveur SSH Si le serveur SSH vous permet de vous connecter à votre serveur n'importe où, il permet également à n'importe qui de le faire s'il trouve votre mot de passe. Par défaut le port SSH est 22. Pour compliquer la tâche du pirate, nous pouvons changer celuici. Nous allons pour se faire, modifier le fichier /etc/ssh/sshd_config en utilisant Nano, un éditeur de texte version console (http://doc.ubuntu-fr.org/nano). # nano /etc/ssh/sshd_config Et on modifie la ligne : # What ports, IPs and protocols we listen for Port 22 Nous devons choisir un port qui ne sera pas utilisé par un autre programme.

Page 3 sur 17 Prenons par exemple le port 5943 : # What ports, IPs and protocols we listen for Port 5943 Faites CTRL+O pour enregistrer puis CTRL+X pour quitter Nano. Redémarrons le serveur SSH : # /etc/init.d/ssh reload Voilà! Maintenant pour vous connecter à votre serveur via SSH, vous devrez utiliser le port 5943. Par défaut root peut se logguer en SSH. Ceci représente un vrai danger, car avec une bruteforce attack on peut casser le mot de passe. Donc PermitRootLogin no. Pour autoriser un seul utilisateur. On fait un useradd Linus76 (avec un mot de passe genre "TnE15aJ") et on autorise celui-ci et lui seul à se connecter en SSH en ajoutant la ligne suivante à la fin du fichier : AllowUsers Linus76. Pour le moment, restons avec notre root, nous pourrons faire cette manipulation une fois le serveur configuré. Installation des paquets Il nous faut installer un serveur HTTP qui va s'occuper d'afficher nos différentes pages. Pour cela, je vous propose d'installer l'un des serveurs les plus utilisés et les plus connus : Apache. Nous installerons ici sa version 2. # apt-get install apache2 Pour vérifier que l'installation s'est bien effectuée, entrez l'adresse suivante dans votre navigateur http://ip_de_votre_serveur/ Vous devriez obtenir le résultat suivant : It works! This is the default web page for this server. The web server software is running but no content has been added, yet. Actuellement, notre serveur peut nous afficher des pages statiques au format HTML. La plupart des sites que vous voudrez installer disposeront d'une partie dynamique. C'est pourquoi nous poursuivons par l'installation de PHP 5 sur le serveur. # apt-get install php5 PHP est très très souvent couplé à un système de base de données : Mysql. Nous installons ici Mysql-server version 5. Vous verrez ci-après que nous allons également installer PHPMyAdmin.

Page 4 sur 17 Il s'agit d'un script PHP qui permet de gérer ses bases de données Mysql de facon très simple. # apt-get install mysql-server Définir le mot de passe root de Mysql («mysql» par exemple). On vérifie que Mysql fonctionne bien : # mysql -p entrer le mot de passe >Exit Installation des librairies php5-mysql : # apt-get install php5-mysql Installation de PHPMyAdmin : # apt-get install phpmyadmin L'installation nous demandera de choisir le serveur web à reconfigurer automatiquement, cochez la case apache2 (en utilisant la barre d'espace) puis validez. On crée un lien vers phpmyadmin # sudo ln -s /usr/share/phpmyadmin /var/www/phpmyadmin On vérifie que l'installation s'est correctement déroulée : http://ip_de_votre_serveur/phpmyadmin/ Le formulaire de connexion devrait s'afficher. Avoir un site disponible sur le net, c'est bien. Pouvoir y mettre des fichiers, c'est mieux ;). Et c'est le but de VSFTPD qui est un serveur FTP très sécurisé. # apt-get install vsftpd Configuration d'apache 2 Pour commencer, il faut installer un serveur web au sens premier. C'est lui qui va nous permettre d'interpréter nos pages HTML, PHP, etc. Apache 2 est le serveur http le plus utilisé sur les serveurs. Il dispose d'un bon niveau de sécurité et de beaucoup de documentations disponibles sur le net. D'autre part, il permet de gérer des sites virtuels. Et c'est de cette manière que nous allons le configurer. En effet, le but étant de disposer de plusieurs sites sur notre serveur, il nous faut pouvoir les contacter directement avec une URL propre. Notre serveur ne dispose évidemment pas d'une adresse IP pour chaque site installé. Ce serait beaucoup trop complexe du point de vue physique à mettre en place. Et surtout, avec le système d'ipv4 utilisé actuellement, c'est impensable. Pour la petite histoire, le système IPV4 utilise 4 nombres de 0 à 255 sous la forme. Cette série de nombres représente de manière unique chaque ordinateur connecté physiquement à Internet.

Page 5 sur 17 Certaines plages IP sont réservées pour des réseaux locaux (192.168.x.x ou 10.x.x.x par exemple). Mais ce souci va être prochainement résolu avec l'utilisation de l'ipv6 qui est en train de s'implémenter. Cette nouvelle notation permet de passer de 2puissance32 à 2puissance128 IP différentes. Ce qui permettra d'en attribuer plusieurs à un même serveur, dans le futur. Comme actuellement, c'est le protocole IPV4 qui est le plus utilisé, nous ne disposons en conséquence qu'une seule adresse IP pour 10 ou 100 sites à héberger sur notre serveur. Lorsqu'une requête HTTP est envoyée à notre serveur, le nom de domaine est transformé en adresse IP. La seule façon de différencier une demande venant de site1-cpnv.com ou de site2- cpnv.com, qui renvoient la même IP, passe par l'en-tête http, qui elle contiendra toujours le nom de domaine initialement demandé. Lorsque la requête que nous désirons a atteint notre serveur http, celui-ci va regarder dans ses règles afin de trouver dans quel répertoire il doit se diriger. C'est là que la gestion des virtualhosts va intervenir. En conséquence, nous créerons une entrée pour chaque site hébergé sur notre serveur. Cette entrée contiendra le domaine prévu, et le répertoire de redirection. Une fois que le serveur est installé de base, nous allons créer et configurer nos espaces d'hébergements. Tout d'abord, ce tutorial part des principes suivants : Vous désirez pouvoir accéder à vos sites par ip_du_server/~nom_user Vous n'avez qu'une seule IP pour tous vos sites Dans cette première partie, nous allons modifier un fichier: /etc/apache2/apache2.conf, et créer des fichiers dans les répertoires /etc/apache2/sites-available et /etc/apache2/sites-enabled. # a2enmod userdir puis on redémarre apache : # /etc/init.d/apache2 restart On vérifie les utilisateur et groupe d'apache : # nano /etc/apache2/envvars Puis on vérifie la présence des lignes : export APACHE_RUN_USER=www-data export APACHE_RUN_GROUP=www-data On modifie les fichiers que l'on désire par défaut : # nano /etc/apache2/mods-enabled/dir.conf DirectoryIndex index.html index.php index.xhtml On vérifie que les utilisateurs sont autorisés à se connecter : # nano /etc/apache2/mods-available/userdir.conf

Page 6 sur 17 Puis on vérifie la présence de la ligne : UserDir public_html L'exécution en php est désactivée par défaut avec ce module. Pour changer ça et éviter que le navigateur télécharge le code php directement, éditer le fichier /etc/apache2/modsenabled/php5.conf et commentez les lignes comme ci dessous : [..] # <IfModule mod_userdir.c> # <Directory /home/*/public_html> # php_admin_value engine Off # </Directory> # </IfModule> [..] Redémarrez apache avec : # /etc/init.d/apache2 restart On va maintenant créer nos hôtes virtuels. Par défaut, je les appellerai test1.com et test2.com. A vous de mettre les noms que vous désirez. Mais avant de s'attaquer aux utilisateurs, on commence par modifier le squelette de la création des nouveaux users. L'avantage? Ne pas avoir besoin à chaque fois de devoir créer le répertoire public_html et logs quand on crée un nouvel utilisateur, mais aussi d'avoir directement une page d'accueil. # mkdir /etc/skel/public_html # mkdir /etc/skel/logs # echo " <h1>nouvel espace web crée</h1> " > /etc/skel/public_html/index.html Une fois le squelette créé, on peut créer un nouvel utilisateur : # useradd -g www-data -m test1 On crée un nouveau fichier /etc/apache2/sites-available/test1.com # nano /etc/apache2/sites-available/test1.com Et on y enregistre :

Page 7 sur 17 <VirtualHost *:80> ServerAdmin postmaster@test1.com ServerName www.test1.com ServerAlias test1.com DocumentRoot /home/test1/public_html/ <Directory /home/test1/public_html/> Options -Indexes FollowSymLinks MultiViews AllowOverride All </Directory> ErrorLog /home/test1/logs/error.log LogLevel warn CustomLog /home/test1/logs/access.log combined ServerSignature Off </VirtualHost> On valide et on ferme le fichier. On rend le domaine créé disponible. # ln -s /etc/apache2/sites-available/test1.com /etc/apache2/sites-enabled/test1.com On vérifie que la syntax est bonne : # apache2ctl -t Si en retour on obtient un «Syntax OK», on redémare apache2 : # /etc/init.d/apache2 restart Normalement vous devriez pouvoir acceder à http://ip_de_votre_serveur/~test1/ et y voir Nouvel espace web crée http://doc.ubuntu-fr.org/apache2 Configuration de VSFTPD en mode "utilisateur virtuel" Maintenant que nous avons un site serveur web opérationnel, et la possibilité de créer nos bases de données, il devient nécessaire de mettre nos fichiers sur le serveur. Pour cela, nous installons VSFTPD. C'est un serveur FTP très sécurisé (Very Secure File Transfert Protocol Daemon). VSFTPD dispose de plusieurs styles de paramétrage de base. Là encore, étant donné que nous souhaitons pouvoir disposer de plusieurs comptes FTP par domaine, et notamment d'avoir des comptes FTP qui pointent sur des sous-domaines, nous utiliserons le paramétrage par utilisateur virtuel.

Page 8 sur 17 Pour ce faire, nous allons utiliser une base de données de type Berkeley. Il s'agit d'une base de type non-sql. Elle n'est pas prévue pour être interrogée comme Mysql ou SQL server. En fait, il s'agit d'une table de hachage. Chaque enregistrement ne sera constitué que d'un login et d'un mot de passe. Ce type de base de données est indexé, extrêmement rapide et simple à mettre en œuvre. L'utilisation de ce type de base de données est obligatoire pour l'utilisation d'une identification de type PAM. Pour le principe, nous ne définissons qu'un seul utilisateur UNIX à notre serveur FTP. Lorsque l'on se connecte avec un utilisateur, le programme vérifie dans notre base de données si celui-ci existe, et si le mot de passe correspond. A partir de là, il va chercher les paramètres concernés (chroot, droits spécifiques) et renvoit le répertoire concerné. Grâce au chroot, il n'y a aucun souci de sécurité, car le répertoire est considéré comme étant un répertoire racine, il n'est donc pas possible de remonter la hiérarchie. Ce point est important du point de vue sécuritaire, car chaque connexion FTP utilise exactement le même utilisateur Unix : www-data. Pour créer un nouvel utilisateur, il suffit de lui créer une entrée dans la base Berkeley, et un fichier de configuration personnel. On commence par préparer la configuration en créant le répertoire qui contiendra tous nos fichiers : # mkdir /etc/vsftpd On va devoir modifier la configuration de VSFTPD. Pour cela, on effectue une sauvegarde. Cela permettra de revenir en arrière en cas de souci : # cp /etc/vsftpd.conf /etc/vsftpd.conf.bak # cp /etc/pam.d/vsftpd /etc/pam.d/vsftpd.bak Il nous faut maintenant installer la base de données. On utilise pour cela la commande : # apt-get install db4.8-util Ce type de base de données est extrêmement simple, c'est pourquoi nous l'utilisons. Il se base sur un fichier de type texte contenant nos différentes informations, entrées une à une. En fait, il n'y a pas de tables, ni de champs à configurer! On va juste convertir un fichier contenant nos données sous cette forme : login 1 password 1 login 2 password 2... login n password n On crée donc un fichier login.txt (le.txt n'est là que pour indiquer que ce sera nos données brutes! Vous pouvez le nommer comme bon vous semble!). Puis on va le convertir en base de

Page 9 sur 17 données. # nano /etc/vsftpd/login.txt user1 pass1 user2 pass2 # db4.8_load -T -t hash -f /etc/vsftpd/login.txt /etc/vsftpd/login.db # chmod 600 /etc/vsftpd/login.db # chmod 600 /etc/vsftpd/login.txt On va maintenant informer le module PAM d'utiliser notre base de données nouvellement créée. Pour cela : # nano /etc/vsftpd/vsftpd.pam auth required /lib/security/pam_userdb.so db=/etc/vsftpd/login account required /lib/security/pam_userdb.so db=/etc/vsftpd/login # cp /etc/vsftpd/vsftpd.pam /etc/pam.d/vsftpd Si le système nous informe que le fichier existe déjà, on l'écrase. Pour pouvoir utiliser nos utilisateurs virtuels, nous devons reconfigurer le fichier vsftpd.conf Supprimons le fichier /etc/vsftpd.conf : # rm /etc/vsftpd.conf Pour ensuite le créer à nouveau : # nano /etc/vsftpd.conf Copier le fichier de configuration suivant : # Ceci configure VSFTPd en mode "standalone" listen=yes # On désactive les connexions anonymes

Page 10 sur 17 # et on active les non-anonymes (c'est le cas des utilisateurs virtuels) : anonymous_enable=no local_enable=yes # Pour des raisons de sécurité on interdit toute action d'écriture : write_enable=no anon_upload_enable=no anon_mkdir_write_enable=no anon_other_write_enable=no # 'guest_enable' est très important: cela active les utilisateurs virtuels! # 'guest_username' fait correspondre tous les utilisateurs virtuels à # l'utilisateur 'virtual' que nous avons défini plus haut, et au home # correspondant : '~virtual/'. guest_enable=yes guest_username=www-data # On définit les droits par défaut des fichiers uploadés anon_umask=022 # On veut que les utilisateurs virtuels restent chez eux : '~virtual/' # (attends, on leur a fait un toit, c'est pas pour rien!) chroot_local_user=yes # On définit le nombre maximum de sessions à 200 (les nouveaux clients recevront # un message du genre: "erreur : serveur occupé"). # On définit le nombre maximum de sessions par IP à 4 max_clients=200 max_per_ip=4 #################################### # Debian customization # # (ou adoptons la Debian attitude) # #################################### # Some of vsftpd's settings don't fit the Debian filesystem layout by # default. These settings are more Debian-friendly. # # This option should be the name of a directory which is empty. Also, the # directory should not be writable by the ftp user. This directory is used # as a secure chroot() jail at times vsftpd does not require filesystem # access. secure_chroot_dir=/var/run/vsftpd # # This string is the name of the PAM service vsftpd will use. pam_service_name=vsftpd # # This option specifies the location of the RSA certificate to use for SSL # encrypted connections.

Page 11 sur 17 rsa_cert_file=/etc/ssl/certs/vsftpd.pem # Permet d'utiliser les configurations individuelles pour chaque utilisateur user_config_dir=/etc/vsftpd/vsftpd_user_conf Sauvegardez puis quittez. On va maintenant chrooter nos utilisateurs dans leur répertoire respectif. Pour cela, on crée le répertoire qui sera utilisé pour contenir nos différents fichiers par utilisateur. Et on crée le fichier pour chaque utilisateur dans notre base de données. # mkdir /etc/vsftpd/vsftpd_user_conf/ Puis on créé le fichier /etc/vsftpd/vsftpd_user_conf/user1 : # nano /etc/vsftpd/vsftpd_user_conf/user1 Et on y ajoute : anon_world_readable_only=no local_root=/home/test1/public_html write_enable=yes anon_upload_enable=yes anon_mkdir_write_enable=yes anon_other_write_enable=yes On enregistre et on ferme. On redémarre notre service FTP : # /etc/init.d/vsftpd restart Et il ne nous reste plus qu'à nous connecter à notre compte FTP en utilisant : IP: ip du serveur login: user1 password: pass1 Et voilà. Un petit test pour vérifier que tout fonctionne, et c'est terminé ;). Dans le cas où vous ne pouvez pas uploader de fichiers, c'est que les droits ne sont pas bons. Vérifiez bien que le répertoire /home/test1/public_html ait les droits www-data:www-data pour propriétaire et groupe : # chown www-data:www-data /home/test1/public_html Pour ajouter un utilisateur, ajoutez le login et son mot de passe dans login.txt puis exécuter : # db4.6_load -T -t hash -f /etc/vsftpd/login.txt /etc/vsftpd/login.db

Page 12 sur 17 Ajoutez les informations de l'utilisateur dans /etc/vsftpd/vsftpd_user_conf/ [NOM_DE_L_UTILISATEUR] # /etc/init.d/vsftpd restart Configuration des noms de domaines Maintenant que nous avons notre serveur web installé, il faut que nos visiteurs puissent nous trouver. Et il n'est guère facile de leur faire retenir une adresse du style : 213.251.175.34/~nom_de_mon_site. Si vous y arrivez, vous êtes un champion ;). Nous allons utiliser des noms de domaine pour avoir une adresse du type www.test1.com. Introduction Le serveur DNS permet de faire le lien entre le nom de domaine et l'adresse IP de votre serveur. Votre registrar (OVH par exemple) vous permet de faire ce lien. Lorsque l'utilisateur entrera l'adresse www.test1.com, le serveur DNS redirigera vers l'adresse IP de notre serveur. Le serveur regardera ensuite le nom de domaine qui l'a mené jusqu'à lui (www.test1.com dans notre cas), en connaissant cette information, les VirtualHost d'apache redirigeront vers le dossier correspondant à ce nom de domaine (/home/test1/public_html/). Indiquez les serveurs DNS à utiliser (OVH) Normalement, lorsque vous venez d'acheter votre nom de domaine, cette information est déjà pré-remplie. Indiquez l'adresse IP de votre serveur Cette information doit être rempli dans le champ A : Créer un sous domaine Savoir créer un sous domaine est aujourd'hui quasi indispensable pour quinconce souhaite administrer son propre serveur. Renseigner apache

Page 13 sur 17 Nous avons vu précédemment comment rediriger un nom de domaine vers un dossier, maintenant nous souhaitons rediriger un sous-domaine vers un dossier : Modifions le virtualhost correspondant : # nano /etc/apache2/sites-available/test1.com et ajoutons les renseignements de notre sous-domaine à la suite. Notre fichier devrait ressembler à : <VirtualHost *:80> ServerAdmin postmaster@test1.com ServerName www.test1.com ServerAlias test1.com DocumentRoot /home/test1/public_html/ <Directory /home/test1/public_html/> Options -Indexes FollowSymLinks MultiViews AllowOverride All </Directory> ErrorLog /home/test1/logs/error.log LogLevel warn CustomLog /home/test1/logs/access.log combined ServerSignature Off </VirtualHost> <VirtualHost *:80> ServerName admin.test1.com DocumentRoot /home/test1/public_html/sd_admin/ </VirtualHost> Vous pouvez créer le dossier /sd_admin en utilisant FTP. On valide et on ferme le fichier. On rend le domaine créé disponible. # ln -s /etc/apache2/sites-available/test1.com /etc/apache2/sites-enabled/test1.com On vérifie que la syntax est bonne : # apache2ctl -t Si en retour on obtient un «Syntax OK», on redémarre apache2 : # /etc/init.d/apache2 restart Renseigner le serveur DNS

Page 14 sur 17 Retournons chez notre registrar (OVH par exemple), pour lui indiquer que nous souhaitons utiliser un sous-domaine : Ajoutez un nouveau champ CNAME qui pointe vers le domaine principal, apache se chargera du reste : Introduction Un des points les plus problématiques de l'installation, la configuration de Bind9. Bind9 (Berkeley Internet Name Domain) est le serveur DNS le plus utilisé sur Internet. C'est lui qui va autoriser notre URL www.site1.com à pointer sur notre serveur (dans le cas d'une utilisation locale). En effet, il permet de transformer les différents alias en adresse IP, et donc de rediriger au bon endroit (sur le même serveur, en l'occurrence). La configuration de Bind est un peu plus complexe que ce que nous avons vu jusqu'à maintenant. D'une part, parce que les différents tests à effectuer prennent du temps. En effet, la propagation des DNS prend de 6 à 48 heures, en fonction des FAI, et des registars. Ensuite, c'est la première étape qui aura une réelle incidence du point de vue extérieure sur notre serveur. Un Bind mal configuré, et nos sites sont inaccessibles! L'installation de Bind en elle-même se fait comme pour les autres, vu que nous utilisons ici aussi les binaires disponibles. Une fois installé, nous devons effectuer quelques ajustements. En effet, de base, le serveur Bind est fourni en open DNS. Ce qui signifie que n'importe qui peut utiliser notre serveur DNS. Cela peut poser des problèmes de sécurité, et surtout de serveur de relay DNS à des pirates, ou des spammeurs. Nous devons donc n'autoriser l'utilisation du serveur que depuis le serveur lui-même (localhost). Une fois effectué, nous devons créer une entrée dans la zone pour chaque domaine que nous hébergeons. Il s'agit en fait d'un simple fichier, que nous nommons : db.nom_domaine.tld par principe. Il est important de décortiquer ce fichier, qui contient de nombreux paramètres à configurer, et surtout à veiller à bien le faire. Plus d'infos sur Bind9 : http://doc.ubuntu-fr.org/bind9 Plus d'infos sur le DNS : http://doc.ubuntu-fr.org/dns Installer bind9 # apt-get install bind9 Named.conf.local Pour configurer Bind, nous allons modifier un fichier /etc/bind/named.conf.local et en créer un pour chaque domaine que nous désirons héberger. On ne touche pas aux données par défaut, mais on rajoute, après la dernière zone (1 entrée pour chaque domaine, évidemment. Et test1.com est à changer par votre nom de domaine, cela

Page 15 sur 17 va de soit!). # nano /etc/bind/named.conf.local zone "test1.com" { type master; file "/etc/bind/db.test1.com"; }; Une petite modification à effectuer, pour éviter que notre serveur ne serve de relay DNS ouvert. On ajoute ces lignes dans le fichier (entre les {}): # nano /etc/bind/named.conf.options allow-recursion { localhost; }; On enregistre et on sort du fichier. Création du fichier de configuration de zone On crée le fichier de description de notre zone : # nano /etc/bind/db.test1.com On entre les valeurs de notre domaine (ceci est un exemple. A vous de l'adapter à vos besoins/envies) : $ttl 86400 test1.com. IN SOA ksxxxxx.kimsufi.com. webmaster.test1.com. ( 2011031001 21600 3600 604800 86400 ) test1.com. IN NS ksxxxxx.kimsufi.com. test1.com. IN NS ns.kimsufi.com. test1.com. IN MX 10 mail.test1.com. test1.com. IN A Server IN A www IN A

Page 16 sur 17 mail IN A smtp IN A pop IN A pop3 IN CNAME Server imap IN A sql IN A mysql IN A Quelques explications: Champ 2011031001 21600 3600 604800 86400 CNAME A NS MX SOA PTR Description Est à modifier à chaque édition du fichier. Par convention, on l'écrit : annéemois-jour-numéro à 2 chiffres Temps que le serveur esclave doit attendre avant de questionner à nouveau le serveur maître. Unité de temps : [seconde] Temps à attendre avant d'effectuer une nouvelle demande au serveur maître en cas de non réponse. Unité de temps : [seconde] Temps d'expiration du serveur principal en cas de non réponse. Unité de temps : [seconde] Temps de mise en cache minimum par d'autres serveurs DNS. Unité de temps : [seconde] Enregistrement de nom canonique qui dit au serveur de noms qu'un nom donné est aussi connu qu'un autre (alias) Enregistrement d'adresse qui spécifie une adresse IP à assigner à un nom Enregistrement de serveur de noms (NameServer) qui annonce les serveurs de noms faisant autorité pour une zone particulière Enregistrement Mail exchange, qui dit où doit se diriger le courrier envoyé à un nom d'espace particulier contrôlé par cette zone Enregistrement "Start Of Authority", qui proclame des informations importantes faisant autorité à propos des espaces de nom pour les serveurs de noms Enregistrement PoinTeR record, conçu pour orienter vers une autre partie de l'espace de nom On sauvegarde, on redémarre bind9. # /etc/init.d/bind9 restart

Page 17 sur 17 Et voilà, il ne nous reste plus qu'à tester notre redirection, avec nos noms de domaine. Il est également possible d'avoir une description complète des différentes options de Bind sous Google. Une simple recherche vous donnera une foule de sites pour cela! Il y a 2 possibillités pour tester notre fichier de configuration de zone : http://www.afnic.fr/outils/zonecheck http://www.dnsstuff.com/ Si vous désirez installer un.fr, vous ne devrez plus avoir aucune erreur (fatal chez zonecheck ou case rouge chez dnsstuff). En effet, l'afnic refuse d'enregistrer vos domaines avec une erreur. Pour les autres domaines, c'est à tester directement avec votre registar. Mais quoi qu'il en soit, idéalement, il ne faudrait pas avoir une seule erreur, c'est évident! installer_un_serveur_debian.txt Dernière modification: Le 28/06/2013, 10:57 par 86.193.93.74 Le contenu de ce wiki est sous licence : CC BY-SA v3.0 Contact Propulsé par Dokuwiki