Cách xây dựng máy chủ

Cách xây dựng máy chủ

Đối với các bạn web dev thì server hay VPS đã là khái niệm không còn xa lạ nữa, thế nhưng đã bao giờ bạn nghĩ đến việc dựng một server riêng tại nhà để test code hay vọc vạch chưa? Trong bài viết này mình sẽ hướng dẫn chi tiết nhất cách để Dựng server riêng tại nhà dùng làm VPS cá nhân.

Hướng dẫn tự dụng server riêng tại nhà

Yêu cầu trước khi thực hiện

  • Về kiến thức: Không cần phải biết nhiều cái năng cao nhưng về cơ bản là phải có
    • Về domain, hosting
    • Biết đôi chút về modem đang xài ở nhà.
    • Sử dụng hệ điều hành linux
    • Cách thức kết nối SSH
    • Biết sử dụng dịch vụ của Cloudflare.com
    • Biết tạo USB boot.
    • Một chút tiếng Anh càng tốt.
  • Về vật chất ????: Không có thì không được nhé, không xịn thì cùi cùi cũng được
    • 1 cái USB tối thiểu 4GB để làm USB cài đặt HĐH (có thể không cần, nếu dùng máy ảo)
    • 1 cái máy tính, laptop gì cũng được miễn là có khả năng kết nối mạng. Dùng làm server.

Các bước thực hiện tạo server riêng tại nhà

Tại đây mình sẽ hướng dẫn các bạn chi tiết nhất để tự xây dựng server riêng tại gia từ việc cài hệ điều hành, cài panel quản trị, NAT port cho server (cho phép truy cập server từ xa), làm sao để tự cập nhật IP động cho tên miền.

Mình xin nói thêm về IP động của modem, có nghĩa là mỗi lần nhà bạn cúp điện modem mất nguồn hay bị đứt cáp quang lúc modem kết nối lại sẽ được cấp một IP mới. Như vậy domain bạn đang trỏ về IP sẽ không còn vào được nữa, thay vì làm thủ công phải truy cập trang quản lí và trỏ IP mới thì mình sẽ hướng dẫn bạn làm tự động.

Nếu có đầu tư các bạn có thể tham khảo dịch vụ IP tĩnh của các nhà mạng với giá khoảng 200k/tháng. Dùng cái này thì bỏ được bước cuối

Chuẩn bị các file cần thiết

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.

Công cụ tạo USB boot:https://rufus.ie(mình hay dùng thằng này do nó đơn giản dễ dùng)

Panel cho VPS:Các bạn có thể sử dụng các Panel trả phí để được hỗ trợ tốt hơn và bảo mật cao hơn. Tuy nhiên, cái này mình tạo để vọc vạch nên sử dụng hang chùa là được rồi.

Trong bài này mình sẽ sử dụng Cyberpanel:https://cyberpanel.net

Các panel miễn phí khác:https://www.aapanel.com,https://www.webmin.com,http://www.sentora.org

Cài đặt hệ điều hành Ubuntu Server

Mình bỏ qua bước tạo USB boot do cái này chắc hẳn ai cũng từng làm rồi

Đầu tiên, khởi động máy và boot vào usb bạn đã tạo. Chọn ngôn ngữ English > Enter.

Chọn ngôn ngữ

Lúc này bạn chờ một lát sẽ có thêm của sổ chọn ngôn ngữ, cái này chọn tiếp English rồi Enter. Enter thêm lần nữa đến bước Network connections

Tại đây bạn nên cắm dây mạng hoặc kết nối Wifi trước để nó nhận được IP từ modem luôn, khỏi phải cấu hình thủ công.

Đã nhận IP

Tiếp theo, Config proxy, Config Ubuntu Archive server. Enter để qua bước. Qua Guided Storage config cứ để mặc định nếu bạn có 1 ổ cứng trong máy, nếu có nhiều hơn thì chỉ việc chọn cái bạn cần cài HĐH.

Chọn ổ cứng lưu HĐH

Đến bước xác nhận chọn Done.

Kế đến là nhập các thông tin cho server.

  • 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é.
Nhập thông tin cho server

Phần SSH Setup các bạn nhớ tick vào cài đặt (dùng dấu cách trên bàn phím) rồi tiếp tục nhé.

Cài đặt SSH

Qua phần Feature server snap các bạn không cần quan tâm, chọn Done để bắt đầu cài đặt Ubuntu Server vào máy.

Quá trình cài đặt này diễn ra khoảng 15 phút hơn, sau khi cài đặt thành công chọn Reboot Now để khởi động lại máy (nhớ rút USB ra).

Cài đặt hoàn tất

Cài đặt Cyber Panel lên server

Ở bước này các bạn có thể sử dụng màn hình và bàn phím đang gắn vào máy server để gõ hoặc bỏ qua một bên và SSH vào server để tiện copy paste nhé.

IP của server nằm ở bước đầu tiên trong quá trình cài đặt HĐH đó, nếu quên thì vào modem xem lại mục DHCP Info hoặc cài thêm net-tools vào bằng lệnh

sudo apt net-tools

Gõ lệnh này để xem IP card mạng đang dùng

ifconfig

IP của Server

Nếu báo lỗi thì cài thêm net-tools bằng lệnh: sudo apt-get net-tools sau đó gõ lại nhé.

Trong bài này mình sẽ SSH vào server để cài đặt, các bạn có thể sử dụngPuttyđể SSH hoặc bất kỳ công cụ nào bạn biết.

Sau khi SSH vào rồi, bạn gõ lệnh sudo để cấp quyền root cài đặt Cyber Panel.

