HocVPS Script là 1 bash script chạy trên SSH sẽ tự động cài đặt tất cả các thành phần cần thiết nhất cho VPS với một dòng lệnh duy nhất.

Không như những Control Panel khác, HocVPS Script không hề sử dụng bất kỳ tài nguyên server (CPU, RAM) và không thể mắc lỗi bảo mật nào để hacker khai thác được nên các bạn có thể hoàn toàn yên tâm sử dụng.

Ngoài ra, webserver sẽ được tự động tối ưu cấu hình để đảm bảo có hiệu suất hoạt động tốt nhất, bảo mật nhất. Ngay cả những bạn mới làm quen với VPS cũng có thể quản lý VPS thông qua menu dòng lệnh đơn giản, gọi bằng lệnh hocvps

HocVPS Script sẽ tự động cài đặt:

  • Webserver Nginx bản mới nhất.
  • Database MariaDB bản mới nhất 10.0 (chính là MySQL được tối ưu).
  • PHP phiên bản mới nhất tùy chọn: PHP 7.3, PHP 7.2, PHP 7.1, PHP 7.0, PHP 5.6; đi kèm Zend OPcache
  • phpMyAdmin mới nhất.
  • eXtplorer mới nhất để quản lý File Manager, có thể tạo user, phân quyền riêng biệt.

Những tính năng đặc biệt:

  1. Thông tin cài đặt đơn giản, chỉ cần lựa chọn phiên bản PHP, tên miền chính và port admin là đủ.
  2. Sử dụng Nginx repo thay vì compile từ source như những script khác giúp việc cài đặt Nginx nhanh hơn, sau này có nâng cấp cũng dễ dàng hơn rất nhiều.
  3. Thay thế MySQL bằng MariaDB cho kịp xu hướng (đây là phiên bản cải tiến từ MySQL, hoạt động tương tự nhưng cho hiệu suất cao hơn MySQL; ngoài ra phiên bản mới nhất CentOS 7 chính thức đã hỗ trợ MariaDB).
  4. Tương thích với cả CentOS 6 và CentOS 7, cả 32bit lẫn 64bit chơi hết. Lưu ý chưa dùng được trên CentOS 8.
  5. Tùy chọn sử dụng cài đặt phiên bản PHP 7.3 (mới nhất), PHP 7.2, PHP 7.1, PHP 7.0, PHP 5.6.
  6. Có trình quản lý File Manager eXtplorer trực tiếp ngay trên web.
  7. Tự động cài đặt module Zend Opcache và có thể theo dõi status ngay trên web.
  8. Sử dụng được với cả domain www và non-www, tự động redirect giúp bạn.
  9. Update tự động cho Nginx, PHP, MariaDB.
  10. Theo dõi tình trạng server ngay trên web, có thể sử dụng mobile truy cập mọi nơi.
  11. Thay đổi port SSH mặc định từ 22 sang 2222 hạn chế SSH Brute Force Attack, kèm theo Fail2ban block IP ngay nếu phát hiện login sai 3 lần (áp dụng cả SSH và HocVPS Script Admin).
  12. Toàn bộ thông tin quản lý sẽ được lưu trong file text ở /root/hocvps-script.txt
  13. Tham khảo thêm tính năng mới trong Changelog.

Yêu cầu hệ thống:

  1. RAM: tối thiểu 512MB
  2. Nên tạo swap trước khi cài (nếu sử dụng ổ cứng SSD hoặc RAID10)

Trước khi tiến hành cài đặt, bạn cần nắm một số kiến thức căn bản trong bài Bắt đầu, chủ yếu là cách sử dụng ZOC Terminal kết nối SSH.

1. Cài đặt HocVPS Script

Đầu tiên các bạn cần chuẩn bị một VPS mới tinh bằng cách Reinstall hoặc Rebuild, sử dụng CentOS 6 hoặc CentOS 7, bản 32bit hoặc 64bit đều được. Nên sử dụng bản CentOS 7 x64 với PHP 7.3.

