Demo anh chị test thử : https://bdsvip.tientv.xyz
Về hiệu năng, mình hoàn toàn hài lòng khi host website tại nhà. Tuy nhiên về tính ổn định thì không thể do có nhiều vấn đề cần phải quan tâm và không dễ khắc phục. Ví dụ trường hợp mình hay gặp phải nhất là mất điện …
Contents
1. Chuẩn bị trước khi xây dựng server tại nhà
Phần cứng:
- Máy tính, laptop, Nuc kết nối mạng và có thể chạy liên tục dùng làm server.
- USB 4Gb
Kiến thức:
- Domain và hosting
- Biết sử dụng dịch vụ của Cloudflare.com
- Cách thức kết nối SSH: Xem hướng dẫn cài và sử dụng mobaxterm
- Nat modem nhà mạng đang sử dụng tại nhà.
- Tạo USB boot cài hệ điều hành Linux: Xem hướng dẫn tạo usb boot Ubuntu
Chuẩn bị phần mềm
Hệ điều hành: Bạn có thể sử dụng CentOS, Ubuntu Server, Fedora,…. tuy nhiên trong bài này mình sẽ cài Ubuntu Server.
- Ubuntu Server 20.04 LTS: https://releases.ubuntu.com/20.04
- CentOS 7, 8: https://www.centos.org/download
- Fedora Server: https://getfedora.org/en/server/download
Lưu ý: Khi tải Ubuntu các bạn nhớ chọn bản Server install image
Control Panel cho VPS: Các bạn có thể sử dụng các Panel trả phí như Direct Admin, Cpanel … để được hỗ trợ tốt hơn và bảo mật cao hơn. Tuy nhiên, với server tại gia này các bạn nên dùng Free là tốt nhất. Mình đề xuất aapanel hoặc Cyber Panel. Mình đã sử dụng qua 2 Panel free này tự thấy nhanh ổn định, bảo mật tốt, riêng Cyber Panel thì phân user tốt hơn.
Trong bài này mình sẽ sử dụng Cyberpanel : https://cyberpanel.net
Các panel không lấy phí khác : https://www.aapanel.com, https://www.webmin.com, http://www.sentora.org
2. Cài đặt hệ điều hành Ubuntu server
Để cài Ubutum server thì bạn tải ubuntu và tạo usb boot setup Ubuntu theo hướng dẫn : Xem hướng dẫn tạo usb boot Ubuntu
Lưu ý : Trước khi cài bạn nên xóa hàng loạt phân vùng trong SSD
Gắng USB boot cài Ubuntu vào máy tính chạy khởi động boot từ USB. Nếu thành công xuất sắc bạn sẽ nhận được màn hình hiển thị chọn ngôn từ cài Ubuntu như hình sau :
Lưu ý : ghi lại IP mạng để khi cài xong sử dụng nhe. Ip của mình ở trên là : 192.168.142.141
Bấm Done để qua bước tiếp theo
- Your name: Nhập tên tùy ý, không nhập ký tự đặt biệt
- Your server’s name: Nhập tên server viết liền không dấu
- Pick a username: Tên đăng nhập quản trị server, viết liền không dấu, không nhập chữ admin
- Password: Mật khẩu đăng nhập server, nhập xong nhớ nhé.
Bấm Done qua bước sau đó
Bước này bạn dùng phím Space để đánh dấu lự chọn cài đặt: Install OpenSSH Server
Bấm Done để qua bước tiếp
Quá trình thiết lập này diễn ra khoảng chừng 15 phút hơn, sau khi thiết lập thành công xuất sắc chọn Reboot Now để khởi động lại máy ( nhớ rút USB ra ) .
3. Cài đặt Cyber Panel để quản lý server
Để thực thi setup Cyber Panel thì mình liên kết SSH vào server bầng Mobaxterm để cài cho dể. Tiện lợi copy và Paste .
IP server của mình ở trên là : 192.168.142.141 – Các bạn xem hướng dẫn thiết lập Mobaxterm mình có để linh ở đầu bài nhé .
sudo su -
sh
Đợi một lát, chọn số 1 để setup CyberPanel
Process check completed…
CyberPanel Installer v2.0
1. Install CyberPanel.
2. Install Addons.
3. Exit.
Please enter the number[1-3]: 1
Bạn hãy chọn : Chọn 1 Cài CyberPanel với OpenLiteSpeed
CyberPanel Installer v2.0
RAM check : 81/991MB (8.17%)
Disk check : 1/25GB (6%) (Minimal 10GB free space)
1. Install CyberPanel with OpenLiteSpeed.
2. Install Cyberpanel with LiteSpeed Enterprise.
3. Exit.
Please enter the number[1-3]: 1
Chọn y và enter để cài Full
Install Full service for CyberPanel? This will include PowerDNS, Postfix and Pure-FTPd.
Full installation [Y/n]: y
Bấm enter để mặc định không cài Remote SQL nhé
Do you want to setup Remote MySQL? (This will skip installation of local MySQL)
(Default = No) Remote MySQL [y/N]:
Bước này cài đặt Pass của Cyber (Khác với pass của Ubuntu) bấm enter để mặc định là 1234567 hoặc bạn nhập pass của bạn vào: Mình để mặc định và đổi sau
Please choose to use default admin password 1234567, randomly generate one (recommended) or specify the admin password?
Choose [d]fault, [r]andom or [s]et password: [d/r/s]
Tiếp theo, nó sẽ hỏi bạn một số thứ như: cài Memcached, LiteSpeed Memcached, Redis. Mình chọn y
để cài đặt tất cả.
Please choose to use default admin password 1234567, randomly generate one (recommended) or specify the admin password?
Choose [d]fault, [r]andom or [s]et password: [d/r/s] r (Lưu ý: chọn R để random pass admin)
Admin password will be provided once installation completed…
Replace JS/CSS files to JS Delivr?
This may improve panel loading speed in Asia Pacific region…
Please select [y/N]: y
Install Memcached extension for PHP?
Please select [y/N]: y
Install LiteSpeed Memcached?
Please select [y/N]: y
Install Redis extension for PHP?
Please select [y/N]: y
Install Redis?
Please select [y/N]: y
Cuối cùng, bạn chờ quá trình cài đặt khoảng 10 – 15 phút, sau khi cài CyberPanel thành công bạn sẽ nhận được thông tin đăng nhập như sau:
Ở chỗ visit: trong hình là IP của bạn ngoài môi trường internet, bây giờ bạn chưa nat port ra thì chưa vào được. Vì thế, bạn cần thay đổi IP thành IP cục bộ (IP nãy giờ SSH đang sử dụng của mình: 192.168.142.141).
Như vậy bạn đã cài đặt CyberPanel cho VPS xong rồi đó. Bây giờ đăng nhập vào CyberPanel thông qua 192.168.142.141:8090
bằng các thông tin trên.
Xem thêm : Hướng dẫn thiết lập bảo mật thông tin https cho trang quản trị trên CyberPanel
3. NAT Port Modem cho server
( NAT ) port được cho phép tài liệu đi qua thiết bị mạng như modem, router wifi …, mà không bị ngăn ngừa bởi tường lửa được cho phép domain về IP nhà bạn thì domain đó mới truy vấn được server web của bạn đã cài .
NAT Port trên những modem : Cái này tìm hiểu thêm thôi không phải modem nào cũng như nhau và để truy vấn được những thiết lập này bạn cần biết thông tin tài khoản admin đăng nhập modem nữa nhé ( không có thì xin nhà mạng ) .
Bước 1: Truy cập vào modem đang sử dụng. Modem nhà mình đang sử dụng là của Viettel có địa chỉ truy cập, user và pass ghi ở dưới modem: 192.168.1.1
Bước 2: Gán Ip mặc định cho con server của mình
- Bạn vào phần Lan trong Modem tìm Ip mà thiết bị của mình nhận lúc cài ubuntu như của mình là: 192.168.142.141. Xem địa chỉ Mac của máy server là gì. Ví dụ: 54:27:1e:e4:1e:9d
- Vào phần DHCP Binding để gán IP cho máy server của mình. Để khi khởi động máy server là thì mặc định modem sẽ cấp IP đã gán và Server. Như vậy thì những phần Nat của chúng ta không bị lỗi nhé.
Bước 3: Nat Port
- Vào Security > DMZ Host (Tùy mỗi modem mà tìm DMZ nhé): Mục này mình phải điền Ip của server đã gán ở trên. Khi truy cập bên ngoài vào mạng nhà mình thì mặc định chuyển tới máy server thay vì các máy tính khác trong hệ thống mạng nhà mình.
- Chuyển qua Port Forwarding để cho Nat các Port dưới.
Please make sure you have opened following port for both in/out:
TCP: 8090 for CyberPanel
TCP: 80, TCP: 443 and UDP: 443 for webserver
TCP: 21 and TCP: 40110-40210 for FTP
TCP: 25, TCP: 587, TCP: 465, TCP: 110, TCP: 143 and TCP: 993 for mail service
TCP: 53 and UDP: 53 for DNS service
Như vậy là Nat Port xong bạn vào đây để kiểm tra Port nát thành công xuất sắc không. Như hình dưới là thành công xuất sắc
4. Tự động cập nhật IP động cho tên miền.
Internet ở mái ấm gia đình thì mặc định IP WAN ( Địa chỉ IP của mình ngoài internet ) sẽ biến hóa liên tục. Vậy nên khi bạn dùng tên miền để truy vấn vào Server tại nhà thì bắt buộc phải chỉnh DNS khi IP WAN đổi khác. Mục này hướng dẫn update tự động hóa DNS cho tên miền .
Lưu ý : Nếu nhà bạn nào có điều kiện kèm theo sài IP tỉnh thì bỏ lỡ bước này
Để hoàn toàn có thể đổi IP tự động hóa thì mình dùng Cloudflare để triển khai. Ưu điểm của Cloudflare là update DNS cực kỳ nhanh và có API link để triển khai .
Cài đặt và cấu hình Cloudflare
Bước 1 : Đăng ký thông tin tài khoản và Chuyển DNS tên miền về Cloudflare. com -> Search google vài bước là xong
Bước 2 : Lấy API Cloudflare -> Sau khi add tên miền cần đưa về host thì bạn sẽ thấy API
git clone https://github.com/LINKIWI/cloudflare-ddns-client.git
cd cloudflare-ddns-client
sudo apt install python-is-python3
sudo make install
cloudflare-ddns --configure
- Choose [T]oken or [K]ey: chọn chữ K rồi Enter.
- Email: email đăng nhập cloudflare của bạn
- API Key: dán API Key đã lấy từ bước 2 vào.
- Comma-delimited domains: nhập domain cần cập nhật IP vào, nhiều domain thì cách nhau bằng dấu chấm phẩy (,)
Khi nhận được thông báo Configuration file written…. successfully. Gõ tiếp lệnh sau để cập nhật IP vào domain của bạn
cloudflare-ddns --update-now
Thêm cron job tự động cập nhật IP
crontab -e
Trong giao diện chỉnh sửa crontab, bạn thêm dòng này vào cuối và lưu lại. Dòng này mang ý nghia là sau 5 phút sẽ update IP một lần, những bạn hoàn toàn có thể đổi khác theo ý thích nhé .
*/5 * * * * /usr/local/bin/cloudflare-ddns --update-now
Bấm Ctrl + Z để thoát khỏi trình soạn thảo.
Cuối cùng : Khởi động lại server .
Để kiểm tra thì bạn thử tắt Modem và xem CloudFlare có update IP không nhé .
Xem thêm : Hướng dẫn thiết lập bảo mật thông tin https cho trang quản trị trên CyberPanel
Lời kết
Như vậy là mình đã hướng dẫn những bạn những bước cụ thể nhất để thiết kế xây dựng một server riêng tại nhà ship hàng cho việc nghiêng cứu và vọc vạch rồi. Về trong thực tiễn bạn hoàn toàn có thể dùng server này để chạy những web demo cho khác hàng hoặc dùng để làm VPS chính cho những web của bạn cũng được .
Đánh giá bài viết
Source: https://dichvubachkhoa.vn
Category : Dịch Vụ Lắp Đặt