Réseau interne - MaximeDanlee/admin2-projet GitHub Wiki

Besoins techniques

  • SOA
  • résolveur
  • un serveur web
  • Une base de données

Solutions Disponibles

La solutions serait de mettre en place un soa, résolveur et un serveur web.

Plusieurs logiciel pour le DNS sont disponibles : Bind, PowerDNS, djbDNS, ...

Plusieurs logiciel pour le web sont disponibles : Apache, Nginx, Lamp, ...

Plusieurs logiciel pour la base de données sont disponibles : mysql, sqlite, ...

Solution choisie

La solution pour laquelle nous avons opté sera la solution Bind. Pour ce que le client demande, il suffit. De plus bind est plus mature que powerDNS donc on peut retrouver plus de documentation sur celui-ci.

# BIND PowerDNS
Popularité Plus mature donc plus de documentation PowerDNS est en expansion
Prix Gratuit Gratuit
Voir dns public

(source : bind9 vs powerDNS)


La solution pour laquelle nous avons opté pour le serveur web sera la solution **Nginx**. Contrairement à Apache, Nginx est moins gourmand en consommation de mémoire et le fait qu'il travaille en asynchrone permet de traiter plus de requêtes à la seconde. (source : [https://drupal.stackexchange.com/questions/71610/nginx-vs-apache-are-there-any-actual-usage-comparisons-and-statistcs-out-there](https://drupal.stackexchange.com/questions/71610/nginx-vs-apache-are-there-any-actual-usage-comparisons-and-statistcs-out-there))
# Nginx Apache
Performance Moins gourmand en consommation de mémoire Plus gourmand
Prix Gratuit Gratuit
Requête travaille en asynchrone permet de traiter plus de requêtes à la seconde. travaille en synchrone permet de traiter moins de requêtes à la seconde.
Popularité moins populaire, beaucoup de documentation Très populaire, beaucoup de documentation
Support support tous les systèmes UNIX et Windows partiellement support Unix Linux et Windows

La solution pour laquelle nous avons opté pour la base de données sera la solution mysql. Contrairement à Sqlite, Mysql est plus populaire et plus simple à utiliser, de plus Mysql permet de mettre en place un niveau de sécurité du mot de passe root. Sqlite n'a pas de gestion d'utilisateurs, sachant que dans ce projet nous utilisons plusieurs sites web pour une seule base de données, la gestion des utilisateurs peut être un atout.

(source : https://www.digitalocean.com/community/tutorials/sqlite-vs-mysql-vs-postgresql-a-comparison-of-relational-database-management-systems)

# Mysql Sqlite
Popularité Plus mature donc plus de documentation et plus simple a utiliser Moins populaire
Sécurité Niveau de sécurité du mot de passe Sqlite n'a pas de gestion des utilisateurs
Prix Gratuit (sauf utilisation commercial) Gratuit

Étapes de la configuration

BIND :

  • Installation de Bind (pour le SOA)
  • Création du fichier de zone pour la zone du NS ainsi que la zone reverse
  • Création du fichier de named.conf.local pour ajouter le chemin du fichier de zone
  • Création du fichier 128.16.172.in-addr.arpa pour ajouter les zones reverse.
  • Création du fichier woodytoys.intern pour ajouter les zones.
  • Modification de named.conf.option pour répondre que aux requêtes concernées.
  • installation d'un autre serveur Bind (pour le résolveur)
  • configurer le résolveur, les forwards dans le fichier named.conf

Nginx :

  • Installation d'un serveur Nginx
  • Installation de php
  • Installation de mysql
  • Création d'un fichier erp dans le répertoire html du serveur Nginx
  • Modification du fichier nginx.conf pour rajouter un site.

Mysql :

  • Installation de mysql
  • Mise en place d'un mot de passe
  • Création de la base de données
  • Création des tables et des utilisateurs
  • Modification du fichier "/etc/mysql/mysql.conf.d/mysqld.cnf" pour permettre la connexion a distance sur le serveur Mysql.
⚠️ **GitHub.com Fallback** ⚠️