Cách cài đặt RainLoop Webmail trên Debian 11

Tác giả sysadmin, T.Tư 04, 2023, 01:44:11 CHIỀU

« Chủ đề trước - Chủ đề tiếp »

0 Thành viên và 2 Khách đang xem chủ đề.

Cách cài đặt RainLoop Webmail trên Debian 11


RainLoop là ứng dụng web-mail mã nguồn mở, miễn phí dành cho máy tính để bàn tích hợp dịch vụ chuyển đổi văn bản thành văn bản. Nó được thiết kế để hoạt động như một giao diện cho các chương trình IM thông thường như AOL và Windows Live Messenger. RainLoop là một ứng dụng dựa trên web có thể chạy với hầu hết các trình duyệt và chỉ mất vài giây để khởi động.


Tính năng:

  • Email – Rainloop được cấu hình sẵn với tất cả các máy chủ POP3/IMAP chính mà bạn có thể muốn sử dụng. Bạn không cần phải cấu hình chúng một cách riêng biệt; chúng đã sẵn sàng khi bạn bắt đầu sử dụng Rainloop.
  • Lịch – Thêm nhiều lịch từ phần mềm lập lịch phổ biến (iCal, Lịch Google, v.v.) vào Rainloop.
  • Danh bạ – Xem ai có trong danh sách liên hệ của bạn, xem thông tin liên hệ của họ, thêm người mới, tìm kiếm mọi người theo tên hoặc vị trí, thêm ghi chú về từng người, v.v.
  • Nhiệm vụ – Quản lý nhiệm vụ dễ dàng trong Rainloop. Thêm tác vụ nhanh chóng từ Outlook Express, Microsoft Outlook, Apple Mail, Mozilla Sunbird, Firefox, Eudora Pro, Netscape Communicator, Opera Mail hoặc bất kỳ ứng dụng nào khác hỗ trợ mô hình tác vụ GTD tiêu chuẩn.
  • Ghi chú – Chia sẻ ý tưởng, suy nghĩ, liên kết, v.v. Tạo và chỉnh sửa tệp văn bản, tài liệu HTML, tài liệu RTF được định dạng, hình ảnh, PDF, MP3, v.v.
  • Tin tức – Đọc các nguồn cấp tin tức từ các trang web tuân thủ RSS 2.0 như Bloglines, Digg, Reddit, Slashdot, Yahoo! Tiếng vo ve, v.v.
  • Tìm kiếm – Tìm nhanh các email dựa trên từ khóa, nhãn, chủ đề, người gửi, người nhận, phạm vi ngày và nhiều tiêu chí khác.
  • Duyệt web – Duyệt qua các trang bạn chọn bằng hỗ trợ proxy tích hợp.
  • Trò chuyện – Sử dụng Rainloop làm ứng dụng trò chuyện cho AIM, MSN Messenger, Jabber, ICQ, IRC, v.v.
  • Chia sẻ màn hình – Chia sẻ từ xa màn hình, webcam hoặc micrô của bạn với bạn bè và gia đình.
  • Nhập – Rainloop cung cấp một cách đơn giản để nhập các tệp PST và lưu trữ định dạng mbox được tạo bởi một chương trình khác như Thunderbird, Evolution, Entourage, Kontact, v.v.
  • Cập nhật tự động – Khi có phiên bản mới, Rainloop sẽ tự động tải xuống bản cập nhật mà không cần người dùng can thiệp.

Trong hướng dẫn từng bước này, bạn sẽ tìm hiểu cách định cấu hình, cài đặt và sử dụng Rainloop làm ứng dụng khách webmail.

1. Điều kiện tiên quyết

Để cài đặt Rainloop đúng cách, bạn nên có:

  • Tên miền đủ điều kiện (FQDN) trỏ đến máy chủ của bạn và chứng chỉ SSL chuyên dụng cho FQDN đó.
  • Bản cài đặt Debian 10 hoặc Debian 11 mới trên máy chủ của bạn với quyền truy cập root.
  • Máy chủ web Apache2 được định cấu hình đúng với SSL được bật theo mặc định.
  • RAM tối thiểu 2 GB, ổ cứng 20 GB và bộ xử lý 2 GHz trở lên.

2. Cập nhật hệ thống của bạn.

Bạn cần cập nhật hệ thống của mình để hỗ trợ tất cả các giao thức TLS 1.2 và SSL mới cho ứng dụng email trực tuyến Rainloop của bạn.

Chạy lệnh sau để cập nhật chỉ mục gói hệ thống của bạn.

Mã nguồn [Chọn]
sudo apt update && apt upgrade -y

3. Cài đặt Nginx

