SISR - Administration du parc informatique avec SAMBA sous Ubuntu Server 18.04 Mission Le serveur répondra aux services suivants : - serveur contrôleur d’un domaine (étape 5) - serveur DNS (étape 1) - serveur DHCP (étape 1) - gestion des utilisateurs (étape 5) - script d’ouverture de session (étape 5) - partages de dossiers avec Samba (étape 4) - administration du serveur à distance avec Webmin (étape 3) - administration du serveur à distance avec putty (étape 1) - serveur Web (étape 2) - mise en production de Moodle (étape 2) - partage d’accès internet (étape 1) - et protection du serveur en utilisant un parefeu (étape 3) Le serveur sera un Ubuntu Server 18.04.Mise en place Préparation de VMware Edit > Virtual Network Editor On créer un VMnet, par exemple le 13. On décoche les deux cases, on prend host-only et on met le masque + IP. Préparation du serveur Pour la machine virtuelle, on ajoute deux cartes réseaux : une en bridge pour l'accès internet et l'autre, celle que l'on a créé. Modification des cartes réseaux : nano /etc/netplan/*.yaml hostname nano /etc/hostname /etc/init.d/hostname.sh start On complète le fichier hosts. Le serveur sera client et serveur DNS. nano /etc/host.conf order hosts, bind multi on On complète le fichier hosts. nano /etc/hosts On déclare le nom de domaine dans /etc/resolv.conf nano /etc/resolv.conf Installation et paramétrage du serveur DNS apt-get install bind9 cp /etc/bind/db.local /etc/bind/db.ab.org nano /etc/bind/db.ab.org cp /etc/bind/db.127 /etc/bind/db.172 nano /etc/bind/db.172 nano /etc/bind/named.conf.local nano /etc/bind/named.conf.options service bind9 restart nano /etc/bind/db.ab.org nano /etc/bind/db.192 /etc/init.d/bind9 restart Vérifications si le DNS se connait lui-même hostname nslookup >abubuntusrv On teste en inversée nslookup > 172.16.17.1 Avec dig : Vérification si le dns connait le/les client(s) nslookup  Client1 Installation du poste Ubuntu On clique sur installer ubuntu puis on suit la procédure. Configuration du client On change le nom du périphérique dans les options pour client1 (=nom dans dns) On édite le fichier host. nano /etc/host.conf Dans le fichier on aura : order hosts,bind multi on On renseigne l’ip du dns dans les paramètres réseaux, on dite le fichier /etc/resolv.conf nano /etc/resolv.conf domain ab.org search ab.org nameserver 172.16.17.1 Installation du poste Windows XP On met l’iso de Windows XP. On presse entrée, on accepte avec F8 puis on rentre toutes les informations demandées. Une fois Windows installé, on installe les VMware Tools pour le confort. On fait suivant puis installer. Installation du serveur DHCP sudo apt install isc-dhcp-server sudo vim /etc/default/isc-dhcp-serverINTERFACESv4="ens34"sudo vim /etc/dhcp/dhcpd.conf Change the domain name and domain name servers (DNS) according to yours in the section mentioned below: # option definitions common to all supported networks... option domain-name "your_domain.com"; option domain-name-servers ns1.your_domain.com, ns2.your_domain.com; If this DHCP server is the official DHCP server for the local network, the authoritative directive should be uncommented. authoritative; Mettre abubuntusrv au lieu de ns1 et enlever ns2.ab.org Option domain-name-servers abubuntusrv.ab.org sudo service isc-dhcp-server start sudo systemctl status isc-dhcp-server.service Installation et configuration du proxy : Squid Installation sudo apt-get install squid Configuration sudo nano /etc/squid/squid.conf On ajoute après la ligne « acl CONNECT » : acl lan src 172.16.17.0/24 Après « hhtp_access allow localhost manager »: http_access allow lan On gère les headers. Après la ligne : « TAG : request_header_access » : request_header_access Via deny all request_header_access X-Forwarded-For deny all request_header_access Referer deny all request_header_access Cache-Control deny all sudo systemctl restart squid sudo systemctl enable squid Port par défaut = 3128. On le voit « http_port 3128 ». On voit si c’est fonctionnel : ss -tunelp | grep 3128 Pare-feu On configure le pare-feu : sudo firewall-cmd --add-service=squid –permanent sudo firewall-cmd –reload Ajout du proxy sur les clients Ajout du Ubuntu Desktop Installation du serveur web apt install apache2 mysql-client mysql-server php libapache2-mod-php sudo apt-get install php-imap php-ldap php-curl php-xmlrpc php-gd php-mysql php-cas sudo mysql_secure_installation Pour la dernière commande, on nous demande le mot de passe de mysql. On rentre Y à chaque fois. Installation de phpmyadmin apt-get install phpymadmin On choisit apache2 avec la barre espace. Puis non. On modifie ensuite le mot de passe de phpmadmin : sudo mysql -u root -p On modifie new-password par le mot de passe souhaité. ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'new-password'; exit sudo service mysql stop sudo service mysql start Installation de moodle apt install graphviz aspell ghostscript clamav php7.2-pspell php7.2-curl php7.2-gd php7.2-intl php7.2-mysql php7.2-xml php7.2-xmlrpc php7.2-ldap php7.2-zip php7.2-soap php7.2-mbstring service apache2 restart apt install git cd /opt git clone git://git.moodle.org/moodle.git cd moodle git branch -a git branch --track MOODLE_38_STABLE origin/MOODLE_38_STABLE git checkout MOODLE_38_STABLE cp -R /opt/moodle /var/www/html/ mkdir /var/moodledata chown -R www-data /var/moodledata chmod -R 777 /var/moodledata chmod -R 0755 /var/www/html/moodle nano /etc/mysql/mysql.conf.d/mysqld.cnf Dans la catégorie [mysqld], rajouter ces lignes en plus : default_storage_engine = innodb innodb_file_per_table = 1 innodb_file_format = Barracuda service mysql restart Ci-dessous, on remplace moodledude par un nom d’utilisateur et passwordformoodledude par un mot de passe. mysql -u root -p CREATE DATABASE moodle DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; create user 'moodledude'@'localhost' IDENTIFIED BY 'passwordformoodledude'; GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,CREATE TEMPORARY TABLES,DROP,INDEX,ALTER ON moodle.* TO moodledude@localhost IDENTIFIED BY 'passwordformoodledude'; quit; chmod -R 777 /var/www/html/moodle On se rend sur l’interface web. 172.16.17.1/moodle Chemin pour moodledata : /var/moodledata Database type : mysqli Database Settings : Host server: localhost Database: moodle User: moodledude (the user you created when setting up the database) Password: passwordformoodledude (the password for the user you created) Tables Prefix: mdl_ On poursuit. chmod -R 0755 /var/www/html/moodle Administration > Server > System Paths Path to du: /usr/bin/du Path to apsell: /usr/bin/aspell Path to dot: /usr/bin/dot Save Changes mkdir /var/quarantine chown -R www-data /var/quarantine Site Administration > Plugins > Antivirus plugins > Manage antivirus plugins Activer On change ensuite l’ip du serveur car il est en 192.168.0.200 de base. cd /var/www/html/moodle nano config.php On change la ligne $CFGàwwwroot = ‘http://172.16.17.1/moodle’ ; Installation de Webmin Webmin n’a pas besoin d’apache pour fonctionner. Webmin est fourni avec un simple serveur web nommé miniserv.py. Selon la documentation de Webmin, l’installer sous Apache impacterait les performances. Cela n’est pas recommandé. Pour installer Webmin sur un serveur Ubuntu 16.04, on commence par installer quelques dépendances : sudo apt-get install -y perl libnet-ssleay-perl openssl libauthen-pam-perl libpam-runtime libio-pty-perl apt-show-versions python libwww-perl liblwp-protocol-https-perl On ajoute la clef pour vérifier l’intégrité des paquets du dépôts de Webmin: sudo wget -O- http://www.webmin.com/jcameron-key.asc | sudo apt-key add - On ajoute les dépôts à la fin du fichier sources.list : sudo nano /etc/apt/sources.list #Webmindeb http://download.webmin.com/download/repository sarge contribdeb http://webmin.mirror.somersettechsolutions.co.uk/repository sarge contrib Il ne reste plus qu’à mettre à jour la liste des paquets : sudo apt-get update Et à l’installer : sudo apt-get install webmin Webmin est ensuite disponible à l’adresse suivante : https://172.16.17.1:10000/ On rentre les identifiants du serveur. Voici l’interface obtenue. Pare-feu ufw enable ufw app list ufw allow in ”nom de l’application” EXEMPLE : ufw allow in “Apache Full” On autorise SSH, Apache Full, Squid, Samba, Bind9… Environnement graphique apt-get install gufw Il faut ensuite avoir Putty et Xmind sur le windows. https://sourceforge.net/projects/xming/files/latest/download On lance XLaunch et on coche « No Access Control”. On se connecte avec putty et on rentre les commandes suivantes : export DISPLAY=IPDUWINDOWS:0.0 /usr/bin/gufw-pkexec -ssh Par défaut UFW autorise les requêtes de ping (ICMP Echo Requests). Il faut éditer /etc/ufw/before.rules et remplacer les « ACCEPT » par « DROP » aux lignes suivantes : Samba Apt-get install samba Apt-get install system-config-samba Export DISPLAY=IPDUWINDOWS:0.0 addgroup prof addgroup cadre addgroup eleve adduser xgramine adduser rduverver … adduser xgramine prof … smbpasswd -a xgramine On définit un mdp Dans l’interface graphique, on clique sur ajouter un partage, naviguer et dans File System et home, on crée un dossier pour chaque utilisateur. https://debian-facile.org/atelier:chantier:samba-partage-reseau