Panduan ini akan menjelaskan cara menyiapkan dan mengonfigurasi hosting email virtual dengan backend LDAP.
Perangkat lunak yang akan kami gunakan dalam cara ini: Postfix (MTA), Dovecot (IMAP / POP3), Gnarwl (liburan), OpenLDAP (LDAP) dan vMailpanel sebagai antarmuka pengelolaan.
Opsional adalah Proftpd FTP, Roundcube (webmail) dan MariaDB (SQL backend untuk Roundcube).
Ini berhasil untuk saya, tetapi saya tidak dapat menjamin bahwa pengaturan ini akan berhasil untuk Anda, jadi cara ini datang tanpa jaminan apa pun.
Asumsi
How-to ini mengasumsikan konfigurasi berikut, jika instalasi Anda berbeda dari ini, ganti entri di bawah ini dengan konfigurasi Anda yang sebenarnya.
Jalur pengiriman surat (kotak surat):
/home/vmail/
Vmail pengguna:
UID:1000, GID:1000
Postfix pengguna:
UID:108, GID:108
OpenLDAP basis dn:
dc=contoh,dc=tld
Akun admin OpenLDAP:
cn=admin,dc=example,dc=tld
vMailpanel pencarian dn:
o=hosting,dc=contoh,dc=tld
Akun hanya baca untuk o=hosting,dc=example,dc=tld tree:
cn=vmail,o=hosting,dc=example,dc=tld
Anda menggunakan root sebagai pengguna selama panduan ini.
Jika Anda ingin misalnya o=maildomain atau ou=domain, pastikan untuk mengganti o=hosting dengan yang Anda inginkan, terutama di acl.ldif. File acl ini ketat, phamm tidak akan berfungsi dengan benar jika tidak persis seperti yang seharusnya. Jika Anda menginginkan pengguna hanya baca yang berbeda dari phamm daripada mengganti cn=phamm dengan cn=wat-you di mana saja dalam cara ini.
Panduan ini juga mengasumsikan bahwa Anda telah menginstal dan mengonfigurasi server Ubuntu sesuai kebutuhan Anda, ada banyak panduan bagus tentang Howtoforge misalnya:
Server Sempurna - Ubuntu 18.04 (Bionic Beaver) dengan Apache, PHP, MySQL, PureFTPD, BIND, Postfix, Dovecot, dan ISPConfig 3.1
Anda dapat berhenti setelah instalasi dan konfigurasi Apache2.
Langkah 1:Unduh vMailpanel
Unduh paket vMailpanel:
cd /usr/share
Dapatkan vMailpanel versi terbaru:
git clone https://git.com/wolmfan68/vMailpanel
Oke, sekarang kita bisa mulai.
Langkah 2:Instal dan konfigurasikan OpenLDAP
Instal OpenLDAP dan ldap-utils:
apt -y install slapd ldap-utils php-ldap
Konfigurasi ulang slapd untuk memastikan itu mencerminkan pengaturan yang Anda inginkan
dpkg-konfigurasi ulang slapd
Anda harus menjawab beberapa pertanyaan:
Abaikan konfigurasi server OpenLDAP? Tidak
Nama domain DNS:example.tld ==>masukkan nama domain Anda di sini
Nama organisasi:example.tld ==> letakkan organisasi Anda di sini
Kata sandi administrator:rahasia ==> masukkan kata sandi Anda
Konfirmasi kata sandi:rahasia
Backend basis data yang akan digunakan:MDB
Apakah Anda ingin database dihapus saat slapd dibersihkan? Ya
Pindahkan database lama? Ya
Ubah ke direktori /etc/ldap/schema:
cd /etc/ldap/schema
Salin phamm.schema dan perversia.net.schema dari paket phamm ke direktori skema:
cp /usr/share/vMailbox/schema/* /etc/ldap/schema.
Sekarang kita tambahkan skema ke openldap.
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/phamm.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/ ISPEnv2.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/amavis.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ ldap/schema/pureftpd.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/perversia.net.ldif
Sekarang kita buat entri o=hosting, dan akun vmail.
Ubah teks di bawah ini sesuai kebutuhan dan keinginan Anda dan buat kata sandi untuk akun vmail. Hash yang saat ini ada dalam file ini menyetel kata sandi menjadi hanya-baca
Untuk membuat hash untuk akun vmail, jalankan perintah berikut:
slappasswd -h {MD5}
Ketik kata sandi yang diinginkan dua kali dan salin hasilnya ke teks di bawah ini.
nano base.ldif
Isi dari base.ldif
dn:o=hosting,dc=example,dc=tld
objectClass:organisasi
objectClass:atas
o:deskripsi hosting:Organisasi Hosting
# Akun hanya baca
dn:cn=vmail,o=hosting,dc=contoh,dc=tld
objectClass:simpleSecurityObject
objectClass:peran organisasi
cn:vmail
password pengguna:{MD5}M267sheb6qc0Ck8WIPOvQA==
deskripsi:Akun hanya baca
Muat basis dn ke dalam database dengan perintah berikut:
ldapmodify -a -D cn=admin,dc=example,dc=tld -W -f base.ldif
Sekarang kita perlu memodifikasi acl agar akses yang benar diberikan kepada setiap tipe pengguna.
ldapmodify -Y EXTERNAL -H ldapi:/// -f acl-remove.ldif
ldapmodify -Y EXTERNAL -H ldapi:/// -f acl-new.ldif
Anda dapat memeriksa acl baru dengan perintah berikut:
slapcat -n 0
Ini mengakhiri konfigurasi OpenLDAP.
Langkah 3:Instal dan Konfigurasi Postfix
Sebelum ini, kita harus memiliki pengguna vmail dan direktori home-nya.
Buat pengguna dan grup vmail :
penggunatambahkan vmail
Secara default, grup vmail dibuat juga.
Periksa /etc/passwd untuk uid dan nomor grup yang sebenarnya.
Selanjutnya, buat direktori vmail dan setel kepemilikan ke pengguna dan grup vmail.
mkdir /home/vmail
mkdir /home/vmail/domains
chown -R vmail:vmail /home/vmail
Jalankan perintah berikut untuk menginstal Postfix dan aplikasi lain yang diperlukan:
apt install postfix postfix-ldap
Anda akan ditanya dua pertanyaan. Jawab sebagai berikut:
Jenis umum konfigurasi email: <--Berdiri sendiri
Nama email sistem: <-- mail.example.tld
Kami tidak menginstal sasl karena kami akan menggunakan LDA Dovecot dan mengirimkannya.
Sekarang kita membuat sertifikat untuk TLS:
mkdir /etc/postfix/ssl
cd /etc/postfix/ssl/
openssl genrsa -des3 -rand /etc/hosts -out smtpd.key 1024
chmod 600 smtpd.key
openssl req -new -key smtpd.key -out smtpd.csr
openssl x509 -req -days 3650 -in smtpd.csr -signkey smtpd.key -out smtpd.crt
openssl rsa -in smtpd.key -out smtpd.key.unencrypted
mv -f smtpd.key.unencrypted smtpd.key
openssl req -new -x509 -extensions v3_ca -keyout cakey.pem -out cacert.pem -days 3650
Catatan:Anda dapat menyalin semua file di bawah contoh/postfix ke direktori etc/postfix Anda dan membuat perubahan yang sesuai. Untuk alasan kelengkapan, saya akan memberikan pengaturan lengkap di bawah ini.
Sekarang kita akan mengkonfigurasi postfix:
cd /etc/postfix
mv /etc/postfix/main.cf /etc/postfix/main.cf.bck
nano /etc/postfix/main.cf
Dan rekatkan yang berikut ke dalamnya. Harap diperhatikan bahwa konfigurasi ini memungkinkan pengiriman (relay) email oleh pengguna yang diautentikasi, dan juga pengiriman email lokal (seperti misalnya ke root, postmaster, ...) ke alias masing-masing jika dikonfigurasi.
smtpd_banner =$myhostname ESMTP $mail_name
biff =no
# menambahkan .domain adalah tugas MUA.
append_dot_mydomain =no
# Uncomment the next baris untuk menghasilkan peringatan "email tertunda"
delay_warning_time =4j
# parameter TLS
smtpd_tls_cert_file =/etc/postfix/ssl/smtpd.crt
smtpd_tls_key_file =/etc /postfix/ssl/smtpd.key
smtpd_use_tls =yes
smtpd_tls_session_cache_database =btree:${queue_directory}/smtpd_scache
smtp_tls_session_cache_{database =btree:>myhostname =mail.example.tld
alias_maps =hash:/etc/aliases,
alias_database =hash:/etc/aliases
myorigin =localhost
relayhost =
mynetworks =127.0.0.0/8
dovecot_destination_recipient_limit =1
mailbox_command =/usr/lib/deliver
mailbox_size_limit =0
recipient_delimiter =+
inet_interfaces =semua
inet_protocols =semua
#smtp_bind_address =alamat ip Anda (opsional) ==>hapus tanda dan ubah alamat ip untuk setup Anda.
smtpd_sasl_local_domain =
smtpd_sasl_auth_enable =yes
smtpd_sasl_security_options =noanonymous
smtpd_sasl_path_type =dovecot_type =dovecot>broken_sasl_auth_clients =ya
smtpd_tls_auth_only =tidak
smtp_use_tls =ya
smtp_tls_note_starttls_offer =yes
smtpd_tls_CAfile =/etc/postfix_ =1
smtpd_tls_received_header =yes
smtpd_tls_session_cache_timeout =3600 detik
tls_random_source =dev:/dev/urandom
home_mailbox =Maildir/
smtpdrescipient =
permit_mynetworks
permit_sasl_authenticated
reject_invalid_hostname
reject_non_fqdn_hostname
reject_non_fqdn_sender
reject_non_fqdn_recipient
reject_unauth_destination
reject_unauth_pipelining
reject_invalid_hostname
reject_unknown_sender_domain
tolak_ rbl_client list.dsbl.org
reject_rbl_client cbl.abuseat.org
reject_rhsbl_sender dsn.fc-ignorant.org
smtpd_data_restrictions =
_ reject_ _piounce_unauth_pi
izin
smtpd_helo_required =yes
# transport_maps
maildrop_destination_concurrency_limit =2
maildrop_destination_recipient_limit =1
gnarwl_destination_limit_limit =1 concurrency>gnarwl_destination_recipient_limit =1
transport_maps =hash:/etc/postfix/transport, ldap:/etc/postfix/ldap-transport.cf
mydestination =$transport_maps, localhost, localhost.localdomain, $myhostname, localhost .$domainku, $domainku
virtual_alias_maps =
ldap:/etc/postfix/ldap-aliases.cf,
ldap:/etc/postfix/ldap-virtualforward.cf,
ldap:/etc/postfix/ldap-accountsmap.cf
# akun virtual untuk pengiriman
virtual_mailbox_base =/home/vmail
virtual_mailbox_maps =
ldap :/etc/postfix/ldap-accounts.cf
virtual_minimum_uid =1000 ==> Ubah ini ke uid pengguna yang sebenarnya vmail
virtual_uid_maps =static:1000 ==> Ubah ini ke uid sebenarnya dari vmail pengguna
virtual_gid_maps =static:1000 ==> Ubah ini ke uid aktual vmail pengguna
local_recipient_maps =$alias_maps
recipient_bcc_maps =ldap:/ etc/postfix/ldap-vacation.cf
nano /etc/postfix/master.cf
Dan rekatkan yang berikut ini ke dalamnya (tambahkan akhir):
dovecot unix - n n - - pipe flags=DRhu user=vmail:vmail argv=/usr/lib/dovecot/deliver -f ${sender} -d ${recipient}gnarwl unix - n n - - pipe flags=F user=vmail argv=/usr/bin/gnarwl -a ${user}@${nexthop} -s ${sender}
Sekarang kita perlu menulis file ldap-xxx.cf yang berbeda
nano ldap-accounts.cf
Dan rekatkan yang berikut ini ke dalamnya:
server_host =localhost
server_port =389
versi =3
bind =yes
start_tls =tidak
bind_dn =cn=vmail,o=hosting,dc=example,dc =tld
bind_pw =readmonly
search_base =o=hosting,dc=example,dc=tld
scope =sub
query_filter =(&(&(objectClass=VirtualMailAccount))(mail =%s))(forwardActive=FALSE)(accountActive=TRUE)(delete=FALSE))
result_attribute =kotak surat
nano ldap-accounstmap.cf
Dan rekatkan yang berikut ini ke dalamnya:
server_host =localhost
server_port =389
versi =3
bind =yes
start_tls =tidak
bind_dn =cn=vmail,o=hosting,dc=example,dc =tld
bind_pw =readonly
search_base =o=hosting,dc=example,dc=tld
scope =sub
query_filter =(&(&(objectClass=VirtualMailAccount)(mail =%s))(forwardActive=FALSE)(accountActive=TRUE)(delete=FALSE))
result_attribute =mail
nano ldap-aliases.cf
Dan rekatkan yang berikut ini ke dalamnya:
server_host =localhost
server_port =389
versi =3
bind =yes
start_tls =tidak
bind_dn =cn=vmail,o=hosting,dc=example,dc =tld
bind_pw =readonly
search_base =o=hosting,dc=example,dc=tld
scope =sub
query_filter =(&(&(objectClass=VirtualMailAlias)(mail =%s))(accountActive=TRUE))
result_attribute =maildrop
nano ldap-transport.cf
Dan rekatkan yang berikut ini ke dalamnya:
server_host =localhost
server_port =389
versi =3
bind =yes
start_tls =tidak
bind_dn =cn=vmail,o=hosting,dc=example,dc =tld
bind_pw =readonly
search_base =o=hosting,dc=example,dc=tld
scope =sub
query_filter =(&(&(vd=%s)( objectClass=VirtualDomain))(accountActive=TRUE)(delete=FALSE))
result_attribute =postfixTransport
nano ldap-vacation.cf
Dan rekatkan yang berikut ini ke dalamnya:
server_host =localhost
server_port =389
versi =3
bind =yes
start_tls =tidak
bind_dn =cn=vmail,o=hosting,dc=example,dc =tld
bind_pw =readonly
search_base =o=hosting,dc=example,dc=tld
scope =sub
query_filter =(&(&(objectClass=VirtualMailAccount)(mail =%s))(vacationActive=TRUE)(forwardActive=FALSE)(accountActive=TRUE)(delete=FALSE))
result_attribute =mailAutoreply
nano ldap-virtualforward.cf
Dan rekatkan yang berikut ini ke dalamnya:
server_host =localhost
server_port =389
versi =3
bind =yes
start_tls =tidak
bind_dn =cn=vmail,o=hosting,dc=example,dc =tld
bind_pw =readonly
search_base =o=hosting,dc=example,dc=tld
scope =sub
query_filter =(&(&(objectClass=VirtualMailAccount)(mail =%s))(vacationActive=FALSE)(forwardActive=TRUE)(accountActive=TRUE)(delete=FALSE))
result_attribute =maildrop
Ini mengakhiri pengaturan postfix.
Langkah 4:Instal Dan Konfigurasikan Dovecot
apt install dovecot-imapd dovecot-pop3d dovecot-ldap
Ini akan menginstal dovecot dan semua file yang diperlukan dan juga membuat sertifikat SSL standar untuk IMAP dan POP3.
Pertama, kita ubah ke direktori dovecot.
Catatan:Anda dapat menyalin semua file di bawah contoh/dovecot ke direktori etc/dovecot Anda dan membuat perubahan yang sesuai. Untuk alasan kelengkapan, saya akan memberikan pengaturan lengkap di bawah ini.
cd /etc/dovecot
Sekarang kita mengkonfigurasi file konfigurasi dovecot yang berbeda.
nano dovecot-ldap.conf.ext
Dan buat perubahan berikut:
host =localhost:389
ldap_version =3
auth_bind =yes
dn =cn=vmail,o=hosting,dc=example,dc=tld
>base =o=hosting,dc=hosting,dc=tld
scope =subtree
deref =tidak pernah
user_attrs =quota=quota=maildir:storage
user_attrs =quota=quota=maildir:storage=%$B
user_filter =(&(objectClass=VirtualMailAccount)(accountActive=TRUE)(mail=%u))
pass_attrs =mail,userPassword
pass_filter =(&(objectClass=VirtualMailAccount)(accountActive=TRUE)(mail=%u))
default_pass_scheme =MD5
cd conf.d
vi 10-auth.conf
Dan ubah bagian Password and User Databases menjadi ini:
#!include auth-deny.conf.ext
#!include auth-master.conf.ext
#!include auth-system.conf.ext
#!include auth -sql.conf.ext
!include auth-ldap.conf.ext
#!include auth-passwdfile.conf.ext
#!include auth-checkpassword.conf.ext
#!sertakan auth-vpopmail.conf.ext
#!sertakan auth-static.conf.ext
vi 10-mail.conf
Dan buat perubahan berikut:
mail_location =maildir:/home/vmail/%d/%u
mail_uid =1000 ==> ubah ke nilai vmail uid yang sebenarnya
mail_gid =1000 ==> ubah ini ke nilai gid vmail yang sebenarnya
first_valid_uid =1000 ==> ubah ke nilai uid vmail yang sebenarnya
first_valid_gid =1000 ==> ubah ini ke nilai gid vmail yang sebenarnya
vi 10-master.conf
Dan buat perubahan berikut:
unix_listener auth-userdb {
mode =0666
user =vmail
group =vmail
}
# Postfix smtp-auth
unix_listener / var/spool/postfix/private/auth {
mode =0666
}
vi 15-lda.conf
Dan lakukan perubahan berikut:
postmaster_address = [email protected]
lda_mailbox_autocreate =ya
Ini mengakhiri konfigurasi Dovecot.
Langkah 5:Instal Dan Konfigurasikan gnarwl
Mari kita instal gnarwl:
apt install gnarwl
Sekarang mari kita konfigurasikan gnarwl.
Pertama, kita akan mencadangkan file konfigurasi asli dan menggantinya dengan yang baru.
mv /etc/gnarwl.conf /etc/gnarwl.conf.bck
Sekarang kita buat file conf baru:
vi /etc/gnarwl.conf
Dan masukkan berikut ini:
Jadikan direktori gnarwl dapat dibaca oleh pengguna vmail
chown -R vmail:vmail /var/lib/gnarwl/
Selanjutnya, kita perlu menambahkan transport gnarwl ke postfix
vi /etc/postfix/transport
Masukkan yang berikut ini:
.autoreply gnarwl:
Sekarang kita perlu membuat transport.db
postmap /etc/postfix/transport
Ini menyimpulkan konfigurasi gnarwl.
Langkah 6:Instal dan Konfigurasi vMailpanel
Karena kita telah mendownload vMailpanel sebelumnya, kita dapat langsung memulai dengan konfigurasi antarmuka vMailpanel.
chown -R www-data:www-data /usr/share/phamm
cd /usr/share/vMailpanel
Sekarang kita akan mengonfigurasi phamm untuk penggunaan sebenarnya.
cp config.inc.example.php config.inc.php
nano config.inc.php
Ubah parameter koneksi ldap agar sesuai dengan konfigurasi Anda yang sebenarnya.
// *============================*// *===Pengaturan Server LDAP ===*// *============================*// Alamat server (IP atau FQDN) tentukan ('LDAP_HOST_NAME','127.0.0.1 ');// Versi protokol [2,3]define ('LDAP_PROTOCOL_VERSION','3');// Server portdefine ('LDAP_PORT','389');// The containerdefine ('SUFFIX','dc =example,dc=tld');// Admin mengikat dn (bisa rootdn)define ('BINDDN','cn=admin,dc=example,dc=tld');// The Phamm containerdefine ('LDAP_BASE' ,'o=hosting,dc=contoh,dc=tld');
dan ubah
// Welcome messagedefine ('SEND_WELCOME',1);$welcome_msg ='../welcome_message.txt';$welcome_subject ='Selamat datang!';# $welcome_sender ='[email protected]';$welcome_bcc =' [dilindungi email]';
Ini akan mengirim pesan selamat datang dan bcc ke akun postmaster Anda.
Aktifkan plugin fpt dan person dengan menghapus // di bagian plugins. Jika diinginkan, Anda juga dapat mengaktifkan plugin davical dan atau jabber, skema yang diperlukan untuk plugin ini telah diinstal.
Di config.inc.php Anda akan menemukan:
define ('DELETE_ACCOUNT_IMMEDIATELY', false);
Jika Anda menyetel ini ke true, penghapusan akun atau domain akan segera berlaku. Namun, kotak surat fisik tidak dihapus (atau direktori domain). Untuk menghapus kotak surat fisik, kita harus menggunakan skrip cleaner.sh. Ini dijelaskan di bawah ini.
Anda dapat mengedit plugins/mail.xml untuk mengubah default SMTP dan kuota, memodifikasinya sesuai kebutuhan Anda. Defaultnya adalah kuota 1GB.
Anda dapat mengedit plugins/ftp.xml untuk mengubah default direktori dan kuota ftp (basis) default, memodifikasinya sesuai kebutuhan Anda.
Jangan lupa untuk membuat alias dan atau kotak surat untuk postmaster, webmaster karena ini digunakan oleh pejabat dan ISP untuk mengirim surat jika ... Tidak memiliki alamat ini dapat mengakibatkan daftar hitam.
Secara default, alias [dilindungi email] dan [dilindungi email] yang default untuk [dilindungi email] dibuat.
Sekarang skrip pembersih:
alat cp/cleaner.sh /home/vmail/cleaner.sh
Ubah yang berikut di cleaner.sh
BINDDN="cn=admin,dc=example,dc=tld"
BINDPW="password"
LDAP_BASE="o=hosting,dc=example,dc=tld"
Untuk mencerminkan pemasangan Anda
nano /home/vmail/cleaner.sh
crontab -e
Masukkan yang berikut ini:
*/10 * * * * /home/vmail/cleaner.sh
Ini akan menjalankan skrip pembersih setiap 10 menit. Jangan ragu untuk mengubah waktunya.
Sekarang kita akan menambahkan vMailpanel ke Apache
nano /etc/apache2/conf-enabled/000-default.conf
Dan tambahkan di antara entri
Alias /vmailpanel /usr/share/vMailpanel/public
Ini mengakhiri konfigurasi vMailpanel.
Langkah 7:Instal dan konfigurasikan email web Roundcube
Pertama, kita membuat database bernama roundcube:
mysqladmin -u root -p create roundcube
Selanjutnya, kita pergi ke shell MySQL:
mysql -u root -p
Di shell MySQL, kami membuat roundcube pengguna dengan kata sandi roundcube_password (ganti dengan kata sandi pilihan Anda) yang memiliki hak istimewa SELECT,INSERT,UPDATE,DELETE pada database roundcube. Pengguna ini akan digunakan oleh Postfix dan Courier untuk terhubung ke database roundcube:
GRANT SELECT, INSERT, UPDATE, DELETE ON roundcube.* ATAS 'roundcube'@'localhost' DIIDENTIFIKASI DENGAN 'roundcube_password';
GRANT SELECT, INSERT, UPDATE, DELETE ON roundcube.* UNTUK 'roundcube'@ 'localhost.localdomain' DIIDENTIFIKASI DENGAN 'roundcube_password';
HAK ISTIMEWA FLUSH;
Sekarang kita mengunduh dan menginstal Roundcube:
cd/usr/src
wget https://github.com/roundcube/roundcubemail/releases/download/1.3.6/roundcubemail-1.3.6.tar.gz
tar xvzf roundcubemail-1.3.6.tar.gz
mv roundcubemail-1.3.6 /var/www/roundcube
chown -R www-data:www-data /var/www/roundcube
cd /var/www/roundcube
Selalu periksa versi Roundcube terbaru dan unduh yang itu dan ubah perintah di atas ke versi Roundcube yang Anda unduh.
https://roundcube.net/download/
Sekarang kita memuat tabel sql ke database yang kita buat sebelumnya:
mysql -u roundcube -p roundcube < SQL/mysql.initial.sql
Sekarang kita edit konfigurasi Roundcube:
cp config/config.inc.php.contoh config/config.inc.php
Atur konfigurasi database:
nano config/config.inc.php
Ubah baris berikut ke konfigurasi database:
$rcmail_config['db_dsnw'] ='mysql://roundcube:[email protected]/roundcube';
Dan ubah yang berikut
Dari:
// Daftar plugin aktif (di direktori plugins/)$config['plugins'] =array(
'arsip',
'zipdownload',
Kepada:
// Daftar plugin aktif (di direktori plugins/)$config['plugins'] =array(
'arsip',
'zipdownload',
'kata sandi',
'liburan',
Ubah:
chars.$rcmail_config['des_key'] ='rcmail-!24ByteDESkey*Str';
Kepada:
chars.$rcmail_config['des_key'] ='your-own-24-digitkeystring';
Ubah:
$rcmail_config['default_host'] ='';
Kepada:
$rcmail_config['default_host'] ='localhost';
Ubah:
$rcmail_config['smtp_server'] ='';
Untuk
$rcmail_config['smtp_server'] ='localhost';
Konfigurasi untuk plugin kata sandi:
cp plugins/password/config.inc.php.dist plugins/password/config.inc.php
Edit konfigurasi:
nano plugins/password/config.inc.php
Ubah entri berikut
Dari:
$rcmail_config['password_driver'] ='sql';
Kepada:
$rcmail_config['password_driver'] ='ldap';
Dari:
// LDAP Driver options// -------------------// Nama server LDAP untuk terhubung.// Anda dapat menyediakan satu atau beberapa host dalam sebuah larik dalam hal ini host dicoba dari kiri ke kanan.// Contoh:array('ldap1.exemple.com', 'ldap2.exemple.com');// Default:'localhost'$rcmail_config['password_ldap_host'] ='localhost';// Port server LDAP untuk terhubung// Default:'389'$rcmail_config['password_ldap_port'] ='389';// TLS dimulai setelah terhubung// Menggunakan TLS untuk modifikasi kata sandi disarankan.// Default:false$rcmail_config['password_ldap_starttls'] =false;// LDAP version// Default:'3'$rcmail_config['password_ldap_version'] ='3';// Nama dasar LDAP (direktori root)// Contoh:' dc=exemple,dc=com'$rcmail_config['password_ldap_basedn'] ='dc=exemple,dc=com';// Metode koneksi LDAP// Ada dua metode koneksi untuk mengubah kata sandi LDAP pengguna.// 'pengguna' :gunakan kredensial pengguna (disarankan, memerlukan password_confirm_current=true)// 'admin':gunakan kredensial admin (mode ini memerlukan re password_ldap_adminDN dan password_ldap_adminPW)// Default:'user'$rcmail_config['password_ldap_method'] ='user';// LDAP Admin DN// Hanya digunakan dalam mode koneksi admin// Default:null$rcmail_config['password_ldap_adminDN'] =null;// Kata Sandi Admin LDAP// Hanya digunakan dalam mode koneksi admin// Default:null$rcmail_config['password_ldap_adminPW'] =null;// DN mask pengguna LDAP// DN pengguna adalah wajib dan karena kami hanya memiliki loginnya ,// kita perlu membuat ulang DN-nya menggunakan mask// '%login' akan diganti dengan login pengguna roundcube saat ini// '%name' akan diganti dengan bagian nama pengguna roundcube saat ini// '%domain ' akan digantikan oleh bagian domain pengguna roundcube saat ini // Contoh:'uid=%login,ou=people,dc=exemple,dc=com'$rcmail_config['password_ldap_userDN_mask'] ='uid=%login,ou=people ,dc=exemple,dc=com';// LDAP password hash type// Jenis enkripsi LDAP standar yang harus salah satu dari:crypt,// ext_des, md5crypt, blowfish, md5, sha, smd5, ssha, atau clear./ / Harap dicatat bahwa sebagian besar jenis encodage memerlukan perpustakaan eksternal// untuk disertakan dalam instalasi PHP Anda, lihat fungsi hashPassword di driver/ldap.php untuk info lebih lanjut.// Default:'crypt'$rcmail_config['password_ldap_encodage'] ='crypt';// LDAP password atribut// Nama atribut ldap yang digunakan untuk menyimpan kata sandi pengguna// Default:'userPassword'$rcmail_config['password_ldap_pwattr'] ='userPassword';// LDAP password force replace// Force LDAP replace jika ACL hanya mengizinkan ganti tidak terbaca// Lihat http://pear.php.net/package/Net_LDAP2/docs/latest/Net_LDAP2/Net_LDAP2_Entry.html#methodreplace// Default:true$rcmail_config['password_ldap_force_replace'] =true;
Kepada:
$rcmail_config['password_ldap_host'] ='localhost';$rcmail_config['password_ldap_port'] ='389';$rcmail_config['password_ldap_starttls'] =false;$rcmail_config['password_ldap_version'] ='3';$ rcmail_config['password_ldap_basedn'] ='o=hosting,dc=example,dc=tld';$rcmail_config['password_ldap_method'] ='user';$rcmail_config['password_ldap_adminDN'] =null;$rcmail_config['password_ldap_adminPW'] =null;$rcmail_config['password_ldap_userDN_mask'] ='mail=%login,vd=%domain,o=hosting,dc=example,dc=tld';$rcmail_config['password_ldap_encodage'] ='md5';$rcmail_config[ 'password_ldap_pwattr'] ='userPassword';$rcmail_config['password_ldap_force_replace'] =true;
Sekarang kita akan mengunduh dan menginstal plugin liburan:
cd /usr/src
wget https://github.com/bhuisgen/rc-vacation/archive/master.zip
unzip rc-vacation-master.zip
mv rc -vacation /var/www/roundcube/plugins/vacation
cd /var/www/roundcube/plugins/vacation
Sekarang kita edit konfigurasinya dan ubah:
plugin nano/vacation/config.inc.php
Ubah:
$rcmail_config['vacation_gui_vacationsubject'] =BENAR;
Kepada:
$rcmail_config['vacation_gui_vacationsubject'] =SALAH;
Ubah:
$rcmail_config['vacation_driver'] ='sql';
Kepada:
$rcmail_config['vacation_driver'] ='ldap';
Ubah:
// Base DN$rcmail_config['vacation_ldap_base'] ='dc=ldap,dc=my,dc=domain';// Bind DN$rcmail_config['vacation_ldap_binddn'] ='cn=user,dc=ldap, dc=my,dc=domain';// Ikat sandi$rcmail_config['vacation_ldap_bindpw'] ='pa$$w0rd';
Kepada:
// Base DN$rcmail_config['vacation_ldap_base'] ='o=hosting,dc=example,dc=tld';// Bind DN$rcmail_config['vacation_ldap_binddn'] ='cn=admin,dc=example, dc=tld';// Ikat kata sandi$rcmail_config['vacation_ldap_bindpw'] ='kata sandi Anda';
Ubah:
// Cari filter untuk membaca data$rcmail_config['vacation_ldap_search_filter'] ='(objectClass=mailAccount)';// Cari atribut untuk membaca data$rcmail_config['vacation_ldap_search_attrs'] =array ('vacationActive', 'vacationInfo' );// larik DN yang akan digunakan untuk memodifikasi operasi yang diperlukan untuk menulis data.$rcmail_config['vacation_ldap_modify_dns'] =array ('cn=%email_local,ou=Kotak Surat,dc=%email_domain,ou=Server Surat,dc=ldap, dc=saya,dc=domain');
Kepada:
// Cari basis untuk membaca data$rcmail_config['vacation_ldap_search_base'] ='mail=%username,vd=%email_domain,o=hosting,dc=example,dc=tld';// Cari filter untuk membaca data$ rcmail_config['vacation_ldap_search_filter'] ='(objectClass=VirtualMailAccount)';// Cari atribut untuk membaca data$rcmail_config['vacation_ldap_search_attrs'] =array ('vacationActive', 'vacationInfo');// larik DN yang akan digunakan untuk memodifikasi operasi yang diperlukan untuk menulis data.$rcmail_config['vacation_ldap_modify_dns'] =array ('mail=%username,vd=%email_domain,o=hosting,dc=example,dc=tld');
Kita harus mengubah document root pada konfigurasi server Apche2 agar Roundcube dapat diakses.
nano /etc/apache2/sites-enabled/000-default.conf
Dan ubah dari:
DocumentRoot /var/www/html
Kepada:
DocumentRoot /var/www/
Ini menyimpulkan konfigurasi untuk Roundcube.
Langkah 8:Instal dan konfigurasi proftpd
Pertama, kita akan menginstal proftpd dan persyaratannya:
apt install proftpd proftpd-mod-ldap
Tergantung pada beban Anda, Anda dapat memutuskan antara stand alone dan inet.d.
Catatan:Anda dapat menyalin file konfigurasi dari contoh/proftpd ke /etc/proftpd tetapi untuk kejelasan, saya akan menjelaskan semua langkah konfigurasi.
Edit /etc/proftpd/proftpd.conf:
nano /etc/proftpd/proftpd.conf
Dan ubah dari:
# Gunakan ini untuk memenjarakan semua pengguna di rumah mereka# DefaultRoot ~
Kepada:
# Gunakan ini untuk memenjarakan semua pengguna di rumah merekaDefaultRoot
Dan ubah dari:
#RequireValidShell nonaktif
Kepada:
RequireValidShell nonaktif
Dan ubah:
# Alternative authentication frameworks
#
# Include /etc/proftpd/ldap.conf
#Include /etc/proftpd/sql.conf
To:
# Alternative authentication frameworks
#
Include /etc/proftpd/ldap.conf
#Include /etc/proftpd/sql.conf
~
Now edit /etc/proftpd/modules.conf:
nano /etc/proftpd/modules.conf
And change from:
# Install proftpd-mod-ldap to use this#LoadModule mod_ldap.c
To:
# Install proftpd-mod-ldap to use thisLoadModule mod_ldap.c
And from:
# Install proftpd-mod-ldap to use this# LoadModule mod_quotatab_ldap.c
To:
# Install proftpd-mod-ldap to use thisLoadModule mod_quotatab_ldap.c
No edit /etc/proftpd/ldap.conf and set the following:
#
#LDAPServer ldap://ldap.example.com
#LDAPBindDN "cn=admin,dc=example,dc=com" "admin_password"
#LDAPUsers dc=users,dc=example,dc=com (uid=%u) (uidNumber=%u)
#LDAPUseTLS on
#
#
#LDAPServer ldaps://ldap.example.com
#LDAPBindDN "cn=admin,dc=example,dc=com" "admin_password"
#LDAPUsers dc=users,dc=example,dc=com (uid=%u) (uidNumber=%u)
#
LDAPServer ldap://127.0.0.1/??sub
LDAPBindDN "cn=vmail,o=hosting,dc=example,dc=tld "readonly"
LDAPUsers "o=hosting,dc=example,dc=tld" "(&(uid=%v)(objectclass=posixAccount))"
LDAPDefaultGID 33
LDAPDefaultUID 33
LDAPForceDefaultGID True
LDAPForceDefaultUID True
The following commands set the default user to www-data which suits me, you can change these values to suit your setup or leave them out to use the login uid / gid.
LDAPDefaultGID 33
LDAPDefaultUID 33
LDAPForceDefaultGID True
LDAPForceDefaultUID True
33 Is the uid/gid of my testing setup, it can be different on your setup.
This concludes the proftpd installation.
Step 9:Bringing it all together
Issue the following commands to restart all of the services:
service slapd restart
service postfix restart
service dovecot restart
service proftpd restart
layanan apache2 restart
Now you can go to phamm and start adding mail domains and users.
Enjoy.
Note:notify me of any errors or problems with this how to so I can improve and amend this how to.
Use this thread in the forum:
https://www.howtoforge.com/community/threads/postfix-virtual-hosting-with-ldap-backend-and-with-dovecot-as-imap-pop3-server-on-ubuntu-bionic-beav.79408/
I am subscribed to this thread so I will get notifications of new posts in this thread.