Download and extract
This guide describes the installation of the packaged version of HumHub. The packaged version of HumHub includes a production ready version of HumHub with all required third party dependencies and production assets. Make sure your server meets the System Requirements before you install HumHub.
If you intend to setup a development environment for HumHub, follow the Development Environment guide instead.
The packaged version of HumHub is available at https://www.humhub.org/download.
After the download, just place the package into the
htdocs folder of your web server.
At least following directories and files needs to be writable by the PHP process:
If you want to use the HumHub automatic updater, all files must be writable.
Open your browser and open the URL e.g. https://temp.humhub.dev.
The HumHub installer will now start and will guide you through the initial setup process.
In the section below, only the most common method (also based on the installation structure of Server Setup) is described.
On the page Cron Jobs we will go into this topic in more detail.
Cron job setup steps:
Open the crontab of HumHub/PHP process user e.g.
Add following line to the crontab:
Make sure to replace
/var/www/humhub with the path of your HumHub installation.
The following configuration settings can be made directly in HumHub via the browser.
HumHub sends emails to the users e.g. during the registration, password recovery, notifications or for daily summaries.
A valid transport and a sender e-mail address must be provided for this purpose. This can be configured in the web interface under `
Administration -> Settings -> Advanced -> E-Mail.
If you installed a local SMTP server e.g. Postfix, you can use
Mail Transport Type option.
You can use external SMTP services like SendGrid, Postmark, Amazon SES, Mailgun or any other SMTP server with the
Mail Transport Type option.
By default HumHub uses the time zone of the web server. However, the time zone of the database server (MariaDB) is the relevant one. If these time zones differs or the server was moved to another location, you need to change this time zone.
You can switch the time zone at:
Administration -> Settings -> General -> Server timezone
If you are not sure which time zone is configured on your Maria DB server, you can query the time zone with the following SQL statement.
Each registered user can also set its own primary time zone in the profile settings.
By default, the HumHub URL includes a index.php file part and looks like https://example.com/index.php?r=dashboard%2Fdashboard. Using the Pretty URL or URL Rewriting feature, shorter and more meaningful URLs can be created such as https://temp.humhub.dev/dashboard.
To enable this feature, both the HumHub configuration and, possibly, the WebServer configuration must be modified.
Modify the HumHub Configuration File and add following block:
Full example of the configuration file:
To enable URL Rewriting in Apache 2.4 based installations it is usually sufficient to copy the supplied file
.htaccess.dist in the root directory of the HumHub installation to
Sometimes it is necessary to enable support for
.htaccess files in the Apache VirtualHost via the
AllowOverwrite all directive.
Example VirtualHost configuration:
The virtual server configuration for NGINX is already prepared for Pretty URLs and there are no further changes required.
Enable production mode
By default HumHub is shipped in debug mode. This means that error messages are shown with maximum details directly to the users. In addition, the performance is reduced because no caching or compressed assets are used.
To activate Production Mode, edit the index.php file and comment out the following lines. To comment out lines, the line must begin with: //
You can see the current mode at
Administration -> Information.
You can find the last execution and number of open background jobs at:
Administration -> Information -> Background jobs
Check the log for error messages and warnings. These can be viewed directly in Humhub under YXZ.
Administration -> Information -> Logging
Please make sure that the following directory is not publicly accessible via the web server.
/protected/config/dynamic.phpcontains the database credentials and should only be readable by the HumHub user (e.g.
Make sure that no warning about the
Debug modeappears under
Administration -> Information -> About HumHub.