Nginx nằm trong ngăn xếp LEMP, có nghĩa là nó sử dụng Linux, Nginx, MariaDB và PHP. Linux được sử dụng để xử lý các hoạt động của máy chủ phụ trợ. Nginx là trình cân bằng tải, cân bằng tải và proxy giao diện người dùng. MariaDB là công cụ cơ sở dữ liệu. PHP được sử dụng để chạy ứng dụng webmail Rainloop của bạn.

Nginx là một trong những máy chủ web tốt nhất hiện có và nó được sử dụng bởi một tỷ lệ lớn trong số 10.000 trang web được truy cập nhiều nhất trên thế giới. Bạn sẽ sử dụng Nginx làm máy chủ proxy ngược để chuyển tiếp tất cả các yêu cầu HTTP đến tới ứng dụng thư điện tử trên web Rainloop của bạn.

Chạy lệnh sudo apt install nginx -y để cài đặt Nginx trên máy chủ của bạn.

Mã nguồn [Chọn]
sudo apt install nginx -y

Chạy lệnh sudo service nginx status để xác minh rằng Nginx đã được cài đặt và đang chạy.

Mã nguồn [Chọn]
sudo service nginx status
Bạn sẽ nhận được systax đang hoạt động (đang chạy) làm đầu ra từ lệnh này. Nếu không, hãy quay lại và cài đặt lại Nginx cho đến khi bạn nhận được đầu ra hoạt động.


Để kiểm tra kỹ, hãy mở trình duyệt web yêu thích của bạn và truy cập http://your-ip-address. Bạn sẽ nhận được trang Nginx mặc định với phiên bản mới nhất của phần mềm Nginx, trang này sẽ được hiển thị trên màn hình. Điều này có nghĩa là quá trình cài đặt Nginx của bạn đã thành công và đang hoạt động bình thường.


4. Cài đặt MariaDB

Đối với ứng dụng webmail Rainloop của bạn, bạn cần một công cụ cơ sở dữ liệu có thể xử lý lượng lớn dữ liệu mà bạn sẽ gửi qua lại cho nó. MariaDB là một giải pháp thay thế nguồn mở rất phổ biến cho MySQL, thường được sử dụng vì nó nhẹ hơn, nhanh hơn và dễ sử dụng hơn MySQL

Chạy lệnh sudo apt install mariadb-server -y để cài đặt MariaDB trên máy chủ của bạn.

Mã nguồn [Chọn]
sudo apt install mariadb-server -y

Khi quá trình cài đặt hoàn tất, hãy chạy lệnh sudo mysql_secure_installation để bảo mật phiên bản MySQL của bạn. Tập lệnh "mysql_secure_installation" là một tính năng bảo mật sẽ thực hiện một số hành động nhất định để bảo mật máy chủ MariaDB của bạn.

Mã nguồn [Chọn]
mysql_secure_installation
Bạn sẽ được yêu cầu nhập mật khẩu gốc cho phiên bản cơ sở dữ liệu MariaDB của mình. Đây là lần đầu tiên bạn đặt mật khẩu cho người dùng root MySQL của mình, vì vậy hãy nhấn Enter để tiếp tục.

Bạn sẽ được hỏi có muốn đặt mật khẩu gốc hay không. Nhập Y để tiếp tục. Cung cấp một mật khẩu mạnh mà chỉ bạn mới có thể nhớ. Nhấn Enter.


Đối với các câu hỏi còn lại, hãy nhập Y và nhấn Enter để xác nhận từng câu hỏi.


Nhập lệnh bên dưới để khởi động lại MariaDB. Điều này sẽ đảm bảo rằng tất cả các thay đổi đã có hiệu lực.

Mã nguồn [Chọn]
sudo service mariadb restart
Chạy lệnh sudo systemctl status mariadb để kiểm tra xem MariaDB có đang chạy hay không.

Mã nguồn [Chọn]
sudo systemctl status mariadb
Bạn sẽ nhận được đầu ra " Active: active (running) since ... in state " làm đầu ra từ lệnh này. Điều này có nghĩa là phiên bản cơ sở dữ liệu MariaDB của bạn đang chạy và lắng nghe các yêu cầu.


5. Cài đặt PHP

PHP là viết tắt của PHP: Hypertext Preprocessor. Một dịch vụ dựa trên PHP có thể dễ dàng nhúng vào các trang HTML, do đó cho phép bạn tương tác với cơ sở dữ liệu MySQL của mình từ một trang web. Nó là một trong những ngôn ngữ phát triển web phổ biến nhất hiện có.

RainLoop yêu cầu PHP 5.5 trở lên và nhiều phần mở rộng PHP để hoạt động bình thường. Bản trình diễn này sử dụng PHP 7.3+.

Chạy các lệnh bên dưới để cài đặt PHP 7.3 và các mô-đun của nó trên máy chủ của bạn.

