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. Hoi 3 comment

    Sau khi cài hocvps xong vào các trang quản lí ip:port, đăng nhập xong toàn lỗi 502 bad gateway thì khắc phục thế nào ạ?

    1. Việt Phương Moderator

      Bạn kiểm tra php-fpm có hoạt động không? service php-fpm status?

  2. Kiet 8 comment

    Mình có CODE của WP và database

    Mình tạo database trong hocvps, add domain.

    Vào File Manager upload code & unzip

    Vào phpadmin, import database vào database đã tạo bằng hocvps

    Nhưng khi kết nối thì bị fail @_@??

    1. Nam 21 comment

      – Bạn cần kiểm tra lại mấy cái này thử:
      + file config.php xem database_name, user, và password đã trùng khớp với file SQL chưa ?
      + vào phpmyadmin mở wp-option xem đã sửa lại 2 đường link domain chưa ?
      + Nếu bạn cài Hocvps stripst thì upload dữ liệu đúng lên /home/domain.com/public_html/ chưa ?

      1. Việt Phương Moderator

        Ít khi bị nhưng bạn chạy cả hocvps menu 14 Phân Quyền Webserver nhé

  3. Nam 21 comment

    Admin ơi cho mình hỏi cái này với !

    khi mình sử dụng Filezilla để kết nối thì file manager show hết những thư mục: root, etc, bin, boot, ….
    còn trên eXplorer thì chỉ hiện thị ra các thư mục khi add tên miền mới vào ? Vậy làm cách nào để trên eXplorer hiện dc hết những file này vậy admin ?

    Mình nghĩ những bạn chưa kết nối sFTP sẽ có cùng băn khoăn thắc mắc này vì vào eXplorer đều ko thấy các file này ???

    Thanks admin

    1. Luân Trần Admin

      FileZilla dùng tài khoản root có quyền cao nhất nên có thể nhìn và chỉnh sửa được toàn bộ file hệ thống.
      Còn eXplorer chỉ là code PHP, chạy dưới quyền webserver Nginx nên không thể can thiệp được vào những file hệ thống.

      1. Nam 21 comment

        bác Luân ơi tiện cho mình hỏi luôn cái !

        Trước mình có tạo gói VPS để test và cài đặt chạy website okie rồi (Nhưng một số cái cài chưa chính xác lắm ^^)

        Bây giờ mình mới tạo một gói VPS mới trên Vultr để cài lại chính xác hoàn chỉnh HocVPS Script. xong mình sẽ destroy cái cũ đi. ( http://i.imgur.com/ruGv9QT.png )

        Vậy có câu lệnh nào chuyển tất cả dữ liệu web từ thằng cũ đó sang thằng mới này ko bác ???

  4. Hieu 1 comment

    sau khi cài hocvps mình import data cho wordpress thì bị lỗi 502 Bad Gateway (nginx) khắc phục lỗi này như nào b

    1. Luân Trần Admin

      Nếu dữ liệu lớn, không dùng phpMyAdmin để import. Bạn có thể dùng dòng lệnh hoặc BigDump nhé.

  5. Đoàn Thanh Tú 28 comment

    Nếu mình dùng Cloudflare thì làm thế nào để truy nhập domain:2xxx ( mình tạm dùng IP:2xxx)

    1. Luân Trần Admin

      Một là bạn dùng IP, hai là tạo riêng subdomain trỏ đến IP và không kích hoạt đám mây.

  6. Lộc 52 comment

    Mình reinstall bản 2.0.2, sử dụng php 7.1 thì chỉ mở được các port 80 443 3306 2222 và port 2017? đã cài lại 3 lần lun ý

  7. toan 4 comment

    Nhờ Add giúp.!
    Mình dùng script HOCVPS, giờ mình muốn đổi sang tên miền khác để không mất rank web thì làm như thế nào?
    Mình vào 13) Them redirect domain nhưng nó cứ báo là “Hay xoa bo abcxyz.com ra khoi he thong roi thu lai !!!

    1. Việt Phương Moderator

      Ý bạn là truy cập domain A tự động redirect sang domain B?
      Để redirect sang domain khác bạn sử dụng RewriteURL sửa trong cấu hình Nginx của Domain, hoặc bạn dùng Redirect của quản lý DNS Domain cũng được mà
      Còn việc mất rank hay không thì mình không rõ. Vấn đề này không liên quan đến script rồi
      Bạn có thể tham khảo https://canhme.com/kinh-nghiem/thay-doi-ten-mien-giu-nguyen-rank/

      1. toan 4 comment

        Mình đang làm theo bài viết của canhme.com nhưng mà đến chỗ thay đổi “đường dẫn /etc/nginx/conf.d/olddomain.com.conf và chỉnh sửa lại nội dung…”.
        Nhưng mình không biết mở file đó để sửa như thế nào? Ad hướng dẫn mình nhé.

  8. đức 31 comment

    a ơi e cài đến đoạn này là đã thành công chưa ạ’

    Phase 6/6: Running ‘FLUSH PRIVILEGES’
    OK

    Hoan tat qua trinh cau hinh…
    =========================================================================
    Starting fail2ban: ERROR NOK: (‘Failed to change log target’,)
    [ OK ]
    iptables: Saving firewall rules to /etc/sysconfig/iptables:[ OK ]

    tại e thấy cái chỗ ghi fail

      1. đức 31 comment

        a có bài hướng dẫn chuyển dữ liệu từ share host sang vps 1 cách nhanh nhất ko ạ

  9. Nguyễn Long 4 comment

    Chào Luân.
    Mình cài script với tên miền bất kỳ của mình hay phải là tên miền khi đăng ký VPS.
    Mình đã cài xong nhưng không chạy được các lệnh trong menu của HocVPS. Ví dụ khi chọn số 8 thì nó hiện ra như thế này: /bin/hocvps: line 26: /etc/hocvps/menu/tao-database: No such file or directory.
    Cám ơn

    1. Việt Phương Moderator

      Cài HocVPS Script với tên miền nào cũng được bạn nhé. Bạn có cài script trên 1 VPS trắng với quyền root không? Bạn gửi VPS qua support@hocvps.com mình xem cho, chưa thấy ghi nhận lỗi này.

  10. Kim Vàng 4 comment

    Dễ quản lý không vậy mọi người, cũng muốn học cái này để tự dùng cho mình.

  11. Thanh 4 comment

    Script này không an toàn 100% đâu. Site mình bị hack 1 site nhưng từ đó có thể access được tất cả các site còn lại, rất nguy hiểm. Vd site mình nằm trong /home/site1/ nhưng hacker có thể khai thác được hết /home/site2/, /home/site3/ v.v. Do 1 plugin WP của mình có chức năng upload bị lỗi bảo mật chưa vá, hacker tìm thấy và sử dụng lỗi đó để up lên tất cả các site còn lại trong server.

    1. Luân Trần Admin

      An toàn hay không là do người dùng. Bản chất script cực kỳ an toàn, nhưng khi bạn sơ xuất bị hack thì mới dẫn đến tình trạng như vậy.
      Khi sử dụng Shared Hosting, nếu 1 tên miền trong tài khoản của bạn bị hack, toàn bộ website trong tài khoản của bạn cũng sẽ bị ảnh hưởng mà thôi.

      1. Thanh 4 comment

        Không đâu bạn, mình đã thử với 1 server mới, tạo domain /home/site1.com và /home/site2.com. Sau đó mình dùng câu lệnh php từ /home/site1.com/ để ‘cd’ ngược về /home (‘cd ../../’) thì thấy hết /home/site1.com và /home/site2.com với đầy đủ quyền tạo/sửa/xóa file. Vậy chứng tỏ script chưa phân quyền an toàn. Ít nhất cũng phải bỏ quyền ‘read’ của /home/ để không bị quét thấy các folder domain khác trong server.

        Bạn trả lời ‘sơ suất’ như vậy mình không đồng ý hoàn toàn. Đúng là có sơ suất, đôi khi có những lỗi bảo mật mới không phải ai cũng biết, nên trong trường hợp xấu nhất chỉ nên có 1 site bị hack chứ không phải hack dây chuyền do script chưa cấu hình bảo mật ổn định như thế này.

        Còn câu cuối thì sai rồi bạn. Như mình đã nói ở trên, script ít nhất nên bỏ quyền ‘read’ cho /home/ để không bị quét thấy các domain còn lại trên server. Nếu bạn dùng cPanel, 1 tên miền trong tài khoản bị hack, bạn KHÔNG thể thấy các domain còn lại, vì mỗi domain được cài đặt chạy trên 1 shell riêng.

        Thân.

        1. Luân Trần Admin

          Mình không hề trả lời sơ suất gì cả, mọi câu viết ra đều suy nghĩ cẩn thận.
          Nếu không cho php quyền xem domain thì không dùng được File Manager để quản lý file.
          Câu cuối của mình chuẩn, bạn xem lại nhé.

          1. Thanh 4 comment

            Ý mình là ai cũng có thể có sơ suất, nhưng nếu vì sơ suất trên chỉ 1 site mà cả hệ thống bị hack vì thiếu bảo mật cơ bản thì script này không thể là “không thể mắc lỗi bảo mật nào”.

            Với trình độ của người viết ra script này, hoàn toàn có thể phân quyền chroot để chạy site quản lý (domain.com:port_hocvps) với quyền khác, và mỗi domain với quyền chroot khác. Vấn đề file manager sẽ được giải quyết triệt để.

            Cá nhân mình cảm ơn script này đơn giản hóa quá trình setup server rất nhiều, và mình đã phân quyền chroot để bảo mật hệ thống hoàn toàn, sau khi cài script hocvps. Nên mình góp ý cũng để script được hoàn thiện hơn thôi. Bạn không muốn 1 site bị hack và hacker có thể chiếm quyền tất cả các site còn lại trong 1 nốt nhạc vì thiếu bảo mật cơ bản như trên, đúng không?

            Thân.

      1. Thanh 4 comment

        Không đâu bạn. Bạn đọc comment reply Luân Trần của mình phía trên để rõ. Mình vẫn kết luận là script này chưa an toàn.

  12. kieuqtoan 27 comment

    Cho mình hỏi làm sao để nâng cấp hocvps lên version mới.
    Mình có dùng công cụ số 15, nhưng vẫn thấy trên top scripts ghi:
    =========================================================================
    HocVPS Script v2.0.1 – http://hocvps.com/script/
    =========================================================================

    2.0.1 chứ không phải 2.0.2

    1. Việt Phương Moderator

      HocVPS hiện tại không có chức năng nâng cấp cả phiên bản lên version mới. Chức năng 15 chỉ nâng cấp thành phần là Nginx/PHP/MariaDB thôi bạn à

        1. Việt Phương Moderator

          Uhm bạn. Hầu hết mang tính chất upgrade tình năng nên nếu thực sự cần vá lỗi thì sẽ chạy tool fix không cần thiết cài lại

  13. Nhat Vi 1 comment

    Đang học để cài nâng cấp lên VPS mà sao nó khó quá vậy nhỉ. Vọc cả ngày mà không biết cài như thế nào cho hợp lý nữa.

  14. 52 comment

    mình Backup lại VPS, mình làm các bước sau để Import database mysql
    B1: di chuyển đến thư mục chứa file database băng lệnh cd /home/mydomain.com/.....
    B2: chạy lệnh đăng nhập vào mysql mysql -u admin -ppassword_phpmyadmin
    B3: mình đăng nhập vao http://216.189.158.86:2414/phpmyadmin/ chuẩn bị sẵn 1 user + database
    B4: mình chạy lệnh trên VPS: gunzip < giasondulux.gz | mysql -u giasondulux -p giasondulux để Import database
    nhưng import xong VPS cứ dứng hình mãi không thoát hay thông báo gì tiếp theo cả,mình chạy lệnh exit nhưng không được
    http://imgur.com/a/GaDbF

    chạy lệnh ở B4 xong VPS mình cứ hiện dòng lệnh:
    -> mãi mà không thoát ra

  15. 52 comment

    hình như ở Hocvps cript v2 này được cài sẵn Fail2ban rồi đúng không ad 😀

    1. Việt Phương Moderator

      HocVPS từ phiên bản trước v2 đã tích hợp Fail2Ban cùng rule cho SSH và HocVPS Admin Port mà bạn

  16. Phieudu 21 comment

    cái này mình muốn chạy 2 – 3 site xong xong với nhau kiểu addon domain có được không vậy ad

  17. thien 2 comment

    sao em k gửi được email nhỉ. thử trên wp với trang admin đều không được

  18. Đặng Phúc 1 comment

    luân cho m hỏi cái HocVPS Script có cài được cho Ubuntu không vậy ?

  19. _CTPG_ 37 comment

    Tình hình là mình add subdomain cho con VPS Vultr theo cách add domain thông thường, đã trỏ ip tên miền về VPS này (Lúc add subdomain bị thông báo lỗi gì đó, nhưng vẫn có đường dẫn Explorer). Mình up code lên, truy cập vào subdomain thì nó lại redirect sang domain chính của VPS. Lỗi này là lỗi gì vậy admin?

    1. Việt Phương Moderator

      1. Bạn tạo subdomain record hoặc wildrecord trỏ về IP VPS chưa ?
      2. Bạn kiểm tra webserver. Chắc có lỗi không restart được webserver
      service nginx status

  20. Tiên 2 comment

    em lỡ tay xóa mất file logs /home/domain_chính/logs giờ sao đây anh, lỗi 502 luôn

    1. Việt Phương Moderator

      Các log của các service đều nằm trong domain chính nên ko có thì các service không thể chạy.
      1. Bạn tạo thư mục logs bên trong thư jucj domain chính (có rồi thì thôi)
      2. Trong thư mục logs tạo các file mysql.log, nginx_error.log, php-fpm-error.log, php-fpm-slow.log, php-fpm.log, access.log, error.log
      3. Chown file . mysql.log thuộc mysql:mysql, nginx và php log thì thuộc nginx.
      4. Bạn khởi động lại các service mysql, nginx, php-fpm. Nếu xuất hiện lỗi nào thì sửa theo

  21. Đoàn Thanh Tú 28 comment

    Chào các bạn.
    Mình muốn nén source của mình thì bị báo lỗi “unknow error…”. HocVPS có giới hạn dung lượng file nén như nào ko các bạn?

    1. Việt Phương Moderator

      php_memorylimit nhưng chỉ là giới hạn bên PHP.
      Lỗi bạn unknow error thì không giống vấn đề về giới hạn dung lượng rồi. Bạn nén source theo phương pháp nào?

      1. Đoàn Thanh Tú 28 comment

        Toàn bộ phương pháp bạn ah:
        + nén mặc định: được khoảng 6000/7xxx (mình đoán là số lượng file) thì lỗi.
        + nén khác thì tăng lên được, tốt nhất là 10000 thì lỗi.

        1. Việt Phương Moderator

          vẫn chưa hiểu bạn nén như thế nào. Plugin PHP như Dupicator hay lệnh tar, gzip hệ thống

          1. Đoàn Thanh Tú 28 comment

            Mình nén trong FileManager đó bạn (domain.com:2xxx/filemanager)

          2. Việt Phương Moderator

            À ý bạn là Extplorer à? Uhm, mình thấy không nên dùng tool này để nén dữ liệu trực tiếp trên server. Chỉ dùng để up hoặc giải nén thì ok hơn. Bạn nén trực tiếp trên cửa sổ lệnh thì đơn giản hơn.
            HocVPS có menu 4)Sao Luu Code giúp bạn nén toàn bộ source của 1 web. Menu 5) Sao Luu Data giúp nén database

  22. DO DINH TUAN 56 comment

    Chào bạn mình truy cập http://domain.com:port/phpmyadmin/ thì gặp lỗi này mình ko thể vào đc phpmyadmin nữa..mong bạn giúp đỡ!

    “phpMyAdmin – Error
    Error during session start; please check your PHP and/or webserver log file and configure your PHP installation properly. Also ensure that cookies are enabled in your browser.

    session_start(): open(/var/lib/php/session/sess_9heseee2i0a0j77crc2kqvmaa1bvnq0u, O_RDWR) failed: Permission denied (13)”

  23. Tuấn anh 10 comment

    Anh giúp em với ạ em làm trang muaxechevrolet .net bt rồi, bây giờ em thêm 1 tên miền nữa là clip7s .com thì bị lỗi, cứ truy cập trang clip7s .com thì tự động chuyển sang trang muaxechevrolet .net. A giúp em cách khắc phục với ạ, em cảm ơn

    1. Việt Phương Moderator

      Bạn cho mình kết quả của service nginx status hoặc systemctl status nginx

          1. Tuấn anh 10 comment

            Lệnh service nginx status
            nginx (pid 1333) is running…

            Lệnh systemctl status nginx
            -bash: systemctl: command not found

            2 lệnh trên báo như kia ạ, A xem giúp em với

          2. Tuấn anh 10 comment

            Dạ đây ạ
            nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
            nginx: configuration file /etc/nginx/nginx.conf test is successful

          3. Việt Phương Moderator

            Ủa. Vậy OK hết mà. Bạn add website mới bằng menu 2 của HocVPS?

          4. Tuấn anh 10 comment

            Do trc em mua doamin của 1 ông, ông này chắc kiểu dùng thủ thuật gì để mua ấy nên là mấy cái domain của ông này đều bị lỗi hết rồi ạ, em vừa đăng kí 1 cái domain free add vào được liền.
            Cám ơn anh đã bỏ thời gian support em nhé.

  24. NAM 7 comment

    admin ơi cho mình hỏi ? mình đã cài đặt chạy okie hết rồi nhưng giờ muốn đổi “tên miền chính” ở bước 2 trong quá trình cài đặt ? thì làm thế nào vậy ? Cảm ơn !

    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.

    1. Việt Phương Moderator

      Tên miền chính cài đặt HocVPS không đổi được bạn nhé. Nếu bạn không còn sở hữu thì vẫn có thể đăng nhập HocVPS Admin qua IP mà

  25. Hoang Tung 13 comment

    Hi Admin,
    Cho mình hỏi là thông số buff/cache hiển thị khi gõ lệnh kiểm tra ram trên centos có ý nghĩa gì? 2 hôm nay web mình liên tục bị treo mysql, mình kiểm tra ram thì thấy thông số buff/cache này tăng lên khá nhanh, đến hơn 1 nửa dung lượng ram. Mình thử dùng lệnh clear ram thì thông số này giảm đi nhiều, web chạy ok ko bị treo mysql nữa. Nhưng cứ đc 1 lúc thì buff/cache lại tự động tăng lên. Vậy Admin biết nó là gì thì giải thích giúp mình nhé. Tks!

    1. Việt Phương Moderator

      Một phần RAM được set mặc định làm buffer/cache để cache các tác vụ. Sau này khi bạn gọi các tác vụ lại thì HDH sẽ xử lý nhanh hơn.

      1. Hoàng Tùng 13 comment

        Vậy mình xử lý bằng cách khoảng 10 phút clear ram 1 lần để xóa bớt cache này đi liệu có ảnh hưởng gì ko Admin? (wordpress mình có cài cache html rồi)
        VPS của mình chạy từ 6 tháng trước, ổn định, có khi khách online hơn 1000 cũng không sao. Vậy mà 2 ngày gần đây tự nhiên mysql rất hay bị treo, lúc treo thì online chỉ khoảng 200 300, nên mình mới mò ra cách clear ram này làm giải pháp tình thế.

        1. Việt Phương Moderator

          Bạn có thể cài crontab để auto clear cache/buffer. Nếu bạn dùng câu lệnh này sync && echo 1 > /proc/sys/vm/drop_caches để clear RAM thì chỉ dùng mức 1 thôi nhé. Dùng mức 3 không khuyến khích với các hệ thống đang chạy.
          Và thực sự KHÔNG KHUYẾN KHÍCH việc auto clear cache/buffer. Bạn có thểm tham khảo đẻ hiểu tại sao
          Phần Is it good idea to auto clear RAM cache on production server?

          1. Hoàng Tùng 13 comment

            Tks Mod!
            Tiếc là trước đây mình ko theo dõi thông số buff/cache này nên ko biết bây giờ có phải nguyên nhân do nó làm đầy ram, dẫn đến mysql service thường xuyên bị treo hay không nữa. Mình check db thì ko thấy có dấu hiện bất thường gì cả, dung lượng db vẫn ở mức ổn định. Khách online tầm 300 là free ram chỉ còn khoảng 100mb thôi.

            Mod cho hỏi thêm là có nguyên nhân gì khác gây ra vấn đề của mình nữa ko?

  26. Hieu Huynh 7 comment

    A Luân ơi, tích hợp tự động cài đặt Let’s Encrypt vào HocVPS luôn đi anh 😀

    1. Việt Phương Moderator

      Không nên bạn à. HocVPS thiết kế mang tới những nhu cầu cơ bản nhất cho người dùng. Về mặt SSL có SSL thu phí, miễn phí cũng như không phải ai cũng sẵn sàng lên HTTPS.

      1. Hieu Huynh 7 comment

        À không, ý mình là có thêm option Install Let’s Encrypt, ấn vào rồi nhập tên miền, hocvps sẽ tự cài SSL cho tên miền đó.

  27. DO DINH TUAN 56 comment

    Bạn add ơi cho mình hỏi chút là mình đã cái hocvps bản cũ thì có cần thiết phải nâng cấp lên bản mới nhất ko..mà nâng lên có ảnh hưởng gì ko..và chỉ cần chạy lệnh 15 trong menu hocvps là toàn bộ các phần đều được nâng cấp như phiên bản PHP, NGIX, ..đều được nâng cấp lên cùng à ad?

    1. Việt Phương Moderator

      Phiên bản HocVPS hiện tại không nâng cấp được. Bạn chỉ có cài đặt trên VPs mới rồi chuyển sang.
      Menu 15 nâng cấp chỉ giúp kiểm tra và nâng cấp các thành phần PHP MySQL Nginx, tuy vậy không khuyến khích nếu bạn không chuyên về kĩ thuật do có thể xung đột với cấu hình chung cả hệ thống

      1. DO DINH TUAN 56 comment

        Mình mới nâng cấp menu 15 php bị lỗi này bạn giúp mình với mình truy cập http://domain.com:port/phpmyadmin/ thì gặp lỗi này mình ko thể vào đc phpmyadmin nữa..mong bạn giúp đỡ!

        “phpMyAdmin – Error
        Error during session start; please check your PHP and/or webserver log file and configure your PHP installation properly. Also ensure that cookies are enabled in your browser.

        session_start(): open(/var/lib/php/session/sess_9heseee2i0a0j77crc2kqvmaa1bvnq0u, O_RDWR) failed: Permission denied (13)”

        1. Việt Phương Moderator

          Bạn chạy lệnh hocvps menu 14 Phân Quyền Webserver rồi thực hiện lại nhé

      2. tran hung 50 comment

        mình dùng bản hocvps cũ, nginx là 1.10, mình cũng sử dụng menu 15 để nâng cấp mỗi nginx lên 1.12 để cài kích hoạt http/2. Xin hỏi quá trình này có xung đột gì ko ạ? cảm ơn.

        1. Việt Phương Moderator

          Không sao bạn à. Nhưng thế bạn mất công nâng cấp Nginx rồi lại Compile trên source Nginx khác. Bạn không cần nâng cấp mà compile luôn trên Nginx 1.12 down về rồi thay thế Nginx đang chạy bằng bộ Nginx mới
          Quá trình compile sẽ xuất hiện vấn đề do một số module từ Nginx phiên bản cũ không còn hoạt động trên Nginx phiên bản mới. Lúc đó gặp module nào bạn fix module đó

  28. Lưu Đăng 4 comment

    Chào Luân!
    Mình muốn cài đặt HocVPS Scrip với Nginx RTMP module thì xử lý sao vậy, bởi vì nó phải biên dịch lại Nginx; Bạn giúp mình được không?

    1. Việt Phương Moderator

      Bạn cài HocVPs xong tải Nginx v1.12 về biên dịch lại cùng Module nhé. Xong make, thay thế cho Nginx đang chạy tại /usr/sbin/nginx và khởi động lại Nginx là ok

      1. Lưu Đăng 4 comment

        Mình biên dịch lại Nginx 1.12.0 theo
        ./configure –prefix=/etc/nginx/ –user=nginx –group=nginx –sbin-path=/usr/sbin/nginx –conf-path=/etc/nginx/nginx.conf –pid-path=/var/run/nginx.pid –lock-path=/var/run/nginx.lock –error-log-path=/var/log/nginx/error.log –http-log-path=/var/log/nginx/access.log –add-module=../nginx-rtmp-module-master
        Nhưng bị lỗi
        Jun 29 15:32:41 5usd-sing nginx[14414]: nginx: [emerg] unknown directive “gzip_static” in /etc/nginx/nginx.conf:54
        Jun 29 15:32:41 5usd-sing nginx[14414]: nginx: configuration file /etc/nginx/nginx.conf test failed
        Jun 29 15:32:41 5usd-sing systemd[1]: nginx.service: control process exited, code=exited status=1
        Jun 29 15:32:41 5usd-sing systemd[1]: Failed to start nginx – high performance web server.
        Bạn có thể giúp mình không?

        1. Việt Phương Moderator

          Vì bạn đã bỏ bớt module trong lúc compile làm cho cấu hình gốc Nginx của HocVPS bị lệch. Ví dụ ban đầu Nginx có gzip module và cũng cấu hình trong file /etc/nginx/nginx.conf nhưng bạn compile lại bỏ nó đi
          Mình nghĩ là Configure Arguments gốc của Nginx nhiều hơn thế. Bạn dùng toàn bộ Configure Arguments gốc xong thêm --add-module=/path/to/nginx-rtmp-module vào cuối. Nhớ sửa đúng đường dẫn vào Nginx RTMP Module
          Nó sẽ giống như bạn compile với openssl module trong bài này : https://hocvps.com/http2-nginx/

  29. NAM 7 comment

    Cho mình hỏi xíu:
    – Mình cài trên Vultr đã okie chạy ngon lành và đầy đủ các file: http://imgur.com/a/cXVJc
    – Khi mình cài trên VPS của azdigi của bác Thạch nó ko hiện ra các file: http://imgur.com/a/h9dgf

    Vậy cho mình hỏi làm sao để sửa lỗi này để upload code lên và chạy web ??? Mình upload code lên ko dc luôn ạ ? Cảm ơn

    1. Việt Phương Moderator

      Bạn thử login lại xem. Còn upload code bạn có thể đăng nhập bằng Bitvise. Có cả SSH và sFTP để upload rất tiện

  30. thành 4 comment

    Trước mình có nhớ 1 bài comment dạy mở port 2222 ở google cloud đâu mất tiu rồi ấy nhỉ, mình cài server mới mãi k cài đc 🙁

    1. Việt Phương Moderator

      GG Cloud có firewall mặc định allow port 22. Bạn cần add thêm rule cho firewall(chấp nhận thêm 2222). Cụ thể bạn tạo rule trong network default áp dụng mặc định cho VPS là ok
      Ảnh hướng dẫn : http://prntscr.com/een63l

          1. Việt Phương Moderator

            Bạn chỉ việc làm như ảnh, đổi số 2222 thành 2017 hoặc 443. Bên mình không support qua fb hay skype bạn à

  31. Hải 21 comment

    Nginx không tự động start khi khởi động server. Có cách nào xử lý không. Minh đã dùng câu lệnh
    chkconfig –add nginx
    chkconfig –levels 235 nginx on
    Nhưng vẫn ko được

    1. Việt Phương Moderator

      Nếu bạn khởi động nginx thủ công thì có thông báo gì vậy?

      1. Hải 21 comment

        Khởi động thủ công không thông báo. Nhưng bắt nhập password. Do mình cài ssl nên bắt nhập pass

  32. Lê Tuấn Kiệt 11 comment

    Cho Em hỏi sao khi cài đặt hocvps xong ? Sao trong hocvps.txt có để pass là
    Thong tin dang nhap mac dinh cho tat ca tool:
    Username: admin
    Password: f115469cd36bc2d03
    Em mysql -u root -p sao đó nhập password dưới thì log nó báo là
    Access denied for user ‘root’@’localhost’ (using password: Y ES)
    Là sao ạ ?

    1. Việt Phương Moderator

      Bạn đăng nhập bằng tài khoản admin nhé. Lệnh trên là tài khoản root rồi
      mysql -u admin -pxxxx

          1. Lê Tuấn Kiệt 11 comment

            Dạ vâng em ghi Coppy lênh như anh thì log nó báo lại là
            ERROR 1045 (28000): Access denied for user ‘admin’@’localhost’ (using password: YES)
            Là sao vậy ạ

          2. Việt Phương Moderator

            Bạn thử đăng nhập tài khoản ý trên PHPMyAdmin có được không. Xem có đúng mật khẩu không

          3. Lê Tuấn Kiệt 11 comment

            Dạ vâng em đã login đc rồi e cứ nhầm lẫn admin là root , cảm ơn anh với a cho e hỏi muốn đổi pass mysql này thì sao ạ ? , với xài hocvps có dễ bị hack mysql ko ạ

          4. Việt Phương Moderator

            Đổi pass mysql thì bạn chỉ đổi pass của tài khoản admin thôi. Bạn truy cập HocVPS Port Admin trên web để đổi pass nhé

          5. Lê Tuấn Kiệt 11 comment

            Nghĩa là đổi tài khoản admin thành tài khoản khác chứ ko đổi đc pass này hả f115469cd36bc2d03 ad mà truy cập vào phpmyadmin hay sao ạ

  33. Lê Tuấn Kiệt 11 comment

    Chào Ban quản trị hocvps
    Hiện tại em muốn cài mysql để kết nối từ xa đến navicat = máy tính của mình có thể kết nối ban quản trị có thể giúp em ko ạ

  34. erynje 8 comment

    chào ad,
    Mình muốn thay thế domain cho website thì thao tác như thế nào, mình dùng học vps script.

    1. Việt Phương Moderator

      Domain chính nhập lúc cài đặt HocVPs không thay thế được bạn nhé

      1. erynje 8 comment

        vậy giờ mình lại phải tạo cho domain mới rồi chuyển qua hả bạn? Domain cũ hết hạn nên mình bỏ luôn thay bằng domain mới.
        Nhân tiện cho mình hỏi, quên pass Mariadb thì làm sao lấy lại được vậy, cảm ơn bạn nhiều.

        1. Việt Phương Moderator

          Yeap bạn. Một là bạn cứ để đó, đăng nhập HocVPs Admin bằng IP. Hai là bạn cài VPS để nhập domain mới
          Bạn quên pass Mysql tài khoản admin thì đăng nhập HocVPs Admin (trên web) để tiến hành đổi pass mysql tài khoản admin nhé
          Còn nếu bạn quên tài khoản root thì theo hướng dẫn này https://hocvps.com/reset-mysql-root-password/

    2. Ngo Quang Triu 12 comment

      a ơi cái đường dẫn này ở đâu thế a. em tìm mà ko thấy đâu cả 🙁
      /etc/nginx/conf.d/

      1. Việt Phương Moderator

        Nó nằm ở đúng /etc/nginx/conf.d chứ đâu nữa bạn (Nếu hệ thống bạn là HocVPS Script)

  35. Ngo Quang Triu 12 comment

    Em add domain xong update code lên mà sao nó cứ báo lỗi này mấy anh nhĩ.

    This page isn’t working

    freeappsdowload.com is currently unable to handle this request.
    HTTP ERROR 500

    1. Việt Phương Moderator

      Lỗi 500 thì bạn kiểm tra php-fpm log nhé. Trong /home/domain_chính/logs. Có thể là hàm PHP không tương thích với phiên bản PHP cài đặt trên VPS

      1. Ngo Quang Triu 12 comment

        Em đã Fix được rồi anh. nhưng giờ bị lỗi này. Là cái web site của em vào link nào nó cũng nhảy về trang home 🙁 Link thì đúng mà giao diện thì hiện giống hệt trang home

        1. Việt Phương Moderator

          Do lỗi rewrite của bạn trước khi dùng Apache. Bạn kiểm tra có .htaccess trong thư mục web không thì đổi tên đi, convert lại RewriteURL sang chuẩn Nginx

          1. Ngo Quang Triu 12 comment

            .htaccess đây ạ, sửa lại sao a giúp e với 🙁
            RewriteEngine on
            RewriteRule ^category/(.*)/(.*)$ category.php?id=$1&slug=$2
            RewriteRule ^channel/(.*)/(.*)$ channel.php?id=$1&slug=$2
            RewriteRule ^video/(.*)/(.*)$ video.php?id=$1&slug=$2
            RewriteRule ^page/(.*)/(.*)$ page.php?id=$1&slug=$2
            RewriteRule ^search/(.*)$ search.php?q=$1
            RewriteRule ^not-found$ notfound.php

          2. Ngo Quang Triu 12 comment

            A giup em với được ko ạ 🙁 em mò tự trưa giờ mà ko được 🙁
            e tìm vào /etc/nginx/conf.d rồi mà ko biết làm gì 🙁

          3. Việt Phương Moderator

            Mình không giúp được bạn à. Bạn convert rule phù hợp hệ thống Nginx xong chèn vào cấu hình Nginx của domain, phần block server listen 80.

          4. Ngo Quang Triu 12 comment

            server {
            listen 80;
            rewrite ^/category/(.*)/(.*)$ /category.php?id=$1&slug=$2;
            rewrite ^/channel/(.*)/(.*)$ /channel.php?id=$1&slug=$2;
            rewrite ^/video/(.*)/(.*)$ /video.php?id=$1&slug=$2;
            rewrite ^/page/(.*)/(.*)$ /page.php?id=$1&slug=$2;
            rewrite ^/search/(.*)$ /search.php?q=$1;
            rewrite ^/not-found$ /notfound.php;
            server_name http://www.domain;
            rewrite ^(.*) http://domain$1 permanent;
            }

            em add thêm vào như thế mà vẫn ko dc a 🙁

          5. Việt Phương Moderator

            Phần block server quy định root, thường là block 80 thứ 2. Và xóa file htacess trong thư mục web đi để Nginx không đọc nó nữa

          6. Ngo Quang Triu 12 comment

            service nginx restart

            e có chạy lện này và nó ra
            service nginx restart
            Redirecting to /bin/systemctl restart nginx.service

            root a nói có phải là reset cả vps ko a

          7. Việt Phương Moderator

            systemctl restart nginx.service là lệnh chuẩn bên CentOS7.
            Tức là chèn sau đoạn này, không phải chèn vào đoạn như bạn
            server {
            listen 80;
            server_name http://www.hocvps.com;
            rewrite ^(.*) http://hocvps.com$1 permanent;
            }
            server {
            listen 80 default_server;
            root /home/hocvps.com/public_html;
            index index.php index.html index.htm;
            server_name hocvps.com;

          8. Ngo Quang Triu 12 comment

            Dạ đúng rồi lúc đầu em chèn vào sau
            listen 80
            cái e đổi lại chèn vào sau “listen 80” thứ 2

          9. Ngo Quang Triu 12 comment

            Thanks a rất nhiều ạ. E mới mò về VPS server có 3 ngày mà nhờ cái trang này biết rất nhiều. Đúng là admin với mod nhiệt tình thật.

  36. tran hung 50 comment

    cho mình hỏi ở phiên bản hocvps cũ thì có tùy chỉnh ở file này /etc/php-fpm.d/www.conf
    còn ở bản 2.0 thì file đó nằm ở đâu vậy ạ? Cảm ơn.