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.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.

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 7, bản 32bit hoặc 64bit đều được. Nên sử dụng bản CentOS 7 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
– Cài đặt xong, khi connect SSH VPS bạn hãy sử dụng port 2222, không dùng port 22!
– 04/09/2018: Đối với VPS Vultr, nên thực hiện đổi sang DNS Google trước khi cài đặt để tránh lỗi Couldn’t resolve host
– 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.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.

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.


– 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 (như 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). Bạn cần mở port thủ công tại trang quản lý VPS bằng cách tạo rule allow trong Networkdefault để áp dụng mặc định cho toàn bộ VPS trong tài khoản.

Tương tự, khi cài đặt và áp dụng HTTPS, bạn cần mở thủ công port 443.
Tagged:

Comment của bạn

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

6,553 Comments

  1. Thắng 1 comment

    Mình chạy link file tiếng việt có dấu thì bị báo 404 notfound, vậy có cách nào xử lý không ad?

    1. Việt Phương Moderator

      Linux xử lý không tốt tiếng Việt. Nên bạn chuyển về không dấu nhé

  2. Binh Nguyen 50 comment

    Mình thử dấu file wp-config.php nằm thư mục baomat nằm ngang hàng với public_html như sau:
    <php
    if ( !defined('ABSPATH') )
    define('ABSPATH', dirname(__FILE__) . '/');
    require_once(ABSPATH . '../baomat/wp-config.php');

    Và cũng sữa file wp-load cho đúng đường dẫn nhưng không kết nối đucợ web?

  3. phong 1 comment

    e có sử dụng mã nguồn wordpress và hocvps
    e có 11.000 file ảnh
    Upload load qua ftp sau đó giải nén ra 1 thư mục.
    Truy cập vào đường dẫn /wp-content/uploads/2018/07/anh-mot.jpg thi có ảnh thấy có ảnh không.
    trong filelliza có file mà truy cập theo domain.com/wp-content/uploads/2018/07/anh-mot.jpg có ảnh, còn domain.com/wp-content/uploads/2018/07/anh-hai.jpg lỗi 404 là nhiều. Gio giai quyet sao day a. em cam on

  4. Hưng 15 comment

    Bạn cho mình hỏi. Mình đang chạy web trên máy chủ LiteSpeed Cache, Code có file .htaccess
    Nếu mình chuyển qua vps sử dụng hocvps thì file .htaccess đó có hoạt động ko nhỉ.

  5. Phạm Đình Sơn 2 comment

    Em bị lỗi Network Error: Connection refused thì sửa sao ạ? Giờ kết nối kiểu gì cũng không được

      1. Phạm Đình Sơn 2 comment

        em sửa được rồi. cảm ơn ad
        Hiện tại em đang sử dụng VPS của Microsoft Azure với domain của GoDaddy, bây giờ muốn liên kết với nhau thì làm thế nào ạ? Em đã thử tìm google nhưng không có kết quả mong muốn

  6. Davi 1 comment

    Nhờ mấy bác giúp em chuyển .htaccess sang nghix giúp với

    RewriteEngine On
    RewriteCond %{REQUEST_URI} !(/$|\.)
    RewriteRule (.*) %{REQUEST_URI}/ [R=301,L]

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d

    RewriteRule . index.php [L]

    Cảm ơn mấy bác nhiều

  7. Pham Hoang Hiep 2 comment

    anh luân cho em hỏi là , em cài hocvps script và chạy trên vps vultr centos 7 được một thời gian. Giờ em bị mất pass admin để vào quản lý file và Database , giờ em làm thế nào để lấy lại đc pass ak, Em muốn zip bộ code để download về . Thanks

      1. Pham Hoang Hiep 2 comment

        Em có đọc qua bài này rồi nhưng em làm gì có pass mà đăng nhập vào “HocVPS Script Admin” . Vì mất mật khẩu mà

        1. Việt Phương Moderator

          Thì bài viết hướng dẫn bạn reset mật khẩu về 1234567 mà. Khi đó, bạn có thể truy cập vào được các tool của HocVPs

    1. Việt Phương Moderator

      Vấn đề đó thì mình không rõ rồi. Còn HocVPS vẫn hỗ trợ ipv6 nhưng nếu chỉ có mỗi ipv6, không có ipv4 thì không chạy được nhé bạn
      Chạy song song ipv4 và ipv6 vẫn okie
      Các script cũng không thấy cái nào dành riêng cho ipv6

    1. Việt Phương Moderator

      Hiện tại HocVPs chỉ hỗ trợ CentOS nhé bạn. Nếu dùng Ubuntu bạn có thể tham khảo các stack script như Easy Engine, Sentora…

      1. Vu 2 comment

        Mò một hồi thì tìm ra nguyên nhân đến từ cái Fail2Ban anh ạ, e cũng không hiểu là cái này hoạt động như thế nào mà ban ip của e mặc dù chưa đăng nhập sai passwd lần nào.
        Bác nào gặp lỗi như e thì lấy máy khác ip đăng nhập vào rồi dùng lệnh: “service fail2ban stop” nhé.

  8. Tuan 2 comment

    e cài web nó lỗi tnay , bác chỉ e với , giờ nâng cấp ở đâu vậy ?
    – Intl extension Failed Internationalization support PHP Intl extension 1.0.2 or higher is required when you want to use advanced parameters formatting in Yii::t(), non-latin languages with Inflector::slug(), IDN-feature of EmailValidator or UrlValidator or the yii\i18n\Formatter class.
    – ICU version Failed Internationalization support ICU 49.0 or higher is required when you want to use # placeholder in plural rules (for example, plural in Formatter::asRelativeTime()) in the yii\i18n\Formatter class. Your current ICU version is (ICU is missing).
    – ICU Data version Failed Internationalization support ICU Data 49.1 or higher is required when you want to use # placeholder in plural rules (for example, plural in Formatter::asRelativeTime()) in the yii\i18n\Formatter class. Your current ICU Data version is (ICU Data is missing).

    1. Việt Phương Moderator

      Source Yii của bạn yêu cầu PHP Intl và ICU phiên bản cao hơn bản đang có. Bạn đọc lại xem source yêu cầu những gì thì cài đặt theo nhé
      Your current ICU version is (ICU is missing).
      PHP Intl extension 1.0.2 or higher is required

      1. Tuan 2 comment

        Chào bác @Việt Phương
        cảm ơn bác đã hỗ trợ
        bác cho e xin dòng lệnh cài 2 cái đó với ạ , e mới chuyển từ cpanel sang thấy bỡ ngỡ quá ạ
        e xin chân thành cảm ơn

        1. Việt Phương Moderator

          Bạn cài PHP phiên bản gì?
          Và bạn cài vào domain gì? Mình cần kiểm tra link domain/requirements.php

  9. Tiến Dũng 9 comment

    Các bác cho e hỏi, em dùng hocvps trên vultr đã lâu (gói 2.5 và 5$), mà thú thiệt chưa bao giờ import được demo của theme wordpress (bản quyền).
    Chạy được 10%, 20% là đơ luôn.
    Bác nào biết chỉ giúp em ạ. Em xin đội ơn!

  10. Nghia 15 comment

    Ad ơi cho mình hỏi, mấy trang web của mình lúc mới cái theo dạng này trên 1 server chạy binh thường sau gần 1 tháng thì chạy rất chậm và báo lỗi
    Lỗi 504 Gateway Timeout
    mình muốn kiểm tra log mysql hay log web nhưng khong ranh lắm, nhờ ad tư vấn giúp

    Cảm ơn

    1. Việt Phương Moderator

      Bạn kiểm tra log trong /home/domain_chính/logs nhé. Quan tâm đến log của Nginx và PHP-FPM, các log error của 2 service này
      Lỗi 504 nhiều vấn đề nên cũng k có cách fix cụ thể mà tùy vào từng trường hợp

    1. Việt Phương Moderator

      HocVPS dùng Nginx làm webserver. Nếu bạn muốn cài thêm Apache thì nên tự cài đặt hoàn toàn tránh xung đột hoặc sử dụng VestacCP, cũng là mô hình Nginx+Apache

  11. Việt Anh 4 comment

    Phương ơi chuyển giúp mình dữ liệu sang vps mới được không ? Mình chuyển nhưng nó bị lỗi 🙁

    1. Việt Phương Moderator

      1. Bạn đã chuyển như thế nào?
      2. Và bạn gặp lỗi thông báo như thế nào?
      3. Các service nginx và mysql hoạt động trạng thái như thế nào?

        1. Việt Phương Moderator

          Bạn cứ mô tả lỗi cùng vấn đề mình đang hỏi đi. Còn hiện tại mình không support qua teamview được. Bạn có thể gửi mô tả lỗi qua support@hocvps.com nếu cần.

  12. Thang ngo Nguyen 27 comment

    Hocvps đang bị lỗi chức năng nén thư mục trên file manager thì ngoài Filezilla download rất lâu thì còn cách nào nén toàn bộ thư mục public_html trên vps ko bạn nhỉ?

    1. Việt Phương Moderator

      Hiện tại HocVPS chưa hỗ trợ VPS không sử dụng IPv4 nên không cài được trên loại 2.5$ của Vultr nhé bạn