Horde Groupware is a free and open source collaboration suite that offers calendar, notes, tasks, file manager and many more. It comes with a dynamic, basic and mobile-friendly web-based interface and provides unlimited resources per user. It works on any web server with PHP support and most operating systems including Linux, Windows, MacOS and Solaris.
In this tutorial, we will teach you how to install Horde Groupware on the Debian 10 server.
- A server running Debian 10.
- A valid domain name pointed to your server IP. in this tutorial we will use the test.example.com domain.
- A root password is configured on your server.
Before you begin, it is a good idea to update your system with the latest version. You can update your system with the following command:
apt-get update -y
apt-get upgrade -y
After updating the system, restart it to implement the changes.
Installing Apache, MariaDB and PHP
Horde runs on the web server, written in PHP and uses MariaDB to store its data. So you need to install Apache, MariaDB, PHP and other necessary dependencies in your system. You can install all of them by running the following command:
apt-get install apache2 mariadb server php php-pear libapache2-mod-php php-common php-curl php-mbstring php-xmlrpc php-mysql php-gd php -xml php-intl php-ldap php-imagick php-tidy php-json php-cli-y
Once all packages are installed, open the php.ini file make some changes:
nano / etc / php / 7.3 / apache2 / php.iniebrit19659010 Replace the following lines:memory_limit = 256M upload_max_filesize = 100M max_execution_time = 360 date.timezone = Asia / Kolkata
Save and close the file when you are done.
By default, the MariaDB root password is not configured in Debian 10. So you have to set it first.
then log on to the MariaDB shell with the following command:
When you log in, set your MariaDB root password with the following command:
MariaDB [(none)]> SET PASSWORD # 39; root & # 39; @ & # 39; localhost & # 39; = PASSWORD ("rootpassword");
Then create a database and user for Horde with the following command:
MariaDB [(none)]> CREATE DATABASE hordedb;
MariaDB [(none)]> CREATE USER & # 39; hordeuser & # 39; @ & # 39; localhost & # 39; IDENTIFIED BY & # 39; password & # 39 ;;
Then you grant all permissions to the Horde database with the following command:
MariaDB [(none)]> SUPPORT ALL ON hordedb. * ON & # 39; hordeuser & # 39; @ & # 39; localhost & # 39; WITH GRANT OPTION;
Then flush the privileges and exit the shell from MariaDB with the following command:
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;
When you're done, you can move on to the next step.
Installing and configuring Horde
To install Horde, you must register the Horde bulb channel. You can do this with the following command:
pear channel-Discover pear.horde.org
You should see the following output:Add channel "pear.horde.org" succeeded The discovery of the channel "pear.horde.org" succeeded
Then install Horde roll with the following command:
pear install horde / horde_role
You should see the following output:Download Horde_Role-1.0.1.tgz ... Starts downloading Horde_Role-1.0.1.tgz (10,977 bytes) ..... done: 10,977 bytes install ok: channel: //pear.horde.org/Horde_Role-1.0.1 horde / Horde_Role has pre-installed scripts: /usr/share/php/PEAR/Installer/Role/Horde/Role.php Horde_Role: Use "pear run-scripts horde / Horde_Role" to complete the installation. DON'T RUN WRITINGS FROM TRUSTED SOURCES
Then you need to set up the Horde file system directory. You can set it with the following command:
pear run-scripts horde / horde_role
You will be prompted to provide Horde directory path as shown below:Including external script after installation "/ usr / share / php / PEAR / Installer / Role / Horde / Role.php "- any errors found in this script The inclusion succeeded run script after installation "Horde_Role_postinstall-> init ()" it succeeded File system location for the base Horde application: / var / www / horde The configuration has been saved in the PEAR configuration. Install scripts completely
Finally, install Horde Groupware with the following command:
pear install -a -B horde / groupware
You will be prompted for several settings such as, database backend, database user, password, database, Horde Administrator User and Password as below:Installing Horde Groupware Configure database settings What database backend should we use? (false) [None] (mysql) MySQL / PDO (mysqli) MySQL (mysqli) (oci8) Oracle (pgsql) PostgreSQL (SQLite) SQLite Enter your selection : mysql Username to connect to the database as *  hordeuser Password to connect to How should we connect to the database? (unix) UNIX socket (tcp) TCP / IP Enter your selection [unix]: unix Place for UNIX sockets  Database name to use *  hordedb Internally used charset * [utf-8] Use SSL to connect to the server? (false) No. (True) Yes Enter your choice : false Shared reading to another server? (false) Disabled (true) Enabled Enter your selection [false]: Should Horde log in all questions. If you choose, questions will be logged at DEBUG level to your configured logs. (1) Yes (0) No. Enter your selection : Write the main configuration file ... done. Create and update database tables ... done. Configure administrator settings Enter a username for the administrator account: [email protected] Enter a password for the administrator account: Write the main configuration file ... done. Thank you for using Horde Groupware.
When the installation is complete, create a Horde temp directory with the following command:
mkdir / var / www / horde / tmp
Then set the Horde password utility with the following command:
pear install -a -B horde / passwd
Then give proper permission to the Horde directory with the following command:
chown -R www-data: www-data / var / www / horde /
Once done, you can you move on to the next step.
Configuring Apache for Horde
Then you need to configure Apache virtual host configuration file for Horde. You can create it with the following command:
nano /etc/apache2/conf-available/horde.confospel19659010??Add the following lines:Alias / Microsoft-Server-ActiveSync / var / www / horde / rpc.php Alias / horde / var / www / horde Server name test.example.com DocumentRoot / var / www / horde
DirectoryIndex index.php Option + FollowSymLinks AllowOrrride All Require everyone granted AddType application / x-httpd-php .php php_value include_path ".: / usr / share / php" php_value open_basedir "none" php_value upload_tmp_dir "/ var / www / horde / tmp /"
Save and close the file when you are done. Then enable the Horde configuration file with the following command:
Finally, restart the Apache service to apply the changes:
systemctl restart apache2
Access Horde Groupware
Now open your web browser and type the URL : n http://test.example.com/horde . You will be redirected to the Horde Groupware login page:
Enter your administrator username, password and click Log in the button. You should see the standard Horde Groupware panel on the following page:
Congratulations! you have installed and configured Horde Groupware on Debian 10 server. You can now start exploring the Horde and expand its functionality. Feel free to ask me if you have any questions.