Horde Groupware adalah rangkaian kolaborasi free and open-source yang menawarkan kalender, catatan, tugas, pengelola file, dan banyak lagi. Ia hadir dengan antarmuka berbasis web yang dinamis, basic, danmobile-friendly serta menyediakan sumber daya tak terbatas per pengguna.

Horde Groupware dapat bekerja pada web server apa pun dengan dukungan PHP dan sebagian besar sistem operasi termasuk, Linux, Windows, MacOS dan Solaris.

Dalam tutorial ini, kita akan belajar cara menginstal dan konfigurasi Horde Groupware di server Debian 10.

Prasyarat

  • Server yang menjalankan Debian 10.
  • Nama domain yang valid menunjuk ke IP server Anda. dalam tutorial ini, kita akan menggunakan domain test.example.com.
  • Masuk sebagai root atau user dengan hak sudo

Langkah Awal

Sebelum memulai, sebaiknya perbarui sistem  dengan versi terbaru. Anda dapat memperbarui sistem dengan perintah berikut:

apt-get update && apt-get upgrade -y

Setelah memperbarui sistem, mulai ulang untuk menerapkan perubahan.

Install Apache, MariaDB dan PHP

Horde berjalan di server web, ditulis dalam PHP dan menggunakan MariaDB untuk menyimpan datanya. Jadi Anda perlu menginstal Apache, MariaDB, PHP, dan dependensi lain yang diperlukan di sistem. Anda dapat menginstal semuanya dengan menjalankan perintah berikut:

sudo 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

Setelah semua paket diinstal, buka file php.ini buat beberapa perubahan:

nano /etc/php/7.3/apache2/php.ini

Ubah baris berikut:

memory_limit = 256M
upload_max_filesize = 100M
max_execution_time = 360
date.timezone = Asia/Jakarta

Simpan dan tutup file setelah Anda selesai.

Konfigurasikan Database

Secara default, MariaDB tidak diamankan. Anda dapat mengamankannya dengan skrip berikut:

mysql_secure_installation

Perintah ini akan mengubah kata sandi root, menghapus pengguna anonim, melarang login root dari jarak jauh dan menghapus database pengujian.

Jawab pertanyaan seperti yang ditunjukkan di bawah ini dan pastikan untuk memilih kata sandi yang aman untuk pengguna root:

Enter current password for root (enter for none):
Set root password? [Y/n] Y
New password:
Re-enter new password:
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

Setelah MariaDB diamankan, masuk ke shell MariaDB dengan perintah berikut:

mysql -u root -p

Berikan kata sandi root Anda, lalu buat database dan user database untuk Flarum dengan perintah berikut:

CREATE DATABASE hordedb;
 CREATE USER 'hordeuser'@'localhost' IDENTIFIED BY 'g4nt!_d3n9an_p4$$w0rd';

Selanjutnya, berikan semua privileges ke database Horde dengan perintah berikut:

GRANT ALL ON hordedb.* TO 'hordeuser'@'localhost' WITH GRANT OPTION;

Selanjutnya, flush privilege dan keluar dari shell MariaDB dengan perintah berikut:

FLUSH PRIVILEGES;
EXIT;

Setelah selesai, Anda dapat melanjutkan ke langkah berikutnya.

Instal dan Konfigurasi Horde

Untuk menginstal Horde, Anda butuh mendaftarkan chanel Horde pear. Anda dapat melakukannya dengan perintah berikut:

pear channel-discover pear.horde.org

Anda akan melihat output berikut:

Adding Channel "pear.horde.org" succeeded
Discovery of channel "pear.horde.org" succeeded

Selanjutnya, install role Horde dengan perintah berikut:

pear install horde/horde_role

Anda akan melihat output berikut:

downloading Horde_Role-1.0.1.tgz ...
Starting to download 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 post-install scripts:
/usr/share/php/PEAR/Installer/Role/Horde/Role.php
Horde_Role: Use "pear run-scripts horde/Horde_Role" to finish setup.
DO NOT RUN SCRIPTS FROM UNTRUSTED SOURCES

