Máy chủ hoàn hảo - Ubuntu 14.10 (nginx, BIND, Dovecot, ISPConfig 3)

theanh

Administrator
Nhân viên
Hướng dẫn này chỉ cách chuẩn bị máy chủ Ubuntu 14.10 (Utopic Unicorn) (với nginx, BIND, Dovecot) để cài đặt ISPConfig 3 và cách cài đặt ISPConfig 3. ISPConfig 3 là bảng điều khiển lưu trữ web cho phép bạn cấu hình các dịch vụ sau thông qua trình duyệt web: máy chủ web Apache hoặc nginx, máy chủ thư Postfix, máy chủ IMAP/POP3 Courier hoặc Dovecot, máy chủ tên MySQL, BIND hoặc MyDNS, PureFTPd, SpamAssassin, ClamAV và nhiều dịch vụ khác. Thiết lập này bao gồm nginx (thay vì Apache), BIND (thay vì MyDNS) và Dovecot (thay vì Courier).
Sổ tay hướng dẫn ISPConfig 3​
Để tìm hiểu cách sử dụng ISPConfig 3, tôi thực sự khuyên bạn nên tải xuống Sổ tay hướng dẫn ISPConfig 3.

Với hơn 300 trang, sổ tay này bao gồm khái niệm đằng sau ISPConfig (quản trị viên, đại lý bán lại, khách hàng), giải thích cách cài đặt và cập nhật ISPConfig 3, bao gồm tài liệu tham khảo cho tất cả các biểu mẫu và trường biểu mẫu trong ISPConfig cùng với các ví dụ về đầu vào hợp lệ và cung cấp hướng dẫn cho các tác vụ phổ biến nhất trong ISPConfig 3. Sổ tay này cũng chỉ ra cách làm cho máy chủ của bạn an toàn hơn và đi kèm với phần khắc phục sự cố ở cuối.


1. Lưu ý sơ bộ​

Trong hướng dẫn này, tôi sử dụng tên máy chủ server1.example.com với địa chỉ IP 192.168.0.100 và cổng 192.168.0.1. Các thiết lập này có thể khác nhau đối với bạn, vì vậy bạn phải thay thế chúng khi cần thiết. Trước khi tiến hành, bạn cần cài đặt Ubuntu 14.10 cơ bản tối thiểu như đã giải thích trong hướng dẫn.

2. Chỉnh sửa /etc/apt/sources.list và cập nhật cài đặt Linux của bạn​

