Development Environment
Requirements
Git/Composer Installation
The following guide describes a git based installation of the HumHub platform. Please note that this is only recommended for developers and testers and should not be used in production environments. For production environments, please follow the Installation Guide for Administrators.
Database Setup
Create a MySQL/MariaDB database:
CREATE DATABASE `humhub` CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
Fore more infos check the Database Setup Section.
Clone HumHub
Clone the git repository into the htdocs
directory of your webserver:
git clone https://github.com/humhub/humhub.git
Run Composer
Navigate to your HumHub web-root
directory and fetch your composer dependencies:
composer install
Run web installer
The HumHub web installer should now be accessible e.g. under http://localhost/humhub. Please refer to the Installation Guide for further instructions as file permissions.
Configuration
Quick Notes
- Make sure the
debug
mode is enabled (default), see Enable Production Mode - Disable caching under
Administration -> Settings -> Advanced -> Caching -> None
- Use file based mailing
Administration -> Settings -> Advanced -> E-Mail
Queue configuration
Since HumHub makes heavy use of Queued Jobs you should configure the
Instant or Sync Queue for your developement environment or setup the
Cronjob for a production like environment. Otherwise you'll
have to run queue/run
command manually in order to execute queued tasks as notifications and summary mail.
Module Loader Path
The default path under which HumHub searches for installed modules is @humhub/protected/modules
. Additional search paths
can be configured within @humhub/protected/config/common.php
as follows:
// @humhub/protected/config/common.php
return [
'params' => [
'moduleAutoloadPaths' => ['/some/folder/modules'],
],
]
This separation should be done for custom modules which are not in the marketplace
(e.g, @app/custom-modules
) or for your development environment in order to define a central module directory
for different test installations and prevent interference with marketplace modules.
Yii Debug Module
You may want to enable the Yii Debug Module for detailed
request and query debugging. Just add the following block to your local web configuration protected/config/web.php
:
return [
'bootstrap' => ['debug'],
'modules' => [
'debug' => [
'class' => 'yii\debug\Module',
'allowedIPs' => ['127.0.0.1', '::1'],
],
]
];
Update your installation
Git based installations can be updated manually as follows:
- Pull updates from git:
git pull origin master
- Run database migrations within your HumHub
protected
directory:
php yii migrate/up --includeModuleMigrations=1
- You may also need to also run a
composer install
after an update in order to update third party dependencies.
⚠️ Note that the HumHub Updater module won't work on git based installations, therefore you'll have to update and migrate your HumHub manually.
Production Mode
A git based installation won't run in production mode without building the production assets manually. This is also required in order to run acceptance tests.
Test Environment
Please refer to the Testing Guide for information about setting up a test environment and running tests on core custom modules.
HumHub Developer Tools
The devtools module provides some useful showcases and a module generator based on Gii.