sudo su -

Dán lệnh cài đặt Cyber Panel vào

sh <(curl https://cyberpanel.net/install.sh || wget -O - https://cyberpanel.net/install.sh)

Đợi một lát, chọn số 1 để cài đặt.

Chọn 1: Install CyberPanel.

Tiếp đến, chọn 1 luôn nhé.

Chọn 1: Install Cyberpanel with OpenLightSpeed

Các bước tiếp theo bạn chọn theo mặc định

  • Install PowerDNS, Postfix, Pure-FTPd chọn Y
  • Do you want to setup Remote MySQL chọn N
  • Chọn phiên bản MySQL. Enter để cài bản mới nhất
  • Please choose default admin password 1234567 . Enter để cài mật khẩu mặt định (có thể đổi sau) hoặc nhập mật khẩu của bạn rồi Enter.
  • Install Memcached chọn N (có thể cài sau)
  • Install Redis chọn N như Memcached.
  • Install Watchdog chọn Y theo mặc định.

Chờ quá trình cài đặt diễn ra và hoàn tất, bạn sẽ nhận được thông tin về panel như bên dưới, nếu không nhớ thì có thể copy và lưu lại đâu đó.

Thông tin đăng nhập CyberPanel

Ở 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 dô ấy).

Đến đây thì các bạn vào tạo website mới trước để tí trỏ IP về nhé.

NAT Port cho server

NAT Port hiểu nôm na là bạn sẽ mở các cổng trên server để bên ngoài có thể truy cập vào, đồng nghĩa với việc bạn trỏ domain về IP nhà bạn thì domain đó mới truy cập được.

NAT Port trên các modem:Cái này tham khảo thôi không phải modem nào cũng như nhau và để truy cập được các cài đặt này bạn cần biết tài khoản admin đăng nhập modem nữa nhé (không có thì xin nhà mạng).

  • VNPT: Advenced Feature > NAT > DMZ Host
  • Viettel: Advenced Setup > Application > DMZ Host
  • TP-Link: Forwaring > DMZ

Như dưới đây mình thực hiện Nat toàn bộ port trên IP của con server mới cài ra ngoài internet.

NAT port cho server tại nhà

Bước này chỉ đơn giản vậy thôi, đến đây thì bạn thử dùng 4G truy cập vào Cyber Panel thông qua IP Wan trong phần thông tin lúc cài đặt xem được chưa nhé, nếu được là bạn đã thành công.

Tự động cập nhật IP động cho tên miền

Như mình đã nói ở trên, mỗi khi IP modem nhà bạn thay đổi thì bạn cần phải vào cập nhật lại IP mới. Nếu bạn không có ở nhà thì cũng chẳng tài nào biết ai mới là bao nhiêu.

Vậy nên, cách sau đây sẽ giúp bạn tự động hóa việc cập nhật IP mới cho tên miền. Ở đây bạn chuyển tên miền về Cloudflare nhé.

Bước 1: SSH vào server nếu đã thoát. Gõ lần lượt các lện sau (Nguồn: https://github.com/LINKIWI/cloudflare-ddns-client)

git clone https://github.com/LINKIWI/cloudflare-ddns-client.git cd cloudflare-ddns-client sudo make installGõ lệnh cuối bị lỗi như thế này.

Nếu gõ lệnh cuối và gặp lỗi như hình thì các bạn gõ thêm lệnh này. Sau đó gõ lại lệnh cuối ở trên.

sudo apt install python-is-python3

Bước 2: Lấy API Key của Cloudflare dùng cho việc cập nhật IP tại đây:https://dash.cloudflare.com/profile/api-tokens. Bước này nếu chưa rành thì các bạn tra Google thêm nhé, cũng đơn giản thôi.

Bước 3: Quay lại SSH gõ tiếp

cloudflare-ddns --configure

Bước 4: Nhập các thông tin cho cấu hìnhcloudflare-ddns

  • 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 (,)

Bước 5: 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

Đã cập nhật IP cho DNS trên Cloudflare.

Bước 6: Thêm cron job tự động cập nhật IP, gõ lệnh sau

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, các bạn có thể thay đổi theo ý thích nhé.

*/5 * * * * /usr/local/bin/cloudflare-ddns --update-now

Bước 7: Khởi động lại server.

Video hướng dẫn chi tiết

Mình cũng có làm một video về quá trình thực hiện các bước trên, do quá trình thu âm lỗi và mình lòng tiếng vào sau nên nghe không hay lắm. Các bạn thông cảm nhé!

Lời kết

Như vậy là mình đã hướng dẫn các bạn các bước chi tiết nhất để xây dựng một server riêng tại nhà phục vụ cho việc nghiêng cứu và vọc vạch rồi. Về thực tế bạn có thể dùng server này để chạy các web demo cho khác hàng hoặc sịn hơn là dùng để làm VPS chính cho các web của bạn cũng được. Tuy nhiên để web hoạt động suông sẽ thì bạn phải tính đến việc tích điện dự phòng cho server tránh trường hợp cúp điện nữa.

Trong bài này có nhiều phần và ở các phần bạn có thể vận dùng vào các như cầu khác ngoài thực tế chứ không chỉ để dựng server riêng đâu nha.

Cảm ơn các bạn đã quan tâm. Nếu có khó khăn gì hãy comment bên dưới để mình giúp đỡ nếu trong khả năng nhé. Chúc bạn thành công.

Video liên quan

Related posts:

Post a Comment

Previous Post Next Post

Discuss

×Close