Chỉnh sửa /etc/apt/sources.list. Bình luận hoặc xóa đĩa CD cài đặt khỏi tệp và đảm bảo rằng kho lưu trữ universe và multiverse được bật. Nó sẽ trông như thế này:
Mã:
nano /etc/apt/sources.list
Mã:
## deb cdrom:[Ubuntu-Server 14.10 _Utopic Unicorn_ - Bản phát hành amd64 (20141022.2)]/ utopic main restricted#deb cdrom:[Ubuntu-Server 14.10 _Utopic Unicorn_ - Bản phát hành amd64 (20141022.2)]/ utopic main restricted# Xem http://help.ubuntu.com/community/UpgradeNotes để biết cách nâng cấp lên# phiên bản mới hơn của bản phân phối.deb http://de.archive.ubuntu.com/ubuntu/ utopic main restricteddeb-src http://de.archive.ubuntu.com/ubuntu/ utopic main restricted## Các bản cập nhật sửa lỗi lớn được tạo ra sau bản phát hành cuối cùng của## bản phân phối.deb http://de.archive.ubuntu.com/ubuntu/ utopic-updates main restricteddeb-src http://de.archive.ubuntu.com/ubuntu/ utopic-updates main restricted## Lưu ý: phần mềm từ kho lưu trữ này HOÀN TOÀN KHÔNG ĐƯỢC HỖ TRỢ bởi nhóm Ubuntu##. Ngoài ra, xin lưu ý rằng phần mềm trong universe SẼ KHÔNG nhận được bất kỳ## đánh giá hoặc cập nhật nào từ nhóm bảo mật Ubuntu.deb http://de.archive.ubuntu.com/ubuntu/ utopic universedeb-src http://de.archive.ubuntu.com/ubuntu/ utopic universedeb http://de.archive.ubuntu.com/ubuntu/ utopic-updates universe## Lưu ý: phần mềm từ kho lưu trữ này HOÀN TOÀN KHÔNG ĐƯỢC HỖ TRỢ bởi nhóm Ubuntu## và có thể không được cấp phép miễn phí. Vui lòng tự xác nhận## quyền sử dụng phần mềm của bạn. Ngoài ra, xin lưu ý rằng phần mềm trong## multiverse SẼ KHÔNG nhận được bất kỳ đánh giá hoặc cập nhật nào từ nhóm bảo mật Ubuntu##.deb http://de.archive.ubuntu.com/ubuntu/ utopic multiversedeb-src http://de.archive.ubuntu.com/ubuntu/ utopic multiversedeb http://de.archive.ubuntu.com/ubuntu/ utopic-updates multiversedeb-src http://de.archive.ubuntu.com/ubuntu/ utopic-updates multiverse## Lưu ý: phần mềm từ kho lưu trữ này có thể chưa được kiểm tra## rộng rãi như phần mềm có trong bản phát hành chính, mặc dù nó bao gồm## các phiên bản mới hơn của một số ứng dụng có thể cung cấp các tính năng hữu ích.## Ngoài ra, xin lưu ý rằng phần mềm trong backport SẼ KHÔNG nhận được bất kỳ đánh giá## hoặc cập nhật nào từ nhóm bảo mật Ubuntu.deb http://de.archive.ubuntu.com/ubuntu/ utopic-backports main restricted universe multiversedeb-src http://de.archive.ubuntu.com/ubuntu/ utopic-backports main restricted universe multiversedeb http://security.ubuntu.com/ubuntu utopic-security main restricteddeb http://security.ubuntu.com/ubuntu utopic-security universedeb-src http://security.ubuntu.com/ubuntu utopic-security universedeb http://security.ubuntu.com/ubuntu utopic-security multiversedeb http://security.ubuntu.com/ubuntu utopic-security multiverse## Bỏ chú thích hai dòng sau để thêm phần mềm từ kho lưu trữ 'đối tác' của Canonical.## Phần mềm này không phải là một phần của Ubuntu, nhưng được Canonical và các## nhà cung cấp tương ứng cung cấp dưới dạng dịch vụ cho người dùng Ubuntu.# deb http://archive.canonical.com/ubuntu utopic partner# deb-src http://archive.canonical.com/ubuntu utopic partner## Bỏ chú thích hai dòng sau để thêm phần mềm từ kho lưu trữ## 'extras' của Ubuntu.## Phần mềm này không phải là một phần của Ubuntu, nhưng được cung cấp bởi các nhà phát triển bên thứ ba## muốn cung cấp phần mềm mới nhất của họ.# deb http://extras.ubuntu.com/ubuntu utopic main# deb-src http://extras.ubuntu.com/ubuntu utopic main~
Sau đó chạy
Mã:
apt-get update
để cập nhật cơ sở dữ liệu gói apt và
Mã:
apt-get upgrade
để cài đặt các bản cập nhật mới nhất (nếu có). Nếu bạn thấy một hạt nhân mới được cài đặt như một phần của bản cập nhật, bạn nên khởi động lại hệ thống sau đó:
Mã:
khởi động lại

3. Thay đổi Shell mặc định​

/bin/sh là liên kết tượng trưng đến /bin/dash, tuy nhiên chúng ta cần /bin/bash, không phải /bin/dash. Do đó, chúng ta thực hiện như sau:
Mã:
dpkg-reconfigure dash
Sử dụng dash làm shell hệ thống mặc định (/bin/sh)? <-- Không

Nếu bạn không thực hiện thao tác này, quá trình cài đặt ISPConfig sẽ không thành công.


4. Tắt AppArmor​

AppArmor là tiện ích mở rộng bảo mật (tương tự như SELinux) có chức năng cung cấp bảo mật mở rộng. Theo mặc định, tiện ích này không được cài đặt từ phiên bản 13.10 trở đi. Chúng tôi sẽ kiểm tra chéo xem tiện ích này đã được cài đặt chưa. Theo tôi, bạn không cần tiện ích này để cấu hình hệ thống bảo mật và tiện ích này thường gây ra nhiều vấn đề hơn là lợi ích (hãy nghĩ đến điều này sau khi bạn đã dành một tuần để khắc phục sự cố vì một số dịch vụ không hoạt động như mong đợi, rồi bạn phát hiện ra rằng mọi thứ đều ổn, chỉ có AppArmor là nguyên nhân gây ra sự cố). Do đó, tôi tắt tiện ích này (điều này là bắt buộc nếu bạn muốn cài đặt ISPConfig sau này).

Chúng ta có thể tắt tiện ích này như sau:
Mã:
service apparmor stop
update-rc.d -f apparmor remove
apt-get remove apparmor apparmor-utils

5. Đồng bộ hóa Đồng hồ Hệ thống​

Bạn nên đồng bộ hóa đồng hồ hệ thống với máy chủ NTP (mạngthời gianpgian) qua Internet. Chỉ cần chạy
Mã:
apt-get install ntp ntpdate
và thời gian hệ thống của bạn sẽ luôn được đồng bộ.


