Installation d'un serveur FTP géré par une base de données MySQL



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

Pratique et administration des systèmes

Architecture de la plateforme SBC

Olivier Mondet

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

Procédures informatiques administrateurs Création d un serveur FTP sous Linux

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

Le protocole FTP (File Transfert Protocol,

CREATION WEB DYNAMIQUE

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

Installation de Zabbix

OCS Inventory & GLPI

CASE-LINUX MAIL - ROUNDCUBE

Installation UpdatEngine serveur (CentOs apache2 / MySQL)

Installation d ORACLE 10g sous Debian Etch

Sauvegarde automatique des données de GEPI

Installation et configuration d OCS/GLPI sur un Serveur Debian

I. MySQL : Serveur et SGBD

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

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

Tutoriel compte-rendu Mission 1

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

NRPE. Objectif. Documentation. Procédures

04/02/2014 Tutoriel. Lubuntu & glpi. thomas [NOM DE LA SOCIETE]

Création et Gestion des tables

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

Mise en œuvre de Rembo Toolkit

Configuration matériel. Tâche 2 : Installation proprement dite de l application sur un serveur de test virtualisé sous VmWare Workstation.

Compte rendu d'activité PTI n 2

Projet Administration Réseaux

HowTo Installer egroupware 1.2 sur SME Serveur 7.0

Mysql avec EasyPhp. 1 er mars 2006

Installation de Snort sous Fedora

PHP et mysql. Code: php_mysql. Olivier Clavel - Daniel K. Schneider - Patrick Jermann - Vivian Synteta Version: 0.9 (modifié le 13/3/01 par VS)

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

NFA 008. Introduction à NoSQL et MongoDB 25/05/2013

équipement radio Procédure

1 Démarrage de Marionnet

Configurer la supervision pour une base MS SQL Server Viadéis Services

Supervision avec OCS Inventory NG

ISC Système d Information Architecture et Administration d un SGBD Compléments SQL

PHP et les Bases de données - Généralités

BTS SIO Dossier BTS. PURCHLA Romain

Installation d un superviseur ZABBIX

TUTORIEL D INSTALLATION D ORACLE ET DE SQL DEVELOPPER TUTORIEL D INSTALLATION D ORACLE...1 ET DE SQL DEVELOPPER...1

MySQL - Réplication. Fichiers de relais et de statut de la réplication. Mise en place de la réplication

Etudiant Ella Fitzgerald

Gestion de base de données

Le langage SQL (première partie) c Olivier Caron

Serveur de sauvegardes incrémental

Guide d installation de MySQL

PHP. Bertrand Estellon. 26 avril Aix-Marseille Université. Bertrand Estellon (AMU) PHP 26 avril / 214

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

Transfert d un site local vers un serveur. NPDS REvolution 13. Rédaction : Axel Relecture : Dev & Jpb

INSTALLATION ET CONFIGURATION D'UN SERVEUR WEB SUR MAC OS X

Guide d installation rapide

PHP 5. La base de données MySql. A. Belaïd 1

Les différentes méthodes pour se connecter

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

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

Bon ben voilà c est fait!

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

Prérequis. Installation SNMP sous ESX. Date 19/01/2011 Version 1.1 Référence 001 Auteur Quentin OZENNE

Documentation d'installation Plateforme femme actuelle

Procédure d installation Trixbox - A2Billing

MYSQLDUMP & ZRM COMMUNITY

Sécurisez votre serveur MySQL sous Unix

INSTALLATION DE L APPLICATION DU CONTEXTE ITASTE

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

windows. deb etch main deb-src etch main

SUPPORT DE COURS / PHP PARTIE 3

Classe et groupe : 1P 3 SEN TRI. Ubuntu : serveur Contrôleur de Domaine (PDC) avec SAMBA

Ajout et Configuration d'un nouveau poste pour BackupPC

INTRODUCTION. Mysql-server est un serveur de bases de données. Cest un logiciel libre.

Encryptions, compression et partitionnement des données

Oracle 11g. Installation et administration. Claude Duvallet 1/36

Modélisation et Gestion des bases de données avec mysql workbench

Oracle WebLogic Server (WLS) 11gR1 ( et ) Installation sur Oracle Linux 5 et 6 Hypothèses Installation Oracle Linux 5 (OL5)

Comment Connecter une Base de Données MySQL via un Driver JDBC Avec OpenOffice.org

Ce TP consiste à installer, configurer et tester un serveur DNS sous Linux. Serveur open source : bind9 Distribution : Mandriva

Rapport d audit de sécurité

Mise en place d un serveur Proxy sous Ubuntu / Debian

CDS Invenio Installation et configuration de base

Introduction à MySQL (ou MySQL en 3 heures montre en main)

PPE GESTION PARC INFORMATIQUE

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

Version de ce tutorial : 1.06a (le tutorial va évoluer avec les versions de nwnx4)

Les BASES de DONNEES dans WampServer

Gestion des journaux

Bases de données relationnelles

SOLUTION DE SUPERVISION SYSTEME ET RESEAU

TP Bases de données réparties

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

Projet Semestre2-1SISR

COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2

But de cette présentation. Contrôleur de domaine avec Samba (rédigé pour Ubuntu Server) Introduction. Samba: principes

Transcription:

BTS INFORMATIQUE DE GESTION Option Administrateur de réseaux développement d applications COMPTE-RENDU D ACTIVITE ACTIVITE N 2 Nom et Prénom : Casanova Grégory Identification (objectif) de l activité Installation d'un serveur FTP géré par une base de données MySQL Contexte dans lequel le projet s inscrit : (action professionnelle avec définition d une mission plus globale) Installation de MySQL sur un serveur Linux Debian 3.1, création et administration de la table qui gèrera les utilisateurs du serveur FTP, puis compilation de Pure-FTPd avec le support MySQL. Conditions de réalisation Travail effectué : individuellement en groupe Travail effectué dans : Un service utilisateur un service d études SSII Type d intervention : nouvelle application Maintenance Autres contraintes Activité réalisée en entreprise, mais présentation sur machines virtuelles VmWare à cause de l impossibilité de déplacer les machines en exploitation. Compétences couvertes N Compétence couverte Description de la compétence présentée C24 C25 C37 Installer un SGBD Installer un applicatif Administrer une base de données Compilation de MySQL Compilation de Pure-ftpd avec le support MySQL Création et administration de la base de données et de la table qui servira à gérer les utilisateurs FTP

Installation d un serveur FTP Géré par une base de données MySQL 1) Présentation de l activité Cette activité a pour but l installation d un serveur MySQL et d un serveur FTP utilisant une base de données MySQL pour gérer ses utilisateurs sur une distribution Linux Debian 3.1. MySQL est le SGBD open source le plus populaire au monde, souvent utilisé avec PHP afin de créer des sites web marchands avec bases de données, nous verrons ici comment l installer puis comment créer une base de données basique. Nous utiliserons comme serveur FTP le logiciel Pure-FTPd, il a l avantage d être à la fois très sécurisé et de se mettre en place très facilement malgré l'absence d'une interface graphique de configuration. Afin de faciliter son utilisation, nous l administrerons grâce à une base de données MySQL. 2) Présentation du contexte Le matériel utilisé dans cette activité sera composé d une machine où l installation de base de Debian 3.1 aura été effectuée au préalable, et d une machine cliente qui nous servira à vérifier si le serveur FTP fonctionne convenablement. Pour des raisons techniques, les machines utilisées pour la présentation seront virtuelles. Le travail sera réalisé individuellement, et nécessitera 6h. 3) Présentation des étapes de réalisation Compilation de MySQL Les installations par défaut des applications sous Debian par «apt-get» sont comparables au «urpmi» utilisé par Mandrake, bien que facilitant l installation, ils utilisent une installation par défaut, c est pourquoi nous compilerons MySQL afin de choisir le dossier d installation et les options que l on souhaite. Après avoir récupéré les sources sur le site www.mysql.com nous suivons les consignes d installations données sur le site. shell> groupadd mysql shell> useradd -g mysql mysql shell> tar zxvf /path/to/mysql-version-os.tar.gz shell> cd mysql-version-os shell>./configure --prefix=/usr/local/mysql --with-unix-socket-path=/var/run/mysqld/mysqld.sock Configure la compilation future en définissant le répertoire d installation sur /usr/local/mysql/ et l emplacement du socket MySQL dans /var/run/mysqld/ - 1 -

