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.

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.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à 7, cả 32bit lẫn 64bit chơi hết.
  5. Tùy chọn sử dụng cài đặt phiên bản PHP 7.1 (mới nhất), 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.

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 7, bản 32bit hoặc 64bit đều được. Nên sử dụng bản CentOS 64bit với PHP 7.1

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
Sau khi cài đặt xong khi connect VPS bạn hãy sử dụng port 2222, không dùng port 22!

***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.1, có hiệu suất gấp 3 lần so với phiên bản cũ 5.6.
  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.

Sử dụng HocVPS Script

Sau khi cài đặt xong HocVPS Script, bạn có thể sử dụng eXtplorer File Manager để quản lý File, upload code lên thư mục /home/domain.com/public_html/, trỏ tên miền về IP VPS và bắt đầu sử dụng.

Nếu muốn kết nối SSH bạn hãy sử dụng port 2222, không dùng port 22. Login xong, sử dụng lệnh hocvps để truy cập vào menu của script.

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.

_ Mình có bài viết hướng dẫn các bước cấu hình VPS chuẩn sử dụng HocVPS Script chịu tải lên đến 4k3 online với VPS Vultr 2GB RAM rất hay, bạn nhớ tham khảo nhé.

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.

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. Nâng cấp PHP 7 với server sử dụng HocVPS Script (v1.7 trở về trước)
  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

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

HocVPS Script hoạt động rất tốt với WordPress, Joomla, Magento, PrestaShop, Xenforo (đã trực tiếp test).
Tagged:

