GNU/Linux >> Belajar Linux >  >> Debian

Instalasi email web RoundCube di Debian 8 (Jessie)

Tutorial ini menunjukkan penginstalan webmail RoundCube terbaru di Debian 8. Roundcube adalah klien webmail yang mudah digunakan dengan dukungan IMAP dan SMTP yang dapat diperluas dengan plugin. Pada Debian 7, RoundCube tersedia sebagai paket .deb, ini bukan versi terbaru tetapi setidaknya mudah dipasang dengan apt. Untuk rilis Debian saat ini, tidak ada paket RoundCube yang tersedia lagi jadi saya akan menjelaskan instalasi dari sumber di sini. Tutorial ini berisi bab opsional yang menjelaskan langkah-langkah untuk menghubungkan RoundCube dengan Panel Kontrol Hosting ISPConfig 3.

Prasyarat

  • Sistem Operasi Debian 8.
  • Server web Apache dengan mod_php terinstal. Jika belum ada apache yang terinstal, lihat panduan LAMP atau penyiapan Perfect Server kami untuk menginstal lingkungan yang sesuai.
  • Server email (SMTP + IMAP) tempat Roundcube akan terhubung. Ini bisa berupa server lokal (misalnya saat Anda menggunakan salah satu pengaturan server yang sempurna) atau server jarak jauh.
  • Nama host server yang akan saya gunakan dalam tutorial ini adalah server1.example.com dengan alamat IP 192.168.1.100. Silakan ganti dengan IP dan nama host server Anda.

Instalasi RoundCube

Saya akan menginstal RoundCube ke dalam direktori /opt/roundcube untuk memastikan bahwa instalasi ini tidak akan bertabrakan dengan paket sistem Debian. Langkah pertama adalah menginstal wget, buat direktori /opt/roundcube dan unduh versi RoundCube terbaru dengan wget ke dalam direktori ini. Versi RoundCube saat ini adalah 1.1.3 pada saat saya menulis tutorial ini, lihat situs RoundCube untuk memeriksa apakah ada versi yang lebih baru yang dapat Anda gunakan.

Masuk sebagai pengguna root di shell server Anda, lalu instal wget dan editor nano:

apt-get install wget nano

Buat direktori dan masukkan dengan perintah "cd":

mkdir /opt/roundcube
cd /opt/roundcube

Unduh file tar.gz RoundCube dan buka paketnya:

wget https://downloads.sourceforge.net/project/roundcubemail/roundcubemail/1.1.3/roundcubemail-1.1.3-complete.tar.gz
tar xfz roundcubemail-1.1.3-complete.tar.gz

File RoundCube sekarang ada di folder /opt/roundcube/roundcubemail-1.1.3. Langkah selanjutnya adalah memindahkannya satu direktori ke /opt/roundcube.