shell> make shell> make install shell> cp support-files/my-medium.cnf /etc/my.cnf copie le fichier de configuration créé lors du./configure sur le système shell> cp support-files/mysql-server /etc/init.d/mysql shell> chmod +x /etc/init.d/mysql copie le script de lancement de mysql et le rend éxecutable shell> cd /usr/local/mysql shell> bin/mysql_install_db user=mysql exécute le script qui crée les tables de droits par défaut shell> chown -R root. shell> chown -R mysql var shell> chgrp -R mysql. change le propriétaire des exécutables pour les donner à root et le propriétaire des données pour les donner à mysql shell> mkdir /var/run/mysqld shell> chown mysql /var/run/mysqld/ shell> chgrp mysql /var/run/mysqld/ crée le dossier qui accueillera le socket MySQL et l assigne à l utilisateur et au groupe mysql shell> cd /etc/init.d/ shell> update-rc.d mysql defaults active le script afin qu il se lance automatiquement au démarrage du serveur shell> /etc/init.d/mysql start lance le serveur MySQL L installation étant réalisée, il faut à présent sécuriser l accès à MySQL. A partir d une console, nous entrerons les commandes : shell> mysql u root mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('motdepasse'); mysql> SET PASSWORD FOR 'root'@'debian01' = PASSWORD('motdepasse'); Création de la base de données FTP Toujours à partir de la console MySQL, nous allons créer la table : mysql> CREATE DATABASE ftp; mysql> use ftp mysql> CREATE TABLE users ( User varchar(150) NOT NULL default '', Password varchar(64) default NULL, Uid smallint(6) NOT NULL default '-1', Gid smallint(6) NOT NULL default '-1', Dir varchar(200) default NULL, PRIMARY KEY (User) ) TYPE=MyISAM; Nous créons ensuite un utilisateur ftpd qui aura juste le droit SELECT sur la base de données ftp et qui aura comme mot de passe «pure» : mysql> GRANT SELECT ON ftp.* TO ftpd@localhost IDENTIFIED BY 'pure'; - 2 -

