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,992 Comments

  1. haodv 22 comment

    Mong add tiếp tục phát triển HocVPS. Từ trước toàn dùng HocVPS, thấy ổn. Hôm bữa mình chạy website cần nhiều dòng RewriteRule trong .htaccess, nên đã cài thử VestaCP. Nhưng chạy được mấy hôm, thấy quá tải Server liên tục, load web toàn báo lỗi 500. Hãi quá, cài HocVPS vẫn con VPS đó, web chạy mượt mà không lỗi gì.

    Nhân tiện add cho hỏi mình chạy 1 con VPS của DigitalOcean, Ram 1Gb, 1CPU, cài Swap 2Gb, 10 web chạy WordPress, online 100 người cùng lúc cho tổng cả 6 web (ko phải 100 online/1 web), liệu Server có quá tải được không add.

    Trân trọng cảm ơn

    1. Phạm Hồng Vĩ 48 comment

      có update gì đâu mà quay trở lại ạ. Mình muốn đổi domain chính thành domain khác ở http//domain.com:port/ thì sao nhỉ

  2. Hoang Nam 5 comment

    memory_limit 800M 800M

    VPS mình 12GB ram chạy cho 1 web, làm sao để tăng số limit này lên nhỉ. mình chỉnh file php.ini + tìm mấy file config nginx mà ko còn chổ sửa. sửa xong reload lại all mà thấy như ko sửa

  3. Phi Ho Nguyen 1 comment

    Admin ơi cho mình hỏi,
    Mình muốn truy cập vào http://domain.com:port/phpmyadmin/

    Mình vào file /root/hocvps-script.txt xem port và đã điền đúng port trong đó nhưng không truy cập được, nó cứ báo Không thể truy cập trang web này [ERR_CONNECTION_REFUSED]

    Admin giúp mình với

  4. Trinh kim Khue 4 comment

    cho mình hởi cách add 2 domain trên 1 server ( alias domain, park domain ) qua script hocvps

  5. Giang 2 comment

    Việc đổi port ssh 2222 sang 1 port tùy chỉnh khác có tốt không ạ? Và em có thể thực hiện với Iptables đúng không ạ?

  6. Hai 2 comment

    Sao giờ cài Hocvps toàn báo:
    cat: /etc/redhat-release: No such file or directory

    Là lỗi gì vậy các bác?

  7. Duy Luân 15 comment

    Admin cho em hỏi, em muốn tắt filemanager và phpmyadmin thì làm cách vậy ạ

  8. Bui Xuan Thang 1 comment

    Lỗi này fix thế nào anh em ơi! Centos 8x64bit / đã cài swap

    [root@HHTTY ~]# curl -sO https://hocvps.com/install && bash install
    install: line 1: syntax error near unexpected token `newline’
    install: line 1: `’

  9. binh 1 comment

    Chạy lệnh cài hocvps mà bị báo lỗi này là sao anh
    install: line 1: syntax error near unexpected token `newline’
    install: line 1: `’

  10. Tinh Vu 14 comment

    cho hỏi tài khoản admin vẫn vào đc trên trình duyệt như filemanager, phpmyadmin (do lưu tài khoản trên trình duyệt). Còn mật khẩu root thì bị mất nên không vào được ZOC Terminal. Vẫy có cách nào vào lấy lại mật khẩu root ko? thank

  11. Nguyễn Văn Thám 1 comment

    Mình đang thắc mắc có nhiều phiên bản php 7 cài trên vps, có config kiểu gì để mình chuyển đổi giữa các phiên bản, bật tắt để sử dụng không?. Hôm trước thấy có bạn làm dc cái kiểu đó mà chưa hỏi

  12. Nguyên Bình 1 comment

    Admin cho mình hỏi,
    Sau khi cài đặt SSL theo hướng dẫn thì mình bị lỗi toàn bộ tool như phpadmin
    Lỗi sau khi truy cập user pass thì báo lỗi 403

  13. Long 4 comment

    Admin ơi, mình update Centos dịnh kỳ thì gặp thông báo sau:
    —————————
    WARNING : PHP 7.1 have reached its “End of Life” in
    December 2019. Even, if this package includes some of
    the important security fix, backported from 7.2, the
    UPGRADE to a maintained version is very strongly RECOMMENDED.
    —————————

    Như vậy PHP 7.1 đã đến cuối đời của nó vào 12/2019 rồi, bây giờ nếu mình update php version trong hocvps từ 7.1 lên 7.2, 7.3, 7.4 thì hệ thống có hỗ trợ không?

    Cảm ơn.

    1. Minh lê 1 comment

      lỗi này hình như trong file conf của domain chính bạn đã xóa phần phpmyadmin bên dưới.
      bạn thêm vào lại xem được không.

  14. trung hoa 8 comment

    Mới lấy con server ovh 60 usd/tháng. như thế này ổn ko a
    https://tocdo.net/result/4253225
    CPU model : Intel(R) Xeon(R) CPU E3-1245 v5 @ 3.50GHz
    Number of cores : 8
    CPU frequency : 3582.623 MHz
    Total size of Disk : 456.0 GB (133.4 GB Used)
    Total amount of Mem : 32000 MB (160 MB Used)
    Total amount of Swap : 510 MB (0 MB Used)
    System uptime : 0 days, 0 hour 8 min
    Load average : 0.08, 0.11, 0.08
    OS : Ubuntu 16.04.6 LTS
    Arch : x86_64 (64 Bit)
    Kernel : 4.19-ovh-xxxx-std-ipv6-64
    Virt : No Virt
    Date : Thu Dec 26 00:29:35 +08 2019

  15. Minh Hưng 11 comment

    Có lẽ các bạn nên chuyển sang Script khác thì tốt hơn, HOCVPS ko còn update & support fix lỗi như trước nữa r 🙂

    Riêng cái lỗi
    MariaDB chua khoi dong hoac co the bi loi khong the khoi dong!!!
    Vui long kiem tra lai
    Thấy từ 2017 đến nay admin cũng ko có post nào khắc phục :))
    http://prntscr.com/qfm78e

    1. 37 comment

      mình cũng đi tìm, nhưng chưa thấy cái nào uy tín,
      Bạn biết Script khác ko giới thiệu với

  16. ĐINH HUY 8 comment

    Backup toanf bij thieeBackup toàn bị thiếu file và bị lỗi thôi ad ạ. site có hơn 200mb thôi nhưng mà backup toàn lỗi, tạo ra file backup rồi down về máy toàn bị lỗi.

  17. Thiện 2 comment

    Em muốn move source trên vps nginx thuần thì có bài nào hướng dẫn chi tiết không ạ. Em cảm ơn AD ạ

  18. Minh Hieu 4 comment

    cài xong script rồi giờ vào SSH không được luôn, dùng 2222 k vào được.
    VPS mở port rồi.
    Connection Fail. FlowSocketConnector: Failed to connect to target address. Windows error 10060:…

  19. PHAN VAN PHONG 20 comment

    Cho mình hỏi mình dùng chức năng snapshot của vultr snap từ vps này qua vps khác nhưng sau khi snap dùng puty hay file manager kết nối vào thì ko dc , còn dùng viewconsole của vultr thì dc . Ai biết cái này ko ạ ? Ad giúp mình với

  20. Tuan Chu 23 comment

    Giờ ssl gần như là bắt buộc đối với mỗi website, mình nghĩ hocvps nên tích hợp thêm tính năng cài ssl tự động. Cài ssl thủ công hiện giờ khá khó khăn cho những người mới.

  21. Trần Bá Đạt 37 comment

    Thật đáng tiếc, hocvps xài khá tốt, nhưng giờ không còn được cập nhật nữa. Các VPS mới có lẽ mình sẽ không tiếp tục dùng hocvps.

    1. 37 comment

      bạn biết cái này nhẹ nhàng đơn giản giống hocvps này ko. chỉ mình với

  22. Tung Tran 5 comment

    Mình sử dụng hocvps, xong cài prestashop 1.7 mà không sử dụng được. Bị lỗi trong backend, frontend cũng bị báo “ERR_TOO_MANY_REDIRECTS”. Bạn support giúp mình với

  23. Văn 9 comment

    Chào bạn,
    Sau khi cài hocvps lên trên vps ở Google Cloud, mình không thể nào SSH tới vps dùng Putty / Google web SSH nữa dù đã bật firewall cổng 2222 và thay thế port connect lúc ssh bằng Google web ssh.
    Mong bạn hỗ trợ làm sao có thể cài hocvps với các tính năng khác nhưng không đổi port ssh?

    1. An Phát 4 comment

      Cái này bác tạo lại Vm thôi. Trước khi cài hocvps bác mở file này
      sudo nano /etc/ssh/sshd_config

      Di chuyển mũi tên lên xuống Chỉnh sửa hai dòng:
      PermitRootLogin no thành PermitRootLogin yes
      PasswordAuthentication no thành PasswordAuthentication yes

      Lưu rồi Reboot lại VM

      Sau đó hãy cài hocvps

  24. haodv 22 comment

    Mình sử dụng Script này chạy wordpress. Và có sử dụng WP-Rocket để tạo cache cho web, plugin bản quyền mua chung, và cài đặt WP-Rocket theo hướng dẫn https://github.com/SatelliteWP/rocket-nginx#installation.

    Trước đây web tạo và sử dụng cache bình thường (chạy bình thường 1 năm nay rồi).

    Nhưng hôm nay mình thấy File Cache mặc dù được tạo trên folder cache của VPS, nhưng xem trên trình duyệt thì cache không hoạt động.

    Không biết có phải do update WordPress, Plugin hay không vậy bạn

  25. Phát 52 comment

    Mình đang đăng nhập Filemanager tự nhiên bị out ra, đăng nhập lại cũng không được

    Rồi vào phpmyadmin thì thông báo như thế này
    https://i.imgur.com/hEPEZFV.jpg

    HocVPS thì đăng nhập bình thường.
    Hiện tại các trang website trên VPS đều bị lỗi:
    Error establishing a database connection

    Xin giúp mình!

  26. Tuan Anh 7 comment

    Ai có config iptables ngay sau khi cài script này và chưa chỉnh sửa gì ko ạ cho e xin với. Hoặc có cách nào revert lại iptables về trạng thái ngay sau khi cài script ko ạ?

  27. Ngo Tien Hoang 3 comment

    Mình cài hocvps rồi, giờ mình mới cài swap có được không. Vì lúc đầu mình không cài swap. Mình dùng vps của vultr. Thank!

  28. Hoàng Nam 8 comment

    Nâng cấp HOCVPS lên PHP mới đi anh Luân, Phương ơi…nay nền tảng xenforo yêu cầu PHP 7.2 trở lên rồi ạ, 1 số addon ko hỗ trợ php 7.1 nữa…:(…

  29. nguyễn viết trung 19 comment

    Mình cài xong đã mở cổng ssh 2222, dùng terminal truy cập vẫn chưa được, mình mới dùng terminal nên admin hướng dẫn với???

    1. Hoàng Nam 7 comment

      Nguyên nhân có thể là do khi bạn tạo VPS mới, nếu là Vultr nó sẽ để mặc định là CentOS 8×64 (mới nhất) thì cài đặt sẽ bị lỗi như trên.

      Mình đã xóa VPS này đi và tạo VPS mới chọn lại CentOS 7×64 (https://imgur.com/a/DxUizMD) và khi cài đặt chọn PHP 7.1 thì vẫn cài đặt HocVPS Script bình thường nhé bác