Kết nối SSH sử dụng ZOC Terminal hoặc Putty với tài khoản root. Nếu tài khoản không có quyền root cần cấp quyền bằng cách chạy lệnh sudo su.
Chạy lệnh sau để tiến hành cài đặt:

curl -sO https://hocvps.com/install && bash install
– Cài đặt xong, khi connect SSH VPS bạn hãy sử dụng port 2222, không dùng port 22!
– HocVPS Script không hoạt động trên VPS chỉ có IPv6 (gói $2.5 của Vultr)

***Nếu muốn cài đặt luôn WordPress, hãy tham khảo script tự động cài đặt HocVPS Script và WordPress.

***Học VPS có dịch vụ cài đặt VPS/Server, nếu không muốn mất thời gian bạn hãy sử dụng cho chuyên nghiệp.

Chuẩn bị quá trình cài đặt

Trong bước này bạn cần lựa chọn:

  1. Phiên bản PHP muốn sử dụng: nên dùng PHP 7.3, có hiệu suất gấp 3 lần so với phiên bản cũ 7.1.
  2. Tên miền chính sử dụng với VPS, có thể nhập có www hoặc không có www tùy mục đích sử dụng, script sẽ tự động redirect giúp bạn.
  3. Port admin quản lý server: là port bí mật (nằm trong khoảng 2000 – 9999, thay đổi được sau khi cài) dùng để:
    • Truy cập link quản trị, có dạng: http://domain.com:port/
    • Sử dụng phpMyAdmin, link dạng: http://domain.com:port/phpmyadmin/
    • Quản lý File Manager, link dạng: http://domain.com:port/filemanager/
    • Theo dõi tình trạng hệ thống, link dạng: http://domain.com:port/serverinfo/
    • Theo dõi tình trạng Zend Opcache, link dạng: http://domain.com:port/op.php

Sau đó, bạn cứ để cho script tự động thực hiện quá trình cài đặt, có thể mất từ 3 – 5 phút tùy cấu hình và network của VPS/Server.

Cuối cùng, nếu không có vấn đề gì xảy ra, bạn sẽ nhận được thông báo cài đặt thành công và thông tin quản lý VPS như bên dưới. Đồng thời, thông tin này cũng sẽ được lưu trong file text có đường dẫn /root/hocvps-script.txt để bạn xem lại sau này.

Vậy là server sẵn sàng để bạn sử dụng rồi đấy.

2. Sử dụng HocVPS Script

HocVPS Menu được sử dụng qua lệnh hocvps trên SSH Terminal.

Sau khi cài đặt xong HocVPS Script, bạn có thể sử dụng sFTP để quản lý File, upload code lên thư mục /home/domain.com/public_html/ đồng thời trỏ tên miền về IP VPS và bắt đầu sử dụng.
Lưu ý: Sau khi upload source lên thư mục web, các bạn sử dụng hocvps menu 14 Phân Quyền Webserver để Nginx đọc được nội dung website.

Nếu muốn kết nối SSH bạn hãy sử dụng port 2222.

Trong quá trình sử dụng, đang ở bất kỳ chức năng nào bạn cũng có thể nhấn Ctrl + C sẽ thoát khỏi Script ngay lập tức.

Bảo mật an toàn tuyệt đối

Mình luôn đặt vấn đề bảo mật và sự đơn giản lên hàng đầu nên từ phiên bản HocVPS Script v1.6 sẽ bổ sung thêm một lớp bảo mật nữa khi truy cập các link có chứa port. Bạn có thể thay đổi password này cho dễ nhớ hơn khi truy cập link quản trị http://domain.com:port/.

Username mặc định cho tất cả các tool là admin, password tự động sinh ra sau khi cài đặt xong server. Nếu bạn nhập sai thông tin quá 3 lần, IP sẽ tự động bị block trong 1h. Nâng thêm thời gian theo hướng dẫn này.