Puis nous terminons par créer le premier utilisateur de la table : mysql> insert into users (User, Password, Uid, Gid, Dir) values ('greg', 'casanova',-1, -1, '/home/greg/'); Cela aura pour effet de créer un utilisateur «greg» avec le mot de passe «casanova», son Uid et son Gid seront -1, ce qui équivaut à lui donner tous les droits sur le dossier /home/greg/ Compilation de Pure-FTPd Comme pour MySQL, après avoir récupéré les sources sur internet, dans une console : shell> tar -xzf pure-ftpd-version.tar.gz shell> cd pure-ftpd-version shell>./configure --with-mysql shell> make shell> make install Il faut ensuite créer un fichier de configuration qui contiendra les paramètres nécessaires à Pure-FTPd pour se connecter à la base MySQL, nous le placerons dans le dossier /etc/ nous le nommerons pureftpd-mysql.conf et il contiendra : MYSQLServer localhost MYSQLPort 3306 MYSQLSocket /var/run/mysqld/mysqld.sock MYSQLUser ftpd MYSQLPassword pure MYSQLDatabase ftp MYSQLCrypt cleartext MYSQLGetPW SELECT Password FROM users WHERE User="\L" MYSQLGetUID SELECT Uid FROM users WHERE User="\L" MYSQLGetGID SELECT Gid FROM users WHERE User="\L" MYSQLGetDir SELECT Dir FROM users WHERE User="\L" Les 4 dernières lignes contiennent les requêtes qu enverra Pure-FTPd à MySQL à la connexion d un utilisateur où «\L» représente le nom de l utilisateur qui essaye de se connecter, si le mot de passe correspond, la connexion au serveur sera effective, sinon l utilisateur sera rejeté. Les configurations ayant été réalisées, il suffit à présent de lancer le serveur FTP en tapant dans une console : shell> /usr/local/sbin/pure-ftpd -l mysql:/etc/pureftpd-mysql.conf & Puis de vérifier grâce à une machine cliente si tout fonctionne correctement. - 3 -

4) Conclusion On voit grâce à cette activité que MySQL n est pas utilisé que pour gérer des bases de données de site, il peut être utilisé en relation avec beaucoup d utilitaires et de par ce fait être le cœur d un système Linux, c est donc pourquoi l optimisation par la compilation est une chose importante, même si les gains dû à la compilation peuvent être minimes, sur un gros système ils sont toujours appréciables. On voit également que l administration d un serveur FTP peut être grandement simplifié grâce à la gestion des utilisateurs par une base MySQL, là où les serveurs FTP fonctionnent avec les utilisateurs Linux, ce qui peut présenter une faille de sécurité si les utilisateurs sont mal gérés (accès en SSH activé ), celui-ci ne nécessite qu une requête SQL pour la création de nouveaux utilisateurs. On peut également administrer le serveur à distance grâce à une page PHP ou tout simplement grâce à «phpmyadmin». Il y a également plein d autres options qui peuvent être utilisées, comme l utilisation des Uid et Gid pour gérer les droits sur les dossiers des utilisateurs, qui rendent Pure-FTPd avec le support MySQL très performant et permettent de faire beaucoup de choses que je n ai pas pu détaillées dans ce compterendu. - 4 -