Comment installer Hubzilla sur un vps debian 9

Attention ce tuto a été écrit en mars 2019. Il a une durée de vie limité et inconnue. On trouve parfois de vieux tutos qui ne fonctionne plus simplement parce qu’il ne sont plus à jour.

Qu’est ce que Hubzilla

Hubzilla est une plateforme social qui permet d’interagir avec d’autres réseaux sociaux utilisant différents protocoles. Par exemple on peut communiquer avec Mastodon, Friendica, zap ou Diaspora. En plus d’être un réseau social Hubzilla permet de synchroniser ou partager des fichiers, de publier des pages web, d’avoir un wiki, un calendrier, de gérer ses contacts bref cette plateforme permet plus qu’un simple réseau social. La grande force de Hubzilla est sa sécutité qui permet une confidentialité trés fine et poussée et son identité nomade. En effet vous pouvez cloner un canal et l’utiliser depuis un serveur ou un autre. Cette identité nomade en fait une force. Si un serveur a des problèmes, le deuxième serveur va continuer à faire tourner le compte. Cela permet aussi de déménager un canal d’un serveur à un autre de façon transparente.

Hubzilla s’installe sur un serveur classique avec apache php mysql, il est même possible de l’installer chez certains hébergeur mutualisé.

Voici un tutoriel pour l’installer sur un serveur vps debian. Si vous avez un ubuntu cela ne devrait pas beaucoup changé car c’est la même famille.

Avant de commencer on suppose que vous avez un serveur par exemple un vps, que vous savez vous y connecter avec ssh et que vous avez des connaissance pour savoir taper des lignes de commande linux. Il est recommander d’avoir de bonnes bases de compréhension des commandes linux quoi qu’il n’est pas nécessaire de comprendre chaque lignes de commande

Etape 1 : Installation de apache et configuration du domaine

Pour ce tuto on va supposer que vous ayez un domaine avec le nom domaine.com (Il faudra remplacer ce nom par votre domaine ou sous domaine) et que les sources de votre site sera prévu pour se trouver dans le répertoire /home/sites/domaine.com. Changez ce nom par votre répertoire source.

apt update
apt-get install apache2

Configuration du DNS : il faudra faire pointer le domaine sur le serveur. Cela change selon les bureau d’enregistrement du domaine.

Pour la suite du tuto domaine.com représente soit votre nom de domaine soit votre sous domaine. Hubzilla fonctionne trés bien avec un sous domaine.

A ce stade il faudra définir le répertoire ou nous allons placer les sources du site. Il peut se trouver dans /var/www. Moi personnellement je les mets dans /home/sites/domaine.com

virtualhost : Création du fichier de configuration que nous allons mettre dans /etc/apache2/mods-available

<VirtualHost *:80>   
DocumentRoot /home/sites/domaine.com
ServerName domaine.com
<Directory /home/sites/domaine.com>
AllowOverride All
Allow from all
Require all granted
</Directory>
</VirtualHost>

Pour tester nous allons mettre un tout petit fichier texte avec juste le nom du domaine dans le répertoire /home/sites/domaine.com puis ne pas oublier de changer le propriétaire de ce source.

# chown -R www-data /home/sites/domaine.com

On va maintenant activer le serveur virtuel et relancer apache.

# a2ensite domaine.com.conf 
# service apache2 reload

Avant de tester il faut installer un certificat car les navigateurs nous génent de plus en plus si ce n’est pas fait.

# apt-get install certbot 
# apt-get install python-certbot-apache

Création du certificat. Ici j’ai encore de la peine et je suis encore un peu embrouillé mais j’y arrive avec ces deux lignes de codes

# apt-get install certbot 
# apt-get install python-certbot-apache
certbot certonly --standalone -d domaine.com --pre-hook "systemctl stop apache2" --post-hook "systemctl start apache2" 
certbot --apache -d domaine.com

A ce niveau la. Vous devriez pouvoir tester en lançant votre site https://domaine.com et voir afficher votre petit texte. Si c’est le cas Bravo !!! Sinon il peut avoir quantité de raisons. Vous pouvez faire un reboot, vérifier si tout est bien fait, vérifier les permissions refaire le certificat bref pour continuer il faut que cette étape soit terminé.

Etape 2 : installation des prérequis complémentaires ( php, mysql)

# apt-get install php7.2 php7.2-mysql php7.2-curl php7.2-json php7.2-cli php7.2-gd php7.2-xml php7.2-mbstring imagemagick php7.2-zip wget -y

Personnaly I install phpmyadmin

# apt-get install phpmyadmin

Etape 3 : Installation de hubzilla

Nous devons procéder à une création d’une base de donnée. Soit vous pouvez le faire par phpmyadmin soit par ligne de commande.

Ah j’oubliais il nous faut git

# apt-get git

Maintenant procédons à l’installation

cd /home/sites/domaine.com 
# do not forget the dot at the end
git clone https://framagit.org/hubzilla/core.git .
sudo chown -R www-data:www-data /home/sites/domaine.cosudo chmod -R 755 /home/sites/domaine.com
sudo a2ensite hubzilla.conf
sudo a2enmod rewrite
sudo systemctl restart apache2.service

Une fois ceci fait vous pouvez aller sur votre site https://domaine.com et vous suivez les instructions

Ecrant 1 : Ecran de controle. Si il vous manque quelque chose ce écran vous le signalera
Ecran 2 : il vous faut entrer les infos pour la base de donnée : utilisateur, mot de passe et nom de la base de donnée etc…
Ecran 3 : On vous demande l’email de l’adminstrateur. C’est avec cet email que hubzilla saura si vous être admin ou non

Etape 4 : Finir l’installation en paramétrant quelques réglages important

 

Si vous êtes à l’aise avec l’anglais voici la documentation officiel sur l’installation de Hubzilla