Mã nguồn [Chọn]
sudo apt install php -y

sudo apt install php-cli php-fpm php-curl php-json php-mbstring -y

sudo apt install php-common php-xml unzip -y

Khi quá trình cài đặt hoàn tất, hãy mở tệp /etc/php/7.3/fpm/php.ini trong trình chỉnh sửa yêu thích của bạn.

Mã nguồn [Chọn]
sudo nano /etc/php/7.3/fpm/php.ini
Trên Debian 11, sử dụng lệnh này:

Mã nguồn [Chọn]
sudo nano /etc/php/7.4/fpm/php.ini
Chỉnh sửa các dòng sau trong tệp /etc/php/7.3/fpm/php.ini như sau:

Trước:




Sau đó:




Lưu và đóng tệp php.ini khi bạn hoàn tất và khởi động lại PHP trên máy chủ của bạn để đảm bảo tất cả các thay đổi có hiệu lực.

Mã nguồn [Chọn]
sudo service php7.3-fpm restart
Trên Debian 11, sử dụng:

Mã nguồn [Chọn]
sudo service php7.4-fpm restart
5. Tạo cơ sở dữ liệu cho RainLoop

RainLoop sử dụng cơ sở dữ liệu để lưu trữ dữ liệu và thông tin đăng nhập của người dùng của bạn. Bạn sẽ cần một cơ sở dữ liệu để RainLoop hoạt động bình thường.

Chạy lệnh bên dưới để đăng nhập vào MariaDB shell của máy chủ với người dùng root. Nhập mật khẩu gốc của bạn và nhấn Enter để tiếp tục.

Mã nguồn [Chọn]
sudo mysql -u root -p
Chạy CREATE DATABASE rainloopdb; lệnh để tạo cơ sở dữ liệu MariaDB mới có tên rainloopdb. Cơ sở dữ liệu này sẽ lưu trữ tất cả dữ liệu người dùng, nhật ký và thông tin đăng nhập. Hãy nhớ đặt ; dấu chấm phẩy ở cuối mỗi truy vấn SQL.

Mã nguồn [Chọn]
CREATE DATABASE rainloopdb;
Chạy các lệnh bên dưới để tạo người dùng mới trong cơ sở dữ liệu của bạn, với tên người dùng là rainloopuser và mật khẩu là password123. Thay thế password123 bằng bất kỳ mật khẩu nào bạn muốn. Đảm bảo sử dụng mật khẩu mạnh chỉ được sử dụng một lần trên máy chủ của bạn.

Mã nguồn [Chọn]
CREATE USER 'rainloopuser'@'localhost' IDENTIFIED BY 'password123';
Chạy GRANT ALL ON rainloopdb.* TO 'rainloopuser'@'localhost'; lệnh cấp tất cả các đặc quyền trên cơ sở dữ liệu cho người dùng mới được tạo của bạn.

Mã nguồn [Chọn]
GRANT ALL ON rainloopdb.* TO 'rainloopuser'@'localhost';
Chạy FLUSH PRIVILEGES; để tải lại các đặc quyền mà bạn vừa cấp. Điều này đảm bảo rằng người dùng của bạn có toàn quyền truy cập vào cơ sở dữ liệu.

Mã nguồn [Chọn]
FLUSH PRIVILEGES;
Cuối cùng, chạy thoát; lệnh đăng xuất khỏi trình bao MariaDB của bạn.

Mã nguồn [Chọn]
exit;

Chúng tôi đã tạo thành công cơ sở dữ liệu mới có tên Rainloopdb và người dùng có tên Rainloopuser với mật khẩu "password123" có toàn quyền truy cập vào tất cả dữ liệu và bảng trong cơ sở dữ liệu mới của chúng tôi. Bây giờ chúng ta có thể chuyển sang cài đặt RainLoop.

6. Cài đặt RainLoop

Đối với bản demo này, chúng tôi sẽ tải xuống và cài đặt RainLoop cho cộng đồng từ trang web chính thức của nó. Bạn có thể tải phiên bản RainLoop mới nhất theo cách này.

Chạy lệnh bên dưới để tải RainLoop về thư mục gốc trên web của bạn.

Mã nguồn [Chọn]
mkdir /var/www/rainloop && wget http://www.rainloop.net/repository/webmail/rainloop-community-latest.zip
Tiếp theo, chúng tôi sẽ trích xuất nội dung của tệp   Đăng nhập để xem liên kết vào thư mục gốc của web. Thao tác này sẽ tạo một thư mục mới có tên rainloop-community-xxx

Mã nguồn [Chọn]
unzip rainloop-community-latest.zip -d /var/www/rainloop

Cuối cùng, chúng ta cần đặt quyền thích hợp cho thư mục mới tạo. Cách dễ nhất để làm điều này là sử dụng lệnh chown và chmod.

