Roundcube adalah salah satu solusi open source paling terkenal untuk mengelola layanan email yang andal dan dapat disesuaikan melalui layanan web.
Dalam tutorial ini ada semua informasi untuk menginstal dan mengelola layanan webmail dengan Roundcube di CentOS 7. Karena didasarkan pada PHP, Roundcube memerlukan instalasi server web seperti NGINX atau Apache dan bergantung pada database seperti MySQL seperti MariaDB.
Pertama, sambungkan ke server Anda melalui koneksi SSH. Jika Anda belum melakukannya, ikuti panduan kami, disarankan untuk terhubung secara aman dengan SSH. Untuk server lokal, lanjutkan ke langkah berikutnya dan buka terminal server Anda.
Instalasi NGINX dan PHP
Lanjutkan dengan menginstal instance NGINX dengan dukungan untuk PHP dan MySQL:
$ sudo yum install nginx php php-fpm php-mcrypt php-cli php-gd php-curl php-xml php-mysql php-mbstring php-pspell php-imagick
Di akhir penginstalan semua paket, mulai NGINX dan aktifkan pengaktifan otomatisnya di sistem:
$ sudo systemctl start nginx$ sudo systemctl enable nginx
Penggunaan Roundcube memerlukan variasi dua parameter dalam file konfigurasi PHP yang ada di /etc/php.ini:
# Impostazione della nostra timezone
date.timezone = "Europe/Rome"
cgi.fix_pathinfo=0
Simpan file yang baru saja diubah, mulai dan aktifkan layanan PHP-FPM:
$ sudo systemctl start php-fpm$ sudo systemctl enable php-fpm
Instalasi MariaDB
Agar dapat berfungsi dengan baik Roundcube membutuhkan database MariaDB, yang dapat diinstal dengan perintah berikut:
$ sudo yum install mariadb-server
Setelah instalasi selesai, mulai layanan:
$ sudo systemctl start mariadb
$ sudo systemctl enable mariadb
Lanjutkan dengan keamanan MariaDB dengan menjalankan skrip yang disertakan dalam MariaDB untuk meningkatkan keamanan dan membatasi akses ke database Anda:
Mulai skrip utilitas yang disediakan oleh MariaDb "mysql_secure_installation" dan jawab semua pertanyaan:
$ sudo mysql_secure_installation
Pertama, Anda akan ditanya apakah Anda ingin mengaktifkan sistem validasi kata sandi. Jika Anda mengaktifkan sistem ini, saat Anda menetapkan kata sandi untuk pengguna, itu akan dievaluasi. Jika sandi tidak memenuhi persyaratan keamanan minimum, sandi akan ditolak dengan pesan kesalahan.
Kemudian, Anda akan ditanya apakah Anda ingin mengubah kata sandi root ke salah satu pilihan Anda. Jika Anda mengaktifkan sistem validasi kata sandi, Anda harus memasukkan kata sandi yang memenuhi kriteria keamanan.
Disarankan untuk mengikuti beberapa praktik terbaik untuk membuat sandi yang aman. Ini termasuk:
Penggunaan huruf besar dan kecil
Penggunaan huruf dan angka
Penggunaan karakter non-alfanumerik seperti @ # $% &!
Penggunaan sandi selain yang digunakan sebelumnya
Terakhir, pilih apakah akan menghapus pengguna anonim, menguji database, dan menonaktifkan login jarak jauh dengan pengguna root. Untuk tingkat keamanan yang memadai, disarankan untuk mengonfirmasi semua perubahan ini.
Pada titik ini, konfirmasikan pembaruan tabel yang ditampilkan untuk menerapkan kriteria keamanan baru.
Enter current password for root (enter for none):
OK, successfully used password, moving on...
Setting the root password ensures that nobody can log into MariaDB
root user without the proper authorisation.
Set root password? [Y/n] Y
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
... Success!
Remove anonymous users? [Y/n] Y
... Success!
Normally, root should only be allowed to connect from 'localhost'. This
ensures that someone cannot guess at the root password from the network.
Disallow root login remotely? [Y/n] Y
... Success!
Remove test database and access to it? [Y/n] Y
- Dropping test database...
... Success!
- Removing privileges on test database...
... Success!
Reload privilege tables now? [Y/n] Y
... Success!
Cleaning up...
All done! If you've completed all of the above steps, your MariaDB
installation should now be secure.
Thanks for using MariaDB!
Setelah me-restart layanan, database untuk Roundcube dan pengguna baru untuknya (dengan mengubah kata sandi) dapat dibuat:
$ mysql -u root -p
MariaDB [(none)]> CREATE DATABASE roundcubemail /*!40101 CHARACTER SET utf8 COLLATE utf8_general_ci */;
MariaDB [(none)]> CREATE USER 'roundcube'@'localhost' IDENTIFIED BY 'mf0c3mhx';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON roundcubemail.* TO 'roundcube'@'localhost';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> exit
Instalasi Roundcube
Untuk mengunduh Roundcube versi terbaru, Anda memerlukan wget. Jika tidak diinstal pada sistem Anda, lakukan dengan perintah berikut:
$ sudo yum install wget
Jika tidak, lanjutkan dengan mengunduh dan mengekstrak paket dari github:
$ wget -c https://github.com/roundcube/roundcubemail/releases/download/1.3.7/roundcubemail-1.3.7-complete.tar.gz
$ tar xzf roundcubemail-1.3.7-complete.tar.gz
Kemudian pindahkan semuanya ke direktori NGINX:
$ sudo mv roundcubemail-1.3.7 /var/www/html/roundcubemail
$ sudo cd /var/www/html/roundcubemail/
Paket Roundcube berisi file sql yang harus diimpor ke database yang baru dibuat dengan struktur yang diperlukan:
$ mysql -u root -p roundcubemail < SQL/mysql.initial.sql
Selama proses impor, Anda akan dimintai kata sandi root database yang dimasukkan selama instalasi MariaDB.
Setelah konfigurasi database selesai, siapkan server virtual NGINX untuk domain mail.domain.com. Pertama, pastikan bahwa pemilik folder html adalah NGINX:
$ sudo chown -R nginx:nginx /var/www/html/roundcubemail
Sekarang buat dan edit file virtual host/etc/nginx/conf.d/mail.example.com.conf sebagai berikut:
server {
listen 80;
server_name mail.domain.com;
root /var/www/html/roundcubemail;
index index.php index.html;
#i# Logging
access_log /var/log/nginx/mail.domain.com_access_log;
error_log /var/log/nginx/mail.domain.com_error_log;
location / {
try_files $uri $uri/ /index.php?q=$uri&$args;
}
location ~ ^/(README.md|INSTALL|LICENSE|CHANGELOG|UPGRADING)$ {
deny all;
}
location ~ ^/(config|temp|logs)/ {
deny all;
}
location ~ /\. {
deny all;
access_log off;
log_not_found off;
}
location ~ \.php$ {
include /etc/nginx/fastcgi_params;
#fastcgi_pass 127.0.0.1:9000;
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
Sebelum menyimpan semua perubahan, ingatlah untuk mengubah domain 'domain.com' menjadi domain Anda.
Jika terjadi kesalahan izin, ubah konfigurasi PHP-FPM yang ada di /etc/php-fpm.d/www.conf dengan mengubah parameter berikut:
user = nginx
group = nginx
listen = /var/run/php-fpm/php-fpm.sock
listen.owner = nginx
listen.group = nginx
listen.mode = 0660
Juga, pastikan bahwa pemilik direktori "sesi" PHP adalah NGINX:
$ sudo chown -R nginx:nginx /var/lib/php/session/
Pada titik ini, Roundcube siap dikonfigurasi dari antarmuka web.
Konfigurasi Roundcube melalui antarmuka web
Untuk melanjutkan instalasi, melalui web browser pergi ke :http://mail.domain.com/installer/
Pada fase pertama ini, penginstal Roundcube menunjukkan ringkasan persyaratan untuk mengoperasikan sistem dengan benar. Klik tombol "BERIKUTNYA" untuk melanjutkan.

Pada tahap kedua ini, serangkaian parameter operasi harus dimasukkan. Biarkan semuanya tidak berubah kecuali product_name tempat Anda memasukkan nama domain atau nama panggilan pilihan Anda.
Mengubah data akses ke server sql dengan yang dimasukkan selama fase instalasi adalah penting. Setelah selesai, klik "BERIKUTNYA" untuk melanjutkan.
Setelah fase kedua selesai, uji parameter IMAP / SMTP server Anda untuk memverifikasi bahwa Roundcube dapat mengirim/menerima email.
Setelah selesai, hapus semua file yang diperlukan untuk instalasi yang ada di folder /var/www/html/roundcubemail/installer dengan menjalankan perintah:
$ sudo rm -rf /var/www/html/roundcubemail/installer
Jika Anda ingin memodifikasi atau mengubah parameter yang dimasukkan selama fase konfigurasi, modifikasi file di direktori /var/www/html/roundcubemail/config/config.inc.php selalu memungkinkan.
Akses Webmail
Instance Roudcube kami siap digunakan di URL http://mail.domain.com/ . Kemudian, masuk menggunakan detail masuk dari kotak surat yang dikonfigurasi dengan Dovecot.