Selanjutnya, Anda perlu mengatur direktori sistem file Horde. Anda dapat mengaturnya dengan perintah berikut:

pear run-scripts horde/horde_role

Anda akan diminta untuk memberikan path direktori Horde seperti yang ditunjukkan di bawah ini:

Including external post-installation script "/usr/share/php/PEAR/Installer/Role/Horde/Role.php" - any errors are in this script
Inclusion succeeded
running post-install script "Horde_Role_postinstall->init()"
init succeeded
Filesystem location for the base Horde application : /var/www/horde
Configuration successfully saved to PEAR config.
Install scripts complete

Terakhir, instal Horde Groupware dengan perintah berikut:

pear install -a -B horde/groupware
 groupware-install

Anda akan ditanya beberapa pengaturan seperti, backend database, pengguna database, kata sandi, database, pengguna administrator Horde dan kata sandi seperti yang ditunjukkan di bawah ini:

Installing Horde Groupware

Configuring database settings

What database backend should we use? 
    (false) [None]
    (mysql) MySQL / PDO
    (mysqli) MySQL (mysqli)
    (oci8) Oracle
    (pgsql) PostgreSQL
    (sqlite) SQLite

Type your choice []: mysql

Username to connect to the database as* [] hordeuser
Password to connect with 
How should we connect to the database? 
    (unix) UNIX Sockets
    (tcp) TCP/IP

Type your choice [unix]: unix

Location of UNIX socket []  

Database name to use* [] hordedb

Internally used charset* [utf-8] 
Use SSL to connect to the server? 
    (false) No
    (true) Yes

Type your choice []: false
Split reads to a different server? 
    (false) Disabled
    (true) Enabled

Type your choice [false]: 
Should Horde log all queries. If selected, queries will be logged at the DEBUG level to your configured logger. 
    (1) Yes
    (0) No

Type your choice [0]: 

Writing main configuration file... done.

Creating and updating database tables... done.

Configuring administrator settings

Specify a user name for the administrator account: [email protected]
Specify a password for the administrator account:

Writing main configuration file... done.

Thank you for using Horde Groupware.

Setelah instalasi selesai, buat direktori temp untuk Horde dengan perintah berikut:

mkdir /var/www/horde/tmp

Selanjutnya, setup alat kata sandi Horde menggunakan perintah berikut:

pear install -a -B horde/passwd

Selanjutnya, berikan izin yang sesuai ke direktori Horde dengan perintah berikut:

chown -R www-data:www-data /var/www/horde/

Setelah selesai, Anda dapat melanjutkan ke langkah berikutnya.

Konfigurasikan Apache untuk Horde

Selanjutnya, Anda perlu mengkonfigurasi file virtual host Apache untuk Horde. Anda dapat membuatnya dengan perintah berikut:

sudo nano /etc/apache2/conf-available/horde.conf

Tambahkan baris berikut:

Alias /Microsoft-Server-ActiveSync /var/www/horde/rpc.php
Alias /horde /var/www/horde
ServerName test.example.com
DocumentRoot /var/www/horde
<Directory /var/www/horde>
           DirectoryIndex index.php
           Options +FollowSymLinks
           AllowOverride All
           Require all 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/"
</Directory>

Simpan dan tutup file setelah Anda selesai. Kemudian, aktifkan file konfigurasi Horde dengan perintah berikut:

a2enconf horde

Terakhir, restart layanan Apache untuk menerapkan perubahan:

systemctl restart apache2

Akses Horde Groupware

Sekarang, buka browser web Anda dan ketik URL http://test.example.com/horde. Anda akan diarahkan ke halaman login Horde Groupware:

page 1 - Horde Login

Berikan nama user administrator, kata sandi, dan klik tombol Log In. Anda akan melihat dasboard default Horde Groupware di halaman berikut:

page 2 - Horde Webmail

Kesimpulan

Selamat! Anda telah berhasil menginstal dan mengkonfigurasi Horde Groupware di server Debian 10. Anda sekarang dapat mulai menjelajahi Horde dan memperluas fungsionalitasnya.