– Cloudflare CDN chặn truy cập qua port bất thường nên domain sử dụng CDN Cloudflare(đám mây vàng) cần tắt CDN để truy cập domain:port. Nếu không, chỉ truy cập qua ip:port
– Cài đặt xong HocVPS Script, các bạn nên thiết lập luôn Script backup tự động nhằm đảm bảo an toàn cho data và database.
– HocVPS Script hoạt động rất tốt với WordPress, Joomla, Magento, PrestaShop, Xenforo (đã trực tiếp test)

3. Bài viết hay liên quan đến HocVPS Script

  1. Reset password quản lý server HocVPS Script
  2. Rclone – Backup toàn bộ VPS lên Google Drive
  3. Cài đặt chứng chỉ Let’s Encrypt trên server HocVPS Script
  4. Hướng dẫn cài đặt chứng chỉ SSL trên Nginx
  5. Tự động cài đặt HocVPS Script và WordPress
  6. Script tự động tải và cài đặt WordPress trên VPS
  7. Hướng dẫn config VPS chịu tải lớn với HocVPS Script 4k3 online trên VPS 2GB RAM
  8. Cách xử lý lỗi: Couldn’t resolve host

4. Một số vấn đề có thể gặp phải

Trong file config.php bạn hãy chuyển:

$config['Database']['dbtype'] = 'mysql';

thành

$config['Database']['dbtype'] = 'mysqli';

rồi thêm đoạn sau vào: define('DISABLE_HOOKS', true);

1. Đối với phiên bản HocVPS Script hiện tại

Các bạn chỉ cần chạy menu “hocvps” rồi chọn option 15) Nang cap server. Toàn bộ quá trình nâng cấp sẽ được tự động thực hiện.

2. Đối với phiên bản HocVPS Script cũ

PHP

Để kiểm tra phiên bản PHP hiện tại bạn dùng lệnh php -v hoặc php-fpm -v

– Nếu bạn đang dùng PHP 5.4.x và muốn nâng cấp lên bản cao nhất (cùng là 5.4.x)

yum --enablerepo=remi update php\*

– Nếu bạn đang dùng PHP 5.4.x và muốn nâng cấp lên 5.5.x hoặc đang dùng 5.5.x và muốn nâng cấp lên bản cao nhất

yum --enablerepo=remi-php55,remi update php\*

Nginx

Để kiểm tra phiên bản Nginx đang sử dụng bạn dùng lệnh nginx -v hoặc nginx -V

Nâng cấp Nginx lên phiên bản mới nhất:

yum --enablerepo=remi-php55,remi update nginx\*

MySQL-MariaDB

Để kiểm tra phiên bản MariaDB đang sử dụng bạn dùng lệnh mysql -p

Nâng cấp MariaDB lên phiên bản mới nhất:

yum upgrade MariaDB-server MariaDB-client

phpMyAdmin

Bạn hãy xóa toàn bộ file + folder trong thư mục /home/maindomain.com/private_html/ bằng lệnh rm rồi tải script phpMyAdmin mới nhất giải nén vào thư mục này.

Xem thêm hướng dẫn cài đặt phpMyAdmin trên CentOS

Để bảo mật, khi server dùng HocVPS Script không website nào có thể chèn được IFRAME từ site của bạn.

Trong trường hợp cần dùng IFRAME, hãy mở file/etc/nginx/nginx.conf xóa dòng add_header X-Frame-Options SAMEORIGIN; và reload Nginx là được ngay nhé.

service nginx reload

Linode tự động kích hoạt IPv6 nên khi gửi mail tới Gmail sẽ bị lỗi với lệnh test:

echo "Subject: test" | /usr/lib/sendmail -v admin@gmail.com

Để gửi được mail, đơn giản bạn chỉ cần disable IPv6 đi là xong.


Mặc định, HocVPS Script đã mở các port cần thiết: SSH(2222), HTTP/HTTPS(80/443), HocVPS Admin… Tuy vậy, một số nhà cung cấp VPS (Google Cloud, Amazon…) có thiết lập tường lửa riêng bên ngoài VPS và mặc định chỉ cho phép port SSH(22) và HTTP(80). Như vậy, bạn cần mở port thủ công tại trang quản lý của nhà cung cấp
Đối với Google Cloud, tạo rule allow trong Networkdefault như hình dưới để áp dụng mặc định cho toàn bộ VPS trong tài khoản.