4,261 Comments

  1. đinh thế hòa 1 comment

    bác ơi, cho em hỏi chút 🙁 em bị lỗi này

    root@ubuntu-512mb-sgp1-01:~# apt install yum -y install wget && wget https://hocvps.com/install && bash install
    Reading package lists… Done
    Building dependency tree
    Reading state information… Done
    E: Unable to locate package install
    bác nào giúp em vs 🙁 em mới ở bước cài đặt, vps em dùng ở digital ocena

  2. Quang 4 comment

    Cho mình hỏi chút:
    Mình mới nâng cấp gói VPS của Vultr xong. Giờ truy cập vào wp-admin thì gặp cái này:

    Fatal error: Class ‘WP_Hook’ not found in /home/domain.com/public_html/wp-includes/load.php on line 487

    Giúp mình xử lý cái này với.

      1. Quang 4 comment

        Mình nâng cấp xong restart lại luôn rồi. Site thì vẫn truy cập bình thường nhưng ko truy cập vào wp-admin được.

        1. Luân Trần Admin

          Vụ này liên quan đến WordPress bên trong, nên rất tiếc mình không support cụ thể được

  3. tung 2 comment

    Có cách nào để chuyển hướng tên miền cũ sử dụng ssl sang 1 ten miền mới cũng sử dụng ssl không?

  4. Trung 7 comment

    Chào anh Luân Trần, em đang sử dụng HocVPS Script cài đặt trên Vultr. Hiện tại em không thể truy cập vào web được, nó hiện thông báo lỗi Error 521 Web server is down. (Trước đó em quên nạp tiền vào thẻ để thanh toán nên thanh toán trễ, 15 ngày sau em mới thanh toán, không biết có phải lỗi là do nguyên nhân này không?).
    Em có tìm hiểu thì thấy nguyên nhân có thể là do web server không chạy hoặc web server từ chối yêu cầu truy cập từ cloudflare. Em thử dùng câu lệnh “service nginx restart” trên giao diện Zoc thì nó xuất hiện thông báo như thế này.

    [root@dienthoaididong home]# service nginx restart
    nginx: [emerg] open() “/home/nychanis.com/logs/access.log” failed (2: No such file or directory)
    nginx: configuration file /etc/nginx/nginx.conf test failed
    (VPS của em gồm 2 domain dienthoaididong và nychanis)

    Mong anh giúp em khắc phục, em cám ơn anh nhiều

    1. Việt Phương Moderator

      Bạn có vừa chỉnh sửa gì file Nginx conf không? Lỗi này do file đó cấu hình sai. Thường gặp khi bạn cài SSL.
      Bạn post nội dung file Nginx conf đây mình xem cho. Post vào http://pastebin.com/index.php cho gọn nhé

          1. Việt Phương Moderator

            File này của domain phụ nychanis.com, paste anh file của domain chính

  5. Nam Thanh 34 comment

    hocvps script có cho phân dung lượng tối đa từng site ko Luân? Dùng để phân vps ra để bán hosting theo gói ấy. Thanks nhé

    1. Việt Phương Moderator

      Đã fix. Lỗi do để 1 file cấu hình sai trong /etc/nginx/conf.d khiến khi Nginx restart đọc toàn bộ các file Conf không được.
      Các bạn lưu ý nhé

  6. Minh Clear 2 comment

    Admin ơi,
    Cho mình hỏi là hocvps với control panel như cpanel hay direct admin có gì khác nhau nhỉ?
    Hay chỉ khác nhau phần có phí và miễn phí (Nếu không bàn về giao diện)

    Thanks

    1. Luân Trần Admin

      HocVPS Script quản lý dùng dòng lệnh thôi bạn, một số công cụ như File Manager, phpMyAdmin, theo dõi trạng thái server mới có nền web.

        1. Việt Phương Moderator

          Module Sqlite được cài mặc định và enable trong script rồi bạn

  7. Duy Nam 15 comment

    Em có sửa file /etc/nginx/nginx.conf để tăng dung lượng upload file, giờ không vào được website, filemanager…, ssh thì vẫn vào được. Anh Luân giúp em được không ạ?

    1. Việt Phương Moderator

      Không chạy được webserver rồi. Bạn có lưu cấu hình gốc thì backup lại không thì gửi nội dung file nginx.conf qua đây mình xem cho. Paste vào http://pastebin.com/ cho gọn.
      Chạy # nginx -t ra kết quả gì bạn

  8. Nhan Le 3 comment

    Xin chào,

    Cảm ơn Luân vì đã share script.

    Nhân tiện có bạn nào dùng extplorer trên PHP 7 mà bị lỗi như sau tại màn hình login:

    Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP

    thì download bản fix của mình về đè lên 2 file trong thư mục /libraries nhé

    https://drive.google.com/open?id=0B-dLxauLNehvaElXQ1NiSUhmQm8

    hoặcc có thể tự vá như sau (nếu sợ script của mình có vấn đề 😀 haha):
    file JSON.php
    – line 135: function __construct($use = 0)
    – line 842: function __construct($message = ‘unknown error’, $code = null,
    – line 856: function __construct($message = ‘unknown error’, $code = null,
    file PasswordHash.php
    – line 33: function __construct($iteration_count_log2, $portable_hashes)

    Nhờ Luân chia sẻ update để các bạn lên PHP 7 ko bị lỗi nữa 😀 với lại có khi mình quên thì còn tìm lại dc xD

    Thanks rất nhiều.

    1. Luân Trần Admin

      Ok ngon, mình còn mỗi vấn đề với File Manager nên không add PHP 7 vào phần cài đặt, để mình check xem sao nha.

    2. Nhan Le 3 comment

      Mình chỉ fix lỗi deprecated thôi, fix thêm 1 mớ trong libraries nữa.

      Nếu có vấn đề gì nữa thì fix tiếp vậy 😀 tạm thời mình chạy trên VPS các tác vụ đăng nhập, thêm xóa sửa zip unzip các kiểu hoạt động bình thuờng.

      https://drive.google.com/open?id=0B-dLxauLNehvSW9rS0FQUjVLakE

      changelog:
      /libraries/Auth/Auth.php
      line 333: function __construct($storageDriver, $options = ”, $loginFunction = ”, $showLogin = true)

      /libraries/Auth/HTTP/HTTP.php
      line 173: function __construct($storageDriver, $options = ”)

      /libraries/geshi/geshi.php
      line 591: function __construct($source = ”, $language = ”, $path = ”) {

      /libraries/HTTP/WebDAV/Server.php
      line 130: function __construct()

      /libraries/HTTP/WebDAV/Tools/_parse_lockinfo.php
      line 92: function __construct($path)

      /libraries/HTTP/WebDAV/Tools/_parse_propfind.php
      line 75: function __construct($path)

      /libraries/HTTP/WebDAV/Tools/_parse_proppatch.php
      line 92: function __construct($path)

      /libraries/JSON.php
      line 135: function __construct($use = 0)
      line 842: function __construct($message = ‘unknown error’, $code = null,
      line 856: function __construct($message = ‘unknown error’, $code = null,

      /libraries/PasswordHash.php
      line 33: function __construct($iteration_count_log2, $portable_hashes)

      /libraries/MIME/Parameter.php
      line 59: function __construct($param = false)

      /libraries/Text/Diff.php
      line 310: function __construct($from_lines, $to_lines,
      line 372: function __construct($orig, $final = false)
      line 397: function __construct($lines)
      line 419: function __construct($lines)
      line 441: function __construct($orig, $final)

      /libraries/Text/Diff/ThreeWay.php
      line 158: function __construct($orig = false, $final1 = false, $final2 = false)
      line 197: function __construct($lines = false)
      line 224: function __construct()

    3. Nhan Le 3 comment

      Nhân tiện Luận fix luôn Server Info của Yahei nha, PHP 7 nó disable 1 hàm nên không chạy được thằng này hoàn thiện. Fix như sau:

      private_html/serverinfo/index.php
      line 978: <?php echo (false!==preg_match("phpinfo",$disFuns))? '×’ :”PHPINFO“;?>

      Thanks 😀 Server mình đang chạy PHP 7.1 rất ok

      1. Luân Trần Admin

        Mình đang tiến hành update eXtplorer và sẽ đưa PHP 7 trở lại menu cài đặt

  9. minh minh 1 comment

    bạn ơi mình cài hocvps và đăng nhập vào phpmyadmin thì bị báo lỗi này

    Fatal error: Call to undefined function __() in /home/private_html/phpmyadmin/libraries/sanitizing.lib.php on line 135

    Warning: Unknown: open(/var/lib/php/session/sess_f0mrnq9bvg3qia5srvdgumnma4djb5mp, O_RDWR) failed: Permission denied (13) in Unknown on line 0

    Warning: Unknown: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/var/lib/php/session) in Unknown on line 0

    1. Việt Phương Moderator

      Cho mình xem kết quả của # ls -al /var/lib/php/. Không nhầm thì thư mục session bạn phân quyền sai (không phải nginx).
      Chạy # chown -R nginx:nginx /var/lib/php/session giải quyết vấn đề không?

  10. hiep tran 1 comment

    Bạn ơi cho mình hỏi , lần đầu mình cài hocvps , mình set website chính để truy cập phpMyadmin là domain1.com . Giờ cái domain đó mình không còn sở hữu, mình có thể chuyển domain truy cập của vps phpMyadmin thành domain2.com không. Thanks

    1. Việt Phương Moderator

      Mình chưa hiểu ý bạn lắm. Ý bạn là đường link truy cập phpMyadmin ngoài domain:port/phpmyadmin còn bằng domain1.com?

  11. phuong 1 comment

    Bạn ơi mình cài hocvps và let encript mình mới phát sinh lỗi là đăng nhập phpmyadmin qua port thì bị hiện lỗi

    403 Forbidden
    nginx

    giúp mình với ạ

    1. Việt Phương Moderator

      Bên mình mới update lại cấu hình SSL cho port quản lý. Bạn cho mình nội dung file conf Nginx mình xem cho
      Paste vào http://paste2.org/ cho gọn nhé

  12. Tuấn 1 comment

    Xin chào a Luân và các bạn, mình cài thành công hết và không báo lỗi, nhưng khi connect vào mariadb thì bị access denied ạ, mình đang sử dụng cloud server của longvan

    1. Việt Phương Moderator

      Bạn truy cập qua PHPMyAdmin được ko, thay vì truy cập bằng terminal ssh

  13. 3 comment

    a ơi!! e dùng lệnh này
    apt-get -y install wget && wget https://hocvps.com/install && bash install
    thì nó ra vậy em biết xử lý sao lun . Help
    Reading package lists… Done
    Building dependency tree
    Reading state information… Done
    wget is already the newest version (1.17.1-1ubuntu1.1).
    0 upgraded, 0 newly installed, 0 to remove and 2 not upgraded.
    –2017-01-26 03:48:26– https://hocvps.com/install
    Resolving hocvps.com (hocvps.com)… 107.191.52.55
    Connecting to hocvps.com (hocvps.com)|107.191.52.55|:80… connected.
    HTTP request sent, awaiting response… 200 OK
    Length: 1077 (1.1K) [application/octet-stream]
    Saving to: ‘install’

    install 100%[========================================>] 1.05K –.-KB/s in 0s

    2017-01-26 03:48:26 (147 MB/s) – ‘install’ saved [1077/1077]

    install: line 31: rpm: command not found

  14. 3 comment

    mình chạy đến đoạn này thì vps bị VĂNG RA kết nối đến SSH trong lúc cài đặt hocvps-script

    De quan ly server, ban hay dung lenh “hocvps” khi ket noi SSH.
    Neu can ho tro, cac ban hay truy cap https://hocvps.com/script/
    —————————–
    Server se tu dong khoi dong lai sau 3s nua….
    [root@centos-512mb-sgp1-01 ~]#
    Broadcast message from root@centos-512mb-sgp1-01
    (/dev/pts/0) at 18:19 …

    The system is going down for reboot NOW!

    [SSH] INFO: DISCONNECT

    1. Việt Phương Moderator

      Đây là đã cài đặt xong, server sẽ tự động disconnect. Bạn đợi lúc connect lại là dùng được bình thường nhé.
      Bạn sử dụng tốt script nhé.

  15. Le Duong 1 comment

    Xin chào mọi người
    Mình đã cài xong script rồi nhưng khi vào phpmyadmin thì hok đăng nhập đc mysql , nó báo access denied 🙁

  16. Vũ Hữu Đăng 10 comment

    Đến đây rồi làm gì nữa hả anh?
    “Welcome to nginx!
    If you see this page, the nginx web server is successfully installed and working. Further configuration is required.
    For online documentation and support please refer to nginx.org.
    Commercial support is available at nginx.com.
    Thank you for using nginx.”

    1. Việt Phương Moderator

      À đó là trang mặc định nội dung thôi. Bạn cài đặt source web hoặc cài đặt WordPress tùy mục đích sử dụng thôi

Comment của bạn

Your email address will not be published. Required fields are marked *