6. Cài đặt Postfix, Dovecot, MySQL, phpMyAdmin, rkhunter, binutils​

Chúng ta có thể cài đặt Postfix, Dovecot, MySQL, rkhunter và binutils chỉ bằng một lệnh:
Mã:
apt-get install postfix postfix-mysql postfix-doc mariadb-client mariadb-server openssl getmail4 rkhunter binutils dovecot-imapd dovecot-pop3d dovecot-mysql dovecot-sieve sudo
Bạn sẽ được hỏi những câu hỏi sau:

Mật khẩu mới cho người dùng "root" của MySQL: <-- yourrootsqlpassword
Nhập lại mật khẩu cho người dùng "root" của MySQL: <-- yourrootsqlpassword
Tạo chứng chỉ SSL tự ký?: <-- Có
Tên máy chủ: <-- server1.example.com
Chỉ cục bộ: <-- OK
Kiểu cấu hình thư chung: <-- Trang web Internet
Tên thư hệ thống: <-- server1.example.com

Tiếp theo, hãy mở các cổng TLS/SSL và gửi trong Postfix:
Mã:
nano /etc/postfix/master.cf
Bỏ chú thích các phần submission và smtps như sau - thêm dòng -o smtpd_client_restrictions=permit_sasl_authenticated,reject cho cả hai phần và để lại mọi thứ sau đó được bình luận:
Mã:
[...]submission inet n - - - - smtpd -o syslog_name=postfix/submission -o smtpd_tls_security_level=encrypt -o smtpd_sasl_auth_enable=yes [B]-o smtpd_client_restrictions=permit_sasl_authenticated,reject[/b]# -o smtpd_reject_unlisted_recipient=no# -o smtpd_client_restrictions=$mua_client_restrictions# -o smtpd_helo_restrictions=$mua_helo_restrictions# -o smtpd_sender_restrictions=$mua_sender_restrictions# -o smtpd_recipient_restrictions=permit_sasl_authenticated,từ chối# -o milter_macro_daemon_name=GỐCsmtps inet n - - - - smtpd -o syslog_name=postfix/smtps -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes [B]-o smtpd_client_restrictions=permit_sasl_authenticated,từ chối[/b]# -o smtpd_reject_unlisted_recipient=no# -o smtpd_client_restrictions=$mua_client_restrictions# -o smtpd_helo_restrictions=$mua_helo_restrictions# -o smtpd_sender_restrictions=$mua_sender_restrictions# -o smtpd_recipient_restrictions=permit_sasl_authenticated,reject# -o milter_macro_daemon_name=ORIGINATING[...]
Khởi động lại Postfix sau đó:
Mã:
service postfix restart
Chúng tôi muốn MySQL lắng nghe trên tất cả các giao diện, không chỉ localhost, do đó chúng tôi chỉnh sửa /etc/mysql/my.cnf và chú thích dòng bind-address = 127.0.0.1:
Mã:
nano /etc/mysql/my.cnf
Mã:
[...]# Thay vì bỏ qua mạng, mặc định hiện chỉ lắng nghe trên# localhost tương thích hơn và không kém an toàn.[B]#[/b]bind-address = 127.0.0.1[...]
Sau đó, chúng ta khởi động lại MySQL:
Mã:
service mysql restart
Bây giờ hãy kiểm tra xem mạng đã được bật chưa. Chạy
Mã:
netstat -tap | grep mysql
Đầu ra sẽ trông như thế này:
Mã:
root@server1:~# netstat -tap | grep mysql
tcp 0 0 *:mysql *:* LISTEN 23785/mysqld 
root@server1:~#

7. Cài đặt Amavisd-new, SpamAssassin và Clamav​

Để cài đặt amavisd-new, SpamAssassin và ClamAV, chúng ta chạy
Mã:
apt-get install amavisd-new spamassassin clamav clamav-daemon zoo unzip bzip2 arj nomarch lzop cabextract apt-listchanges libnet-ldap-perl libauthen-sasl-perl clamav-docs daemon libio-string-perl libio-socket-ssl-perl libnet-ident-perl zip libnet-dns-perl
Thiết lập ISPConfig 3 sử dụng amavisd tải thư viện bộ lọc SpamAssassin nội bộ, do đó chúng ta có thể dừng SpamAssassin để giải phóng một số RAM:
Mã:
service spamassassin stop
update-rc.d -f spamassassin remove
Để chạy clamav sử dụng
Mã:
freshclam
dịch vụ clamav-daemon bắt đầu
 
Back
Bên trên