Hướng dẫn cài đặt Ubuntu Server cho máy tính cá nhân, laptop và setup NAT làm Home Server host website
- 07-05-2023
- Toanngo92
- 0 Comments
Nếu bạn đọc bài viết này, có lẽ, các bạn đã quá quen với việc sử dụng VPS hoặc cloud với panel riêng để tự quản trị hệ thống website/phần mềm. Nếu chưa, hãy làm quen với việc đó trước khi đọc bài viết này. Còn nếu bạn đã quen với việc sử dụng VPS và muốn biến chiếc máy tính cá nhân của bạn thành một home server, đây sẽ là bài viết phù hợp với bạn.
Nội dung kiến thức có tham khảo tại: https://tientv.com/huong-dan/huong-dan-xay-dung-server-tai-nha-dung-lam-vps-chay-website.html
Lưu ý:
- Việc cấu hình khá phức tạp và tốn thời gian và sử dụng trên môi trường cá nhân của mình nên có thể một số bước sẽ cần cấu hình dựa theo hệ thống của bạn, ngoài việc có kiến thức VPS,Linux bạn cần có thêm một chút kiến thức mạng để có thể dễ dàng thực hành theo hướng dẫn.
- Theo góc nhìn của mình nếu có điều kiện, bạn hãy thuê đơn vị cung cấp cloud/server chuyên nghiệp, home server chỉ nên host những website test, sẽ không đáp ứng được môi trường production dẫn đến trải nghiệm người dùng kém.
Mục lục
Bước 1: cài đặt ubuntu server
Tài nguyên yêu cầu:
- Một máy tính sử dụng để tải bộ cài ubuntu
- Máy tính cá nhân cấu hình tùy chọn (tối thiểu core 2 duo/2GB Ram) – sử dụng để cài đặt ubuntu server
- USB 8GB
Tải về ubuntu server:
Bước 1: tải về ubuntu server
Để bắt đầu cài đặt home server, việc đầu tiên bạn cần tải về ubuntu server tại trang chủ, vì mình xác định sẽ sử dụng Cyber Panel và trong thời điểm viết bài viết này, Cyber Panel chỉ hỗ trợ ubuntu 20.04 nên mình sẽ cài đặt ubuntu 20.04:
https://ubuntu.com/download/server#downloads
Bước 2: cài đặt ubuntu server vào usb
Tham khảo link
https://ubuntu.com/tutorials/create-a-usb-stick-on-windows#1-overview
Các bước cài đặt
Tải về rufus:
Sau khi tải về bộ cài, các bạn tải về phần mềm rufus để tiến hành tạo usb bootable từ bộ cài vừa tải về (với hướng dẫn của mình, mình sẽ tải về rufus cho windows vì máy tạo usb của mình chạy windows):
Sau khi tải về, mở rufus và cấu hình tạo usb với 3 thao tác:
- Chọn usb device
- Chọn file ISO (file ubuntu server)
- Bấm start để ghi ISO vào usb
Chọn file ISO vừa tải:
Cài đặt ubuntu server cho máy tính:
Thao khảo thêm: https://ubuntu.com/tutorials/install-ubuntu-server#1-overview
Sau khi có file ISO, cắm usb vào máy tính cần cài đặt và restart máy, sau đó bấm F2,F12,ESC để vào BIOS vào chọn boot bằng USB tùy theo hãng máy tính của bạn, và bắt đầu thao tác tuần tự theo hình:
Bước 1: Nếu chạy đúng, giao diện sẽ hiển thị như hình
Bước 2: Bấm Enter để chọn ngôn ngữ English
Bước 3: Chọn bố cục bàn phím, cứ bấm ENTER
Bước 4: (tùy chọn) Nếu chọn bố cục bàn phím khác, có thể bấm xuốống để chọn biến thể bạn muốn
Bước 5: tùy chọn cài đặt, cứ bấm ENTER để chọn cài đặt ubuntu server mặc định
Bước 6: kết nối mạng, chọn ENTER mặc định
Bước 7: cấu hình lưu trữ, nếu không tùy chọn thủ công thêm gì, bấm ENTER luôn (sử dụng toàn bộ ổ đĩa)
Bước 8: chọn ổ cứng
Bước 9: Xác nhận phân vùng ổ cứng và bấm ENTER
Bước 10: xác nhận thay đổi, chọn continue để tiếp tục
Bước 11: sau khi cài đặt thành công, thiết lập hồ sơ cho hệ điều hành mới
B11: cài đặt phần mềm, máy tính bắt đầu tiến hành cài đặt
Bước 12: cài đặt hoàn tất, chọn Reboot now để khởi động lại máy tính
Đến công đoạn này, bạn đã cài đặt thành công ubuntu server cho máy tính mới, chúng ta sẽ tiếp tục tiến hành cài đặt CyberPanel (hoặc VPS script nêu các bạn muốn) để quản trị server
Bước 2: cài đặt CyberPanel
Truy cập vào máy chủ bằng lệnh dưới và tiến hành cài đặt Cyber Panel:
ssh root@192.168.0.5 -p 22
Xem chi tiết tại bài viết hướng dẫn cài đặt Cyber Panel cho Ubuntu
Bước 3: Cấu hình IP tĩnh cục bộ cho linux server
Thông thường, khi tắt máy và bật lại, máy tính kết nối vào hệ thống mạng WAN, hệ thống sẽ sử dụng cơ chế DHCP sẽ cấp phát cho máy tính một IP động, để cố định IP giúp chúng ta truy cập vào máy tính theo IP dễ dàng hơn:
Lệnh xem địa chỉ IP hiện tại
ip addr show
Kết quả trả ra tùy môi trường phần cứng, trên máy mình kết quả trả ra như sau
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 74:86:7a:47:41:38 brd ff:ff:ff:ff:ff:ff
inet {IPCUABAN}/24 brd 192.168.0.255 scope global enp1s0
valid_lft forever preferred_lft forever
inet6 fe80::7686:7aff:fe47:4138/64 scope link
valid_lft forever preferred_lft forever
3: wlp2s0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether 80:56:f2:18:2e:f1 brd ff:ff:ff:ff:ff:ff
Bước tiếp theo truy cập vào thư mục theo lệnh dưới
cd /etc/netplan/
ls
Kết quả trả ra (ở môi trường máy mình):
00-installer-config-wifi.yaml 00-installer-config.yaml
Tiếp tục chạy lệnh để mở file dưới bằng nano
sudo nano /etc/netplan/00-installer-config.yaml
Sửa file 00-installer-config.yaml cấu trúc như sau để cấu hình địa chỉ IP cố định cho máy server:
network:
ethernets:
enp1s0:
dhcp4: false
addresses: [192.168.0.5/24]
gateway4: 192.168.0.1
nameservers:
addresses: [1.1.1.1,1.0.0.1,8.8.8.8,8.8.4.4]
version: 2
Thao tác ctrl+O và Enter để save, Ctrl+X để thoát nano.
Sau khi cấu hình, bạn có thể truy cập tới máy home server thông qua mạng cục bộ:
https://192.168.0.5:8090
// truy cập admin cyber panel
Bước 3: cấu hình NAT cho MODEM/ROUTER
Với mỗi Router, modem có giải pháp cấu hình riêng, trong tình huống của mình, mình sẽ cài đặt NAT trên Router TPLINK WR-840N.
Việc đầu tiên chúng ta cần đăng nhập Router thông qua IP: 192.168.0.1:
Bước 2: Bật NAT cho router
B3: Chọn menu virtual server và Đưa địa chỉ IP của máy tính kèm cổng vào:
B4: Kiểm tra Port đóng hay mở bằng https://ping.eu
Kiểm tra các cổng cần mở như hình dưới:
Bước 4: trỏ tên miền vào IP WAN thông qua cloudflare
Cấu hình API cloudflare tự động cập nhật DNS
git clone https://github.com/LINKIWI/cloudflare-ddns-client.git
cd cloudflare-ddns-client
sudo apt install python-is-python3
sudo apt-get install python3-pip
sudo make install
cloudflare-ddns --configure
Output:
Use API token or API key to authenticate?
See https://dash.cloudflare.com/profile/api-tokens for more info.
Choose [T]oken or [K]ey: K
Truy cập cloudflare để lấy Key:
Tiếp theo, sửa crontab để cloudflare-ddns job liên tục chạy
crontab -e
*/5 * * * * /usr/local/bin/cloudflare-ddns --update-now
Bước 5: enable user root nếu cần
Trong quá trình tương tác với VPS, thi thoảng mình cần quyền root, mặc dù có lệnh sudo hỗ trợ nhưng nhiều khi khá bất tiện, nên mình thích mở tài khoản root ra để sử dụng mặc dù được khuyến cáo là không nên. Chắc do trình mình cùi đó. Để enable tài khoản root, chúng ta thao tác các bước sau:
Tham khảo:
https://askubuntu.com/questions/469143/how-to-enable-ssh-root-access-on-ubuntu-14-04
https://askubuntu.com/questions/44418/how-to-enable-root-login
Chạy lệnh:
passwd
sudo passwd root
sudo passwd -u root
Kết quả trả ra
passwd: password expiry information changed
Tiếp theo, làm thêm bước này:
sudo nano /etc/ssh/sshd_config
Sửa file như sau:
#PermitRootLogin prohibit-password
PermitRootLogin yes
Chúc bạn thành công !