User Tools

Site Tools


serveur-linux

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

serveur-linux [2020/06/24 14:34] (current)
guy created
Line 1: Line 1:
 +====== Serveur LINUX ======
  
 +===== Installation =====
 +
 +Pour disposer facilement d'un serveur, choisir une solution Linux, **Ubuntu Server** par exemple. Télécharger sur le site Ubuntu la version correspondant à l'​ordinateur. Choisir de préférence une version **LTS** qui garantit des mises à jour sur une durée de 3 ans. Consulter la page 
 +
 +http://​doc.ubuntu-fr.org/​serveur ​
 +
 +et suivre le tutoriel à l'​adresse ​
 +
 +http://​doc.ubuntu-fr.org/​tutoriel/​installation_configuration.
 +
 +Le choix de la taille des partitions peut se faire selon la répartition suivante (voir § Restauration du Ghost):
 +
 +- 20 Go pour la partition-racine (/),
 +
 +- 512 Mo ou 1 Go pour le swap,
 +
 +- le reste pour les données (/home).
 +
 +<note important>​
 +Pour simplifier la configuration du serveur, procéder à l'​**installation de base** du serveur, suivie de l'​installation d'​**OpenSSH-server** avec la commande ​
 +<​file>​sudo apt-get install openssh-server</​file>​
 +Puis faire tout le reste à partir d'un **poste voisin** en utilisant une connexion **SSH**, ce qui permet l'​utilisation de la documentation et des copier-coller.
 +</​note>​
 +
 +===== Réinstallation complète =====
 +
 +==== Sauvegardes préalables ====
 +
 +Fichiers et répertoires de configuration à sauvegarder de l'​ancien serveur:
 +
 +  * /etc/group
 +  * /etc/passwd
 +  * /​etc/​bind/​named.conf
 +  * /​etc/​firehol/​firehol.conf
 +  * /​etc/​apache2/​sites-available/​
 +  * /​etc/​backup-manager.conf
 +  * /​etc/​samba/​smb.conf
 +  * /​etc/​samba/​smbusers
 +  * /​etc/​ssh/​ssh_config
 +  * /​etc/​proftpd
 +  * /​etc/​backup-manager.conf
 +  * /​etc/​smokeping/​config.d/​Targets
 +  * /home
 +
 +<note important>​Ces données ne doivent pas être introduites dans le serveur directement à cause des changements de version, introduisant des modifications de configuration. Il faut comparer le contenu de chaque fichier pour y introduire manuellement les paramètres anciens.</​note>​
 +
 +==== Installations spécifiques ====
 +
 +  * Serveur Web (**Apache**) - **PHP** - **Mysql** ​
 +<​file>​sudo apt-get install apache2 libapache2-mod-php5 ​ phpmyadmin libapache2-mod-python mysql-server apache2-utils</​file>​
 +ou, plus simple, passer par l'​installation du serveur LAMP
 +<​file>​sudo apt-get install lamp-server^ ​ # avec l'​accent circonflex au bout</​file>​
 +    * /​etc/​apache2/​sites-available/​default
 +- Modifier la première ligne :
 +<​code>​NameVirtualHost *:​80</​code>​
 +- et les lignes suivantes :
 +<​code><​VirtualHost _default_:​80>​
 +        ServerName d3in.org
 +        ServerAdmin webmaster@d3in.org</​code>​
 +    * Test
 +Créer le mot de passe pour le root mysql (différent du root système) :
 +<​file>​sudo mysqladmin -u root password "​votre_mot_de_passe_root_mysql
 +/​etc/​init.d/​apache2 restart </​file>​
 +
 +  * Serveur **Samba**
 +Installer les paquets ​ **[[apt://​samba4,​winbind]]**
 +
 +  * **SSH**
 +Installer [[apt://​openssh-server]].
 +
 +  * Sauvegarde (**Backup-manager**)
 +<​file>​sudo apt-get install backup-manager </​file>​
 +Pour la configuration,​ se reporter sur http://​coursinforev.ovh.org/​dokuwiki/​doku.php/​sauvegarde_linux#​backup-manager
 +
 +  * **Webmin** ​
 +
 +Voir [[http://​coursinforev.ovh.org/​dokuwiki/​doku.php/​serveur_linux?​s=webmin#​webmin|Webmin]]
 +
 +  * **Munin**
 +<​file>​sudo apt-get install munin </​file>​
 +
 +  * **Smokeping**
 +<​file>​sudo apt-get install smokeping </​file>​
 +
 +===== Changement de serveur: utilisation de Ghost =====
 +
 +
 +
 +
 +==== Ghost d'un Serveur ====
 +
 +
 +=== Création du Ghost ===
 +
 +Par sécurité, quand on a fini d'​installer et bien vérifié les différentes fonctions du serveur qui tourne et que l'on veut dupliquer cette bonne configuration,​ il est utile de faire une sauvegarde (appelée souvent **ghost**) de la partition racine du serveur. En cas de besoin, il suffira de la restaurer pour retrouver rapidement une machine neuve. ​
 +
 +L'​exemple donné ci-après est pour une clé USB.
 +
 +  * Mettre la clé USB en place
 +  * Déterminer l'​appellation Linux de la clé. Pour cela, chercher à l'​identifier avec la commande ​
 +<​file>​sudo fdisk -l    # pour identifier le périphérique dans la liste qui apparait</​file>​
 +  * ou encore
 +<​file>​sudo more /​proc/​partitions</​file>​
 +
 +De toute façon, la clé USB a toute chance de se trouver sous un nom comme ///​dev/​sdb1//​ (ou ///​dev/​sdc1//​ ou ...) selon les configurations de l'​ordinateur.
 +
 +  * Monter la clé USB en /​mnt/​custom ​
 +<​file>​sudo mkdir /mnt/custom
 +sudo mount /dev/sdb1 /​mnt/​custom ​ # ou sdb1 ou autre...</​file>​
 +
 +  * Vérifier le contenu
 +<​file>​cd /mnt/custom
 +ls</​file>​
 +
 +  * Lancer le CD-Rom **SystemRescueCD** à partir du serveur à sauvegarder.
 +
 +  * Lancer **partimage** (Attention, partimage ne connaît pas encore le format **ext4**. Si besoin, utiliser **clonezilla** en remplacement).
 +
 +  * Enregistrer le ghost sur la clé en lui donnant un nom clair à identifier plus tard .
 +<​code>/​mnt/​custom/​nom_du_ghost_date ​ # en fait, n'​indiquer le chemin que si ce n'est pas le répertoire courant</​code>​
 +
 +{{partimage.png}}
 +
 +__Ou bien__, ​
 +  * monter le disque de données hda3 ou hda4 (/home) en créant auparavant le répertoire hda3(ou 4) dans /mnt ou /media,
 +  * lancer Partimage,
 +  * enregistrer le ghost sur cette partition,
 +  * copier ensuite ce ghost à l'abri sur une clé USB (ou graver sur CD).
 +
 +>>>​Si besoin, se reporter sur l'​excellent [[http://​doc.ubuntu-fr.org/​image_partition_disque-usb_ntfs_live-cd#​sauvegarde_d_une_partition|Tutoriel]] d'​Ubuntu expliquant la procédure à suivre pour sauvegarder une  partition.
 +
 +
 +=== Restauration du Ghost ===
 +
 +  * Créer les partitions du nouveau disque avec **cfdisk** de SystemRescue CD:
 +
 +| name   | Flags | Part type | FS type     | Label  | Size(MB) ​   |   
 +| hda1 | Boot  | Primary ​  | Linux ext3  | (/)    | 20001       ​| ​    
 +| hda2   ​| ​      | Primary ​  | Linux swap  | (swap) | 512 ou 1000 |
 +| hda3 |       | Primary ​  | Linux ext3  | (/home)| le reste    | 
 +
 +On peut aussi utiliser une autre alternative avec **sfdisk**, si on veut refaire à l'​identique une configuration sur une nouvelle machine avec même disque dur:
 +
 + - enregistrer d'​abord la table de partition du PC modèle:
 +<​file>​sudo sfdisk -d /dev/sda > sda-sfdisk.dump ​ # pour un disque SATA en sda</​file>​
 +
 + - recopier le dump sur une clé USB pour l'​emmener sur le PC à configurer
 +
 + - démarrer le PC avec un LiveCD et insérer la clé USB
 +
 + - recopier le dump de la clé vers le /home du LiveCD
 +
 + - ouvrir une console, rester dans le répertoire /home et entrer la commande
 +<​file>​sudo sfdisk -l /dev/sda < sda-sfdisk.dump</​file>​
 +
 + - la table de partitions est maintenant écrite sur le PC, reste à formater les partitions (voir plus loin) et restaurer le ghost (voir plus loin).
 +
 +Ou sinon, prendre **GParted** avec un CD Live Knoppix ou Ubuntu.
 +
 +  * Formater s'il y a lieu les partitions :
 +
 +<​file>​
 +mkswap /dev/hda2
 +mkfs.ext3 /dev/hda3
 +</​file>​
 +
 +  * Monter la clé USB qui contient le fichier ghost (voir auparavant avec partimage le baptême exact de la clé (sda, sdb, sdc...,​sdf...):​
 +
 +<​file>​
 +cd /
 +umount /mnt/custom
 +mount /dev/sda1 /mnt/custom
 +</​file>​
 +
 +  * Lancer **partimage** (Attention, partimage ne connaît pas encore le format **ext4**. Si besoin, utiliser **clonezilla** en remplacement).
 +
 +Les commandes pour la navigation dans __partimage__ sont les suivantes: ​
 +
 +- Pour passer d'une option à une autre : **Tab**
 +
 +- Déplacement dans une option : **Flèches**
 +
 +- Sélectionner une option : touche **Espace**
 +
 +- Valider : touche **Entrée**
 +
 +Pour la récupération du ghost sur la partition hda1, lui donner le chemin et l'​adresse du fichier (/​mnt/​hda1/​jeriserv_hda1) et cocher l'​option __Restore__ puis F5.
 +
 +  * Monter la partition hda1 pour pouvoir réadapter le paramétrage à la nouvelle configuration
 +
 +<​file>​
 +cd /
 +umount /mnt/custom
 +mount /dev/hda1 /mnt/custom
 +</​file>​
 +
 +  * Modifier le **fstab** pour tenir compte de la configuration du PC utilisé. En particulier,​ les partitions des disques **SATA** prennent l'​appellation sda1, sda2,​sda3...
 +
 +<​file>​cd /​mnt/​custom/​etc
 +nano fstab</​file>​
 +
 +Vérifier et modifier s’il y a lieu les paramètres en prenant exemple de la copie d'​écran suivante:
 +
 +{{perso:​fstab.png|}}
 +
 +<​code>​
 +Ctl X (quitter) et enregistrer (y)
 +</​code>​
 +
 +
 +(Il est prudent de faire une copie du fstab dans /tmp)
 +
 +**Nota** Si par la suite, on utilise un disque USB externe pour un **Backup** (que l'on fera en /​home/​ftpbackup),​ on pourra ajouter deux lignes ​
 +<​code>#​ /dev/sde1 Disque USB en /​home/​ftpbackup
 +/​dev/​sde1 ​      /​home/​ftpbackup ext3    defaults ​      ​0 ​      0
 +</​code>​
 +
 +  * Mettre à jour le **grub** :
 +
 +<​file>​
 +cd /​mnt/​custom/​boot/​grub
 +nano menu.lst
 +</​file>​
 +
 +- Corriger si besoin (hd0,0)
 +
 +- Remplacer tous les UUID (Universal Unique IDentifier) par /dev/hda1
 +
 +- Vérifier les baptêmes des partitions
 +
 +- Quitter par Ctl X
 +
 +  * Enregistrer le grub en passant d'​abord par un **chroot**
 +
 +<​file>​
 +chroot /mnt/custom (passage du CD-ROM au serveur)
 +grub-install /dev/hda
 +exit (sortie du chroot)
 +</​file>​
 +
 +  * Vérifier la configuration et les adresses **réseau** (commande **ifconfig** et fichier **/​mnt/​custom/​etc/​network/​interfaces**) et en particulier le réseau utilisé **eth0** ou **eth1**.
 +
 +  * Arrêter ou redémarrer par halt ou reboot
 +
 +  * Après redémarrage,​ récupérer les sauvegardes du serveur distant par FTP.
 +
 +Ouvrir le FTP:
 +<​file>​
 +lftp jeriserv@r2d2.xgenus.com
 +</​file>​
 +Entrer le mot de passe
 +
 +Naviguer dans le serveur par la commande **cd** et lister les dossiers<​file>​ls</​file>​
 +Si nécessaire,​ se situer dans l'​arborescence par<​file>​pwd</​file>​
 +Transférer par 
 +<​file>​
 +get ...
 +</​file> ​
 +ou même **mirror.**
 +
 +Inversement pour télécharger un fichier vers le serveur, la commande est: **put** ...
 +
 +Quitter par la commande **quit**
 +
 +
 +===== Adresse réseau du serveur =====
 +
 +Vérifier la configuration et les adresses **réseau** (commande **ifconfig** et fichier **/​etc/​network/​interfaces**) et en particulier le réseau utilisé **eth0** ou **eth1**.
 +
 +Pour connaître les paramétres des interfaces-réseau,​ entrer:
 +<​file>​ifconfig -a</​file>​
 +
 +Le fichier de configuration est en **/​mnt/​custom/​etc/​network/​interfaces**,​ si on est encore en SystemRescueCD. L'​exemple suivant montre une configuration pour un réseau eth1 avec adresse IP fixe.
 +<​code>#​ The loopback network interface
 +auto lo
 +iface lo inet loopback
 +
 +#Primary network interface Ethernet ​
 +auto eth1
 +iface eth1 inet static
 +        address 192.168.123.251
 +        netmask 255.255.255.0
 +        broadcast 192.168.123.255
 +        network 192.168.123.0
 +        gateway 192.168.123.254
 +</​code>​
 +En cas de modification du paramétrage et enregistrement,​ la réactivation peut se faire sans passer par le reboot grâce à la commande:
 +
 +<​file>​
 +sudo /​etc/​init.d/​networking restart
 +</​file>​
 +
 +ou encore
 +<​file>​sudo ifdown eth0
 +sudo ifup eth0  # ou encore sudo ifup -a</​file>​
 +
 +Consulter également [[http://​coursinforev.ovh.org/​dokuwiki/​doku.php?​id=reseau_l#​attribution_d_une_adresse|Attribuer une adresse fixe]]
 +
 +
 +===== Sauvegarde des données stockées =====
 +
 +
 +==== Backup ====
 +
 +  * Les sauvegardes se font ici par **Backup-Manager**. Par sécurité, on fait une première sauvegarde dans un dossier /​home/​BACKUP et une seconde par FTP sur un disque dur monté en /​home/​ftpbackup (voir § Installation serveur-Restauration du Ghost). ​
 +
 +  *  Pour monter le disque dur externe en /​home/​ftpbackup,​ on crée le point de montage dans /home et on ajoute la ligne suivante dans /etc/fstab:
 +<​code>​
 +# /dev/sdb1 Disque USB en /​home/​ftpbackup
 +UUID=f68f6797-0e90-4e14-a9a8-e72b09805824 ​      /​home/​ftpbackup ​   ext3   ​ defaults ​      ​0 ​      0
 +</​code>​
 +
 +  * Le fichier de configuration est en **/​etc/​backup-manager.conf**:​
 +    * Repository. Indiquer l'​emplacement des archives (par exemple, /​home/​Backup)
 +    * Section TARBALL. Indiquer la méthode de compression (.tar.gz), les répertoires à sauvegarder
 +    * Clés du tarball. Fréquence et jour de la sauvegarde complète
 +    * Sauvegarde MySQL
 +    * Méthode FTP. Nom d'​utilisateur,​ mot de passe, emplacement de la sauvegarde FTP, durée de conservation.
 +
 +Pour plus d'​information,​ consulter le chapitre[[sauvegarde_linux#​backup-manager|Backup-Manager]].
 +
 +==== Restauration des archives (serveur distant) ====
 +
 +En cas de besoin, on peut accéder aux  enregistrements effectués par le serveur local sur le serveur distant grâce à Samba. Ceux-ci sont classés par utilisateurs et par groupes. Ils sont constitués des sauvegardes incrémentales successives et d'une sauvegarde globale appelée Master. Ces archives sont comprimées en .tar.gz qui s'​ouvrent sur PC avec **UltimateZip**. Ces archives apparaissent sous la forme:
 +
 +<​code>​jeriserv-home-JERICHO-RMI.20070808.tar.gz </​code>​
 +
 +où l'​arborescence Linux du fichier apparait et où la date se lit année-mois-jour.
 +
 +Pour récupérer une archive, procéder selon le support utilisé pour la(les) sauvegarde(s). Sur un serveur à partir de Windows, lancer le logiciel de transfert FTP **FileZilla ** sur le serveur distant (r2d2.xgenus.com) et entrer identifiant et  mot de passe nécessaires. Si la sauvegarde est sur un disque externe, il suffit de le brancher pour y accéder.
 +
 +==== Miroir d'un site ====
 +
 + Pour un site distant, il est bon de sauvegarder ce site quelque part ailleurs pour pouvoir le reconstruire en cas de problème. Ce peut être une utilisation d'un serveur. La commande se fait par FTP:
 +<​file>​lftp nom_hote -u loginFTP_site,​mot_passe -e "​mirror repertoire;​exit"</​file>​
 +
 +===== Gestion serveur à partir d'un autre PC  =====
 +
 +Différentes solutions sont disponibles pour travailler sur un serveur à partir d'un autre poste. Le tableau suivant récapitule les outils à utiliser pour réaliser différentes tâches selon que ce poste est d'une part, en local (sur même réseau) ou distant (à travers Internet) et d'​autre part, une plate-forme Windows ou Linux.
 +
 +| |  ^ Local ^ Distant |
 +^ Windows | Gestion serveur | Webmin (Linux) installé sur serveur| OpenVPN + Webmin (Linux) installé sur serveur|
 +| | Suivi serveur | Munin (Linux) installé sur serveur| OpenVPN + Munin (Linux) installé sur serveur|
 +| | Transfert fichiers | FileZilla |FileZilla en mode sécurisé, WinSCP|
 +| | Navigation arborescence | Favoris réseau, Exécuter: \\adresse_IP | OpenVPN + Adresse serveur |
 +| | Commande directe | Putty | Putty |
 +| |Surveillance réseau |Smokeping (Linux) installé sur serveur | Smokeping (Linux) installé sur serveur |
 +^ Linux | Gestion serveur | Webmin | OpenVPN (ou SSH) + Webmin |
 +| | Suivi serveur | Munin | OpenVPN (ou SSH) + Munin |
 +| | Transfert fichiers | Gftp, lftp | sftp, scp |
 +| | Navigation arborescence | Connexion réseau | OpenVPN (ou SSH) + Adresse serveur |
 +| | Commande directe | SSH, putty | SSH, putty |
 +| |Surveillance réseau |Smokeping installé sur serveur | Smokeping installé sur serveur |
 +
 +
 +==== Suivi du serveur ====
 +
 +Pour accéder aux différentes applications de suivi du serveur, passer par un navigateur en indiquant l'​adresse (ici, IP 192.168.123.250 sur le réseau local).
 +
 +{{192.168.123.250_550.png|}}
 +
 +et choisir ensuite l'​application voulue:
 +  * **apache**,
 +  * **munin**, qui montre le fonctionnement et l'​utilisation du serveur (à l'​installation,​ prendre munin et munin-node),​
 +  * **phpmyadmin**,​ utilisé pour la gestion des tables des BDD,
 +  * **phpsysinfo**
 +
 +{{munin_600.png|}}
 +
 +
 +Ici, la copie d'​écran de **Munin** correspond ici à un serveur distant avec connexion VPN (voir plus loin). Pour plus d'​information sur **Munin**, consulter la documentation http://​doc.ubuntu-fr.org/​munin.
 +
 +  * **smokeping**. Se reporter au lien [[reseau_linux#​smokeping|suivant]]. On y accède par Firefox avec l'​adresse suivante ​
 +<​code><​adresse_serveur>/​cgi-bin/​smokeping.cgi</​code>​
 +
 +De nombreuses informations intéressantes sont enregistrées par le serveur dans ses propres fichiers, en particulier,​ dans **/​var/​log/​syslog**.
 +
 +La configuration des sauvegardes Backup-Manager est dans le fichier **/​etc/​backup-manager.conf**.
 +
 +
 +
 +
 +==== Webmin ====
 +
 +**Webmin** est une interface graphique qui permet d'​administrer un serveur Linux à distance via n'​importe quel navigateur Web. Grâce à Webmin, l'​adminstrateur accède à de nombreuses fonctions: création d'​utilisateurs et de groupes **Unix** mais aussi gestion **Samba** (donc directement avec application dans le monde des clients Windows) et bien d'​autres.... ​
 +
 +=== Installation ===
 +
 +  * Attention, les dépendances suivantes sont à installer au prélable: **libnet-ssleay-perl**,​ **libauthen-pam-perl**,​ **libio-pty-perl** et **libmd5-perl**.
 +<​file>​sudo apt-get install libnet-ssleay-perl libauthen-pam-perl libio-pty-perl libmd5-perl</​file>​
 +  * Pour le téléchargement,​ aller ensuite sur le site Webmin ​ et récupérer le fichier .deb <​file>​ wget http://​prdownloads.sourceforge.net/​webadmin/​webmin_1.510_all.deb</​file>​
 +Pour l'​installer,​ se placer dans le dossier /​home/<​login>​ et lancer l'​installation:​
 +<​file>​sudo dpkg -i webmin_1.510_all.deb</​file>​
 +
 +=== Utilisation ===
 +
 +Pour le lancer, entrer dans un navigateur l'​adresse: ​
 +<​file>​https:​\\adresse_reseau_serveur:​10000\ en local sur PC</​file>​
 +<​file>​https://​adresse_reseau_serveur:​10000/​ en local en Linux</​file>​
 +
 +{{webmin_600.png|}}
 +
 +**NB:** Pour un serveur __distant__,​ il faut soit, avoir au préalable lancé **openvpn**,​ soit utiliser une connexion **SSH**. Voir également [[controle-distance_linux|Contrôle à distance]].
 +
 +Ne pas oublier de:
 +  * définir les **utilisateurs** et les **mots de passe** des utilisateurs,​ ainsi que les **groupes** pour que Samba donne bien accès aux fichiers selon les groupes et les droits définis par ailleurs (menu: Système/​Utilisateurs et groupes)
 +
 +{{webmin_users.png|}}
 +
 +  * définir les répertoires partagés et les droits d'​accès (menu: Serveurs/​Partages de fichiers Samba), vérifier ou paramétrer la page de configuration Samba **/​etc/​samba/​smb.conf**,​
 +
 +{{webmin_partages.png|}}
 +
 +  * cliquer en finale sur le bouton **Restart Samba server** en bas de la page Samba Windows File Sharing.
 +
 +Le fichier de configuration Samba **/​etc/​samba/​smb.conf** peut être édité directement dans Webmin par Samba Windows File Sharing/​Global Configuration/​Edit Config File. Il existe une documentation Ubuntu pour la configuration du fichier http://​doc.ubuntu-fr.org/​samba_smb.conf
 +
 +Pour assurer la protection du serveur, consulter le réglage du cryptage SSL de Webmin sur http://​www.01net.com/​article/​164398.html
 +
 +La documentation Webmin pour Ubuntu est sur http://​doc.ubuntu-fr.org/​webmin ou plus généralement à l'​adresse http://​doxfer.com/​Webmin/​Modules.
 +
 +
 +==== Commande directe du serveur ====
 +
 +=== Putty / WinSCP (Windows) ===
 + 
 +En Windows, on peut prendre simplement les commandes d'un serveur local par **putty**, qui donne accès au serveur en lignes de commande. Voir chapitre [[putty|Putty]]. Il existe aussi une autre application,​ **WinSCP**.
 +
 +Pour une connexion distante, voir également le paragraphe [[http://​coursinforev.ovh.org/​dokuwiki/​doku.php?​id=serveur_linux#​redirection_de_ports|Redirection de ports]]
 +
 +=== SSH (Linux) ===
 +
 +En Linux, pour prendre les commandes d'un serveur local, utiliser la connexion **SSH**. Pour plus de détails, consulter également le paragraphe [[http://​coursinforev.ovh.org/​dokuwiki/​doku.php?​id=reseau_l#​ssh|Réseau Linux § SSH]]
 +
 +Se reporter au paragraphe suivant [[http://​coursinforev.ovh.org/​dokuwiki/​doku.php?​id=serveur_linux#​redirection_de_ports|Redirection de ports]].
 +
 +
 +===== Accès aux fichiers =====
 +
 +Pour accéder aux fichiers enregistrés sur un serveur local, plusieurs solutions selon le système utilisé.
 +
 +=== Cas Windows --> Linux ===
 +
 +La plupart du temps, un serveur Linux travaille au profit de postes Windows. Deux possibilités pour arriver au serveur:
 +
 +  * passer par **backslash-backslash**,​ c'est à dire: cliquer Démarrer/​Exécuter... et entrer **\\adresse_IP_PC_dist**
 +
 +{{backslash.png|}}{{122.251.png|}}
 +
 +
 +  * passer par **Favoris réseau** (avec un succès mitigé en XP et surtout en Vista). Inconvénient:​ il garde en mémoire les fichiers partagés du PC local et des différents PC raccordés auparavant. Si dans tote la liste, on ne trouve pas ce que l'on cherche, il faut passer par //Ajouter un favori// et le chercher dans le réseau.
 +
 +{{favoris.png|}}
 +
 +
 +=== Cas Linux vers Linux ou Linux vers Windows ===
 +
 +**Raccourcis/​Se connecter à un serveur** en indiquant l'​adresse du serveur. On obtient alors l'​arborescence des dossiers partagés auxquels on a accès.
 +
 +
 +{{guy_192.168.123.250_.png|}}
 +
 +===== Préalable Serveur distant: Redirection de ports =====
 +
 +Pour pouvoir intervenir à distance (par Internet) sur le serveur, que ce soit en Putty, en SSH, en Webmin..., il faut pouvoir s'​adresser au serveur distant. La seule adresse utilisée ici est l'​adresse de la Box derrière laquelle est installé le serveur.
 +
 +Ce qui impose donc, d'​avoir paramétré la Box pour qu'​elle assure la **redirection de ports** vers l'​adresse locale du serveur et d'​utiliser,​ selon le cas OpenVPN, (voir plus loin).
 +
 +Si le serveur est lui-même derrière un autre routeur, la redirection se fait en deux étapes:
 +  * redirection Box vers  IP Entrée routeur,
 +  * redirection routeur vers IP serveur
 +
 +Pour une redirection,​ se mettre dans la fonction administration de l'​équipement,​ option redirection de ports (port forwarding). En général, indiquer:
 +  * un nom du service (pour l'​identifier plus tard),
 +  * le port de départ,
 +  * le port d'​arrivée (a priori, le même),
 +  * l'​adresse de l'​équipement aval vers lequel on veut rediriger le port.
 +
 +Par exemple, on peut passer par **putty** (valable sous Windows comme sous Linux. Voir le Chapitre [[putty|Putty]]) ​ ou directement en **SSH** pour Linux (Voir [[reseau_l|Réseau Linux]] paragraphe SSH) et lui indiquer l'​adresse IP de la Box dont il dépend. On se trouve alors sur le serveur en lignes de commande Linux.
 +
 +{{putty_distant_600.png|}}
 +
 +
 +===== Virtual Private Network (VPN) =====
 +
 +On a vu plus haut au paragraphe [[serveur_linux#​gestion_serveur_a_partir_d_un_autre_pc|Gestion serveur]] les fonctions de contrôle accessibles à distance. Pour y accéder, on a le choix entre deux solutions sécurisées:​
 +
 +  * liaison sécurisée VPN pour laquelle il faut utiliser **OpenVPN** installée des deux côtés. Se reporter au chapitre [[openvpn|OpenVPN]]
 +
 +  * connexion **SSH** sur l'​adresse publique distante avec redirection port SSH utilisé sur Box et routeur.
 +
 +
 +==== VPN Windows ====
 +
 +Pour communiquer en sécurité avec un __serveur distant__ (Internet), à partir d'une machine __Windows__,​ utiliser le logiciel **OpenVPN** en configurant en particulier dans le dossier ///config// l'​adresse Internet pour accéder au serveur et les certificats de sécurité. Ajouter également une connexion virtuelle par le menu Tous les Programmes/​OpenVPN qui fait apparaître dans la zone de notification une nouvelle icône à deux écrans.
 +
 +Cliquer sur l'​icône avec écrans rouges pour le lancer. Ces écrans passent au vert quand la connexion est établie.
 +
 +{{iconevpn.png|}} ​
 +
 +
 +==== VPN Linux ====
 +
 +Sous Ubuntu, **OpenVPN** s'​installe par l'​intermédiaire d'un **paquet** conçu à cet effet. La configuration est faite à partir du répertoire **/​etc/​openvpn/​config**. Pour le paramétrage,​ on peut copier le dossier de configuration Windows __C:/​Program Files/​OpenVPN/​config__ dans __/​etc/​openvpn/​__ en changeant le contenu du fichier de configuration __xxx.ovpn__ en __xxx.conf__.
 +
 +Pour l'​utilisation précise, le paramétrage d'​OpenVPN et la création de clés et de certificats,​ consulter la [[http://​doc.ubuntu-fr.org/​openvpn|documentation OpenVPN d'​Ubuntu]]
 +
 +  * Pour le lancer, entrer **en root**
 +<​file>​cd /​etc/​openvpn/​
 +openvpn xxx.conf</​file>​
 +ou en une seule commande par:
 +<​file>​cd /​etc/​openvpn/;​openvpn xxx.conf</​file>​
 +  * Arrêt par 
 +<​file>​pkill openvpn ​   # ou par  /​etc/​init.d/​openvpn stop </​file>​
 +
 +
 +==== OpenVPN ====
 +
 +Quelle que soit la plate-forme utilisée, une fois OpenVPN lancé, on peut alors, comme en réseau local, accéder aux fonctions citées plus haut en local (l'​adresse à entrer est une adresse virtuelle du type **10.8.0.1**,​ selon configuration):​
 +
 +  * index **Munin**, **PHPMyAdmin**,​ **Apache**, **PHPSysInfo** par Anti-slash/​Anti-slash (//​Démarrer/​Exécuter (PC)//​): ​
 +<​file>​\\10.8.0.1</​file> ​
 +ou avec un navigateur avec l'​adtresse http://​10.8.0.1
 +
 +{{10.8.0.1-2_500.png|}}
 +
 +  * arborescence complète ​
 +    * en Windows, par Favoris Réseau
 +    * en Linux par Raccourcis/​Se connecter à un serveur/​SSH,​ entrer l'​adresse 10.8.0.1. On peut alors naviguer, copier, ouvrir des fichiers...
 +
 +{{guy_sur_10.8.0.1.png|}}
 +
 +
 +  * **Webmin** par l'​adresse Internet: ​
 +<​file>​https:​\\10.8.0.1:​10000 (en Windows)</​file>​
 +<​file>​https://​10.8.0.1:​10000 (en Linux)</​file>​
 +
 +{{webmin_linux-local_450.png|}}
 +{{webmin_l2_550.png|}}
 +
 +Webmin est une application qui permet, entre autres, de gérer les utilisateurs,​ les groupes, les partages de fichiers...
 +
 +
 +
 +
 +===== Partage Samba =====
 +
 +**Samba** est un protocole de partage de ressources, il se paramètre de plusieurs façons complémentaires:​
 +  * par l'​interface Webmin, ​
 +  * par le paramétrage du fichier de configuration **/​etc/​samba/​smb.conf**.  ​
 +
 +Le test de la configuration se fait par la commande
 +<​file>​sudo testparm /​etc/​samba/​smb.conf</​file>​
 +Le redémarrage de Samba après changement se fait par
 +<​file>​sudo /​etc/​init.d/​smbd restart ​ # sous Lucid</​file>​
 +<​file>​sudo /​etc/​init.d/​samba restart ​ # avant Lucid</​file>​
 +
 +Pour naviguer à __distance__ dans l'​arborescence du serveur à partir de __Windows__, ​
 +  * lancer **OpenVPN**
 +  * entrer directement dans l'​explorateur de fichiers Windows ou Démarrer/​Exécuter:​
 +<​file>​\\10.8.0.1</​file>​
 +
 +{{10.8.0.1c_500.png|}}
 +
 +
 +Pour les droits d'​accès et les mots de passe, il est nécessaire de faire une **synchronisation**
 + ​Linux-Samba pour que les droits soient les mêmes des deux côtés. Lancer l'​administration Webmin. A gauche, cliquer //​Serveurs/​Samba Windows Filesharing puis Samba Users/​Configure automatic user (and group) synchronisation//​.
 +
 +Pour le partage de fichiers Samba, il est également nécessaire d'​éditer le fichier de configuration Samba **/​etc/​samba/​smb.conf**. ​ pour attribuer les droits de lecture-écriture aux groupes.
 +
 +
 +===== Connexion Linux =====
 +
 +  * Sous Ubuntu, pour se connecter, faire **Raccourcis/​Se connecter à un serveur**, choisir :
 +    * FTP avec identification
 +    * SSH
 +    * Partage Windows
 +et rentrer l'​adresse-réseau,​ (le port), l'​identifiant.
 +
 +  * En terminal, la connexion se fait directement par **ssh**:
 +<​file>​ssh login@adresse_IP</​file>​
 +A la première fois, SSH demande confirmation de l'​identité correspondante pour la mémoriser ensuite.
 +
 +===== Gestion utilisateurs,​ groupes, mots de passe, dossiers =====
 +
 +Cette gestion peut et même doit se faire de deux façons complémentaires
 +
 +  * par les fonctions de **Webmin** (par https://​adresse_serveur:​10000),​ aller dans:
 +    * Système/​Change Passwords
 +    * Système/​Utilisateurs et groupes
 +    * Serveur/​Partage de fichiers Windows avec Samba/​Utilisateurs Samba
 +    * Matériel/​Grub,​ éditeur démarrage.\\ ​
 +
 +  * en Linux par **lignes de commande**, se reporter au chapitre [[utilisateurs|Gestion utilisateurs,​ groupes, mots de passe]].
 +
 +
 +===== BDD =====
 +
 +
 +==== PHP MyAdmin ====
 +Le chemin d'​accès se fait par l'​index du serveur:
 +
 +  * en local, par l'​adresse (ex: 192.168.123.250/​),​
 +
 +  * en déporté (OpenVPN), par l'​adresse IP de l'​endroit où est installé le serveur.
 +
 +
 +==== MySQL ====
 +
 +Pour importer des tables Access, passer à partir des tables //(putty en service)//. L'​exportation se fait par le format ODBC, puis dans Source de données machine, choisir la BDD appropriée.
 +
 +
 +===== Changement de version serveur =====
 +
 +L'​upgrade de version du serveur Ubuntu se fait, comme pour Ubuntu Desktop, avec toutes les modifications de la version courante appliquées.
 +<​file>​sudo apt-get update ​  # mise à jour de la base de données des paquets</​file>​
 +<​file>​sudo apt-get upgrade ​ # mise à jour</​file>​
 +
 +Si on utilise un serveur Ubuntu (version à partir de 7.04), utiliser le nouveau système d'​upgade serveur:
 +
 +  * Installer update-manager-core s'il n'est pas déjà installé:
 +
 +<​file>​sudo apt-get install update-manager-core</​file>​
 +
 +   * Lancer l'​outil de mise à jour:
 +
 +<​file>​sudo do-release-upgrade</​file>​
 +
 +   * Suivre les instructions à l'​écran.
 +
 +**Attention** L'​upgrade de version n'est pas une panacée. En effet, avec les changements de version, il peut y avoir des changements dans les fichiers de configuration qui ne sont pas tous faciles à gérer.
 +
 +On peut avoir intérêt à faire un ghost avec partimage pour la sécurité, sauvegader les fichiers de configuration et installer de zéro la nouvelle version de server (prendre de préfèrence une version LTS pour les mises à jour de sécurité sur 3 ans).
serveur-linux.txt · Last modified: 2020/06/24 14:34 by guy