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

  1. phong 3 comment

    Mình cài xong hocvps ccript
    Up code theo hướng dẫn
    Nhưng gặp phải lỗi: “Whoops, looks like something went wrong.”
    mã nguồn laravel

    cái này fix được ko vậy bạn
    Xin cảm ơn

    1. Việt Phương Moderator

      Bạn theo hướng dẫn nào? Chạy lệnh check php artisan kết quả như thế?

      1. phong 3 comment

        Theo file hướng dẫn có trong code:

        1. After Unziping the package, copy all files inside the ‘upload’ directory to your server.
        2. In the browser navigate to your domain, ex: http://mydomain.com, you will be redirected automatically to the installation page, or directly navigate to http://mydomain.com/install

        code CMS chứ không phải laravel

        Mình cài đặt xam trên pc của mình, chạy thử thì bình thường, nhưng khi up code len hocvps script thì hiện lỗi như vậy,

        có cài thử wordpress thì chạy bình thường…
        còn cài code trên thì không được “Whoops, looks like something went wrong.”

        mình cũng không biết tại sao…

        1. Việt Phương Moderator

          Bạn kiểm tra php-fpm error log xem. Mọi vấn đề có ở ở khác biệt về PHP(ví dụ chỉ chạy đc PHP 5.6), rồi thiếu package hoặc php extension gì đó. Chứ 1 câu “Whoops, looks like something went wrong.” không phán định được điều gì
          Và như bạn mô tả thì đâu phải Laravel, CMS thì tức là mã nguồn riêng, tự code chứ gì?

  2. Cường 13 comment

    ad cho em hỏi, sao em cài xong rồi, thì không đăng nhập được vào SSH ạ

        1. Việt Phương Moderator

          Uhm, nếu VPS bạn GG thì bạn mở luôn cả HocVPS Port nhé (port bạn nhập lúc cài HocVPS)

  3. Hanh Pham 39 comment

    Trước mình xài hocvps cài php 5.6
    Giờ mình cái hocvps php 7.1.
    Mình backup website wordpress từ vps chạy php 5.6 sang 7.1 thì bị báo lỗi như này:
    “xxxxxx is currently unable to handle this request.
    HTTP ERROR 500”
    Cách khắc phục lỗi này thế nào hả Luân?

    1. Việt Phương Moderator

      Có thể code không tương thích với PHP7.1 Bạn xem php-fpm error log. Nếu bạn không upgrade được code thì quay về sử dụng PHP5.6

  4. Hung 7 comment

    Xin chào,

    Mình có một vấn đề về bảo mật. Mình có 1 folder nằm trong thư mục gốc wordpress, trong đó chứa một số file .php . Vấn đề là mình muốn cấm người dùng có thể download được những file đó về PC. Làm sao để setup được khi người dùng thực hiện download (bằng cách copy link vào IDM chẳng hạn) thì server báo lỗi 403 (Mình thường thấy báo lỗi này, nhưng không biết setup thế nào)?

    Cám ơn bạn!

      1. Hung 7 comment

        Thanks bác. Mình lại có 1 vấn đề khác. Mình đang dùng CSF Firewall. Làm cách nào chặn tấn cống DDOS. Tụi nó dung rất nhiều IP gửi 1 request nên không thể nào bắt được IP. Mình đã giảm số lượng request trong 1s. Nhưng vẫn không ăn thua. Không biết được đâu là khách đâu la att. dẫn đến RAM VPS bị tràn vì hàng đợi quá nhiều.

        Mình đang tạm khóa port 80. Có nghĩ là không ai vào web được.

          1. Hung 7 comment

            Sau 2 ngày 2 đêm cuối cùng mình cũng làm đối thủ nản lòng. Cám ơn Việt Phương nhiều. Mình chặn tren CSF luôn. Ngay lập tức setup Cloudflare cho web rồi. 🙂

    1. Việt Phương Moderator

      1. Bạn có cài SSL hay sử dụng CDN của Cloudfare không?
      2. Bạn có truy cập được qua domain:2017 không?

      1. Minh Hưng 11 comment

        trước kia có cài ssl nhưng gỡ ngay sau đó( cách đây 2 tháng r ) . nhưng sau đó vẫn truy cập bình thường . đến giờ thì ko truy cập dc . .

        1. Việt Phương Moderator

          Bạn cho mình Nginx Conf của toàn bộ các domain của bạn đồng thời với trả lời câu hỏi 2, và có dùng đám mây vàng bên Cloudfare không?

  5. Dungz 119 comment

    Cho mình hỏi 1 chút . Làm sao có thể move toàn bộ file của thư mục home nằm trong vps a sang thư mục home nằm trong vps b nhỉ
    Cùng dùng chung 1 nhà cung cấp sever . Liệu move sang có nhanh hơn là upload trực tiếp ko . Cám ơn ạ

    1. Việt Phương Moderator

      Một số nhà cung cấp cho phép thì bạn có thể kết nối giữa 2 VPS cùng 1 nhà cung cấp và cùng 1 location như trong 1 mạng LAN, tốc độ sẽ nhanh hơn. Còn không, tốc độ sẽ như kết nối 2 VPS theo cách thông thường. Transfer từ 2 bên, bên này down từ bên kia. Bạn có thể dùng rsync, scp có sẵn trong CentOS hoặc rclone
      rsync -avz -e "ssh -p xxxx" /a root@xxx.xxx.xxx.xxx/b/

  6. dũng 119 comment

    1 câu hỏi ngoài lề 1 tí ạ
    Cho hỏi làm sao để cmod các file trong mục mà ko bị tác động nào kiểu như bị chèn code lạ vào file php , hoặc tự dựng thêm 1 file lạ vào thư mục ấy ạ

    Có cách nào mà ko cho phép hiện tượng gì sảy ra dcko ạ

    1. Việt Phương Moderator

      Chmod mặc định đã đảm bảo các file chỉ bị chỉnh sửa bởi webserver Nginx rồi bạn, trừ phi bạn sửa thôi. Còn attacker tấn công thì họ chiếm được quyền từ website là ghi được thôi, không có cách nào bên chmod

  7. Trần Tú 3 comment

    Centos 7 (google cloud) , sau khi dùng script thì bị đổi ssh sang cổng 2222, sau đó không vào lại đc ssh luôn 🙁

    1. Trần Tú 3 comment

      hình như đổi port ssh sang 2222 nhưng port đó chưa được mở 🙁

      Vì thế nên không vào ssh được nữa.

      1. Việt Phương Moderator

        Bạn mở port thủ công trong Network nhé, vì GG có tường lửa riêng ỏ bên ngoài

      2. Trần Tú 3 comment

        ok bạn. mình mở được rồi nhé.
        Nhưng vì sao centos 7 người ta đang chuyển sang dung firewallID. Sao script lại cố tình disable rồi bật lại iptables.

  8. Chickenit 5 comment

    Cho e hỏi tí là e cài xong vps mọi thứ hoạt động ok. Nhưng e đăng nhập ssh bằng port 2222 thì nó báo lỗi kết nối như hình: https://prnt.sc/h61b69. Mong a giúp e với. e cảm ơn ạ.

        1. Việt Phương Moderator

          Tài khoản VPS là root chứ bạn? Hay bạn tự tạo tài khoản admin thêm rồi?

          1. Chickenit 5 comment

            Lúc mới thuê vps thì tài khoản là root. Sau khi e cài hocvps script thì e thấy file log báo các tool dùng tài khoản đăng nhập là admin và mật khẩu tự sinh sau khi cài, và đổi cổng sang 2222. Nên e đổi cổng sang 2222 và lấy tk là admin và mật khẩu tự sinh đó. Nhưng đăng nhập vào ssh lại không được.

          2. Việt Phương Moderator

            Đăng nhập VPS vẫn tài khoản root nhé. Các tool HocVPS mới dùng tk admin

          3. Chickenit 5 comment

            Tài khoản vẫn là root còn mật khẩu là mật khẩu mới tự sinh đó hả a?

          4. Việt Phương Moderator

            Mật khẩu trước đó như thế nào thì vẫn như thế nhé bạn

          5. Chickenit 5 comment

            Thế là chỉ đổi mỗi cổng port thôi hả a. Nếu vậy thì e hiểu rồi. E cảm ơn ạ!

  9. sinhle 54 comment

    Mọi người cho mình hỏi tí với.
    Mình đang chạy 1VPs 10$ Vutrl. với 10 web gồm xenforo và wordpress! Dạo này thấy truy cập mấy trang wordpress load chậm ( xenforo thì bình thường ).
    Mình đang tính tách ra. Mua 2 VPS 5$ để chia sẽ những trang ưu tiên thì chạy 1 vps, trang không cần thiết chạy 1 vps. Không biết nếu làm theo cách này. Tốc độ web có cải thiện không?
    cảm ơn.

  10. khanh 2 comment

    Mình lỡ xóa thư mục public. bay giờ làm sao để phục hồi bạn ơi. Trong centos 7 nó có thùng rác không

  11. Dung 30 comment

    Sao mình dùng hàm chmod không được nhỉ. Hàm này có bị chặn không bác. Nếu bị thì check ở đâu vậy

    1. Việt Phương Moderator

      Bạn dùng ntn ? Chứ hàm chmod không có chặn. Bạn dùng trên user root chứ?

          1. Việt Phương Moderator

            1. Hiển thị thông báo lỗi gì bạn
            2. File PHP thuộc user/group gì
            3. File được chmod thuộc user/group gì

  12. fususu 35 comment

    Đề xuất hocvps làm một bản English version đi, có gì mình giới thiệu cho mấy bác nước ngoài dùng luôn 🙂

    1. Việt Phương Moderator

      Tiếng anh thì đơn giản vì HocVPs có mỗi menu cần translate thôi. Chủ yếu là support, như loạt bài HTTPS, HTTP2, SSL… Nên hiện tại bên mình tập trung support cộng đồng người dùng Việt hơn. Bên cạnh đó, tiếng Anh thì cũng có các hệ quản trị khá nổi tiếng và nhiều người dùng như CentMinMod, Easy Engine

  13. TINKA 44 comment

    AD cho hoi tý, mình để ý hình như cấu hình file my.cnf server nào cũng giống nhau hả.
    tất cả hình như chỉ có 1 cấu hình, dù vps đó nhìu ram hay cpu phải hok ad

    1. Việt Phương Moderator

      Khác nhau bạn nhé, nhưng theo giá trị tương đối chứ không phải tuyệt đối: Min – 512 – 1024 – 2048….

  14. NAM 21 comment

    Hi admin,

    Mỗi lần mình trỏ DNS của Domain mới về ip của VPS VUltr thì mặc định nó sẽ tự redirect tới website chính của VPS đó. Và muốn cài đặt website riêng cho domain này thì thêm vào vps và upload code lên cài đặt bình thường.

    Nhưng ko hiểu sao lần này mình upload code lên cho domain mới – gõ domain mới nó ko ra trang cài đặt wordpress mà vẫn redirect về website chính.

    Và mình thử xóa domain này đi thêm lại ko dc luôn dù liệt kê có domain đó
    Admin xem hình ảnh để dễ hiểu: https://i.imgur.com/7H9Bmw2.png

    1. Việt Phương Moderator

      Bạn kiểm tra còn thư mục dienminhmekong.vn ở ngoài /home không thì xóa đi. Và có thể nginx bạn đang lỗi, bạn kiểm tra nginx -t

  15. Tố 8 comment

    à. mình làm dc rồi! nhưng up file gì lên public_html cứ báo
    Error(s)
    codeweb.zip : File upload failed.
    là sao nhỉ?

    1. Việt Phương Moderator

      Bạn upload dùng sFTP như Bitvise hay FileZilla ý. Dung lượng nặng quá up qua web không chuẩn đâu

  16. Tố 8 comment

    chào admin! Mình cài xong không biết vào filemanger = tk mk nào! vào = tk mk admin server cứ báo failed !

    1. Việt Phương Moderator

      Extplorer à bạn? Tài khoản admin mà. Bạn đăng nhập được HocVPS Admin chứ? Phần domain:port

  17. Duck 23 comment

    Mình thấy phần giới thiệu có ghi là
    “HocVPS Script sẽ tự động cài đặt: Webserver Nginx bản mới nhất.”
    Mình vừa cài đặt xong, thử ‘nginx -V thì nó ra bản 1.12.2, trong khi mình lên http://nginx.org/download/ thì thấy có bản 1.13.6 rồi.
    Có cách nào để cập nhật lên 1.13.6 không ta?

    1. Việt Phương Moderator

      HocVPS cài Nginx theo thư viện Repo, dùng Stable Version. Và nó là bản mới nhất rồi http://nginx.org/en/download.html
      2017-10-17 nginx-1.12.2 stable version has been released.
      2017-10-10 nginx-1.13.6 mainline version has been released.
      Bạn nếu muốn dùng 1.13.6 thì tải về và compile lại cùng các module gốc ban đầu (đã cài với bản Nginx trong VPS)

  18. Long 1 comment

    Cám ơn hocvps! Scripts rất hữu ích. Cho mình hỏi script này có thể cấu hình để chạy ở local được ko. Dùng máy ảo centos (Virtual Box)

  19. Phong Vu 22 comment

    Chào Luân !
    Mình có cài hocvps. Website hoạt động bình thường nhưng gặp 1 vấn đề là khi vào phpmyadmin thì trang này không load được và báo lỗi This site can’t be reached
    Bạn chỉ giúp mình nhé
    Cảm ơn bạn !

    1. Việt Phương Moderator

      1. Mỗi PHPMyAdmin hay toàn bộ tool của HocVPS
      2. Website hoạt động bthg tức PHP-FPM vẫn chạy chứ bạn?
      3. Bạn có dùng những gì trong hệ thống? Ví dụ cache gì không

      1. Phong Vu 22 comment

        Mỗi PHPMyAdmin là không load được link đăng nhập vào thôi bạn ạ. Website vẫn hoạt động bình thường
        Mình chỉ cài Hocvps
        Làm thế nào để ktra PHP-FPM đó vậy bạn ?
        Vì mình chỉ biết các Website hoạt động bình thường, nay mới vào phpmyadmin để sửa cái pass user nhưng không load được. Trước khi cài xong mình có import dữ liệu bằng lệnh nên cũng không vào phpmyadmin nên không biết nó lỗi bạn

        1. Việt Phương Moderator

          1. Nếu website bạn hoạt động bình thường tức PHP-FPM bình thường
          2. Các tool khác của HocVPs thì sao? Extplorer? OPcache? Và bạn vào PHPMyADmin thông báo gì
          3. Câu hỏi 3 ở trên bạn trả lời đi

          1. Phong Vu 22 comment

            Các tools khác của hocvps mình vào cũng không được như: filemanager, Serverinfo, …
            Câu hỏi 3: Mình không dùng gì trong hệ thống.
            Vào phpmyadmin không được, cũng như các dịch vụ khác của hocvps nó đều lỗi này:
            This site can’t be reached
            www.***.net took too long to respond.
            Cảm ơn bạn !

          2. Việt Phương Moderator

            Bạn mô tả như cmt1 mình lại hiểu là chỉ PHPMyAdmin. Thế bạn cung cấp mình Nginx Conf của domain chính cài HocVPS nhé. Paste qua https://pastebin.com/ cho gọn

    1. Việt Phương Moderator

      Cpanel/WHMCS thì bạn cài trên VPS trắng chứ đâu thể cài trên VPS đã cài HocVPS

      1. Web5c 7 comment

        Cài trên các control vesta cp, cwp, cpnel, direct admin thì chạy tốt mà bạn. Trên hocvps k hiểu sao k chạy dc

  20. Thịnh 1 comment

    Sau khi e cài script này xong thì bị lỗi không thể truy cập và SSH được nữa. Lỗi này xử lý sao ạ?

  21. Cuong 1 comment

    Anh ơi, nếu em lưu 1 file trên vps, 1 file đó nặng 700mb, và 1 ngày có 100 người download là 70gb băng thông 1 ngày, 1 tháng 2100gb băng thông. Em mua vps Vultr 20$/tháng 2CPU 4GB RAM 3000gb băng thông và cài hocvps scripts là đủ đúng không anh

    Có sợ chiếm băng thông quá, hoặc file nặng quá nên vps ko cho down xuống ko anh, hầu như phpmyadmin em ko động đến nên ko sợ query nhiều quá làm quá tải

    Em cảm ơn anh ạ

    1. Việt Phương Moderator

      Vấn đề file nặng quá thì ko cần lo nhé, down được. Còn vấn đề băng thông thì theo lý thuyết là bạn ok còn case trực tiếp thì tùy, bạn tự test thôi. Và bạn nên search GG để hiểu rõ sự khác biệt giữa băng thông và bandwidth/data transfer. Hiện các nhà cung cấp VN hay làm nhầm khái niệm này.

  22. Andy 32 comment

    Chào Admin!

    Gần đây mình có 1 vấn đề trong VPS hocvps-script. Không hiểu sao hình ảnh không thay đổi khi upload 1 hình ảnh cùng tên đè lên hình ảnh củ. Nó cứ hiện hình ảnh củ và save về vẫn là hình ảnh củ. Có phải nó bị cache trên sever không ?

    Xin admin chỉ giúp

    Cám ơn Admin!

  23. Thuận 6 comment

    chỉ tạo được 1 user hả admin? ví dụ mỗi domain sẽ có 1 user quản lý riêng, ftp riêng, Admin là trùm nhất thấy tài nguyên của tất cả user còn lại.

    1. Việt Phương Moderator

      Hiện tại HocVPS không thiết lập thế bạn à. Tất cả chung 1 user. Bạn muốn user FTP riêng từng thư mục thì dùng ProFTPD

  24. fususu 35 comment

    Mình dùng Hocvps scrip mới nhất, file access.log của mình lên tận 400mb rồi, có cách nào giảm tải nó không????

      1. Fususu 35 comment

        Đúng centos 7 rồi song mình muốn tự mày mò vì đang quản mấy cái vps liền dùng hocvps scrpt và đều bị như thế, bạn chỉ mình file cần kiểm tra chỗ nào dc ko? Hình như cấu trúc file khi dùng hocvps có khác đi so với nhiều cái mình search mạng thì phải ^^!

        1. Việt Phương Moderator

          Nó sẽ liên quan đến các vấn đề trong bài viết này nhé cậu. Kiểm tra toàn bộ từ thư mục /etc/logrotate.d cũng như service Logrotate

  25. TINKA 44 comment

    AD giups với. cài hocvps xong rùi,những vào bằng 128.199.129.26:8186
    user:admin pass: 0e186d2aacd3037e2 . bị lỗi gì hok vào được
    bạn xem hướng dẫn sữa giúp

    1. Việt Phương Moderator

      Port 8186 bị đóng. VPS DO nên không có tường lửa ngoài nên chỉ có bên trong VPS thôi. Bạn cho mình kết quả của iptables -L -n
      Và bạn có động gì đến Fail2Ban hay CSF/Iptables không

    2. tung 3 comment

      hix giống bạn cài centos 7 không thấy j thử sang centos 6 thì fail Nginx.cài thử sang vpssim thì bình thường.mong ad fix hộ với

      1. Việt Phương Moderator

        nginx -t bạn thông báo gì? nếu VPS bạn mới tinh lỗi từ lúc cài dặt thì bạn nên reinstall lại

        1. tung 3 comment

          cài sentos 7 thì ko hiện lỗi nhưng cài sentos 6 đến đoạn hoàn thành nó hiện lỗi này
          Starting fail2ban: ERROR No file(s) found for glob /home/bokinhvan.club/logs/nginx_error.log
          ERROR Failed during configuration: Have not found any log file for nginx-http-auth jail
          [FAILED]
          mình cài là vps trắng hết

          1. tung 3 comment

            [root@site1 home]# nginx -t
            nginx: [emerg] host not found in “tungbo” of the “listen” directive in /etc/nginx/conf.d/bokinhvan.club.conf:98
            nginx: configuration file /etc/nginx/nginx.conf test failed
            cài đi cài lại mấy hôm nay đều vậy

  26. phuha 13 comment

    Mình đang chạy 1 site wordpress, giờ mướn tạo thêm 1 site nữa với domain khác thì phải làm sao bạn?

    1. Việt Phương Moderator

      Bạn dùng hocvps menu để tạo domain vs database rồi upload source code lên thư mục website và sử dụng như bt nhé

    1. Việt Phương Moderator

      Các module hay plugin chuyên biệt thì bạn cài đặt thêm nhé. Trong trường hợp này bạn cần cài đặt thêm PHP-SOAP
      yum install php-soap

    1. Việt Phương Moderator

      Bạn bật show directory trong cấu hình Nginx cho thư mục là hiện các file trong thư mục đó để download được nhé.
      Còn bình thường download vẫn bình thường, chỉ cần đặt file trong thư mục web là truy cập được qua domain/tên_file

        1. Việt Phương Moderator

          Bạn muốn show ở thư mục public_html thì chỉ cần thêm autoindex on;, bỏ hết các phần trong 3 dòng trên. Và webserver sẽ ưu tiên đọc file index trước nên xóa file index trong thư mục đi

  27. Khánh 4 comment

    Mình sử dụng cloud server của google. Sau khi cài Hoc Vps vào thì load key SSH không được nữa. login port 22 khong cho là chắc rồi port 2222 cũng không luôn

    1. Việt Phương Moderator

      Bạn mở port truy cập 2222 trong quản lý Network của GG nhé, cả port HocVPs Admin luôn

      1. Khanh 4 comment

        Khi cài hoc vps vào thì mặc định chuyển port 2222 rồi. Mình đã thêm port 2222 trong phần như bạn nói tren cloud google nhưng vẫn ko vào được.

          1. Việt Phương Moderator

            Bạn dùng Putty thì bạn điền port 2222 chứ?
            Và đăng nhập trên Web thì bạn dùng dòng nào?

        1. Việt Phương Moderator

          Chụp ảnh phần Network trong GG của bạn cho mình. Và bạn đăng nhập dùng web console hay SSH Client?

          1. Khanh 4 comment

            Mình dùng web console thì nó báo update. Dùng ssh client thì đăng nhập được rồi bạn. Cảm ơn bạn nhé

          2. Việt Phương Moderator

            Uhm. Đăng nhập bình thường với port 2222 dùng SSH Keys từ GG? Do có bạn dưới bảo Putty cũng không được nên mình đang không rõ các bạn gặp vấn đề gì

  28. Eric 4 comment

    Chào Việt Phương và Luân,
    mình đang sử dụng hocvps script trên Server và gặp lỗi sau:
    – Mình dùng server để chứa khoảng 300+ website, khi làm đến website thứ 100 thì gặp hiện tượng không thể “Thêm domain” được nữa.
    Chờ mãi, chờ hoài cũng không thấy nó thêm http://prntscr.com/gzvhta

    – Sau đó mình kiểm tra /home thì thấy đã có folder domain rồi. NHƯNG trong /etc/nginx/conf.d
    thì không thấy tạo được http://www.domain.ca.conf
    Nên mình đoán vấn đề nằm ở đây.

    – “Tạo database” thì vẫn được bình thường.

    – Sau đó thì mình gặp thông báo error này:
    Reloading nginx configuration: nginx: [emerg] could not build the server_names_hash, you should increase either server_names_hash_max_size: 512 or server_names_hash_bucket_size: 128

    Mình đã mở file nginx.conf và làm theo, ko thấy thông báo error nữa, NHƯNG vẫn không giải quyết được vấn đề, không “Thêm domain” được.

    Tóm lại là làm đến site thứ 100 thì không thể “Thêm domain” được nữa.

    Phương, Luân giúp mình xử lý lỗi này với!

    1. Việt Phương Moderator

      Cho mình kết quả của câu lệnh này ls /etc/nginx/conf.d/ | wc -c. Giá trị bạn cần sửa sẽ lớn hơn nhiều 512 hay 128 do domain bạn dài. Và mình suggest chỉ nên sửa server_names_hash_max_size

      1. Eric 4 comment

        Cảm ơn Phương đã reply,
        “Và mình suggest chỉ nên sửa” -> mình chỉ thấy cậu viết tới đây thôi???

        đây là kết quả khi chạy lệnh:
        [root@CentOS-69-64-minimal home]# ls /etc/nginx/conf.d/ | wc -c
        5843

        và đây là nội dung nginx.conf của mình:
        user nginx;
        worker_processes 8;
        worker_rlimit_nofile 260000;

        error_log /var/log/nginx/error.log warn;
        pid /var/run/nginx.pid;

        events {
        worker_connections 10240;
        accept_mutex off;
        accept_mutex_delay 200ms;
        use epoll;
        #multi_accept on;
        }

        http {
        include /etc/nginx/mime.types;
        default_type application/octet-stream;

        log_format main ‘$remote_addr – $remote_user [$time_local] “$request” ‘
        ‘$status $body_bytes_sent “$http_referer” ‘
        ‘”$http_user_agent” “$http_x_forwarded_for”‘;

        #Disable IFRAME
        add_header X-Frame-Options SAMEORIGIN;

        #Prevent Cross-site scripting (XSS) attacks
        add_header X-XSS-Protection “1; mode=block”;

        #Prevent MIME-sniffing
        add_header X-Content-Type-Options nosniff;

        access_log off;
        sendfile on;
        tcp_nopush on;
        tcp_nodelay off;
        types_hash_max_size 2048;
        server_tokens off;
        server_names_hash_bucket_size 256;
        server_names_hash_max_size 16384;
        client_max_body_size 0;
        client_body_buffer_size 256k;
        client_body_in_file_only off;
        client_body_timeout 60s;
        client_header_buffer_size 256k;
        client_header_timeout 20s;
        large_client_header_buffers 8 256k;
        keepalive_timeout 10;
        keepalive_disable msie6;
        reset_timedout_connection on;
        send_timeout 60s;

        gzip on;
        gzip_static on;
        gzip_disable “msie6”;
        gzip_vary on;
        gzip_proxied any;
        gzip_comp_level 6;
        gzip_buffers 16 8k;
        gzip_http_version 1.1;
        gzip_types text/plain text/css application/json text/javascript application/javascript text/xml application/xml application/xml+rss;

        include /etc/nginx/conf.d/*.conf;
        }

        vì mình làm theo hướng dẫn ở đây: easyengine.io/tutorials/nginx/optimization/

        1. Việt Phương Moderator

          Của bạn nhiều domain và domain dài nên cần thành 8192 nhé. Đếm hiện tại của bạn là 5843 rồi, 512 không đủ đâu. Bạn sửa server_names_hash_max_size thôi nhé. Và bạn sửa xong lưu lại và restart lại Nginx
          Theo mình thấy thì bạn đã sửa thành 16384 nên bạn chỉ cần restart/reload lại Nginx

          1. Eric 4 comment

            Mình đã làm theo hướng dẫn của Phương, nhưng vẫn không được 🙁 vẫn là chờ tới 30′ sau nó mới tạo được Vhost

            1) hay hocvps script ko hỗ trợ Server có quá nhiều Website (mình có >300 domain cần thêm vào)

            2) Nếu không sử dụng hocvps script, mình dùng các lệnh Linux thông thường để thêm domain, add Vhost, tạo database được không nhỉ?

            3) Nếu 2) mà không được, chắc mình sẽ đổi qua vpssim dùng. Theo kinh nghiệm của Phương, vpssim có chịu nổi 300+ domain không?

            cảm ơn Phương nhé.

          2. Việt Phương Moderator

            1. HocVPS dùng cấu hình mặc định thôi, tức không chặn gì quá nhiều domain. Hiện server_names_hash_bucket_size và server_names_hash_max_size giá trị bao nhiêu?
            Khi bạn add domain nó báo gì (sau khi đã sửa). Bởi có thể vấn đề server_names đã được fix xong, bạn đang cố add 1 domain đã tồn tại thư mục trên hệ thống (nhưng chưa có Vhost do lúc đó Nginx chặn). Nếu thế bạn xóa thư mục thủ công rồi add lại
            2. Được. Menu 2 là thêm Vhost với thư mục domain thôi mà. Database không liên quan ở đây
            3. VPSSIM thì mình không rõ. Bạn cài thử xem 2 thông số đó như thế nào trên Nginx Conf.

  29. Quang Huy Tran 26 comment

    Không biết script này dùng được cho Red Hat Enterprise Linux không ạ? Lượn lờ mấy forum nước ngoài thì họ hướng dẫn cài nginx, apache, php cho CentOS đều dùng đc cho Red Hat Enterprise Linux 😀

    1. Quang Huy Tran 26 comment

      À em đã cài ngon lành rồi. Nhưng đến lúc truy cập ip:port, nhập user pass đăng nhập thì bị 502 bad gateway nginx làm sao để fix ạ 🙁

      1. Việt Phương Moderator

        Trước mình test thì hoạt động không trơn tru đâu, do vấn đề của EPEL. Bạn kiểm tra lại nginx, php-fpm service xem

  30. kieuqtoan 27 comment

    Chào bạn!

    Mình đang gặp tình trạng, khi thêm subdomain (VD: t.oskgold.com) thì bản có www không truy cập được (bản non-www thì vẫn OK)
    Việc này khiến mình không thể cài đặt SSL, nó báo
    The server could not resolve a domain name :: No valid IP addresses found for http://www.t.oskgold.com

    Với domain gốc thì vẫn cài bình thường, chỉ có sub domain là bị lỗi.

    1. Việt Phương Moderator

      Bạn thêm bản ghi * trỏ về ip VPs chưa? Mà hình như Cloudfare không chấp nhận wildcard * subdomain. Bạn phải thêm thủ công

      1. kieuqtoan 27 comment

        Mình đã thêm các bản ghi bản ghi:
        A * trỏ về IP
        A www trỏ về IP
        A subdomain trỏ về IP
        Không hiểu sao không được.

        Failed authorization procedure. http://www.damcuoi.kieuqtoan.com (tls-sni-01): urn:acme:error:unknownHost :: The server could not resolve a domain name :: No valid IP addresses found for http://www.damcuoi.kieuqtoan.com

        IMPORTANT NOTES:
        – The following errors were reported by the server:

        Domain: http://www.damcuoi.kieuqtoan.com
        Type: unknownHost
        Detail: No valid IP addresses found for http://www.damcuoi.kieuqtoan.com

        To fix these errors, please make sure that your domain name was
        entered correctly and the DNS A/AAAA record(s) for that domain
        contain(s) the right IP address.

        1. Việt Phương Moderator

          Bạn thêm record www.damcuoi nhé. Và mình vừa đọc lại hình như CF chấp nhận wildcard *, chỉ là wildcard thì không dùng CDN được

  31. hoàng 21 comment

    có cách nào crack phần mềm ZOC Terminal không bác chứ cài nó lên vps toàn bị dính 120s chờ sau 1 thời gian à 🙁

    1. Việt Phương Moderator

      Không. Bạn dùng các phần mềm miễn phí khác nếu không muốn mua bản quyền nhé, Bitvise, MobaXterm…

  32. Minh Hoàng 3 comment

    Ad ơi, em mới tiếp xúc với VPS lần đầu nên chưa biết nhiều. Ad có thể hướng dẫn cho em chi tiết cách làm sao đăng nhập bằng port 2222 được không? Sau khi em cài xong hocvps thi kết nối với ssh bằng port 2222 không được, chỉ kết nối bằng cổng 22 được thôi ạ. Em cũng đã tham khảo mở port trong Iptables cũng vẫn không được ạ.

        1. Việt Phương Moderator

          Bạn xem nhà cung cấp A2hosting có thiết lập tường lửa/network riêng thì kiểm tra lại. Giống GG thì ngoài thiết lập trong VPS thì ngoài GG cũng có firewalls riêng nên phải mở thủ công
          Còn port 22 thì HocVPS đã đóng rồi, chỉ mở port 2222
          http://ping.eu/port-chk/
          Bên cạnh đó, nếu bạn dùng mạng công ty thì có thể nhiều công ty chặn truy cập các port lạ, tức các port ngoài 22 80 443 thì bạn sẽ không thể truy cập

          1. Minh Hoàng 3 comment

            Ad ơi cho em hỏi, em vừa mới reinstall vps. Port hiện tại là 7822, em có cần phải đổi về port 22 rồi mới cài hocvps không? hay là em cài luôn ạ?

          2. Việt Phương Moderator

            Mình nghĩ là không cần thiết đâu. Nhưng nếu 7822 như thế thì có thể nhà cung cấp có thiết lập tường lửa riêng, ngoài bên trong VPS

  33. dũng 119 comment

    xin chào. cho mình hỏi mình cài hocvps nhưng tại sao 1 số nơi lại ko vào được website nhỉ. mình đặt sever ở linode . 1 số công ty họ chặn cổng gì đó, vậy mình phải làm soa để nơi nào cũng vào dc nhỉ .. cám ơn akj

    1. Việt Phương Moderator

      ý bạn là domain(website bình thường) hay domain port(website phần HocVPS Admin)? Nếu domain port thì nhiều công ty chặn truy cập qua các port lạ nhé, ví dụ sẽ chỉ 80(port HTTP vào web thông thường), 443…

        1. Việt Phương Moderator

          Thế thì mình hiện không có ý tưởng gì thêm khi chỗ công ty không vào được chỗ khác lại vào được. Có thể họ chặn truy cập tất cả các website ngoài hoặc do đường truyền…

          1. dũng 119 comment

            ko phải bác ạ. Em dùng 4 con vps ở lindo ,
            có 2 con vps em bảo khách hàng truy cập 2 website ở 2 con vps kia thì họ vào được

            Và 2 con vps còn lại e cũng bảo khách hàng họ truy cập nhưng ko được . hình như là mình phải mở cổng gì đó ấy bác

          2. Việt Phương Moderator

            Oh. Vậy bạn mô tả như thế sao mình hiểu. Mình hiểu là 1 số nơi không vào được, tức nơi khác vào được. Nếu thế hiểu đơn giản là có 2 con VPS không truy cập được hiển thị qua cổng HTTP. Vậy bạn kiểm tra nginx và php-fpm

          3. dũng 119 comment

            tức là như này bác này. Mạng bình thường vẫn vẫn vào bình thường, nhưng ở chỗ công ty ông khách thì lại ko vào được cái website đấy . website mà cài hocvps ấy bác .

            Vì e đưa khách đang truy cập ở ip công ty ông ấy cũng 1 con website cài hocvps và họ lại vào được. thế mới lạ ..

            Cho nên e muốn hỏi có câu lệnh nào mở cổng port gì đó ko ấy bác .

          4. Việt Phương Moderator

            Port thì bạn kiểm tra iptables nhưng mình nghĩ vấn đề không phải như thế
            https://hocvps.com/iptables/
            Vì ở đây mạng bthg vẫn vào đc, tức cái port 80 HTTP k bị chặn

          5. dũng 119 comment

            Nhưng mà lạ thật, cùng 1 nhà cung cấp, cùng 1 hệ quản trị vps
            mà 1 con khách lại vào dc website , 1 con khách lại ko vào được. vậy nó phải chặn 1 cái gì đó chứ bác nhỉ 🙁

          6. Việt Phương Moderator

            Fai2Ban trong thiết lập HocVPS chỉ giới hạn truy cập SSH/HocVPs Admin, không liên quan đến website thông thường.
            Hiện tại khách không thể vào website B trên VPS B, chỉ vào được website A trên VPS A ? Và nơi khác vẫn truy cập bình thường cả 2 website AB?
            1. Bạn thử tạo 1 website C trên VPS B test xem khách hàng truy cập được không?
            2. Khách hàng truy cập đc SSH VPS B không?
            3. Việc không truy cập đc website B hiển thị thông báo ntn