You are currently viewing Installez HumHub – votre réseau social privé et open-source

Installez HumHub – votre réseau social privé et open-source

HumHub, un réseau social open-source

HumHub est un réseau social open-source basé sur le Framework PHP Yii et compatible mobile où l’on retrouve les fonctionnalités de base comme la timeline, les profils utilisateurs, le follow, le like, les notifications, les groupes, les partages de fichiers ou médias, etc … Une suite de modules complémentaires est disponible pour compléter les possibilités comme les sondages, la messagerie privée, le calendrier, la gestion de tâches …

Le réseau social peut être utilisé sur les serveurs de Humhub avec une offre limitée ou installé via une interface intuitive sur votre serveur personnel. La plateforme permet une configuration totalement privée ou de laisser le choix aux utilisateurs de gérer la confidentialité de leur page personnelle.

Le réseau social open-source privé

Le design inspiré d’un mix entre Facebook et Twitter est agréable et responsive, ce qui rend la première utilisation très facile. Simple à installer, Humhub est un réseau social qui intéressera les entreprises, associations ou groupes de personnes qui souhaitent partager leurs données privées avec des amis ou collaborateurs sans être soumis aux abus des plus grands comme Facebook, Twitter ou Google sur les données récoltées.


Il est léger, puissant et est livré avec une interface conviviale. Avec HumHub, vous pouvez créer votre propre réseau social personnalisé, intranet social ou énorme application d’entreprise sociale qui correspond vraiment à vos besoins.

Site : https://www.humhub.org


Installation de Humhub sur Linux Ubuntu Server 20.04.3 LTS

Nous allons utiliser la version LTS de Linux Ubuntu Server 20.04

Configuration requise:

  • Serveur Web Apache ou Nginx avec mod_php ou php-fpm
  • 64 Mo de mémoire alloués à PHP
  • 500 Mo pour les applications
  • 100 Mo pour la base de données
  • PHP 7.3 ou 7.4
  • PHP avec extensions – GD, Curl, MBString, MySQL, ZIP, EXIF, INTL, FileInfo, ImageMagick (facultatif mais recommandé), LDAP, APC et Memcached
  • MariaDB 10.1+ ou MySQL 5.7+

Configuration matérielle de la VM:

  • 4 vCPU
  • 4 Go de RAM
  • 60 Go de stockage
  • IP fixe
  • DNS

Je considère que vous savez installer un serveur Ubuntu , passons directement aux choses sérieuses !

Ubuntu Server 20.04 LTS

Mise à jour de la liste des paquets et des paquets eux-mêmes:

# apt update && apt upgrade

Installation du serveur web Apache :

#sudo apt install apache2 libapache2-mod-xsendfile php-fpm

Activation des modes FPM et FCGI pour Apache:

#sudo a2enconf php7.4-fpm
#sudo a2enmod proxy_fcgi setenvif
#systemctl restart apache2

Installation de la dernière version de PHP:

#sudo apt install php php-cli php-imagick php-curl php-bz2 php-gd php-intl php-mysql php-zip php-apcu-bc php-apcu php-xml php-ldap

Configuration du PHP.ini pour augmenter les tailles limites de téléchargement et d’exécution des scripts:

#nano etc/php/7.4/cli/php.ini

Modifiez les valeurs correspondants:

post_max_size = 32M

max_execution_time = 120

upload_max_filesize = 32M

Relancez Apache:

#systemctl restart apache2

Installation et la configuration de la base de données MySQL:

#apt install mysql-server mysql-client automysqlbackup

Sécurisation de MySQL:

Supprimez la base de données de démo et les utilisateurs, y compris les accès distants de MySQL.

#mysql_secure_installation

Connexion à MySQL et la création de la base:

Création d’une nouvelle base de données:

CREATE DATABASE `humhub` CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

Création d’un nouvel utilisateur:

CREATE USER 'humhubuser' IDENTIFIED BY 'changeme';

Création des autorisations de gestion de la BDD pour l’utilisateur que nous venons de créer:

GRANT ALL ON humhub.* TO `humhubuser`@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;

Téléchargement et l’installation de Humhub:

#cd /tmp
#wget https://www.humhub.com/download/package/humhub-1.9.1.tar.gz
#sudo tar -xvf humhub-*.*.tar.gz
#sudo mv humhub-*.*/ /var/www/humhub
#sudo chown -R www-data: /var/www/humhub

Création de VirtualHost pour Humhub:

#sudo nano /etc/apache2/sites-available/humhub.conf

Ajoutez ceci dans le fichier humhub.conf:

###################################

<VirtualHost *:80>

ServerAdmin admin@hub.dudix.tech
ServerName hub.dudix.tech
ServerAlias www.hub.dudix.tech

DocumentRoot /var/www/humhub

<Directory /var/www/humhub/>
Options -Indexes -FollowSymLinks
AllowOverride All
</Directory>

<DirectoryMatch “/var/www/humhub/(\.|protected|themes/\w+/views|uploads/file)”>
Order Deny,Allow
Deny from all
</DirectoryMatch>

<FilesMatch “^\.”>
Order Deny,Allow
Deny from all
</FilesMatch>

</VirtualHost>

###############################

Suppression du fichier de conf par défaut d’Apache:

#sudo rm /etc/apache2/sites-available/000-default.conf

Activation du VirtualHost que nous venons de créer:

#sudo a2ensite humhub
#systemctl reload apache2

L’installation est terminée. Accédez au serveur selon l’accès que vous avez configuré, ou par son nom de domaine ou l’adresse IP.

Avec la configuration de mon nom de domaine perso de chez OVH hub.dudix.tech, les renvoies du pare-feu pfSense interne et du reverse proxy Squid vers mon serveur Ubuntu (avec un certificat Let’s Encrypt global géré en interne sur Squid), en tapant https://hub.dudix.tech je tombe sur la page de Humhub Configuration Toolbox :

A partir de cet écran, suivez le Wizard pour paramétrer la totalité des information nécessaires à identification, configuration personnalisée, la création de l’Administrateur du réseau et l’activation de certains modules etc…

Voici le profil de l’Admin visible par les autres utilisateurs du réseau (après quelques personnalisations)

Profil Humhub Administator

Pour la gestion des notifications lors des mises à jours des statuts, des commentaires et des « J’aimes » nous devons paramétrer une tache cron comme suit:

#crontab -e -u www-data

Copiez ceci dans le fichier crontab:

* * * * * /usr/bin/php /var/www/humhub/protected/yii queue/run >/dev/null 2>&1
* * * * * /usr/bin/php /var/www/humhub/protected/yii cron/run >/dev/null 2>&1

Si nous souhaitons que notre serveur envoie les mails aux utilisateurs nous devons configurer le serveur SMTP dans le menu Administration > Paramètres > Avancé > E-mail (pensez à ouvrir le port SMTP/SSL 465 sur le pare-feu) :

Serveur SMTP Humhub

Dans la parties Modules de nôtre serveur Humhub nous avons un certains nombre de modules que nous pouvons ajouter en un clic:

Humhub Modules

Un nouvel utilisateur sur notre réseau social Open-source, privé et sécurisé !

Son nom me dit quelque chose…

Profil d’utilisateur

Laisser un commentaire