Đăng nhập lần đầu vào hệ thống
login: root (user quản trị).
password: (tạo lúc cài đặt Hệ Điều Hành).
apt update
Lệnh trên liên hệ với các nguồn cung cấp gói phần mềm trong file sources.list hoặc các tệp trong thư mục /etc/apt/sources.list.d/ để lấy thông tin về các gói phần mềm mới nhất có sẵn.
Lệnh $sudo apt update không thực sự cài đặt bất kỳ gói nào mà chỉ cập nhật thông tin về các gói phần mềm. Việc này giúp bạn chuẩn bị sẵn sàng cho việc cài đặt các bản cập nhật mới nhất bằng lệnh $sudo apt upgrade hoặc $sudo apt dist-upgrade.
apt upgrade
Lệnh trên chỉ nâng cấp các gói phần mềm lên phiên bản mới nhất có sẵn, nhưng không thực hiện bất kỳ thay đổi cấu trúc nào về các gói đang cài đặt hoặc có thể gây ra các phụ thuộc không đồng nhất.
apt dist-upgrade
Là một cấp độ nâng cấp cao hơn, nó không chỉ nâng cấp các gói phần mềm lên phiên bản mới nhất, mà còn thực hiện các thay đổi trong cấu trúc gói, bao gồm việc loại bỏ hoặc cài đặt các gói mới để đảm bảo các phụ thuộc đồng nhất. Điều này có thể bao gồm loại bỏ các gói không còn cần thiết hoặc cài đặt các gói mới để giải quyết các phụ thuộc mới.
Tạo tài khoản có quyền root
Đăng nhập vào chế độ root. Dấu nhắc $ cho biết user hiện tại đang không phải root. Dấu nhắc# cho biết dòng lệnh đang có quyền root.
$sudo -s
Tạo người dùng mới.
#adduser zapnho
Gán quyền sudo cho người dùng.
#usermod -aG sudo zapnho
Đổi tên máy chủ, quản lý tên máy chủ trong file /etc/hosts.
#hostnamectl set-hostname z-log.net
#nano /etc/hosts
Đăng xuất khỏi tài khoản root và đăng nhập với tài khoản mới.
#exit
$su - zapnho
zapnho@z-log:~$_
Kiểm tra phiên bản Debian và nâng cấp lên phiên bản mới hơn
sudo lsb_release -a
sudo cat /etc/debian_version
sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade
Cài giao diện đồ họa GNOME
$sudo apt update
$sudo apt upgrade
$sudo apt install gnome
Chuyển đổi giữa giao diện đồ họa và giao diện dòng lênh bằng tổ hợp phím.
Ctrl+Alt+F2~F6
Nếu đã đăng nhập giao diện đồ họa ở phiên làm việc tty1 thì Ctrl+Alt+F2~F6 chuyển đến phiên làm việc dòng lệnh tty2~6.
Quay trở lại giao diện đồ họa.
Ctrl+Alt+F1
Tắt khởi động tự động vào giao diện đồ họa.
Xem trình quản lý hiển thị chạy lệnh.
systemctl status display-manager
GNOME là trình quản lý là gdm.
vô hiệu hóa trình quản lý đăng nhập hiện tại.
sudo systemctl disable gdm
sudo reboot
Đăng nhập thủ công vào giao diện đồ họa, từ giao diện dòng lệnh chạy lệnh.
startx
Cài nhiều trang web trên máy chủ Webserver Linux
Để cấu hình Multisite trên một máy chủ Linux, bạn cần sử dụng một ứng dụng máy chủ web như Apache hoặc Nginx cùng với một hệ quản trị cơ sở dữ liệu như MySQL hoặc MariaDB và PHP – Gọi tắt là LAMP (Linux, Apache, MySQL, and PHP).Đây là các bước tổng quát để thiết lập một môi trường Multisite sử dụng Apache, PHP và MySQL trên Linux:
- Cài đặt LAMP – Apache, MariaDB(hoặc mySQL) và PHP
Cài Apache
sudo apt-get update
sudo apt-get install apache2
Mở port 80 và 443 trên firewall cho webserver (nếu chưa mở).
sudo apt install ufw
sudo ufw enable
sudo ufw status
sudo ufw allow 22/tcp (cho SSH)
sudo ufw allow 80/tcp (cho HTTP)
sudo ufw allow 443/tcp (cho HTTPS)
sudo ufw status (kiểm tra lại các port đã mở)
Kiểm tra trạng thái của Apache
Mở trình duyệt trên máy chủ nhập localhost hoặc trình duyệt trên máy khách thì nhập địa chỉ IP, hoặc tên miền (nếu đã trỏ tên miền về host):
http://localhost
http://IP
http://ten_mien
Nếu đã cài thành công thì trang web sẽ hiện thông tin về Apache.
Cài PHP, phpmyadmin
sudo apt-get install php php-cli php-mysql libapache2-mod-php
sudo apt-get install phpmyadmin
(chọn cấu hình cho apache2)
Sau khi cài đặt PHP, khởi động lại Apache để nó nhận biết các thay đổi:
sudo systemctl restart apache2
(Tùy chọn) Kiểm tra PHP, phpmyadmin
Tạo một tệp tin PHP để kiểm tra xem PHP đã hoạt động chưa. Ví dụ, tạo một tệp tin info.php trong thư mục gốc của web server (/var/www/html/) với nội dung sau.
sudo nano /var/www/html/info.php
<?php
phpinfo();
?>
Thoát và lưu Ctr-X->Y->Enter.
Mở trình duyệt và nhập địa chỉ http://localhost/info.php hoặc http://địa_chỉ_IP_của_máy/info.php nếu cài đặt thành công sẽ hiển thị thông tin về PHP. Đăng nhập vào phpmyadmin bằng đường dẫn http://localhost/phpmyadmin.
http://localhost/info.php
http://địa_chỉ_IP_của_máy/info.php
http://localhost/phpmyadmin
http://địa_chỉ_IP_của_máy/phpmyadmin
(Tùy chọn) Cấu hình thêm:
Bạn có thể cấu hình thêm các tùy chọn cho PHP thông qua file cấu hình của nó (php.ini) hoặc cấu hình Apache để xác định các thư mục root của web server và các cài đặt khác.
sudo nano /etc/php/8.2/apache2/php.ini
(Tùy chọn) Kích hoạt extension mysqli:
php --ini | grep "Loaded Configuration File" (tìm đường dẫn)
sudo nano /đường/dẫn/php.ini
extension=mysqli
Bỏ comment để thành lệnh (loại bỏ dấu ; ở đầu dòng).
Khởi động lại Apache.
sudo systemctl restart apache2
Cài đặt Cơ sỡ dữ liệu mariaDB
sudo apt update
sudo apt install mariadb-server
Khởi động và kiểm tra trạng thái của MariaDB:
sudo systemctl start mariadb
sudo systemctl status mariadb
(Tùy chọn) Tùy chỉnh và cấu hình bảo mật:
sudo mysql_secure_installation
- Tạo database mới, user mới kết nối database với user MariaDB
Đăng nhập vào MariaDB:
sudo mariadb -u root -p
Tạo cơ sở dữ liệu mới:
CREATE DATABASE ten_co_so_du_lieu;
Tạo người dùng mới và cấp quyền.
CREATE USER 'ten_nguoi_dung'@'localhost' IDENTIFIED BY 'mat_khau';
GRANT ALL PRIVILEGES ON ten_co_so_du_lieu.* TO 'ten_nguoi_dung'@'localhost';
Áp dụng thay đổi và thoát khỏi MariaDB.
FLUSH PRIVILEGES;
EXIT;
Giờ có thể đăng nhập bằng username và password vào phpmyadmin.
- Cài đặt WordPress
Tải WordPress từ trang web chính thức: WordPress.org.
cd /tmp
wget https://wordpress.org/latest.tar.gz
tar -xzvf latest.tar.gz (giải nén)
touch wordpress/.htaccess (tạo file truy cập)
chmod 660 wordpress/.htaccess (cấp quyền cho file)
mkdir /var/www/z-log.net (tạo thư mục chứa website)
sudo cp -a wordpress/. /var/www/z-log.net/ (copy source wordpress vào thư mục)
cd /var/www/z-log.net/
sudo cp wp-config-sample.php wp-config.php
sudo chown -R www-data:www-data /var/www/z-log.net/
sudo find /var/www/z-log.net/ -type d -exec chmod g+s {} \;
sudo chmod g+w wp-content/
sudo chmod -R g+w wp-content/themes/
sudo chmod -R g+w wp-content/plugins/
cat wp-config.php
su (đăng nhập root)
wget -qO- https://api.wordpress.org/secret-key/1.1/salt > wordpress_keys.txt
cat wordpress_keys.txt
nano wp-config.php
Copy secret-key từ lệnh $cat thay vào trong file cấu hình ở các mục define (‘AUTH_KEY’,…
Đổi tên DATABASE, USER, PASSWORD.
define( 'DB_NAME', 'ten_database_mariaDB' );
define( 'DB_USER', 'username_mariaDB' );
define( 'DB_PASSWORD', 'matkhau' );
Cấu hình WordPress Multisite:
Thêm dòng sau trước dòng “/* That’s all, stop editing! Happy blogging. */”:
define('WP_ALLOW_MULTISITE', true);
Đóng lưu Ctrl+X->Y->Enter.
Khởi động lại mariaDB.
sudo systemctl restart mariadb
Cấu hình Apache cho Multisite:
Cấu hình multisite.
sudo a2enmod rewrite
sudo a2enmod vhost_alias
- Cấu hình Virtual Hosts, copy file cấu hình mặc định ra 2 file theo tên của 2 website.
sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/mysite1.conf
- Chỉnh sửa các tệp cấu hình Virtual Hosts cho các trang web khác nhau.
sudo nano /etc/apache2/sites-available/mysite1.conf
Ví dụ cấu hình mẫu cho mysite1.conf:
apache
<VirtualHost *:80>
ServerAdmin admin@example.com
ServerName mysite1.com
ServerAlias www.mysite1.com
DocumentRoot /var/www/mysite1
<Directory /var/www/mysite1>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
<Directory /var/www/mysite1>
Directoryindex index.php
</Directory>
...
</VirtualHost>
Tương tự, chỉnh sửa mysite2.conf cho website thứ hai.
sudo nano /etc/apache2/sites-available/mysite2.conf
- Kích hoạt các Virtual Hosts:
sudo a2ensite mysite1.conf
sudo a2ensite mysite2.conf
Tắt site mặc định.
sudo a2dissite 000-default.conf
- Khởi động lại Apache để áp dụng thay đổi:
sudo systemctl restart apache2
Thoát và lưu file.
Cài đặt ban đầu wordpress bằng trình duyệt.
http://ip/wp-admmin/
Đăng nhập bằng User và pastword của mariaDB.
Cài đặt tuần tự theo hướng dẫn.
- Cài SSL (Apache)
- Cài đặt Cerbot.
sudo apt-get update
sudo apt-get install certbot
- Cài đặt Apache/Nginx plugin (nếu cần).
sudo apt-get install python3-certbot-apache
- Lấy và cài đặt chứng chỉ SSL.
sudo certbot --apache -d ten_mien1
sudo certbot --apache -d ten_mien2
- Theo hướng dẫn và hoàn tất quá trình cấu hình.
Nhập email->y->y.
- (Tùy chọn) Cấu hình tự động gia hạn với crontab.
Thêm một nhiệm vụ cron job bằng cách chạy $sudo nano crontab -e.
sudo nano crontab -e
và thêm dòng sau vào:
0 0 * * 0 certbot renew
Điều này sẽ tự động gia hạn chứng chỉ SSL mỗi tuần vào thứ Bảy lúc 00:00.
Cài đặt và cấu hình Mail Server với Postfix và Dovecot
(nguồn youtuber: Hetman Software: Data Recovery for Windows).
Tạo các DNS record
Vào trang quản lý tên miền (cloudflare.com) cấu hình các DNS record :
Record A
Mục Name: tên miền (z-log.net)
Mục IPv4 address: địa chỉ IP máy chủ (193.114.36.98)
Proxy status: DNS only
Record A
Mục Name: mail
Mục IPv4 address: 193.114.36.98
Record MX
Name: z-log.net
Mail server: mail.z-log.net
TTL: Auto
Priority: 10
Cài đặt và cấu hình Postfix
sudo apt-get install postfix
Chạy postfix.
sudo systemctl start postfix
Kiểm tra trạng thái Postfix.
sudo systemctl status postfix
Cấu hình lại Postfix.
sudo dpkg-reconfigure postfix
->Internet Site->z-log.net->(để trống)-><No>->(mặc định)->0->+->all.
Chạy thử telnet kết nối mail smtp.
Cài telnet nếu chưa có.
sudo apt update
sudo apt install telnetd
telnet gmail-smtp-in.l.google.com 25
quit
Thoát khỏi telnet bằng lệnh quit.
Cài các công cụ mail.
sudo apt install mailutils
Gửi thử mail.
/usr/sbin/sendmail diachimail@gmail.com
Test mail
Ctrl+D
Cấu hình file main.cf của Postfix.
sudo nano /etc/postfix/main.cf
Thêm dòng cuối.
myhostname = mail.z-log.net
mydomain = z-log.net
home_mailbox= Maildir/
Maildir/ cấu hình mail box riêng cho từng user thay vì mbox mặc định gôm chung tất cả các mail.
Đóng và lưu.
Ctrl+X-> Y->Enter.
Tiếp theo, bạn đặt vị trí của bảng virtual_alias_maps ánh xạ các tài khoản email tùy ý đến các tài khoản hệ thống Linux. Bạn sử dụng câu lệnh sau đây, ánh xạ vị trí của bảng đến một tệp cơ sở dữ liệu hash có tên /etc/postfix/virtual.
sudo postconf -e 'virtual_alias_maps= hash:/etc/postfix/virtual'
Lúc này, bạn đã xác định được vị trí của virtual maps trong tệp main.cf. Bạn có thể tự tạo tệp đó và bắt đầu mapping các tài khoản email đến tài khoản user trên hệ thống Linux của mình.
sudo nano /etc/postfix/virtual
Liệt kê các địa chỉ bạn cho phép nhận email, tiếp theo là một dấu cách và tên user Linux bạn muốn nhận email.
contact@z-log.net zapnho
admin@z-log.net zapnho
zapnho@z-log.net zapnho
Áp dụng mapping đã thực hiện xong bằng câu lệnh:
sudo systemctl restart postfix
Tiếp theo hãy tiến hành cấu hình tường lửa với UFW. Tường lửa sẽ mặc định chặn kết nối từ bên ngoài đến dịch vụ trên server, trừ khi các kết nối đó được cho phép.
sudo ufw allow Postfix
Cài đặt Client và khởi tạo cấu trúc Maildir
Cài đặt gói phần mềm s-nail để tương tác với email nhận được. Đây là một phiên bản đa tính năng của client BSD xmail giúp xử lý định dạng Maildir chính xác.
Trước khi cài đặt client, bạn cần bảo đảm biến môi trường MAIL được thiết lập chính xác. s-nail sẽ tìm đến biến này để xác định nơi tìm email cho user của bạn.
Để chắc chắn rằng biến MAIL được thiết lập bất kể bạn truy cập tài khoản của mình thông qua ssh, su, su – hay sudo, hãy đặt nó trong tệp /etc/bash.bashrc và thêm biến đó vào một tệp trong /etc/profile.d để bảo đảm biến này được thiết lập mặc định cho tất cả user.
Để thêm biến vào các file này, sử dụng lệnh:
echo 'export MAIL=~/Maildir' | sudo tee -a /etc/bash.bashrc | sudo tee -a /etc/profile.d/mail.sh
Để đọc biến vào phiên hiện tại của bạn, hãy khởi tạo file /etc/profile.d/mail.sh:
source /etc/profile.d/mail.sh
Sau khi hoàn tất, bạn cài đặt trình email client s-nail.
sudo apt install s-nail
Trước khi chạy client, bạn cần thay đổi một số thiết lập. Mở tệp /etc/s-nail.rc trong trình soạn thảo văn bản:
sudo nano /etc/s-nail.rc
Ở cuối tệp, bạn thêm dòng sau:
. . .
set emptystart
set folder=Maildir
set record=+sent
Đây là những nội dung tương ứng của các dòng sẽ thực hiện:
- set emptystart: Cho phép client mở ngay cả khi hộp thư đến trống.
- set folder=Maildir: Đặt thư mục Maildir vào biến nội bộ folder.
- set record=+sent: Tạo một tệp sent mbox để lưu trữ email đã gửi trong bất kỳ thư mục nào được đặt làm biến folder, ở trường hợp này là Maildir.
Một cách nhanh chóng để tạo cấu trúc Maildir trong thư mục chính đó là gửi cho chính bạn một email bằng lệnh s-nail. Bởi vì file sent sẽ chỉ khả dụng khi Maildir được tạo do đó bạn nên tắt chế độ ghi lại cho email ban đầu này bằng cách truyền tùy chọn -Snorecord.
Bạn gửi email bằng cách nối một chuỗi vào lệnh s-nail. Điều chỉnh lại câu lệnh để đánh dấu user Linux của bạn là người nhận:
echo 'init' | s-nail -s 'init' -Snorecord zapnho
Kiểm tra để đảm bảo rằng thư mục đã được tạo thành công bằng cách tìm kiếm ~/Maildir:
ls -R ~/Maildir
Kiểm tra Client:
Kiểm tra mail bằng lệnh $s-nail hoặc $mail, quay lại danh sách tin nhắn bằng cách nhập h, quay lại màn hình terminal, bạn gõ q, xem lại các tin nhắn đã gửi bằng cách gõ lệnh file +sent.
s-nail
mail
h
q
file +sent
Gửi mail bằng tập tin văn bản.
nano ~/test_message
Hello there
cat ~/test_message | s-nail -s 'Test email subject line' -r contact@z-log.net user@gmail.com
Cài đặt và cấu hình Dovecot
sudo apt install dovecot-imapd dovecot-pop3d
Chạy lại dovecot.
sudo systemctl restart dovecot
Cấu hình file dovecot.conf.
sudo nano /etc/dovecot/dovecot.conf
Thêm vào dòng cuối.
protocols = pop3 pop3s imap imaps
Ctrl+X->Y->Enter.
Cấu hình file 10-mail.conf cho mail user.
sudo nano /etc/dovecot/conf.d/10-mail.conf
mail_location = maildir:~/Maildir
Thay đổi đường dẫn hộp thư thành Maildir.
Thoát và lưu.
Cấu hình file 10-auth.conf cho mã hóa mail.
sudo nano /etc/dovecot/conf.d/10-auth.conf
disable_plaintext_auth = yes
auth_mechanisms = plain login
Bỏ comment # để sử dụng lệnh trên, thêm login cho lệnh dưới.
Thoát và lưu.
Cấu hình file /etc/dovecot/conf.d/10-master.conf.
sudo nano /etc/dovecot/conf.d/10-master.conf
unix_listener dict {
#mode = 0600
user = postfix
group = postfix
Bỏ comment ở 2 dòng user và group thêm vào sử dụng postfix.
Thoát và lưu.
Kiểm tra pop3.
telnet localhost pop3
user zapnho
pass ******
retr 1 (xem thư số 1)
QUIT
QUIT để logout.
Cài đặt và cấu hình Webmail (SquirrelMail).
Cài các gói phụ thuộc để có thể sử dụng webmail và cài SquirrelMail.
sudo apt update
sudo apt install apache2 php libapache2-mod-php php-pear php-mcrypt php-imap
$
Vào trang quản lý tên miền cập nhật bản ghi SPF và DMARC và DKIM.
TXT Name(z-log.net) Content (v=spf1 ip4:193.114.39.98 a mx ~all) TTL(Auto)
TXT Name(_dmarc) Content(v=DMARC1; p=quarantine; aspf=r; sp=none) TTS(Auto)
Cài đặt và cấu hình DKIM
sudo apt-get install opendkim opendkim-tools
sudo systemctl start opendkim
sudo systemctl enable opendkim
sudo mkdir /etc/opendkim
opendkim-genkey -D /etc/opendkim/ --domain z-log.net --selector mail
sudo cat /etc/opendkim/mail.txt
Copy code từ lệnh $cat dán vào content của record bỏ dấy “”, ghép 2 hàng dài lại.
sudo chown -R opendkim:opendkim /etc/opendkim
sudo nano /etc/opendkim.conf
Thêm các dòng.
Autorestart yes
AutorestartRate 10/1h
LogWhy yes
Mode sv
UMask 002
#Socket local:/run/opendkim/opendkim.sock (thêm # để loại bỏ dòng code)
Socket inet:8891@localhost (chọn)
Thêm 5 dòng vào cuối.
ExternalIgnoreList refile/etc/opendkim/TrustedHosts
InternalHosts refile:/etc/opendkim/TrustedHosts
KeyTable refile:/etc/opendkim/KeyTable
SigningTable refile:/etc/opendkim/SigningTable
SignatureAlgorithm rsa-sha256
Thoát lưu.
Tạo file TrustedHosts.
sudo nano /etc/opendkim/TrustedHosts
z-log.net
Thoát và lưu.
Tạo file KeyTable.
sudo nano /etc/opendkim/KeyTable
mail._domainkey.z-log.net z-log.net:mail:/etc/opendkim/dkim.private
Thoát và lưu.
Tạo file SigningTable.
sudo nano /etc/opendkim/SigningTable
*@z-log.net mail._domainkey.z-log.net
Thoát và.
Khởi động lại postfix và opendkim.
sudo systemctl restart postfix
sudo systemctl restart opendkim
Kiểm tra DKIM truy cập trang https://dmarcian.com/dkim-inspector/.
Nhập z-log.net -> mail -> Inspect DKIM.
Kiểm tra trạng thái cấu hình email trên trang https://mxtool.com.
Nhập địa chỉ mail server vào ô MX Lookup và kiểm tra.
Test gửi mail.
/usr/sbin/sendmail diachimail@gmail.com
From:zapnho@z-log.net
Subject: Test mail
Hello there
Di choi giao thua khong ban
:)))
Phím Ctrl+D (để gửi)
Cập nhật các record DNS SPF và DMARC để khắc phục bị đưa vào spam mail.
Type(TXT) Name(_dmarc) TTL(Auto)
Content(
v=DMARC1; p=quarantine; aspf=r; sp=none
)
Type(TXT) Name(z-log.net) TTL(Auto)
Content(
v=spf1 ip4:133.xxx.xxx.37 a mx ~all
)
Kiểm tra lại các bản ghi tại trang.
https://dmarcian.com/
Bình luận