Hướng dẫn này chỉ cách chuẩn bị máy chủ Debian 12 (có Apache2, BIND, Dovecot) để cài đặt ISPConfig 3.2 và cách cài đặt ISPConfig. Bảng điều khiển lưu trữ web ISPConfig 3 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ủ Dovecot IMAP/POP3, MySQL, máy chủ tên BIND, PureFTPd, Rspamd hoặc Amavis, ClamAV và nhiều dịch vụ khác. Thiết lập này bao gồm Apache (thay vì nginx), BIND và Dovecot với trình quét thư rác Rspamd.
Hướng dẫn này chỉ cách cài đặt thủ công ISPConfig, mất một chút thời gian nhưng cho phép bạn kiểm soát hoàn toàn mọi bước cài đặt. Phương pháp cài đặt nhanh chóng và dễ dàng (mà chúng tôi thực sự khuyên dùng!) là sử dụng trình cài đặt tự động ISPConfig. Bạn có thể tìm hướng dẫn cài đặt ISPConfig cho trình cài đặt tự động tại đây: https://www.howtoforge.com/ispconfig-autoinstall-debian-ubuntu/
Tất cả các lệnh bên dưới phải được chạy bởi người dùng root. Đăng nhập trực tiếp với tư cách là người dùng root hoặc đăng nhập với tư cách là người dùng thông thường của bạn, sau đó sử dụng lệnh
để trở thành người dùng root trên máy chủ của bạn trước khi bạn tiếp tục. QUAN TRỌNG: Bạn phải sử dụng 'su -login' hoặc 'su -' chứ không chỉ 'su'. Nếu không, biến PATH của bạn sẽ bị su đặt sai.
Đảm bảo rằng /etc/apt/sources.list của bạn chứa kho lưu trữ bookworm-updates (điều này đảm bảo bạn luôn nhận được các bản cập nhật mới nhất) và các kho lưu trữ contrib, không miễn phí và không miễn phí-firmware là đã bật.
Lưu tệp.
Từ bây giờ, bạn có thể sử dụng máy khách SSH như PuTTY, kết nối máy trạm của bạn với máy chủ Debian và làm theo các bước còn lại từ đây hướng dẫn.
Nếu vi là trình soạn thảo yêu thích của bạn, hãy thay nano bằng vi trong các lệnh sau để chỉnh sửa tệp.
Sau đó chỉnh sửa /etc/hostname tệp:
Trong trường hợp của chúng tôi, tệp này chỉ chứa phần tên miền phụ:
Cuối cùng, khởi động lại máy chủ để áp dụng thay đổi:
Đăng nhập lại và kiểm tra xem tên máy chủ có đúng không bằng các lệnh sau:
Đầu ra sẽ như thế này điều này:
< /none_replace-b7bae43d-a188-4488-87c5-d1b16e360255>
Chạy:
Đến cập nhật cơ sở dữ liệu gói apt
và cài đặt các bản cập nhật mới nhất (nếu có).
và thời gian hệ thống của bạn sẽ luôn đồng bộ.
Bạn sẽ được hỏi những câu hỏi sau:
Kiểu cấu hình thư chung: <-- Trang web Internet
Tên thư hệ thống: <-- server1.example.com
Để bảo mật cài đặt MariaDB và vô hiệu hóa cơ sở dữ liệu thử nghiệm, hãy chạy lệnh này lệnh:
Trả lời các câu hỏi như sau:
Để cài đặt Rspamd và ClamAV, chúng tôi chạy
Kích hoạt Redis trong Rspamd cấu hình.
Tăng lịch sử Rspamd, bật tính năng nén và hiển thị chủ đề trong lịch sử. Bước này là tùy chọn.
Sau đó khởi động lại Rspamd.
Bây giờ hãy bật php-fpm trong Apache:
Sau đó, hãy chạy lệnh sau để bật các mô-đun Apache bổ sung suexec, rewrite, ssl, actions và include (cộng với dav, dav_fs và auth_digest nếu bạn muốn sử dụng WebDAV):
Để đảm bảo máy chủ không thể bị tấn công thông qua lỗ hổng HTTPOXY, chúng tôi sẽ vô hiệu hóa tiêu đề HTTP_PROXY trên toàn cầu bằng cách thêm tệp cấu hình /etc/apache2/conf-available/httpoxy.conf.
Lưu ý:Lỗ hổng này có tên là httpoxy (không có 'r') và do đó tệp mà chúng tôi thêm cấu hình để ngăn chặn được đặt tên là httpoxy.conf chứ không phải httproxy.conf, do đó không có chữ 'r' nào bị thiếu trong tên tệp.
Dán nội dung sau vào tệp:
Và bật moduleby đang chạy:
Sau đó, đặt quyền cấp SSL thành Let's Encrypt:
Tạo tệp dhparam cho pure-ftpd:
Chỉnh sửa tệp /etc/default/pure-ftpd-common...
... và đảm bảo rằng chế độ bắt đầu được đặt thành standalone và đặt VIRTUALCHROOT=true:
Bây giờ, chúng ta cấu hình PureFTPd để cho phép các phiên FTP và TLS. FTP là một giao thức rất không an toàn vì tất cả mật khẩu và tất cả dữ liệu đều được truyền dưới dạng văn bản rõ. Bằng cách sử dụng TLS, toàn bộ giao tiếp có thể được mã hóa, do đó làm cho FTP an toàn hơn nhiều.
Nếu bạn muốn cho phép các phiên FTP và TLS, hãy chạy
Để sử dụng TLS, chúng ta phải tạo chứng chỉ SSL. Tôi tạo nó trong /etc/ssl/private/, do đó tôi tạo thư mục đó trước:
Sau đó, chúng ta có thể tạo chứng chỉ SSL như sau:
Hướng dẫn này chỉ cách cài đặt thủ công ISPConfig, mất một chút thời gian nhưng cho phép bạn kiểm soát hoàn toàn mọi bước cài đặt. Phương pháp cài đặt nhanh chóng và dễ dàng (mà chúng tôi thực sự khuyên dùng!) là sử dụng trình cài đặt tự động ISPConfig. Bạn có thể tìm hướng dẫn cài đặt ISPConfig cho trình cài đặt tự động tại đây: https://www.howtoforge.com/ispconfig-autoinstall-debian-ubuntu/
1 Lưu ý sơ bộ
Trong hướng dẫn này, tôi sẽ 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 thích hợp. Trước khi tiếp tục, bạn cần cài đặt tối thiểu Debian 12. Đây có thể là hình ảnh tối thiểu Debian từ nhà cung cấp dịch vụ lưu trữ của bạn hoặc bạn có thể sử dụng hướng dẫn Máy chủ Debian tối thiểu để thiết lập hệ thống cơ sở.Tất cả các lệnh bên dưới phải được chạy bởi người dùng root. Đăng nhập trực tiếp với tư cách là người dùng root hoặc đăng nhập với tư cách là người dùng thông thường của bạn, sau đó sử dụng lệnh
Mã:
su --login
Đảm bảo rằng /etc/apt/sources.list của bạn chứa kho lưu trữ bookworm-updates (điều này đảm bảo bạn luôn nhận được các bản cập nhật mới nhất) và các kho lưu trữ contrib, không miễn phí và không miễn phí-firmware là đã bật.
Mã:
nano /etc/apt/sources.list
Mã:
#deb cdrom:[Debian GNU/Linux 12.1.0 _Bookworm_ - Official amd64 NETINST with firmware 20230722-10:48]/ bookworm main non-free-firmware
deb http://deb.debian.org/debian/ bookworm main contrib non-free non-free-firmware
deb-src http://deb.debian.org/debian/ bookworm main contrib non-free non-free-firmware
deb http://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware
deb-src http://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware
# bookworm-updates, to get updates before a point release is made;
# see https://www.debian.org/doc/manuals/debian-reference/ch02.en.html#_updates_and_backports
deb http://deb.debian.org/debian/ bookworm-updates main contrib non-free non-free-firmware
deb-src http://deb.debian.org/debian/ bookworm-updates main contrib non-free non-free-firmware
# This system was installed using small removable media
# (e.g. netinst, live or single CD). The matching "deb cdrom"
# entries were disabled at the end of the installation process.
# For information about how to configure apt package sources,
# see the sources.list(5) manual.
2 Cài đặt máy chủ SSH (Tùy chọn)
Nếu bạn không cài đặt máy chủ OpenSSH trong quá trình cài đặt hệ thống, bạn có thể thực hiện ngay bây giờ:
Mã:
Apt install ssh openssh-server
3 Cài đặt trình soạn thảo văn bản shell (Tùy chọn)
Chúng tôi sẽ sử dụng trình soạn thảo văn bản nano trong hướng dẫn này. Một số người dùng thích trình soạn thảo vi cổ điển. Do đó, chúng tôi sẽ cài đặt cả hai trình soạn thảo tại đây. Chương trình vi mặc định có một số hành vi lạ trên Debian và Ubuntu; để sửa lỗi này, chúng tôi cài đặt vim-nox:
Mã:
apt install nano vim-nox
4 Cấu hình Hostname
Tên máy chủ của bạn phải là một tên miền phụ như "server1.example.com". Không sử dụng tên miền không có phần tên miền phụ, như "example.com" làm tên máy chủ, vì điều này sẽ gây ra sự cố sau này với thiết lập thư của bạn. Trước tiên, bạn nên kiểm tra tên máy chủ trong /etc/hostsvà thay đổi khi cần thiết. Dòng này phải là: "Địa chỉ IP - khoảng trắng - tên máy chủ đầy đủ bao gồm tên miền - khoảng trắng - phần tên miền phụ". Đối với máy chủ tên máy chủ1.example.com của chúng tôi, tệp sẽ trông như thế này:
Mã:
nano/etc/hosts
Mã:
127.0.0.1 localhost.localdomain localhost
192.168.0.100 server1.example.com server1
# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
Mã:
nano /etc/hostname
Mã:
server1
Mã:
systemctl reboot
Mã:
hostname[B]hostname -f
Mã:
root@server1:/tmp# hostname
server1
root@server1:/tmp# hostname -f
server1.example.com
5 Cập nhật Cài đặt Debian của bạn
Trước tiên, hãy đảm bảo rằng /etc/apt/sources.list của bạn chứa kho lưu trữ bookworm/updates (điều này đảm bảo bạn luôn nhận được các bản cập nhật bảo mật mới nhất) và các kho lưu trữ contrib,non-free và non-free-firmware được bật vì một số gói bắt buộc không có trong kho lưu trữ chính kho lưu trữ.
Mã:
nano /etc/apt/sources.list
Chạy:
Mã:
apt update
Mã:
apt upgrade
6 Đồ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 gian) qua Internet. Chạy
Mã:
apt -y install ntp
7 Cài đặt Postfix, Dovecot, MariaDB, rkhunter và Binutils
Chúng ta có thể cài đặt Postfix, Dovecot, MariaDB như một giải pháp thay thế MySQL, rkhunter và Binutils chỉ bằng một lệnh:
Mã:
apt -y install postfix postfix-mysql postfix-doc mariadb-client mariadb-server openssl getmail6 rkhunter binutils dovecot-imapd dovecot-pop3d dovecot-mysql dovecot-sieve dovecot-lmtpd sudo curl rsyslog wget gnupg2 lsb-release ufw rsyslog
Kiểu cấu hình thư chung: <-- Trang web Internet
Tên thư hệ thống: <-- server1.example.com
Để bảo mật cài đặt MariaDB và vô hiệu hóa cơ sở dữ liệu thử nghiệm, hãy chạy lệnh này lệnh:
Mã:
mysql_secure_installation
Mã:
Switch to unix_socket authentication [Y/n] /etc/apt/sources.list.d/rspamd.list
echo "deb-src [arch=amd64] http://rspamd.com/apt-stable/ $CODENAME main" >> /etc/apt/sources.list.d/rspamd.list
Mã:
apt install rspamd redis clamav clamav-daemon unzip bzip2 arj nomarch lzop cabextract p7zip p7zip-full unrar lrzip 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 libdbd-mysql-perl postgrey -y
Mã:
echo 'servers = "127.0.0.1";' > /etc/rspamd/local.d/redis.conf
Mã:
echo "nrows = 2500;" > /etc/rspamd/local.d/history_redis.conf
echo "compress = true;" >> /etc/rspamd/local.d/history_redis.conf
echo "subject_privacy = true;" >> /etc/rspamd/local.d/history_redis.conf
Mã:
systemctl restart rspamd
9 Cài đặt Máy chủ web Apache và PHP
Apache2, PHP, FCGI, suExec, Pear và mcrypt có thể được cài đặt dưới dạng sau:
Mã:
apt -y install apache2 apache2-utils php8.2 php8.2-fpm php8.2-common php8.2-gd php8.2-mysql php8.2-imap php8.2-cli php8.2-cgi libapache2-mod-fcgid apache2-suexec-pristine php-pear mcrypt imagemagick libruby libapache2-mod-python php8.2-curl php8.2-intl php8.2-pspell php8.2-sqlite3 php8.2-tidy php8.2-xmlrpc php8.2-xsl memcached php-memcache php-imagick php8.2-zip php8.2-mbstring memcached libapache2-mod-passenger php8.2-soap php8.2-opcache php-apcu libapache2-reload-perl php8.2-mcrypt
Mã:
a2enmod proxy_fcgi setenvif
a2enconf php8.2-fpm
Mã:
a2enmod suexec rewrite ssl actions includedav_fs dav auth_digest cgi headersactions alias
Lưu ý:Lỗ hổng này có tên là httpoxy (không có 'r') và do đó tệp mà chúng tôi thêm cấu hình để ngăn chặn được đặt tên là httpoxy.conf chứ không phải httproxy.conf, do đó không có chữ 'r' nào bị thiếu trong tên tệp.
Mã:
nano/etc/apache2/conf-available/httpoxy.conf
Mã:
RequestHeader unset Proxy early
Mã:
a2enconf httpoxy
systemctl restartapache2
10 Cài đặt Let's Encrypt
ISPConfig hiện đang sử dụng acme.sh làm máy khách Let's Encrypt. Cài đặt acme.sh bằng lệnh sau:
Mã:
curl https://get.acme.sh | sh -s
Mã:
acme.sh --set-default-ca --server letsencrypt
11 Cài đặt PureFTPd và Quota
PureFTPd và quota có thể được cài đặt bằng lệnh sau lệnh:
Mã:
apt install pure-ftpd-common pure-ftpd-mysql quota quotatool
Mã:
openssl dhparam -out /etc/ssl/private/pure-ftpd-dhparams.pem 2048
Mã:
nano /etc/default/pure-ftpd-common
Mã:
[...]
STANDALONE_OR_INETD=standalone
[...]
VIRTUALCHROOT=true
[...]
Nếu bạn muốn cho phép các phiên FTP và TLS, hãy chạy
Mã:
echo 1 > /etc/pure-ftpd/conf/TLS
Mã:
mkdir -p /etc/ssl/private/
Mã:
openssl req -x509 -nodes -days 7300 -newkey rsa:2048 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem
Mã:
Country Name (2 letter code) [AU]: