Voilà bien des années que j’utilise Yunohost (depuis ces débuts avec sa version v1) pour héberger un petit serveur chez moi. J’ai commencé avec un ordinausore qui avec 750Mo de ram et vieux processeur, mais il marchait que diable ! Un ami m’avait même répondu qu’il accédait à mon site (en Puxml à l’époque, cms sans base de données) depuis la Nouvelle Calédonie assez rapidement. Et puis j’ai appris à gérer un serveur petit à petit comme un néophyte que j’étais avec quelques difficultés au début.
Il y a deux ou trois ans, j’ai migré sur un autre ordinateur de récupération un peu plus costaud, mais pas tant, avec 3Go de ram, toujours avec une architecture i686, c’est à dire qu’il n’avait qu’un cœur (processeur), c’était un peu plus rapide, quoique c’est surtout la connexion qui s’est améliorée au fil du temps, dans ma petite zone rurale d’Ardèche, en bout de ligne…
Il y a quelques mois un poteau d’EDF est tombé et à arraché la ligne téléphonique sur 3 poteaux, j’ai du attendre un plus de 3 mois pour que ce soit rétabli (en partie), après une chute de neige, j’ai de nouveau été coupé un mois. J’en profitais pour réfléchir à ce que je voulais faire depuis bien longtemps, migrer mon serveur sur une petite boîte qui consommerait moins et qui ferait moins de bruit; surtout que l’alimentation de l’ordinateur avait été changée avec une autre vieille alimentation qui vrombissait, régulièrement je tapotait dessus quand le bruit s’emballait pour atténuer son vacarme… bref.
Je me suis décider et j’ai acheter un Orange Pi2 Plus sur un site chinois.
Voici quelques captures de la bête, le montage et la version finale…

ÉTAPES DE LA MIGRATION
D’abord j’ai télécharger l’image armbian Jessie (Debian_jessie_default.7z) pour mon appareil ici, décompressée l’archive, et copié l’image sur une carte mini-SD avec la commande
$ sudo dd if=~/Téléchargements/Armbian_5.35_Orangepiplus_Debian_jessie_default_3.4.113/Armbian_5.35_Orangepiplus_Debian_jessie_default_3.4.113.img of=/dev/mmcblk0 bs=1M
Je n’ai pas trouvé comment agrandir la partition par la suite, mais ce n’est pas utile.
Ensuite une fois la carte introduite dans son réceptacle et en branchant l’Orange Pi2 Plus,

  • soit on a un écran branché en HDMI et un clavier USB (avec identifiant:root password:1234),
  • soit on se connecte en ssh à la machine (en retrouvant son adresse IP auparavant) et via un terminal
    $ ssh root@adresse_ip_orangepi.

La première chose est de changer le mot de passe root (1234 par défaut(current)), attention le clavier est QWERTY. On peut créer un utilisateur qui aura des droits sudo.
Pour changer d’utilisateur:
# su nom_utilisateur
Ensuite, il y a un outil de configuration avec la commande
# armbian-config
(Voir aussi la Documentation)
Configurer l’heure (Timezone), la langue (Locales), changer le nom de la machine(Orangepi) par: Yunohost. Faire une mise à jour avec un # apt update && apt upgrade et redémarrer.
Pour mettre le clavier en français, j’ai du passer par
# dpkg-reconfigure keyboard-configuration
# service keyboard-setup restart

Vous aurez peut-être à le refaire par la suite, après ma réinstallation de yunohost, j’ai du reconfigurer le clavier AZERTY.
Ensuite, il m’ a suffit de :

  • Avoir fait auparavant un backup de toute ce que je voulais garder dans l’ancien serveur (app, mais aussi système) via la sauvegarde de l’api de yunohost.
  • Exporter mon backup depuis cet ancien serveur (le récupérer sur mon ordinateur), l’archive se trouvait dans le dossier /home/backup/archives, pour le récupérer depuis mon ordinateur:
    $ scp root@IP_ou_NDD:/home/yunohost.backup/archives/aaaammjj-hhmmss.tar.gz /home/$USER
    $ scp root@IP_ou_NDD:/home/yunohost.backup/archives/aaaammjj-hhmmss.info.json /home/$USER
  • Installer YunoHost sur mon nouveau serveur sans faire la postinstallation (avec l’utilisateur que l’on a créé avec des droits sudo)
    $ sudo apt-get install git dialog
    $ git clone https://github.com/YunoHost/install_script /tmp/install_script
    $ cd /tmp/install_script && sudo ./install_yunohost
  • Envoyer son backup sur le nouveau serveur et le mettre dans le dossier (à créer) /home/yunohost.backup/archives/
    $ sudo mkdir /home/yunohost.backup
    sudo mkdir /home/yunohost.backup/archives

    puis depuis le /home de son ordinateur vers son serveur
    $ scp /home/$USER/aaaammjj-hhmmss.info.json root@IP_ou_NDD:/home/yunohost.backup/archives
    $ scp /home/$USER/aaaammjj-hhmmss.tar.gz root@IP_ou_NDD:/home/yunohost.backup/archives
  • À la place de faire la postinstallation, restaurer l’archive avec yunohost backup restore (sans le .tar.gz)
    $ sudo yunohost backup restore nom_de_la_sauvegarde
    Il faut être patient, c’est très long et ne pas faire attention au premier Avertissement d’erreur.

