Roundcube adalah webmail open source populer yang sering digunakan. Hari ini kita akan bahas install roundcube ubuntu 22.04 tanpa ribet.

Cara Install Roundcube Ubuntu 22.04

Kita membutuhkan tiga program untuk menjalankan Roundcube:

Di sini saya menggunakan Nginx sebagai web server dan MariaDB untuk manajemen basis data.

$ sudo apt install nginx mariadb-server mariadb-client php php-fpm php-gd php-common php-json php-imagick php-imap php-xml php-mbstring php-curl php-zip php-bz2 php-intl php-ldap

Penyiapan Database pada MariaDB

Kita nyalakan MariaDB dan jalankan sebagai servis standar.

$ sudo service start mariadb
$ sudo systemctl enable mariadb

Kita periksa apakah MariaDB sudah berjalan atau belum.

$ sudo service status mariadb

Jika sudah aktif, hasil keluaran perintah akan seperti ini.

● mariadb.service - MariaDB 10.6.12 database server
     Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
     Active: active (running) since Tue 2023-06-13 00:41:20 UTC; 3h 28min ago
       Docs: man:mariadbd(8)
             https://mariadb.com/kb/en/library/systemd/
    Process: 469 ExecStartPre=/usr/bin/install -m 755 -o mysql -g root -d /var/run/mysqld (code=exited, status=0/SUCCESS)
    Process: 480 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
    Process: 493 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recovery ] && VAR= ||   VAR=`cd /usr/bin/..; /usr/bin/galera_recovery`; [ $? -eq 0 ]   && systemctl set-environment _WSREP_STA>
    Process: 671 ExecStartPost=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
    Process: 673 ExecStartPost=/etc/mysql/debian-start (code=exited, status=0/SUCCESS)
   Main PID: 614 (mariadbd)
     Status: "Taking your SQL requests now..."
      Tasks: 9 (limit: 1035)
     Memory: 71.8M
        CPU: 9.565s
     CGroup: /system.slice/mariadb.service
             └─614 /usr/sbin/mariadbd

Jalankan perintah mysql_secure_installation untuk menyiapkan MariaDB.

$ sudo mysql_secure_installation

Kalau versi saya, saya tekan Y di semua opsi penyiapan.

- Set root password? [Y/n] Y
- 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

Masuk ke MariaDB sebagai akun root dengan kata sandi yang dibuat.

$ sudo mysql -u root -p

Buat basis data untuk Roundcube. Misalnya saya menamakannya sebagai roundcubedatabase.

MariaDB [(none)]>  CREATE DATABASE roundcubedatabase;

Bikin nama pengguna dan tetapkan kata sandinya. Ini berbeda dari akun root yang kita buat sebelumnya.

MariaDB [(none)]> CREATE USER 'namapengguna'@'localhost' IDENTIFIED BY 'passwordkamu';

Berikan hak kepada nama pengguna untuk mengelola basis data roundcubedatabase.

MariaDB [(none)]> GRANT ALL PRIVILEGES ON roundcubedatabase.* TO 'namapengguna'@'localhost';

Jalankan flush privelegs; untuk memuat perubahan yang dibuat.

MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> exit;

Unduh Berkas Roundcube

Buat direktori baru untuk Roundcube.

$ sudo mkdir /var/www/roundcube/

Unduh berkas Roundcube dengan perintah wget. Anda juga bisa mengunduh dari peramban langsung.

$ sudo wget https://github.com/roundcube/roundcubemail/releases/download/1.6.1/roundcubemail-1.6.1-complete.tar.gz

Ekstrak berkas Roundcube yang terkompres ke direktori Roundcube.

$ sudo tar -zxvf roundcubemail-1.6.1-complete.tar.gz -C /var/www/roundcube/

Berikan perizinan baru agar nginx mampu membaca direktori Roundcube.

$ sudo chown -R www-data:www-data /var/www/roundcube
$ sudo chmod 755 -R /var/www/roundcube
$ sudo mysql -u namapengguna -p roundcubedatabase < /var/www/roundcube/SQL/mysql.initial.sql

Penyiapan Web Server pada Nginx

Jalankan Nginx secara otomatis dengan perintah di bawah.

$ sudo service nginx start
$ sudo systemctl enable nginx

Kita periksa status Nginx sekarang.

$ sudo service nginx status

Nginx sudah berjalan jika keluaran perintah anda seperti ini.

● nginx.service - A high performance web server and a reverse proxy server
     Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
     Active: active (running) since Tue 2023-06-13 00:41:15 UTC; 3h 37min ago
       Docs: man:nginx(8)
    Process: 470 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
    Process: 633 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
   Main PID: 634 (nginx)
      Tasks: 3 (limit: 1035)
     Memory: 12.8M
        CPU: 5.058s
     CGroup: /system.slice/nginx.service
             ├─634 "nginx: master process /usr/sbin/nginx -g daemon on; master_process on;"
             ├─635 "nginx: worker process" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" ""
             └─636 "nginx: cache manager process" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" ""

Saatnya kita sunting konfigurasi Nginx agar Roundcube dapat dibuka dengan domain kita.

$ sudo vim /etc/nginx/nginx.conf

Buatlah konfigurasi domain seperti ini. Sesuaikan dengan konfigurasimu.

server {
        listen 80;

        server_name namadomainkamu.com;
        root /var/www/roundcube;

        index index.php index.html index.htm;

        error_log /var/log/nginx/roundcube.error;
        access_log /var/log/nginx/roundcube.access;

        location ~ ^/(README.md|INSTALL|LICENSE|CHANGELOG|UPGRADING)$ {
            deny all;
        }

        location ~ ^/(config|temp|logs)/ {
            deny all;
        }

        location ~ /\. {
            deny all;
        }

        location ~ \.php$ {
                include snippets/fastcgi-php.conf;
                fastcgi_pass unix:/run/php/php8.1-fpm.sock;
        }
}

Periksa apakah konfigurasi sudah baik atau belum dengan perintah nginx -t.

$ sudo nginx -t

Jika keluaran perintah sama di bawah, kamu sudah melakukan dengan baik.

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Muat perubahan melalui perintah di bawah.

$ sudo service nginx restart

Install Roundcube Ubuntu 22.04

Bukalah penyiapan Roundcube di http://(alamat-ip-perangkatmu)/installer dengan peramban milikmu.

Kamu wajib mengunduh PHP untuk menjalankan Roundcube.

Pastikan ekstensi PHP yang dibutuhkan telah diunduh agar Roundcube berjalan lancar.

Anda bebas mengunduh atau tidaknya ekstensi di samping karena bersifat rekomendasi saja.

Di sini anda

Tetapkan nama webmail Roundcube milikmu.

Ketik peladen, nama, nama pengguna, dan kata sandi basis data milik Roundcube.

Ketik alamat IMAP email yang kamu gunakan.

Ketik juga alamat SMTP sesuai email yang dipakai