mv roundcubemail-1.1.3/* .
mv roundcubemail-1.1.3/.htaccess .

Titik di akhir dua perintah diperlukan dan bagian dari perintah, jangan lewatkan! Hapus direktori kosong dan file tar.gz.

rmdir roundcubemail-1.1.3
rm roundcubemail-1.1.3-complete.tar.gz

Dan ubah pemilik semua file menjadi pengguna yang menjalankan server Apache.

chown -R www-data:www-data /opt/roundcube

Instal Database RoundCube

Roundcube membutuhkan database untuk menyimpan pengaturan kotak surat, kontak, dll. Saya akan menggunakan MySQL (atau MariaDB) di sini sebagai backend database. Sekarang kita akan membuat database dengan nama "roundcubemail" dan pengguna dengan nama "roundcube" di MySQL.

Login ke server MySQL dengan perintah berikut:

mysql --defaults-file=/etc/mysql/debian.cnf

Kemudian jalankan perintah berikut pada shell database MySQl untuk membuat database dan pengguna database. Ganti kata "kata sandi rahasia" pada perintah di bawah ini dengan kata sandi pilihan Anda.

CREATE DATABASE roundcubemail;
GRANT ALL PRIVILEGES ON roundcubemail.* TO [email protected] IDENTIFIED BY 'secretpassword';
flush privileges;
quit

Sekarang kita akan mengimpor tabel RoundCube dari file mysql.initial.sql ke database baru kita.

Jalankan perintah berikut pada shell Linux:

mysql --defaults-file=/etc/mysql/debian.cnf roundcubemail < /opt/roundcube/SQL/mysql.initial.sql

Konfigurasi RoundCube dan Apache

Pada langkah ini, kita akan mengonfigurasi detail database di RoundCube dan menambahkan file konfigurasi RoundCube di Apache.

Saya akan mulai dengan konfigurasi database di RoundCube. Jalankan perintah berikut untuk membuat file config.inc.php baru berdasarkan contoh file konfigurasi dan buka di editor nano.

cd /opt/roundcube/config
cp -pf config.inc.php.sample config.inc.php
nano config.inc.php

Temukan baris konfigurasi database yang dimulai dengan $config['db_dsnw'] dan ganti dengan baris berikut:

$config['db_dsnw'] = 'mysql://roundcube:[email protected]/roundcubemail';

Kata "kata sandi rahasia" harus diganti dengan kata sandi yang Anda pilih untuk database.

Selanjutnya cari baris "smtp_server" dan atur nama host server SMTP Anda di sini. Dalam kasus saya, server email adalah server lokal, jadi saya akan menyetel server ke "localhost".

$config['smtp_server'] = 'localhost';

Sekarang saatnya untuk mengkonfigurasi Apache. Saya akan membuat file konfigurasi baru roundcube.conf di folder /etc/apache2/conf-available/.

nano /etc/apache2/conf-available/roundcube.conf

Tambahkan baris berikut ke file itu dan simpan.

Alias /roundcube /opt/roundcube
Alias /webmail /opt/roundcube

<Directory /opt/roundcube>
Options +FollowSymLinks
# AddDefaultCharset UTF-8
AddType text/x-component .htc

<IfModule mod_php5.c>
AddType application/x-httpd-php .php
php_flag display_errors Off
php_flag log_errors On
# php_value error_log logs/errors
php_value upload_max_filesize 10M
php_value post_max_size 12M
php_value memory_limit 64M
php_flag zlib.output_compression Off
php_flag magic_quotes_gpc Off
php_flag magic_quotes_runtime Off
php_flag zend.ze1_compatibility_mode Off
php_flag suhosin.session.encrypt Off
#php_value session.cookie_path /
php_flag session.auto_start Off
php_value session.gc_maxlifetime 21600
php_value session.gc_divisor 500
php_value session.gc_probability 1
</IfModule>

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^favicon\.ico$ skins/larry/images/favicon.ico
# security rules:
# - deny access to files not containing a dot or starting with a dot
# in all locations except installer directory
RewriteRule ^(?!installer)(\.?[^\.]+)$ - [F]
# - deny access to some locations
RewriteRule ^/?(\.git|\.tx|SQL|bin|config|logs|temp|tests|program\/(include|lib|localization|steps)) - [F]
# - deny access to some documentation files
RewriteRule /?(README\.md|composer\.json-dist|composer\.json|package\.xml)$ - [F]
</IfModule>

<IfModule mod_deflate.c>
SetOutputFilter DEFLATE
</IfModule>

<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 1 month"
</IfModule>

FileETag MTime Size

<IfModule mod_autoindex.c>
Options -Indexes
</ifModule>

AllowOverride None
Require all granted
</Directory>

<Directory /opt/roundcube/plugins/enigma/home>
Options -FollowSymLinks
AllowOverride None
Require all denied
</Directory>

<Directory /opt/roundcube/config>
Options -FollowSymLinks
AllowOverride None
Require all denied
</Directory>

<Directory /opt/roundcube/temp>
Options -FollowSymLinks
AllowOverride None
Require all denied
</Directory>

<Directory /opt/roundcube/logs>
Options -FollowSymLinks
AllowOverride None
Require all denied
</Directory>

2 baris Alias ​​​​dalam dua baris pertama membuat RoundCube tersedia sebagai /roundcube dan /webmail di server Anda.

Aktifkan konfigurasi dan muat ulang apache:

a2enconf roundcube
service apache2 reload

Itu saja, RoundCube sekarang sepenuhnya terinstal di server Anda, dan Anda dapat mengaksesnya di IP server dan nama host melalui alias /roundcube dan /webmail. IP server saya adalah 192.168.1.100; untuk itu saya bisa membuka RoundCube dengan http://192.168.1.100/webmail

Instalasi plugin ISPConfig RoundCube (opsional)

Ketika server Anda telah menginstal iSPConfig 3, maka sangat disarankan untuk menginstal plugin ISPConfig RoundCube. Ini memungkinkan pengguna email Anda untuk mengelola penjawab otomatis, filter email, dan pengaturan kotak surat lainnya dari dalam RoundCube.

Plugin ISPConfig 3 RoundCube terhubung ke ISPConfig 3 dengan API jarak jauh ISPConfig. Untuk menggunakan API ini, kita membutuhkan pengguna jarak jauh.

Masuk ke ISPConfig sebagai pengguna "admin".

Untuk membuat pengguna seperti itu, buka Sistem> Pengelolaan Pengguna> Pengguna Jarak Jauh dan klik tombol Tambahkan pengguna baru:

Masukkan Nama Pengguna dan kata sandi untuk pengguna jarak jauh yang baru. Saya akan memilih nama pengguna "roundcube" dan kata sandi "!fdWEacBOG1d".

Pengaturan pengguna jarak jauh memungkinkan kontrol akses berbutir halus; fungsi berikut harus diaktifkan:

  • Fungsi server
  • Fungsi klien
  • Fungsi pengguna email
  • Fungsi email alias
  • Fungsi pengguna filter spam email
  • Fungsi kebijakan filter spam email
  • Fungsi mail fetchmail
  • Fungsi daftar putih filter spam email
  • Fungsi daftar hitam filter spam email
  • Fungsi filter pengguna email

Terakhir klik Simpan.

Langkah selanjutnya dilakukan pada shell server Anda. Masuk sebagai pengguna root.

Kami akan menginstal sekarang sertifikat SSL ISPConfig ke dalam penyimpanan sertifikat SSL dari Debian.

cp /usr/local/ispconfig/interface/ssl/ispserver.crt /usr/local/share/ca-certificates/
update-ca-certificates

Buka file /etc/php5/cgi/php.ini

nano /etc/php5/apache2/php.ini

Gulir ke bawah hingga Anda melihat bagian [openssl] dari file dan di sana Anda menambahkan baris berikut:

openssl.cafile=/etc/ssl/certs/ca-certificates.crt

Kemudian restart apache.

service apache2 restart

Untuk mengunduh addon, instal klien Git terlebih dahulu.

apt-get install git

Dapatkan versi terbaru dari plugin RoundCube ISPConfig:

cd /tmp
git clone https://github.com/w2c/ispconfig3_roundcube.git
cd /tmp/ispconfig3_roundcube/

Dan pindahkan plugin ke direktori plugin roundcube.

mv ispconfig3_* /opt/roundcube/plugins
cd /opt/roundcube/plugins

Buat file config.inc.php baru untuk plugin berdasarkan konfigurasi sampel dan buka file di editor nano.

mv ispconfig3_account/config/config.inc.php.dist ispconfig3_account/config/config.inc.php
nano ispconfig3_account/config/config.inc.php

Isi detail pengguna jarak jauh dan simpan file.

<?php
$rcmail_config['identity_limit'] = false;
$rcmail_config['remote_soap_user'] = 'roundcube';
$rcmail_config['remote_soap_pass'] = '!fdWEacBOG1d';
$rcmail_config['soap_url'] = 'https://server1.example.com:8080/remote/';
?>

Ganti server1.example.com dengan nama host server. Ketika SSL (HTTPS) digunakan untuk koneksi Remote API, maka penting bahwa nama host dalam konfigurasi RoundCube cocok dengan nama host sertifikat SSL antarmuka ISPConfig. Anda dapat memeriksa nama host sertifikat SSL ISPConfig dengan perintah:

openssl x509 -in /usr/local/share/ca-certificates/ispserver.crt -text -noout | grep Subject:

Hasilnya dalam kasus saya:

Subject: C=DE, ST=Niedersachsen, L=Lueneburg, O=ISPConfig UG, OU=IT, CN=server1.example.com/[email protected]

Jadi nama host "server1.example.com" di file konfigurasi plugin cocok dengan nama host di sertifikat SSL.

Sekarang kita akan mengaktifkan plugin baru di RoundCube. Buka file konfigurasi di editor:

nano /opt/roundcube/config/config.inc.php

dan tambahkan baris berikut di akhir file:

$rcmail_config['plugins'] = array("jqueryui", "ispconfig3_account", "ispconfig3_autoreply", "ispconfig3_pass", "ispconfig3_spam", "ispconfig3_fetchmail", "ispconfig3_filter");

Sekarang Anda dapat masuk ke RoundCube, opsi baru dapat ditemukan di bawah Pengaturan> Akun .

Akun umum.

Penyiapan filter email.

Penyiapan Fetchmail.

  • Debian
  • Kubus bulat
  • Plugin ISPConfig Roundcube

Debian
  1. Bagaimana cara mengupgrade Debian 8 Jessie ke Debian 9 Stretch

  2. Instal Horde 5 Webmail untuk ISPConfig di Debian Jessie melalui PEAR

  3. Cara Menginstal RoundCube Webmail di Debian 9

  1. Instalasi Steam Client di Debian Jessie 8 Linux 64-bit

  2. Debian 8 Jessie Dirilis – Apa yang Baru?

  3. Debian – Tidak Dapat Memulai Instalasi Devuan/debian?

  1. Instalasi Firefox Web Browser sederhana di Debian 8 Jessie Linux

  2. Instalasi PHP 7 terbaru dari Debian 8 Jessie Linux

  3. Instalasi klien Spotify di Debian Linux 8 ( Jessie ) 64-bit