Đối với EC2, bạn chỉnh ở mục NETWORK&SECURITY - Security Groups - Inbound. Tương tự, bạn cần mở thủ công port HTTPS(443), FTP… nếu cần.
Tagged:

Comment của bạn

Lưu ý: tất cả comment đều được kiểm duyệt cẩn thận! Nếu có code bạn hãy up lên pastebin.com rồi để lại link trong comment.

7,537 Comments

  1. Lê Văn Thuấn 20 comment

    trước đây mình có tắt đăng nhập lần 1 (chỉ đăng nhập lần 2) để phân host cho khách hàng nên bảo mật kém đi, toàn hệ thống vps bị hacker tấn công, nhưng mình lại không biết làm cách nào để bật lại, admin cho mình hướng dẫn được không ạ?

  2. Tân 13 comment

    Cài hocvps bằng link domain http, sau khi login vào server rất ok, nhưng mà cứ xài ssl là y như rằng thằng panel admin dạng https://domain:port nó bị lỗi k thể truy cập.
    Cái này mình nhớ là rất nhiều trường hợp report về cho Luân rồi mà cuối cùng nó vẫn k thể khắc phục được.

    Có gì đó lỗi mà cứ cài ssl vào domain là y như rằng nó bị lỗi sau 1 thời gian sử dụng, k thể vào hocvps panel admin được Luân ạ.

    Sau 3 năm sử dụng hocvps thì cuối cùng nay mình cũng mạnh dạn gỡ bỏ hocvps script để chuyển sang Larvps, hi vọng sau này hocvps có thể khắc phục để mình cài lại.

  3. viet thanh 1 comment

    gởi anh Admin,
    em cài vps xong rồi. up file duplicator lên host để bung ra, nhưng chạy installer.php ngay bước đầu tiên báo lỗi ShellExec — disable
    Mong bác cho em lời khuyên

    1. DANG MINH DUC 22 comment

      tìm file php.ini rồi xoá shell_exec ở dòng disable_function ấy bác ơi.

  4. Việt Hưng 6 comment

    Nhờ Luân tư vấn vài cái tên cho việc Metric-Monitoring với?
    Mình cần theo dõi realtime: requests per second, response time, bandwidth

  5. hoang 1 comment

    Chào admin.
    Mình setup xong hocvps.
    Mình vào ip vps để vào trang chủ mà bị báo Không thể truy cập trang web này
    Dù mình đã cấp quyền 14 ở menu/

  6. Thành 13 comment

    Bác cho em hỏi chút, trên vultr lúc cài có tùy chọn centos 7×64 và 7×64 Without SELinux , thì nên chọn cái nào ạ?

  7. Vũ Việt Long 2 comment

    Anh cho em hỏi giờ em không truy cập vào bằng ip được (vẫn truy cập domain bình thường)

    Vấn đề thứ 2 là em không vào được My SQL. Những vẫn vào web và đăng bài bình thường được.

    Anh cứu em với 🙁 Em dùng Vultr 5$ ạ

  8. Đức Công 13 comment

    Làm sao để cho trong folder hiển thị file vậy
    Mình làm theo hướng dẫn mà nginx lỗi. Thank mn

  9. haodv 22 comment

    Website mình sử dụng VPS chạy hocvps mấy năm nay ổn định, gần đây mình có sử dụng cloudflare chạy cũng ổn định vài tháng nay, nhưng 1 tháng gần đây bị tình trạng không vào được website và bị lỗi Error 502 bad gateway or error 504 gateway timeout kiểu lỗi hình ảnh như sau https://images.ctfassets.net/slt3lc6tev37/CTIa7Nqay9uZoBZnh7ao7/e61d8968ea919d75b26e0098437f7174/image1.png
    Và vps phải sử dụng lệnh # reboot mới được, không biết là do lỗi gì. Website chạy wordpress và plugin update mới nhất, và gần đây lượng view có tăng

    1. Luân Trần Admin

      Vậy là do VPS thiếu RAM nên service Nginx bị stop rồi, cần tối ưu hoặc nâng cấp thêm RAM nha.

  10. Phan Hung 10 comment

    Sau khi cài xong hocvps script thì bị lỗi không connect được ssh dù đã đúng port 2222.

      1. Trung 3 comment

        Hi anh,
        Mình nhập sai mk nhiều lần bị block thì khi nào server mở lại vậy ạ? Hay mình phải làm gì? Thank a Luân

  11. Thịnh Lê 25 comment

    Domain chính của mình hết hạn và mình ko muốn dùng domain đó nữa. Giờ vào File Manager hay các công cụ khác không được. Làm thế nào để đổi domain chính đã cài vps lúc đầu cho domain khác đc ạ

    1. Luân Trần Admin

      Bạn cứ giữ domain đó đi, cần thêm domain mới nào thì add thêm vào sử dụng thôi.

  12. Tuan Hoang 2 comment

    Admin cho mình hỏi thăm nếu mình cài vps bằng script này nếu hacker tấn công thì có an toàn không mình cài laravel, nhưng chưa cài chứng chỉ Let’s Encrypt SSL, truy cập vẫn là http://123456. Cảm ơn bạn

    1. Luân Trần Admin

      Hacker có tấn công được thì là do code bạn dùng nhé, còn dùng HocVPS Script không thể có bug để mà tấn công.

  13. Phương Soi 2 comment

    Bác Luân Trần ơi em là người trước kia có nhờ bác cài VPS ấy từ khoảng 2015 thì phải. Giờ em muốn nâng cấp nginx lên 1.9.5 thì làm thế nào ạ? Em muốn dùng giao thức http/2 mà em làm theo hướng dẫn update bản nginx mới nhất thì chạy lệnh nó chỉ được nginx/1.18.0.

  14. Đỗ Hoàng 5 comment

    Mình đang sử dụng Hocvps script. Nhưng nó xảy ra tình trang lỗi kết nối cơ sở dữ liệu Mysql. Cho mình hỏi Làm sao để bật lại mysql server. Xin cảm ơn !

    1. Luân Trần Admin

      Tự dưng lỗi hay như nào bạn nhỉ, cần có thông tin cụ thể hơn mới support được.

  15. Mạc Văn Năng 11 comment

    Làm theo hướng dẫn tạo Swapon -s nhưng sau khi gõ lệnh thì không hiện ra gì hết. mặc dù bỏ qua bước đó làm theo những bước khác vẫn thấy được. nhưng gõ lệnh thì không có gì. vậy giờ đã cài script xong cài swapon có được ko ad?

    1. Luân Trần Admin

      Cũng tùy nền tảng ảo hóa và nhà cung cấp mà họ có cho dùng swap hay không đó bạn

      1. Mạc Văn Năng 11 comment

        Vâng. vậy có 2 vấn đề cần hỏi bác ad
        1. Domain và hosting đã mua của stablehost. Trước mắt đã cấu hình tải file và sql lên hosting. chạy bằng ip thì được rồi mà domain thì nó lại không được. ping cũng không được. Không hiểu là phải trỏ thế nào nữa. vì mặc định của nó nameserver là: ns1.stablehost.com. Không tìm thấy chỗ nào phải trỏ bản ghi A cname về IP giống như những domain mua chỗ khác. có phần quản lý domain riêng
        2. Bây giờ muốn cài dịch vụ Let’s Encrypt SSL nhưng không tìm thấy chỗ nào để tạo mail server. Ví dụ admin@domain.com để đăng kí ssl. Như trên hosting thông thường có Cpanel thì tạo dễ dàng rồi. giờ phải tạo từ đâu để có mail đăng kí mong bác chỉ giúp

        1. Luân Trần Admin

          1. Mình cần check domain cụ thể xem có vấn đề gì không mới nói tiếp được nhé.
          2. Let’s Encrypt SSL đâu cần gì mail server nhỉ?