Step by Step humhub installation on Ubuntu 20.04 LTS- Open source social network

humhub is a PHP based open-source social network platform that one can install on Linux server or desktop editions such as Ubuntu 20.04/18.04, CentOS 7 /8, RHEL, and others. Here, we will show the steps, on how to install and use this personal social network platform to build your own community. It is perfect for social Intranets, Enterprise Social Networks, Collaboration, and Private Social Networks.

Although there are many social media networks present online to use such as Facebook, however, if you worry about privacy and want a restricted social network of your own then Humhub can be an option to go with.  You can use it for public or private communities, in schools, for creating enterprise social Intranet in your own premises only; for agencies, etc. It all depends upon you what is your need.

If we talk about the features of this personal open-source social network platform then that is extendable using additional modules available to download from its marketplace.

HumHub is available in two versions, one is the community that we are going to install here and the other is enterprise one but with slight extra features such as Commercial License, professional support, Prioritized Bugfixes;
Long-Term-Support (LTS) and Expanded LDAP-Support.

Well, there are some limitations of this platform as well such as you cannot use to host billions of active users like Facebook because it is not designed in such as way; the platform is customizable, however for the extensive one you will need a developer help; the guest mode is limited and no payment integration is available currently. You can know more about this platform on HumHub’s About section.

How to install humhub on Ubuntu 20.04 LTS Linux

Here we are using the latest Ubuntu 20.04 LTS, however, the user can follow the steps for Ubuntu 20.10/19.04/18.04… Linux Mint, Debian, MX Linux, and other same Linux distros.

System requirements

  • Apache or Nginx Webserver with mod_php or php-fpm
  • 64 MB of memory allocated to PHP
  • 500 MB for the applications
  • 100 MB for the database
  • PHP 7.3 or 7.4
  • PHP with extensions-  GD, Curl, MBString, MySQL, ZIP, EXIF, INTL, FileInfo, ImageMagick  (optional but recommended), LDAP, APC, and Memcached
  • MariaDB 10.1+ or MySQL 5.7+

1. Update Ubuntu 20.04 System

Run the system update command on your Ubuntu 20.04 server, so that the repo cache can be rebuild again along with updating of installed packages of the system.

sudo apt update

3. Install Apache Webserver for HumHub

As the Apache webserver is recommended to be used by the developers of this social network platform. Thus, we will use the same here as well.

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

Enabe FPM nd FCGI for Apache

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

4. Setup PHP latest version

By default, while doing this article, the latest version available to download and use on Ubuntu 20.04 LTS was PHP 7.4, thus simply run the below command to install that as well as other extensions.

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

5. Configure PHP.ini

We need to increase the Memory to execute scripts, increase the upload size limit for the files, and maximum execution time for the Humhub. All that can be done from php.ini

Check the path PHP.ini present on you system

php -i | grep -i php.ini

You will see the path of the file, now copy and use it with the nano command to edit the file.

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

Scroll down and find the below lines, and change their corresponding values as given below:

post_max_size = 32M

max_execution_time = 120

upload_max_filesize = 32M

To save the file press Ctrl+X and the Y followed with the Enter Key.

systemctl restart apache2

6. Install MariaDB or MySQL DataBase and create Schema

Both MariaDB and MySQL work similarly, so you can use any of them.

For MariaDB

sudo apt install mariadb-server mariadb-client automysqlbackup

or

For MySQL

sudo apt install mysql-server mysql-client automysqlbackup

Secure MySQL Installation

To remove the demo database and users including the remote access of the MySQL or MariaDB, run the below command and follow the wizard.

sudo mysql_secure_installation

Login to MySQL server

sudo mysql

Here we are using:

  • Database name= humhub_demo
  • Database User = humhub_user
  • Database Password= pass-change

Note: Change the above values in the below command as per your choice.

Create a new database

CREATE DATABASE `humhub_demo` CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

Create a user 

CREATE USER 'humhub_user' IDENTIFIED BY 'pass-change';

Give the create user permission to manage database

GRANT ALL ON `humhub_demo`.* TO `humhub_user`@localhost IDENTIFIED BY 'pass-change';

FLUSH PRIVILEGES;

exit;

Create database for HumHub social network

7. Download HumHub

Go to the official website of the Humhub social network and download the latest version. If you want to use the command terminal to download it, then right-click on the download button and copy the link to use with wget.

However, the current version is 1.7.0 thus you can use the below command:

cd /tmp
wget https://www.humhub.com/download/package/humhub-1.7.0.tar.gz

8. Extract and move humhub to the webroot

Now, extract and move the humhub directory to the Apache webserver public root directory, so that we can access it later using a browser.

sudo tar -xvf humhub-*.*.tar.gz
sudo mv humhub-*.*/ /var/www/humhub

Now give the Apache user permission to fully manage the humhub extracted folder.

sudo chown -R www-data: /var/www/humhub

9. Create Virtual Host

Here instead of using the default Apache configuration file, we will create a new one, this approach would be good in case you are planning to host multiple websites on the same web server.

Create Apache configuration file for humhub

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

Here we are using the Http port to access the humhub, thus add the following lines in your configuration file. 

<VirtualHost *:80> 

ServerAdmin [email protected]_example.com
ServerName your_example.com
ServerAlias www.your_example.com 

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>

To save the file press CTRL+X, then Y followed by the Enter key.

Remove default conf file of Apache

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

Enable the created virtual host for Apache webserver

sudo a2ensite humhub
systemctl reload apache2

10. Access HumHub open-source Social network in Browser

Finally, all the basic things have been done. Now, open your browser and either use the domain or IP address of the server where the Hunhub has been installed by you.

http://domain.com
or
http://ip-address

11. Setup HumHub

Welcome to Social network ToolBox

Simply click on Next to move further.

Humhub Linux server

System Check

This step will let you know all the required modules or extensions are activated and working fine.

System CHeck for configuration

Database Configuration

We have created a database while performing this tutorial, enter the details of that. You can also use some remote MySQL database by specifying its address in the Hostname and then the database details available on it.

Database configuration

Social network Name

Assign the name which you want to use for your social network on HumHub.

You Own Social Network name

Configuration

Pre-define setups are available to select for that most common use cases with different options for modules and settings, choose the one as per your setup.

Configuration for HumHub social intranet

Security Settings

Select the options to configure how you want to allow unregistered users on your social media network …

Secuirty Settings HumHub

Recommended Modules

Let all the modules selected by default and simply click on the Next button to install them. You can enable them later from your Account Settings.

Activate Modules

Create Admin Account

Enter the username and password along with the email address you want to use for the Administrator account for HumHub.

Create An admin account for HumHub social network

Dashboard

The main home screen of the Humhub that will appear to other users on your social network when they visit your profile is similar somewhat to Facebook.

H2S media Humhub Social Media network opensource

Account Settings

Account settings

Post Area

Dashboard on HumHub installation over Ubuntu 20.04

Friends’ Profile – Request send

Friend request

Closing thoughts

In this way, we can quickly set up the HumHub on our Ubuntu Linux server. To know more about it, see the documentation of this platform. Here is the link. 

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.