Roundcube là giải pháp webmail miễn phí và mã nguồn mở được viết bằng PHP. Đây là trình khách IMAP dựa trên web, do đó bạn cũng có thể truy cập máy chủ email của mình từ trình duyệt web. Bạn không cần phải đọc và gửi email từ máy khách thư trên máy tính để bàn. Hướng dẫn này chỉ cách cài đặt RoundCube với máy chủ web Apache và được bảo mật bằng chứng chỉ SSL Let's encrypt trên Ubuntu 18.04 LTS (Bionic Beaver).
Sau đó, cài đặt Apache và MariaDB bằng lệnh sau:
Sau khi tất cả các gói được cài đặt, bạn sẽ cần thay đổi cài đặt Múi giờ trong tệp php.ini. Bạn có thể thực hiện việc này bằng lệnh sau:
Thực hiện các thay đổi sau:
Lưu và đóng tệp, sau đó khởi động dịch vụ Apache và MariaDB và cho phép chúng khởi động khi khởi động bằng lệnh sau:
Sau khi tải xuống hoàn tất, hãy giải nén tệp đã tải xuống bằng lệnh sau:
Tiếp theo, di chuyển thư mục đã giải nén đến thư mục gốc web Apache:
Tiếp theo, cấp quyền thích hợp cho thư mục roundcube:
Trả lời tất cả các câu hỏi như được hiển thị bên dưới:
Sau khi MariaDB được bảo mật, hãy đăng nhập vào shell MariaDB bằng lệnh sau:
Nhập mật khẩu root của bạn, sau đó tạo cơ sở dữ liệu và người dùng cho Roundcube:
Thay thế từ 'password' bằng mật khẩu an toàn mà bạn chọn và ghi nhớ mật khẩu này, chúng ta cần nó cho quá trình cài đặt roundcube sau. Tiếp theo, flush các đặc quyền và thoát khỏi shell MariaDB bằng lệnh sau:
Tiếp theo, bạn cần import các bảng ban đầu vào cơ sở dữ liệu roundcubedb. Bạn có thể thực hiện việc này bằng lệnh sau:
Nhập mật khẩu người dùng cơ sở dữ liệu roundcube khi được yêu cầu.
Thêm các dòng sau:
thay example.com bằng tên miền của bạn. Lưu và đóng tệp, sau đó bật tệp máy chủ ảo bằng lệnh sau:
Tiếp theo, bật mô-đun ghi đè Apache và khởi động lại máy chủ Apache bằng lệnh sau:
Yêu cầu chứng chỉ SSL bằng lệnh này:
QUAN TRỌNG: Tên miền hoặc tên miền phụ mà bạn sử dụng cho trang web RoundCube phải có thể truy cập được từ internet để lấy Chứng chỉ SSL. Certbot sẽ hỏi một vài câu hỏi ngay bây giờ. Xem câu trả lời bằng màu đỏ.
Hiện tại, bạn có thể truy cập vhost RoundCube qua https.
Sau khi hoàn tất tất cả các yêu cầu, hãy nhấp vào nút Tiếp theo. Bạn sẽ thấy trang sau:
Cấu hình chung:
Cài đặt ghi nhật ký và cơ sở dữ liệu:
Điền thông tin chi tiết về cơ sở dữ liệu của roundcubedb mà bạn đã tạo ở bước thiết lập cơ sở dữ liệu tại đây.
Cài đặt SMTP và IMAP:
Plugin:
Tại đây, hãy cung cấp tất cả thông tin chi tiết theo nhu cầu của bạn, sau đó nhấp vào nút CREATE CONFIG. Bạn sẽ thấy trang sau:
Tiếp theo, nhấp vào nút Continue. Bạn sẽ thấy trang sau:
Bây giờ, hãy nhấp vào nút Kiểm tra đăng nhập. Sau khi hoàn tất cài đặt, hãy xóa thư mục /var/www/html/roundcube/installer:
Bây giờ, hãy truy cập webmail của bạn bằng URL
hoặc
và đăng nhập bằng email của bạn.
RoundCube đã được cài đặt thành công trên Ubuntu 18.04 LTS.
Các tính năng của RoundCube
- Hỗ trợ MIME, tìm kiếm tin nhắn và kiểm tra chính tả.
- Tích hợp thư mục LDAP cho sổ địa chỉ.
- Hỗ trợ nhiều ngôn ngữ.
- Hỗ trợ thư mục dùng chung/toàn cục và ACL IMAP.
- Bộ nhớ đệm tích hợp để truy cập hộp thư nhanh.
- Hỗ trợ máy chủ SMTP bên ngoài và IDNA.
Yêu cầu
- Máy chủ chạy Ubuntu 18.04 LTS.
- Người dùng không phải root có quyền sudo.
Cài đặt LAMP Server
Trước khi bắt đầu, bạn nên cập nhật danh sách gói và cài đặt các bản cập nhật đang chờ xử lý:
Mã:
sudo apt-get update
sudo apt-get upgrade
Mã:
sudo apt-get install apache2 mariadb-server php7.2 php7.2-gd php-mysql php7.2-curl php7.2-zip php7.2-ldap php7.2-mbstring php-imagick php7.2-intl php7.2-xml unzip wget curl -y
Mã:
sudo nano /etc/php/7.2/apache2/php.ini
Mã:
date.timezone = Europe/Berlin
Mã:
sudo systemctl start apache2
sudo systemctl enable apache2
sudo systemctl start mariadb
sudo systemctl enable mariadb
Tải xuống Roundcube
Đầu tiên, bạn sẽ cần tải xuống phiên bản Roundcube mới nhất vào hệ thống của mình. Bạn có thể tải xuống bằng lệnh sau:
Mã:
cd /tmp
wget https://github.com/roundcube/roundcubemail/releases/download/1.3.8/roundcubemail-1.3.8-complete.tar.gz
Mã:
tar -xvzf roundcubemail-1.3.8-complete.tar.gz
Mã:
mv roundcubemail-1.3.8 /var/www/html/roundcube
Mã:
sudo chown -R www-data:www-data /var/www/html/roundcube
sudo chmod -R 775 /var/www/html/roundcube
Cấu hình Cơ sở dữ liệu
Theo mặc định, cài đặt MariaDB không được bảo mật. Vì vậy, trước tiên bạn cần bảo mật nó. Bạn có thể bảo mật nó bằng cách chạy tập lệnh sau:
Mã:
mysql_secure_installation
Mã:
Đổi mật khẩu cho root? NXóa người dùng ẩn danh? YKhông cho phép root đăng nhập từ xa? YXóa cơ sở dữ liệu thử nghiệm và quyền truy cập vào cơ sở dữ liệu đó? YTải lại bảng đặc quyền ngay bây giờ? Y
Mã:
mysql -u root -p
Mã:
MariaDB [(none)]> CREATE DATABASE roundcubedb;
MariaDB [(none)]> CREATE USER 'roundcube'@'localhost' IDENTIFIED BY 'password';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON roundcubedb.* to 'roundcube'@'localhost';
Mã:
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> exit;
Mã:
cd /var/www/html/roundcube
mysql -u roundcube -p roundcubedb < SQL/mysql.initial.sql
Cấu hình Apache cho Roundcube
Tiếp theo, bạn sẽ cần tạo tệp máy chủ ảo Apache cho Roundcube. Bạn có thể thực hiện việc này bằng lệnh sau:
Mã:
sudo nano /etc/apache2/sites-available/roundcube.conf
Mã:
ServerName example.com ServerAdmin [emailprotected] DocumentRoot /var/www/html/roundcube ErrorLog ${APACHE_LOG_DIR}/roundcube_error.log CustomLog ${APACHE_LOG_DIR}/roundcube_access.log combined Options -Indexes AllowOverride All Order allow,deny allow from all
Mã:
sudo a2ensite roundcube
Mã:
sudo a2enmod rewrite
sudo systemctl restart apache2
Bật SSL bằng Let's encrypt cho RoundCube
Trong bước này, chúng tôi sẽ bật SSL cho RoundCube bằng cách sử dụng chứng chỉ SSL Let's encrypt miễn phí. Bước đầu tiên là cài đặt certbot Let's encrypt client mà chúng ta sẽ sử dụng để lấy chứng chỉ SSL.
Mã:
sudo apt-get install certbotpython-certbot-apache
Mã:
sudocertbot --apache
Mã:
root@server: certbot --apache
Lưu nhật ký gỡ lỗi vào /var/log/letsencrypt/letsencrypt.log
Các plugin đã chọn: Authenticator apache, Installer apache
Nhập địa chỉ email (dùng để gia hạn khẩn cấp và thông báo bảo mật) (Nhập 'c' để
hủy): [emailprotected]
Mã:
-----------------------------------------------------------------------------------------------
Vui lòng đọc Điều khoản dịch vụ tại
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. Bạn phải đồng ý để đăng ký với máy chủ ACME tại
https://acme-v01.api.letsencrypt.org/directory
----------------------------------------------------------------------------------
(Đồng ý/(Hủy bỏ): a
Mã:
-----------------------------------------------------------------------------------------------
Bạn có đồng ý chia sẻ địa chỉ email của mình với Electronic Frontier
Foundation, đối tác sáng lập của dự án Let's Encrypt và là tổ chức phi lợi nhuận phát triển Certbot không? Chúng tôi muốn gửi cho bạn email về EFF và
công việc của chúng tôi trong việc mã hóa web, bảo vệ người dùng và bảo vệ các quyền kỹ thuật số.
----------------------------------------------------------------------------------
(C)es/(K)o: n
Mã:
Bạn muốn kích hoạt HTTPS cho những tên nào?
----------------------------------------------------------------------------------
1: roundcube.example.com
----------------------------------------------------------------------------------
Chọn các số thích hợp được phân tách bằng dấu phẩy và/hoặc dấu cách hoặc để trống đầu vào
để chọn tất cả các tùy chọn được hiển thị (Nhập 'c' để hủy): 1
Nhận chứng chỉ mới
Thực hiện các thử thách sau:
Thử thách http-01 cho roundcube.example.com
Đang chờ xác minh...
Dọn dẹp các thử thách
Đã tạo một máy chủ ảo SSL tại /etc/apache2/sites-available/roundcube-le-ssl.conf
Bật mô-đun Apache socache_shmcb
Bật mô-đun Apache ssl
Triển khai chứng chỉ cho VirtualHost /etc/apache2/sites-available/roundcube-le-ssl.conf
Bật trang web khả dụng: /etc/apache2/sites-available/roundcube-le-ssl.conf
Mã:
Vui lòng chọn có chuyển hướng lưu lượng HTTP sang HTTPS hay không, xóa quyền truy cập HTTP.
-----------------------------------------------------------------------------------------------
1: Không chuyển hướng - Không thực hiện thêm bất kỳ thay đổi nào đối với cấu hình máy chủ web.
2: Chuyển hướng - Chuyển hướng tất cả các yêu cầu đến quyền truy cập HTTPS an toàn. Chọn tùy chọn này cho
các trang web mới hoặc nếu bạn tin chắc rằng trang web của mình hoạt động trên HTTPS. Bạn có thể hoàn tác thay đổi này
bằng cách chỉnh sửa cấu hình máy chủ web của bạn.
---------------------------------------------------------------------------------------
Chọn số thích hợp [1-2] rồi [enter] (nhấn 'c' để hủy): 2
Đang chuyển hướng vhost trong /etc/apache2/sites-enabled/roundcube.conf sang ssl vhost trong /etc/apache2/sites-available/roundcube-le-ssl.conf
Mã:
-----------------------------------------------------------------------------------------------
Xin chúc mừng! Bạn đã bật thành công https://roundcube.example.com
Mã:
Bạn nên kiểm tra cấu hình của mình tại:
https://www.ssllabs.com/ssltest/analyze.html?d=roundcube.example.com
----------------------------------------------------------------------------------
Mã:
LƯU Ý QUAN TRỌNG:
- Xin chúc mừng! Chứng chỉ và chuỗi của bạn đã được lưu tại:
/etc/letsencrypt/live/roundcube.example.com/fullchain.pem
Tệp khóa của bạn đã được lưu tại:
/etc/letsencrypt/live/roundcube.example.com/privkey.pem
Chứng chỉ của bạn sẽ hết hạn vào ngày 25-06-2019. Để có phiên bản
mới hoặc đã chỉnh sửa của chứng chỉ này trong tương lai, chỉ cần chạy lại certbot
với tùy chọn "certonly". Để gia hạn không tương tác *tất cả*
chứng chỉ của bạn, hãy chạy "certbot renew"
- Thông tin đăng nhập tài khoản của bạn đã được lưu trong thư mục cấu hình Certbot
của bạn tại /etc/letsencrypt. Bây giờ, bạn nên sao lưu an toàn thư mục này. Thư mục cấu hình này cũng sẽ chứa các chứng chỉ và khóa riêng do Certbot thu được, do đó, việc sao lưu thường xuyên thư mục này là lý tưởng. - Nếu bạn thích Certbot, vui lòng cân nhắc hỗ trợ công việc của chúng tôi bằng cách:
Mã:
Quyên góp cho ISRG / Let's Encrypt: https://letsencrypt.org/donate
Quyên góp cho EFF: https://eff.org/donate-le
Truy cập Webmail
Bây giờ, hãy mở trình duyệt web của bạn và nhập URL (thay example.com bằng tên miền của bạn trong URL!). Bạn sẽ được chuyển hướng đến trang sau:Sau khi hoàn tất tất cả các yêu cầu, hãy nhấp vào nút Tiếp theo. Bạn sẽ thấy trang sau:
Cấu hình chung:
Cài đặt ghi nhật ký và cơ sở dữ liệu:
Điền thông tin chi tiết về cơ sở dữ liệu của roundcubedb mà bạn đã tạo ở bước thiết lập cơ sở dữ liệu tại đây.
Cài đặt SMTP và IMAP:
Plugin:
Tại đây, hãy cung cấp tất cả thông tin chi tiết theo nhu cầu của bạn, sau đó nhấp vào nút CREATE CONFIG. Bạn sẽ thấy trang sau:
Tiếp theo, nhấp vào nút Continue. Bạn sẽ thấy trang sau:
Bây giờ, hãy nhấp vào nút Kiểm tra đăng nhập. Sau khi hoàn tất cài đặt, hãy xóa thư mục /var/www/html/roundcube/installer:
Mã:
sudo rm -rf /var/www/html/roundcube/installer
RoundCube đã được cài đặt thành công trên Ubuntu 18.04 LTS.