Điều kiện tiên quyết
Tài khoản AWS hoạt động.
AWS Security Group mở trên các cổng 80.995.143.465,53,2222,443,35000-35999,110,1194,993,22,21,25,53,587
Kiến thức cơ bản về linux
Giấy phép DirectAdmin
Lunch EC2 instance
Đăng nhập vào Bảng điều khiển AWS.
Chuyển đến Bảng điều khiển EC2 và nhấp vào nút "Lunch Instance":
- :
- Chọn một CentOS 7 (AMI):
Chọn bất kỳ Loại trường hợp nào phù hợp với nhu cầu của bạn, thêm dung lượng lưu trữ, định cấu hình Nhóm bảo mật sau đó ăn trưa máy chủ của bạn:
Cài đặt
Để bắt đầu, đăng nhập vào serevr AWS EC2 của bạn thông qua SSH
1. Cập nhật CentOS của bạn và cài đặt một số chương trình cơ bản
sudo yum -y update
sudo yum -y install nano wget perl
2. Enable SSH for root account
sudo nano /etc/ssh/sshd_config
Set PermitRootLogin yes
Set AllowTcpForwarding no
Chỉnh sửa điều này ủy quyền để cho phép đăng nhập thông qua tài khoản root
sudo nano /root/.ssh/authorized_keys
Sau đó xóa các dòng ở đầu tập tin có nội dung cho đến khi bạn nhận được các từ ssh-rsa
Khởi động lại SSH
sudo service sshd restart
3. Đặt tên máy chủ của bạn
Giả sử rằng tôi đang sử dụng tên miền hosting.xyz và bạn muốn tên máy chủ của mình được đặt thành server1.hosting.xyz
hostnamectl set-hostname server1.hosting.xyz
Check if the /etc/hostname
shows the hostname
nano /etc/hostname
We also edit /etc/hosts
to make the hostname point to the server IP
nano /etc/hosts
then add xxx.xxx.xxx.xxx server1.hosting.xyz
at the end where xxx.xxx.xxx.xxx is your server public IP
AWS sẽ đặt lại tên máy chủ mỗi khi máy chủ khởi động lại, vì vậy chúng tôi cần khắc phục điều này.
nano /etc/cloud/cloud.cfg
and add preserve_hostname: true
below the syslog_fix_perms
Sau đó khởi động lại máy chủ
reboot
4. Activate Quotas
Trên CentOS 7, xfs được sử dụng theo mặc định và Quotas không được kích hoạt, vì vậy bạn cần kích hoạt chúng theo cách thủ công
nano /etc/default/grub
add quota options rootflags=usrquota,grpquota
into the end of GRUB_CMDLINE_LINUX
line, it will look like this
GRUB_CMDLINE_LINUX="rd.lvm.lv=centos/swap vconsole.font=latarcyrheb-sun16 ... rootflags=usrquota,grpquota
"
Make a backup
cp /boot/grub2/grub.cfg /boot/grub2/grub.cfg.back
Generate a new configuration file:
grub2-mkconfig -o /boot/grub2/grub.cfg
Khởi động lại máy chủ, thư mục gốc sẽ được gắn với các tùy chọn cần thiết. Chúng ta có thể kiểm tra bằng cách chạy lệnh này
mount | grep '/'
/dev/xvda1 on / type xfs (rw,relatime,attr2,inode64,usrquota,grpquota
)
5. Add network eth0:0
By default, AWS EC2 use private IP for eth0, to install DirectAdmin, we need to use the public IP
nano /etc/sysconfig/network-scripts/ifcfg-eth0:0
Nhập nội dung sau
DEVICE=eth0:0
BOOTPROTO=none
ONPARENT=yes
IPADDR=xxx.xxx.xxx.xxx
NETMASK=255.255.255.0
ONBOOT=yes
trong đó xxx.xxx.xxx.xxx là IP công cộng AWS của bạn, sau đó khởi động lại mạng
/etc/init.d/network restart
Nếu bạn muốn IPv6, hãy đặt eth0 trực tiếp bên dưới:
IPV6INIT="yes"
IPV6ADDR=2600:1f16:xxxxxxxxxxxx
6. Setup DirectAdmin
echo 1 /root/.lan
wget http://www.directadmin.com/setup.sh
chmod 755 setup.sh
./setup.sh
Và làm theo hướng dẫn. Lưu ý khi bạn yêu cầu mạng, enter eth0:0
Cấu hình
Vì EC2 chạy trên LAN / NAT và phía sau tường lửa, chúng tôi cần thực hiện một số cấu hình.
Kích hoạt mạng LAN
nano /usr/local/directadmin/conf/directadmin.conf
Thêm giá trị này lan_ip = yyy.yyy.yyy.yyy trong đó yyy.yyy.yyy.yyy là IP riêng AWS của bạn
Liên kết IP riêng với IP công cộng của bạn bằng tính năng DA được liên kết IP
- Thêm IP LAN vào trình quản lý IP của DA. Đừng gán nó cho bất kỳ Người dùng hoặc Miền nào.
- Xem chi tiết về IP bên ngoài: Cấp quản trị - Trình quản lý IP - Nhấp vào IP công cộng / bên ngoài.
- Liên kết IP bên trong với IP bên ngoài: Chọn IP LAN từ trình đơn thả xuống.
- Chỉ chọn Apache, không chọn DNS
Khởi động lại DirectAdmin
Mở cổng cho FTP
Nếu bạn sử dụng ProFTPD, hãy chỉnh sửa tệp cấu hình của nó:
nano /etc/proftpd.conf
Thêm sau Cổng thông tin thụ động: masageAddress xxx.xxx.xxx.xxx trong đó xxx.xxx.xxx.xxx là IP công cộng AWS của bạnAdd rule to the iptables
iptables -I INPUT -p tcp --dport 35000:35999 -j ACCEPT
nano /usr/libexec/iptables/iptables.init
add $IPTABLES -A INPUT -p tcp --dport 35000:35999 -j ACCEPT
below the ftp section, like this
#########################
# ftp
$IPTABLES -A INPUT -p tcp --dport 21 -j ACCEPT$IPTABLES -A INPUT -p tcp --dport 35000:35999 -j ACCEPT
Để tối ưu hóa hiệu suất và cải thiện bảo mật, xem hướng dẫn này. guide.
Tuấn Nguyễn 3 yrs
Trong quá trình sử dụng VPS, đôi lúc bạn sẽ gặp thông báo sau khi truy cập vào phpMyAdmin:
phpMyAdmin – Error
Error during session start; please check your PHP and/or webserver log file and configure your PHP installation properly. Also ensure that cookies are enabled in your browser.
Nguyên nhân ở đây do webserver không có quyền đọc ghi ở PHP sessions folder, thường xảy ra khi update PHP. Nếu bạn đang dùng Nginx thì chạy lệnh sau để phân quyền lại:
chown -R nginx:nginx /var/lib/php/session
service php-fpm restart
service nginx restart