Installation de Cloudron

Rédigé par J'informatique 2 commentaires
Classé dans : Développeur Mots clés : cloudron, nextcloud

Pré-requis : être à l'aise pour administrer un serveur.

Cloudron c'est quoi ?

C’est une plateforme permettant de déployer en quelques minutes de nombreuses applications tel que NextCloud, RocketChat, GitLab, Etherpad, Wallabag avec un service clé en main incluant l’hébergement et le backup. L’équipe de Cloudron propose un abonnement payant géré par leurs soins ou bien, ils vous proposent de l’héberger vous même sur le serveur de votre choix.

Site officiel : https://cloudron.io/

Ayant un serveur dédié chez OVH, je détaille les étapes pour sécuriser le serveur et installer Cloudron.

Préparation du serveur

Création de la clé SSH

Sur un PC Linux ou Mac, créer la paire de clés (plus robuste contre les attaques) comme suit :

ssh-keygen -t ed25519 -f id_ed25519 -o -a 500
# ou bien
ssh-keygen -t rsa -b 4096 -o -a 500

Copier la clé publique dans le panel OVH. Puis se connecter au serveur fraichement installé avec Ubuntu 16.04 "Xenial Xerus" LTS.

ssh root@<IP> -i ~/.ssh/id_ed25519.pub

Changement du mot de passe root par défaut

passwd

Résoudre l’erreur perl: warning: Setting locale failed

locale-gen fr_FR.UTF-8
dpkg-reconfigure locales

https://memo-linux.com/resoudre-lerreur-perl-warning-setting-locale-failed/

Création d'un nouvel utilisateur pour ne pas utiliser root

adduser <user>
usermod -aG sudo <user>

Se connecter en user pour lui ajouter la clé privée SSH

su - user
mkdir ~/.ssh
chmod 0700 ~/.ssh
sudo cp /root/.ssh/authorized_keys2 /home/user/.ssh/authorized_keys2
sudo chown user:<user /home/user/.ssh/authorized_keys2
chmod 0600 /home/user/.ssh/authorized_keys2
exit
rm /root/.ssh/authorized_keys2

Sécuriser l'accès au serveur SSH.

Lire la page sécurité de Cloudron.

vi /etc/ssh/sshd_config
Port 202   # Changement du port par défaut pour éviter les attaques brute force. Uniquement ce port n'est pas bloqué par le firewall Cloudron
ServerKeyBits 4096
PermitRootLogin no
UsePAM no
PasswordAuthentication no

On enregistre et on quitte avec ":x"
Redémarrage du serveur SSH pour prendre en compte les modifications :

systemctl restart sshd

Connexion SSH avec user

ssh user@<IP> -p202 -i ~/.ssh/id_ed25519.pub
su -

 

Installation de Cloudron

wget https://cloudron.io/cloudron-setup
chmod +x ./cloudron-setup
./cloudron-setup --provider ovh

apt install fail2ban

Pour plus d'informations, lire la doc d'installation.

Installation de Cloudron CLI

J'avais besoin d'envoyer une grande quantité de données, mais plutôt que de le faire par l'interface web ou le programme nextcloud, je l'ai fais en SSH. Le transfert terminé, il faut indiquer à nextcloud de scanner les nouveaux fichiers. Cela se fait en ligne de commande depuis son poste.

Using the Cloudron CLI tool

sudo npm install -g cloudron
cloudron login my.<site>
cloudron list 
cloudron exec --app <appid>
sudo -u www-data php -f occ files:scan --all