ISPmail (10): Cài đặt webmail

Chúng ta sẽ cài đặt Roundcube, một webmail mạnh và đang được tiếp tục phát triển.

Cài đặt (nhấn Enter khi được hỏi)

Cấu hình CSDL cho Roundcube
msql cũng là MariaDB. Gõ Enter
Gõ Enter vì MariaDB chưa có password cho root

Chúng ta cần giá trị hostname=$(hostname -f) và $adm_pwd mật khẩu của mailadmin có ở file ~/readme.txt

Script

#!/bin/bash
# Tên script: 09.webmail.sh
# Webmail roundcube
# © 2020 LNT <lnt@ly-le.info>
# version 20200801
#
echo 'Cài đặt Webmail roundcube...'
HOSTNAME=$(hostname)
DOMAIN=${HOSTNAME#*.}
ADM_PWD=$(sed -n '/mailadmin/{n;s/\s*password: \(.*\)/\1/;p;q}' ~/${DOMAIN}.txt)

apt update
apt install -y --fix-missing roundcube roundcube-plugins roundcube-plugins-extra roundcube-mysql

## Cấu hình website Roundcube ##
grep -q 'Alias /webmail' /etc/apache2/sites-available/mailserver-https.conf || sed "/<\/VirtualHost>/i \  Alias /webmail /var/lib/roundcube\n  Include /etc/roundcube/apache.conf" -i /etc/apache2/sites-available/mailserver-http.conf
systemctl restart apache2

## Cấu hình Roundcube ##
sed -r "s/($config\['default_host'\]).*/\1 = 'tls:\/\/${HOSTNAME}';/
s/($config\['smtp_port'\]).*/\1 = 587;/" -i /etc/roundcube/config.inc.php

## password: cho phép user đổi mật khẩu ##
## managesieve: cho phép user quản lý mail rule ##
sed -r "/$config\['plugins'\] = array/ a \  \'managesieve\',\n  \'password\'," -i /etc/roundcube/config.inc.php

## Cấu hình password plugin ##
cat > /etc/roundcube/plugins/password/config.inc.php << EOF
<?php
// Empty configuration for password
// See /usr/share/roundcube/plugins/password/config.inc.php.dist for instructions
// Check the access right of the file if you put sensitive information in it.
\$config=array();
\$config['password_driver'] = 'sql';
\$config['password_minimum_length'] = 12;
\$config['password_force_save'] = true;
\$config['password_algorithm'] = 'dovecot';
\$config['password_dovecotpw'] = '/usr/bin/doveadm pw -s BLF-CRYPT';
\$config['password_dovecotpw_method'] = '';
\$config['password_dovecotpw_with_method'] = true;
\$config['password_db_dsn'] = 'mysql://mailadmin:${ADM_PWD}@localhost/mailserve$
\$config['password_query'] = "UPDATE virtual_users SET password=%D WHERE email=$
?>
EOF
## Cấu hình sieve plugin ##
cat > /etc/roundcube/plugins/managesieve/config.inc.php << EOF
<?php
// Empty configuration for password
// See /usr/share/roundcube/plugins/managesieve/config.inc.php.dist for instruc$
// Check the access right of the file if you put sensitive information in it.
\$config=array();
\$config['managesieve_host'] = 'localhost';
?>
EOF
echo '' | mutt -s "From EloQ" -i ~/${DOMAIN}.txt postmaster@${DOMAIN}

Comments Off on ISPmail (10): Cài đặt webmail

Filed under Software

Comments are closed.