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. Việt Phương Moderator

      Hiện tại HocVPs chưa hỗ trợ upgrade phiên bản. Bạn backup website rồi cài đặt lại trên server mới sử dụng HocVPS nhé

  1. Quan Nguyên Phát 52 comment

    Chào bạn,
    lúc trước mình cài xong VPS, rồi cài đặt wordpress thì sử dụng được chức năng gửi email khi khách đăng ký form hoặc quên mật khẩu. Nhưng giờ đây website không còn gửi email được nữa. Mình không rõ là chỉnh gì ảnh hưởng đến chức năng gửi mail. Bạn chỉ mình khôi phục lại phần gửi mail nhé. cảm ơn bạn!

    1. Việt Phương Moderator

      1. Bạn test gửi mail như thế nào, ví dụ test qua plugin SMTP Worpdress
      2. VPS bạn có mở cổng 25 SMTP không

      1. Quan Nguyên Phát 52 comment

        Nếu mình cài thêm plugins smtp cài đặt gmail thì gửi bình thường. Do lúc đầu khi cài đặt xong HOCVPS, cài wordpress thì mình dùng chức năng gửi mail bình thường, không có cầu hình gì cả. Giờ không gửi được, cài smtp cho gmail thì mới gửi, mình muốn dùng mặc định như trước.
        Mình chạy # iptables -L -n kết quả thế này:
        https://uphinhnhanh.com/images/2018/03/06/port.jpg

        1. Việt Phương Moderator

          Mặc định như trước là như thế nào bạn. Vậy bạn test gửi mail thì báo như thế nào, cho case khách request send mật khẩu ý

  2. dongpham3 12 comment

    Ad cho e hỏi lỗi này fix thế nào và nguyên nhân ạ #2002 – Connection refused — The server is not responding (or the local server’s socket is not correctly configured).

    1. Việt Phương Moderator

      VPS không kết nối được, có nhiều lý do. Tùy case mà bạn fix theo
      1. VPS đang off
      2. VPS on nhưng kết nối SSh không thành công, tức cổng SSH chặn truy cập hoặc đã khóa

        1. Việt Phương Moderator

          Lỗi bạn mô tả là thông báo hiển thị khi bạn đăng nhập SSH của Bitvise mà?

  3. Huy Tùng 10 comment

    Cho mình hỏi sao mình chạy lệnh curl để install thì toàn báo lỗi : No such file or directory không nhỉ. Mình đã chạy dưới quyền sudo rồi mà không được

    1. Việt Phương Moderator

      1. Bạn chạy lệnh cài hocvps à?
      2. Bạn có dùng user root hoặc ngang quyền root không? Chứ user thường chạy quyền sudo không được đâu

  4. Dzũng Hoàng 10 comment

    Ad cho mình hỏi là mình dùng permalink dạng “Post-name”, cấu hình .htaccess nhưng ko được, toàn báo lỗi, mình nên xử lý như nào nhỉ.

    Mình dùng hocvps script cho vps.

    Xin cảm ơn.

    1. Việt Phương Moderator

      HocVPS dùng Nginx nên không hỗ trợ .htaccess nhé bạn. Bạn xem sử dụng phương án khác

  5. Dzũng Hoàng 10 comment

    Mình đã cài đặt thành công, cảm ơn Hocvps.

    Cho mình hỏi thêm là giờ mình muốn thêm domain khác vào VPS thì khai báo như thế nào vậy Ad?

    1. Việt Phương Moderator

      Bạn dùng menu 2 của hocvps nhé, Thêm Domain. Đồng thời trỏ domain về ip VPS

  6. Dzũng Hoàng 10 comment

    Luân cho chỏi CentOS 6.0 đang dùng PHP5.6 có thể nâng cấp lên PHP 7.0 không nhỉ?

  7. Andy 32 comment

    Chào Phương!

    Mình chạy theme wordpress trên hocvps nó có sinh lỗi “failed to load resource the server responded with a status of 500”. Mình xem trong log của hocvps thì có thấy nó báo lỗi này “FastCGI sent in stderr: “Primary script unknown” while reading response header from upstream”.

    Làm sao để khắc phục duoc nó vậy ah!

    1. Việt Phương Moderator

      Mình nghĩ lỗi này bên tương thích theme rồi. Bạn deactive theme đó chuyển về theme mặc định khác đồng thời contact nhà cung cấp theme support.

      1. Andy 32 comment

        Chắc không phải tại scrip của them vì minh cài trên môi trường khác rất ok. Mình củng tìm hiểu trên google củng khá nói nhiều về lỗi FastCGI sent in stderr: “Primary script unknown” mà không hiểu gì hết trơn.

        Nếu có 1 giải pháp xin giúp đỡ

        Cám ơn!

  8. Tuấn Anh 24 comment

    Hi cả nhà, mọi người hướng dẫn mình cách thêm wildcard subdomain trên hocvps với. DOMAIN.COM thì mình ok rồi, trên DNS mình cũng thêm record A rồi, khi vào user.domain.com cũng ra content default của NGinx “Welcome to nginx!” rồi

    Nhưng mình không biết cách cấu hình Virtual Host /etc/nginx/conf.d/domain.com.conf

    Thanks

    1. Việt Phương Moderator

      Nếu vậy wildcard của bạn sẽ hiển thị chung 1 document root với 1 domain nào đó? Bạn dùng chức năng park domain của hocvps nhé

  9. Lộc 52 comment

    Hello Mod,
    Mod ơi, nâng cấp MariaDB lên bản 10.2 đi. bản 10.0.2 lỗi nhiều quá. Mình tự upgrade nhưng phát sinh nhiều lỗi ngoài ý muốn.

    1. Việt Phương Moderator

      Lỗi nào vậy bạn. Mình chưa thấy report gì về vấn đề đó cả

      1. Lộc 52 comment

        mình dùng laravel, thuộc tính LongText bị báo lỗi, upgrade lên thì OK. Mà khi upgrade lên thì lúc chọn tạo db mới thì phải tự active mysql lên mới thêm đc

  10. Andy 32 comment

    Xin chào Admin!

    Có cách nào để backup toan bộ nhưng gì mình đã cài lên VPS.
    Vi dụ như mình cài lên VPS hocvps, Let’s Encrypt, Rclone. Nay minh muốn backup toan bộ lại giống như 1 file ghost trên windows. Sau này nếu có lỗi mình chỉ việc bung ra giống như Ghost máy tính ko admin.
    Chứ mỗi lần hư cài lại thật mất thời gian

    Xin cám ơn Admin!

    1. Việt Phương Moderator

      Linux không dễ với phương án ý. Bạn chỉ có sử dụng snapshot của nhà cung cấp thôi (nếu họ hỗ trợ)

  11. Tuannh 2 comment

    E chào a, a cho e hỏi với ạ, e dùng VPS Vultr làm web server chạy wordpress, sau khi cài xong hocvps thì e k thể kết nối sFTP được ạ. e không biết lỗi do đâu. a giúp e với ạ,e cám ơn a ạ!

    1. Việt Phương Moderator

      Bạn kết nối sFTP qua cổng nào? Hiện thông báo gì? Bạn dùng Bitvise hay FileZilla

      1. Tuannh 2 comment

        Dạ, e dùng filezilla a ạ, e dùng đủ luôn ạ, k điền cổng, cổng 22, cổng 2222 e thử hết rồi mà k đc 🙁

        1. Việt Phương Moderator

          Bạn thử bitvise được không? Vì mình nghi do thiết lập lúc đăng nhập của bạn

    1. Việt Phương Moderator

      Bạn kiểm tra PHP-FPM có ok không? 8888 là HocVPS Port bạn thiết lập à? Bạn truy cập qua domain:port thì ntn

  12. Huynh 1 comment

    Hocvps cho mình hỏi là mình cần nâng cấp MariaDB lên 10.2, có cần config lại file ini để tối ưu gì ko ?

  13. Andy 32 comment

    Happy new year admin!

    Admin cho minh hỏi sau khi minh reboot VPS thi nó không thể kết nối đến server nữa. Khởi động trong chế độ Rescue mode thì ping đến server được. Reboot lại chế độ bình thường thì lại ko kết nối được.

    https://imgur.com/a/vFHBH

    Admin có thể giúp minh được ko

    Xin cảm ơn Admin

    1. Việt Phương Moderator

      Server OVH vào rescue mode thì xong bạn phải mount lại ổ chứ nó không tự mount thì phải. Tức rescue mode thì máy đang chạy ổ rescue. Bạn cần mount lại ổ ban đầu. Vấn đề này bạn request ticket support từ OVH thì tốt hơn

  14. Anh Z 56 comment

    Hi ad,

    Bỗng dưng mình nhận được lỗi như thế này Job for nginx.service failed because the control process exited with error code. See “systemctl status nginx.service” and “journalctl -xe” for details.

    Cơ bản là mình không thể start nginx.

    Trong tình huống này thì nên làm j ?

    Cảm ơn ad rất nhiều ạ <3

  15. dongpham3 12 comment

    shell_exec() has been disabled for security reasons in php
    Em cài hocvps php 7.1 Làm sao để bật shell_exec lên vậy ad

    1. Việt Phương Moderator

      Bạn bỏ dòng disable_functions=shell_exec trong /etc/php.d/00-hocvps-custom.ini rồi restart lại PHP-FPM nhé

  16. W&J 13 comment

    ad cho em hỏi sao cài rồi. giờ truy cập lên trên ví dụ: domain.com:0000 nhưng không đăng nhập được ra check-host thì nó hiện server error
    401 (Unauthorized)

        1. Việt Phương Moderator

          Ok bạn. Phần domain:port ra 401 là do bạn đăng nhập sai thì bị Unauthorized
          Còn HocVPS dùng Nginx nên không nhận htaccess

  17. dongpham3 12 comment

    hocvps có phần 8 tạo database mình tạo xong r mà bây giờ muốn import dữ liệu vào và các thao tác vs database thì tìm hiểu phần nào ạ

  18. HThien 1 comment

    Mọi người cho em hỏi với, em có dùng vps linux, ram 2gb, 2core, mà mới lúc đầu dùng ram chỉ 50% thôi, hiện tại Ram lên đế 95% (real ram chỉ khoảng 35% ). E để ý thì hệ thống lấy ram thừa để tạo cache.

    Vậy có nên giải phóng cache định kỳ k ạ ? vì em thấy total ram gần lên 100% rồi. Em mới dùng vps k rõ lắm.

    1. Việt Phương Moderator

      Cache được tạo trước để lúc nào có request thì sẽ dùng cache để phản hồi luôn, giảm tải cho hệ thống và phản hồi nhanh hơn. Nên không cần thiết phải giải phóng cache nhé bạn. Khi bạn sửa code thì cần reset thôi

  19. Ngô Văn Cương 142 comment

    Bác Luân với Bác Việt Phương reply hộ mình email dịch vụ với. Mình cần nhờ các bạn khắc phục lỗi có trả phí….
    Trân trọng!

  20. Ngô Văn Cương 142 comment

    [error] 18798#18798: *98237 recv() failed (104: Connection reset by peer) while reading response header from upstream, client: 115.78.6.213, server: ***, request: “GET / HTTP/1.1”, upstream: “fastcgi://127.0.0.1:9000”, host: “***”

    Mình bị lỗi 502. Check log file thì nó ra như này. giúp mình với bác Luân.

    1. Việt Phương Moderator

      Lỗi này không phán định được. Bạn nhìn tổng quan cả log của service nginx và php-fpm nhé. Bạn restart cả 2 service chưa?

          1. Ngô Văn Cương 142 comment

            [07-Feb-2018 10:31:54] WARNING: [pool www] child 3316, script ‘/home/domain.com/public_html/index.php’ (request: “GET /index.php”) executing too slow (4.920832 sec), logging
            [07-Feb-2018 10:33:51] WARNING: [pool www] child 3316, script ‘/home/domain.com/public_html/index.php’ (request: “GET /index.php”) execution timed out (120.994962 sec), terminating
            [07-Feb-2018 10:33:51] WARNING: [pool www] child 3316 exited on signal 15 (SIGTERM) after 240.153767 seconds from start

          2. Việt Phương Moderator

            Log error của services cơ bạn. Log này không phán định được gì

          3. Ngô Văn Cương 142 comment

            [07-Feb-2018 02:16:19 UTC] PHP Fatal error: Uncaught Error: Call to undefined function request_filesystem_credentials() in /home/domain.com/public_html/wp-admin/includes/class-wp-upgrader-skin.php:93
            Stack trace:
            #0 /home/domain.com/public_html/wp-admin/includes/class-automatic-upgrader-skin.php(47): WP_Upgrader_Skin->request_filesystem_credentials(false, ‘/home/baohan.ng…’, true)
            #1 /home/domain.com/public_html/wp-admin/includes/class-wp-automatic-updater.php(144): Automatic_Upgrader_Skin->request_filesystem_credentials(false, ‘/home/baohan.ng…’, true)
            #2 /home/domain.com/public_html/wp-admin/includes/update.php(85): WP_Automatic_Updater->should_update(‘core’, Object(stdClass), ‘/home/baohan.ng…’)
            #3 /home/domain.com/public_html/wp-includes/update.php(215): find_core_auto_update()
            #4 /home/domain.com/public_html/wp-includes/class-wp-hook.php(286): wp_version_check()
            #5 /home/domain.com/public_html/wp-includes/class-wp-hook.php(310): WP_Hook->apply_filters(”, Array)
            #6 /home/baohan.n in /home/domain.com/public_html/wp-admin/includes/class-wp-upgrader-skin.php on line 93

            Có phải log này không bác

          4. Việt Phương Moderator

            Thông tin như thế này không ra vấn đề. 502 Bad Gateway khá rộng nên bạn tập trung xem 2 service Nginx và PHP-FPM cùng log liên quan

          5. Ngô Văn Cương 142 comment

            Mình có liên hệ nhờ service bên mình tìm lỗi giúp mình khắc phục vấn đề, Không biết bạn Việt Phương có rảnh hỗ trợ mình không.
            Mình xin gửi ae ít fee hợp lý 🙂

  21. Phúc 15 comment

    Cho mình hỏi hiện tại mình cần chạy Cronjob, vậy khi sử dụng hocvps thì đường dẫn nào để thực thi PHP và chạy cronjob thế nào trên Centos 7
    https://ibb.co/dU24Ac

    1. Việt Phương Moderator

      /usr/bin/php nhé bạn. Môi trường SSH Terminal bạn chạy được php xxx thì bạn add vào cronjob thay bằng /usr/bin/php

  22. Quan Nguyên Phát 52 comment

    Mình đang cùng Google Cloud, mình đã kích hoạt Centos7, có 1 vấn đề xảy ra là sau khi cài HocVPS Scrip thì không thể vào bằng cổng 2222,
    Mình có cập nhật fire wall cổng 2222 nhưng vẫn vào không được. Mình liên hệ thì Google hỗ trợ hướng dẫn này nọ những sau 7 – 8 lần trao đổi và làm theo hướng dẫn cũng không được.
    Họ hướng dẫn mình làm theo link này
    https://ph.godaddy.com/help/changing-the-ssh-port-for-your-linux-server-7306

    Nhưng tới bước cuối Restart the sshd thì mình bị lỗi:

    [root@centos-7-6 ~]# service sshd restart
    Redirecting to /bin/systemctl restart sshd.service
    Job for sshd.service failed because the control process exited with error code. See “systemctl status sshd.service”
    and “journalctl -xe” for details.

    Kết quả của: systemctl status sshd.service

    ● sshd.service – OpenSSH server daemon
    Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: enabled)
    Active: activating (auto-restart) (Result: exit-code) since Tue 2018-02-06 11:58:28 UTC; 30s ago
    Docs: man:sshd(8)
    man:sshd_config(5)
    Process: 17498 ExecStart=/usr/sbin/sshd -D $OPTIONS (code=exited, status=255)
    Main PID: 17498 (code=exited, status=255)
    Feb 06 11:58:28 centos-7-6 systemd[1]: sshd.service: main process exited, code=exited, status=255/n/a
    Feb 06 11:58:28 centos-7-6 systemd[1]: Failed to start OpenSSH server daemon.
    Feb 06 11:58:28 centos-7-6 systemd[1]: Unit sshd.service entered failed state.
    Feb 06 11:58:28 centos-7-6 systemd[1]: sshd.service failed.

    Kết quả của journalctl -xe

    Feb 06 11:59:10 centos-7-6 systemd[1]: sshd.service failed.
    Feb 06 11:59:52 centos-7-6 systemd[1]: sshd.service holdoff time over, scheduling restart.
    Feb 06 11:59:52 centos-7-6 systemd[1]: Starting Google Compute Engine Instance Setup…
    — Subject: Unit google-instance-setup.service has begun start-up
    — Defined-By: systemd
    — Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel

    — Unit google-instance-setup.service has begun starting up.
    Feb 06 11:59:52 centos-7-6 instance-setup[17537]: INFO Running set_multiqueue.
    Feb 06 11:59:52 centos-7-6 instance-setup[17537]: INFO Setting /proc/irq/29/smp_affinity_list to 0 for device virti
    Feb 06 11:59:52 centos-7-6 instance-setup[17537]: INFO /proc/irq/29/smp_affinity_list: real affinity 0
    Feb 06 11:59:52 centos-7-6 instance-setup[17537]: INFO Setting /proc/irq/30/smp_affinity_list to 0 for device virti
    Feb 06 11:59:52 centos-7-6 instance-setup[17537]: INFO /proc/irq/30/smp_affinity_list: real affinity 0
    Feb 06 11:59:52 centos-7-6 instance-setup[17537]: INFO Queue 0 XPS=1 for /sys/class/net/eth0/queues/tx-0/xps_cpus
    Feb 06 11:59:52 centos-7-6 systemd[1]: Started Google Compute Engine Instance Setup.
    — Subject: Unit google-instance-setup.service has finished start-up
    — Defined-By: systemd
    — Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel

    — Unit google-instance-setup.service has finished starting up.

    — The start-up result is done.
    Feb 06 11:59:52 centos-7-6 systemd[1]: Starting OpenSSH server daemon…

    Nhờ bạn hỗ trợ giùm mình

    1. Việt Phương Moderator

      HocVPS đã change cổng SSH trong quá trình cài đặt rồi nên bạn không cần change gì cả. Như nhiều bạn khác dùng GG Cloud, chỉ cần cập nhật rule 2222 trong Networks và apply nó vào VPS của bạn
      Trong bài viết mình cũng đã có đề cập đó

  23. Duy 10 comment

    Truy cập SSH nó báo lỗi vầy sửa như thế nào vậy bạn?

    The VM guest environment is outdated and only supports the deprecated ‘sshKeys’ metadata item. Please follow the steps here to update.

    thanks

    1. Việt Phương Moderator

      Nếu bạn cài xong thì phải connect bằng port 2222 nhé, không phải 22
      Và nếu bạn dùng VPS GG thì phải mở cổng 2222 thủ công trên GG

      1. dongpham3 12 comment

        sau khi cài đặt xong webserver trên vps thì nghiên cứu bài nào để up code laravel lên và chỉ domain về để chạy ạ

  24. Phúc 15 comment

    Cho mình hỏi làm sao để chỉnh lại phần lấy file index?
    Hiện tại khi mình up code thì vào folder domain/public_html. Tuy nhiên mình sử dụng code laravel thì nó vào thêm 1 cấp nữa là domain/public_html/public, ai biết chỉ mình với

    1. Phúc 15 comment

      Mình đã tìm google và đã tìm được các giải quyết rồi. Nhưng code mình cần có “IMAP Extension
      (PHP IMAP Extension is required).”, cho mình hỏi làm sao để mình cái với hocvps bây giờ

      1. Việt Phương Moderator

        1. Thay đổi vị trí thư mục nội dung website trong Nginx Conf của domain đó nhé, /etc/nginx/conf.d
        2. IMAP
        yum install php-imap
        service nginx restart
        service php-fpm restart

  25. Trinh Nguyen 38 comment

    MariaDB chua khoi dong hoac co the bi loi khong the khoi dong!!!
    Vui long kiem tra lai

    Mình bị lỗi này, ko biết khắc phục sao. Giờ muốn cài lại script thì sao admin?

    1. Việt Phương Moderator

      1. MySQL bạn đang không bật. Bạn kiểm tra log MySQL, service của mysql để xem nguyên nhân vì sao
      2. Nếu muốn cài lại HocVPS thì bạn cần cài trên 1 VPS mới tinh nhé

  26. Thành 23 comment

    Chào anh Luân. Cho em hỏi 1 vấn đề ạ

    Sau khi cài xong hocvps, em up file tar.gz lên để giải nén thì tất cà các file, foder đều được phân quyền là 777 hết, chown lại thì rất là mất thời gian, có cách nào để giải quyết nhanh không ạ.

    Em cám ơn

    1. Việt Phương Moderator

      Mình chưa gặp trường hợp này bao giờ. Thường giải nén ra mặc định của thư mục 755 và file 644 thôi, kể cả file tar.gz ban đầu là 777.
      Bạn giải nén dùng mỗi lệnh tar -xzvf tên_file đúng không?
      Bạn phân quyền lại theo lệnh tổng vậy

      1. Thành 23 comment

        Đúng rồi bạn, dùng tar -xzvf tên_file, mình dùng 7zip để nén file dưới máy, nén dạng tar.gz thì khi giải nén là 777, còn nén dạng zip thì khi giải nén foder là 775, file là 664

        1. Việt Phương Moderator

          OK bạn, tưởng bạn dùng tar nén luôn. Vậy có thể 7zip tác động đến nội dung bên trong file nén

  27. Bình 12 comment

    Ad giúp em với.
    Hiện em vừa chuyển 1 website dùng wordpress từ 1 hệ thống cũ sử dụng apache (các version trong hệ thống này đều lỗi thời). Sau khi backup site và chuyển lên một hệ thống mới sử dụng hocvps scrip thì lỗi trắng trang.

    Em đã thử tắt plugin, tắt theme, mở file log ra xem nhưng vẫn k tìm được nguyên nhân.

    Ad hỗ trợ em với, đang gấp lắm ạ :((

    1. Việt Phương Moderator

      1. Lỗi trắng trang bạn kiểm tra php-fpm error log nhé. Và code bạn có phù hợp PHP mới không? Có thể bạn sẽ cần PHP5.6 hơn là PHP7+
      2. Bạn kiểm tra cả trang chủ và trang wp-admin đều cùng 1 tình trạng?
      3. Apache thì site bạn có cấu hình gì đặc biệt trong htaccess không?

      1. Bình 12 comment

        – php-fpm error có thể xem ở đâu Ad
        – mình vào trang chủ và các trang khác thì đều bị trắng trang cả. Riêng trang quản trị thì lỗi 404.
        – Htaccess thì không cấu hình gì cả Ad ơi. chỉ có cấu hình mặc định của bên Itheme security thôi. Mình đã thử tắt plugin và theme hết trong phpadmin những vẫn k khắc phục được.

        1. Việt Phương Moderator

          1. Log đặt trong /home/domain_chính/logs
          2. PHP hệ thống cũ là bn? PHP mới là bn?

          1. Bình 12 comment

            File Log mình thấy hiển thị 2 lỗi này thôi:
            PHP Warning: htmlentities() expects parameter 1 to be string, array given in /home/maikatourist.com/private_html/memcached/Library/Bootstrap.php on line 16

            PHP Notice: A non well formed numeric value encountered in /home/maikatourist.com/private_html/memcached/Library/Data/Analysis.php on line 75
            =============

            Php cũ là 5.6, còn bên này mình dùng hocvps scrips với php 7.1

          2. Việt Phương Moderator

            1. Không phải rồi. Bạn sẽ cần restart Nginx và PHP-FPM để nghiên cứu log phát sinh liên tục. Tập trung vào error log của các services này
            2. Bạn đã thử deploy trên VPS cài HocVPS sử dụng PHP5.6 chưa?

          3. Việt Phương Moderator

            Tức code của bạn có thể không phù hợp với PHP7+ mà phải là PHP5+
            Và việc lỗi site và wp-admin khác nhau nên bạn có thể disable theme/plugin và thử truy cập wp-admin thời điểm đó để test
            Thời điểm cài đặt HocVPS cho lựa chọn phiên bản PHP mà

          4. Bình 12 comment

            :~ để mình đăng ký dịch vụ của hocvps chuyển giúp :), code thì mình nghi không phải, do theme này mình mua trên themeforest, và cũng từng dựng trên php 7 cũng k vấn đề gì cả 🙁

          5. Việt Phương Moderator

            Bạn đã phân quyền webserver cho source code up lên chưa?

          6. Bình 12 comment

            mình hiện đang để phân quyên mặc định từ ban đầu, folder 775, file thì 664

          7. Bình 12 comment

            cái đó làm như thế nào vậy Ad, mình setup xong hocvps, rồi cài memcache thôi, sau đó là mình bk source với database qua thôi ah. Nên không biết cái đó ntn 🙁

          8. Việt Phương Moderator

            Noted. Các bạn chú ý iTheme Security có đổi đường dẫn thư mục content và đường dẫn này là đường dẫn tĩnh. Nên các bạn backup và restore cần đảm bảo thư mục đúng như thế

  28. Phước 2 comment

    Mình bị lỗi này khi cài đặt script thì khắc phục như nào ạ ?
    ” fi/usr/bin/install: /usr/bin/install: cannot execute binary file “

    1. Việt Phương Moderator

      1. Hệ thống bạn có phải CentOS không?
      2. Bạn có đang sử dụng user root hoặc user có quyền sudo không?

      1. Phước 2 comment

        Vâng mình dùng CentOS 7. Cài script với tài khoản root. Mình cài script hocvps nhiều lần rồi mà đây là lần đầu tiên gặp lỗi này.

  29. Tiến Trung 1 comment

    Vọc vạch mấy cái file conf của mấy cái domain thế nào mà giờ mình vào trang quản lý thông qua port admin không được nữa. Báo lỗi thế này:
    This site can’t be reached
    xx.xx.xx.xx refused to connect.
    ERR_CONNECTION_REFUSED
    Có cách nào sửa không nhỉ?

    1. Việt Phương Moderator

      Đơn giản nhất là bạn để mấy file conf về ban đầu. Không làm được thì bạn paste Nginx Conf của domain chính lên đây mình xem cho

  30. khanh 6 comment

    Sao cái này mình nén file để luu trữ web chạy giữa chừng nó cứ báo lỗi An unknown error occured. Nén lai bao nhieu lần cũng lỗi, Hồi xưa nén web lại bị thiếu file nữa chứ, bung ra là bị lỗi. Có cách nào khắc phục không bác

        1. Việt Phương Moderator

          Bạn chạy trên SSH mới phù hợp với dữ liệu lớn nhé. Bạn dùng hocvps menu hoặc lệnh thủ công

  31. sinhle 54 comment

    Chào ad,
    Cho mình hỏi có lệnh nào tự động khởi động lại vps khi tăng quá 120% cpu không ạ?
    Hiện vps mình hay bị vượt quá 140% cpu. làm không truy cập được vào web. mỗi lúc vậy mình phải vào khởi động lại vps trong my.vutrl ( đang dùng vutrl ).
    Mình nghĩ nếu có lệnh tự động khởi động lạnh vps khi cpu tăng lên 120% thì sẽ tiện lợi.
    Nhờ ad hỗ trợ.

    1. Việt Phương Moderator

      Không có bạn à, chỉ có nghiên cứu hệ thống và tự code thôi. Các tool theo dõi hệ thống theo thời gian thực cũng sinh ra để quan sát và cảnh báo vấn đề này chứ không có để tự hành động

  32. trung 1 comment

    Khi em ấn Clrt+c xong thì em không biết cách nào để vào lại. Chỉ giúp e với a

  33. Cóc Cần Lo 2 comment

    Admin cho em hỏi sao cài hocvps rồi cài multisite dạng sub-dir nó ko được vậy admin, mình thử cài trên cpanel thì bình thường.
    Cài trên HocVPS thì không vào được trang wp-admin của sub-dir, trang chủ sub-dir thì ra được, nhưng ko hiện giao diện (không có css, js)
    Admin giúp em với. Thank admin

    1. Việt Phương Moderator

      Sub-Dir hay Sub-Domain thì bạn đều phải cấu hình Nginx Webserver nhé. Không sửa thì không hoạt động bình thường. Thêm trong Nginx Conf của domain, block chứa web
      if (!-e $request_filename) {
      rewrite /wp-admin$ $scheme://$host$uri/ permanent;
      rewrite ^(/[^/]+)?(/wp-.*) $2 last;
      rewrite ^(/[^/]+)?(/.*\.php) $2 last;
      }

        1. Việt Phương Moderator

          Block nào có root thì là block chứa web nhé bạn. Bạn mở file đó ra đọc là hiểu

  34. Anh Le 15 comment

    Mình tạo database nó báo như thế này, mình vừa cài hocvps
    MariaDB chưa khởi động hoặc có thể bị lỗi không thể khởi động!!!
    Vui lòng kiểm tra lại
    trc đó thì mình reinstall vps và pass vps changed không biết có ảnh hưởng gì không ?

        1. Việt Phương Moderator

          MySQL đang không bật. Nếu VPS bạn mới cài đặt chưa thao tác gì, bạn cài lại cho đảm bảo.
          Còn nếu bạn đang sử dụng, thì bạn kiểm tra trạng thái MySQL cũng như log để xem bị tắt vì sao
          # systemctl status mysql -l
          # service mysql status
          # systemctl start mysql

          1. Anh Le 15 comment

            m cài lại vài lần r ko đc.
            Chạy lệnh 2: Redirecting to /bin/systemctl status mysql.service
            Unit mysql.service could not be found.
            chạy lệnh 3: Failed to start mysql.service: Unit not found.