Mã nguồn [Chọn]
sudo chown -R www-data:www-data /var/www/rainloop && sudo chmod -R 775 /var/www/rainloop
7. Tạo Virtual Host cho RainLoop

Máy chủ ảo là một cài đặt trong Nginx, máy chủ web được sử dụng trong hướng dẫn này, cho phép nhiều miền chạy trên cùng một máy chủ. Bằng cách này, chúng tôi có thể tiết kiệm tiền và tài nguyên bằng cách lưu trữ nhiều trang web trên một máy chủ.

Máy chủ lưu trữ cho phép bạn chỉ định tên miền nào trỏ đến thư mục nào trên máy tính của bạn và cách bạn muốn xử lý chúng – ví dụ: bạn có muốn tất cả các yêu cầu về một tên miền được gửi tới một tập lệnh PHP cụ thể (ví dụ: "index.php") hay không bạn muốn chúng được chuyển tiếp đến một tập lệnh khác (ví dụ: "default.php"). Có hai loại máy chủ lưu trữ: "toàn cầu" và "vị trí". Máy chủ toàn cầu là loại tiêu chuẩn được Apache công nhận, trong khi Nginx sử dụng máy chủ dựa trên vị trí.

Mở tệp etc/nginx/sites-available/rainloop.conf trong trình soạn thảo văn bản yêu thích của bạn.

Mã nguồn [Chọn]
sudo nano /etc/nginx/sites-available/rainloop.conf
Thêm các dòng mã sau vào tệp /etc/nginx/sites-available/rainloop.conf. thay   Đăng nhập để xem liên kết bằng tên miền thực của bạn.

Mã nguồn [Chọn]
server {
listen 80;
server_name rainloop.your-domain.com;
root /var/www/rainloop;
index index.php;
location / {
try_files $uri $uri/ /index.php?$query_string;
}

location ~ \.php$ {
fastcgi_index index.php;
fastcgi_split_path_info ^(.+\.php)(.*)$;
fastcgi_keep_conn on;
include fastcgi_params;
fastcgi_pass unix:/var/run/php/php7.3-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}

location ~ /\.ht {
deny all;
}

location ^~ /data {
deny all;
}
}

Lưu và đóng tệp khi bạn chỉnh sửa xong.

Trên Debian 11, thay thế php7.3-fpm bằng php7.4-fpm trong tệp trên.

Chạy lệnh ln -s /etc/nginx/sites-available/rainloop.conf /etc/nginx/sites-enabled để tạo một liên kết tượng trưng và kích hoạt máy chủ ảo. Thao tác này sẽ định cấu hình cổng 80 trên máy chủ của bạn để phân phát tất cả các URL từ gốc tên miền "rainloop" bằng giao thức HTTP.

Mã nguồn [Chọn]
sudo ln -s /etc/nginx/sites-available/rainloop.conf /etc/nginx/sites-enabled/
Chạy lệnh nginx -t để kiểm tra xem mọi thứ đã được cấu hình đúng chưa.

Mã nguồn [Chọn]
nginx -t
Bạn sẽ nhận được đầu ra sau.


Cuối cùng, hãy chạy lệnh systemctl restart nginx để khởi động lại máy chủ web Nginx để đảm bảo các thay đổi của bạn có hiệu lực.

Mã nguồn [Chọn]
sudo systemctl restart nginx
8. Truy cập giao diện người dùng web của Bảng điều khiển quản trị

Bây giờ chúng ta đã hoàn tất cài đặt RainLoop, chúng ta có thể truy cập bảng điều khiển PHP tích hợp sẵn bằng cách truy cập URL   Đăng nhập để xem liên kết trong trình duyệt của bạn.

Bạn sẽ nhận được một màn hình đăng nhập giống như bên dưới. Nhập tên người dùng và mật khẩu mặc định: admin/12345. Bấm vào biểu tượng > để đăng nhập.


Sau khi đăng nhập, bạn sẽ thấy bảng điều khiển quản trị, nơi bạn có thể quản lý tài khoản người dùng và sửa đổi cài đặt của mình.


Trong hướng dẫn này, chúng tôi đã cài đặt một dịch vụ webmail tập trung vào bảo mật an toàn, mạnh mẽ và đáng tin cậy bằng cách sử dụng PHP và MySQL. Chúng tôi đã chọn đúng máy chủ web phù hợp để đáp ứng các nhu cầu cụ thể của mình và đảm bảo rằng chúng tôi có một thiết lập ổn định và dễ quản lý trong tương lai.

Bây giờ bạn sẽ có một bản cài đặt đầy đủ chức năng của RainLoop. Để biết thêm thông tin về phần mềm RainLoop, bạn có thể truy cập trang web chính thức của nó.