Là en redémarrant, magie, mon serveur était là. Par contre ne pouvant plus me connecter en ssh, j’ai utiliser l’écran HDMI et le clavier. J’ai du reconfigurer le clavier en français (voir ci-dessus). Je me suis créé un utilisateur avec des droits sudo et avec des droits de connexion ssh. Pour cela, une fois connecter en root:
# adduser toto
# adduser toto sudo

Puis pour ssh
# nano /etc/ssh/sshd_config
# Recherchez le paragraphe « Authentication » et ajoutez à la fin de celui-ci :
AllowUsers toto

Comme cela l’utilisateur toto peut se connecter en ssh, mais il est recommandé d’aller plus loin dans la sécurité dans la documentation de Yunohost ici.
Pour mettre mon serveur sur un disque le disque dur SATA avec plus d’espace et aussi parce que les cartes SD ne fonctionne pas toujours si bien dans la durée, après plusieurs erreurs et une réinstallation, c’est bien plus simple que mes premiers essais que je ne vous détaille pas…
D’abord au préalable, j’ai partitionner le disque dur en deux partitions avec en fin de disque une partition swap de 1.5Go et le reste en ext4.
Il y a encore un outil tout près dans armbian, en lançant la commande
$ sudo nand-sata-install
on la proposition boot sur SD et système sur SATA ou USB… c’est aussi simple.
Ensuite on redémarre et il reste quelques que configurations à faire…
éditer les partitions dans le fichier /etc/fstab
Mon fichier fstab ressemblait à cela:
#
tmpfs /tmp tmpfs defaults,nosuid 0 0
/var/swap none swap sw 0 0
UUID=173bb8f3-f2d3-4fce-9f51-e55dfd9605e5
UUID=0bd18549-75f4-48a5-a29e-41d9c10701c4 /media/mmcboot ext4 defaults,noatime,nodiratime,commit=600,errors=remount-ro,x-gvfs-hide 0 1
/media/mmcboot/boot /boot none bind 0 0
UUID=1058bc3f-7c1d-4da5-b19f-04a7c93ed368 / ext4 defaults,noatime,nodiratime,commit=600,errors=remount-ro,x-gvfs-hide 0 1

Comme ma partition / est sur un disque dur et non plus sur la carte SD, les options ne conviennent pas et je veux rajouter la partition swap qui est sur le disque externe.
Puis je pense aussi que que la partition ‘/var/swap none swap sw 0 0’ n’a plus besoin d’être ni celle de ‘tmpfs /tmp tmpfs defaults’, elles sont à désactivées (ou commentées avec un #), ce sont des lignes utiles pour la carte SD ou un disque dur SSD qui ne gère pas la mémoire de la même façon.
La seule partition qui est importante sur la carte SD c’est celle du boot (Ici, je crois qu’il y a deux partitons qui gère le boot (je les laissent sans être sûr qu’elles soient toutes indispensables)…
Du coup j’ai éditer mon /etc/fstab de cette façon:
#
# tmpfs /tmp tmpfs defaults,nosuid 0 0 #commenté pour désactiver
# /var/swap none swap sw 0 0 #commenté pour désactiver
UUID=173bb8f3-f2d3-4fce-9f51-e55dfd9605e5
UUID=0bd18549-75f4-48a5-a29e-41d9c10701c4 /media/mmcboot ext4 defaults,noatime,nodiratime,commit=600,errors=remount-ro,x-gvfs-hide 0 1
/media/mmcboot/boot /boot none bind 0 0
UUID=1058bc3f-7c1d-4da5-b19f-04a7c93ed368 / ext4 defaults,errors=remount-ro 0 1
UUID=e91add84-8745-455c-ac50-1f37fd06c39a none swap sw 0 0

Pour connaître les UUID, il y a la commande:
sudo blkid
qui me permet de savoir l’UUID de ma partition swap et pour voir les partitions
sudo fdisk -l
Ensuite quelques commandes pour le outils SMART du disque (ici mon disque extérieur est sda et la partition root sda1):
$ sudo tune2fs -l /dev/sda1
$ sudo tune2fs -c 10 /dev/sda1
$ sudo tune2fs -i 7d /dev/sda1

Redémarrer
sudo reboot
Une fois reconnecté
sudo apt-get install smartmontools
$ sudo smartctl --info /dev/sda
$ sudo smartctl -P show /dev/sda
$ sudo smartctl -H /dev/sda
$ sudo smartctl -a /dev/sda

Voilà, j’ai sûrement des choses à améliorer, affiner avec le temps, mais je suis ravi de voir ce petit serveur marcher qui propulse ce site et gère mon courrier avec Roundcube, un Nextcloud pour des fichiers, OpenSondage pour des dates, Zerobin pour envoyer des lignes de code, etc…
Longue vie à YunoHost

Yunohost: transfert sur un Orange Pi2 Plus
Tagged on:             

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.