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. Nam Duy 110 comment

    Mod ơi hnay web mình bị làm sao : 103.200.5.188 web: thiepyeu.com
    Tự dưng check nó k vào được CMD check vẫn conect , Mà vào web thì báo not found
    Restart các kiểu vẫn k vô đc
    Check http://network-tools.com thì ra thông tin: Không biết ở đâu ra cái này:
    103.200.5.188 is from Other (XX) in region Unclassified
    Input: 103.200.5.188
    canonical name: server10.hethongseovn.com
    Registered Domain: hethongseovn.com

    1. Việt Phương Moderator

      Bạn truy cập SSH VPS được chứ. Bạn check các service mysql, nginx, php-fpm xem?

        1. Việt Phương Moderator

          Done. Nginx không khởi động được do thiếu thư mục Logs của domain. Đã tạo và restart Nginx. Site hoạt động bình thường

  2. Nguyen Khanh Luong 9 comment

    Ad ơi, mình cài ssl xong load ngon rồi. Nhưng bây giờ vào port quản lý lại không được nữa. Nó cứ load mãi @@ Giúp mình khắc phục với

    1. Việt Phương Moderator

      Có thế bạn nhập sai quá nhiều bị ban 3 lần rồi. Khóa truy cập 1h. Bạn cho mình Nginx Conf doamin đó của bạn

      1. Nguyen Khanh Luong 9 comment

        Đúng rồi, toàn hỏi ad những cái basic @@. Cám ơn ad Phương, nhiệt tình quá. Mãi yêu. Hì hục 1 ngày giờ thì site mình nuột rồi.

  3. Nguyen Khanh Luong 9 comment

    Mình vừa cài xong bằng hocvps script rồi. Nhưng có một vấn đề là site cũ của mình dùng ssl với plugin Really simple ssl (wordpress). Giờ mình vào web theo ip/domain thì nó tự redirect sang https rồi lỗi time out. Admin giúp mình trường hợp này đc không?

        1. Việt Phương Moderator

          Thông thường, nhanh nhất là bạn đổi tên thư mục plugin đi 🙂 Cài xong đổi tên lại

    1. Việt Phương Moderator

      Lỗi như thế nào vậy bạn? Với HocVPS đổi sang giao thức HTTPS rồi bạn ơi, nên có thể với URL cũ bạn không auto redirect với curl được

  4. thịnh 5 comment

    Mình sử dụng script này để chạy code mightyscripts.com/downloads/adlinkfly-monetized-url-shortener nhưng ko dc, vào trang member và admin thì bình thường còn trang home – index lại bị lỗi, ko biết lý do gì nữa , vì thử cài trên hosting thì chạy bình thường

    1. Việt Phương Moderator

      Mình nghĩ do HocVPS dùng Nginx còn Hosting sử dụng Apache. Và thấy trong code có phần mod_rewrite module enabled. Có thể bạn cần phải rewrite lại URL phù hợp với rule Nginx. Code này có file nào quy định RewriteURL không?

      1. thịnh 5 comment

        File .htaccess trong folder root nó cấu hình thế này

        DirectoryIndex index.php

        RewriteEngine on
        RewriteRule ^$ webroot/ [L]
        RewriteRule (.*) webroot/$1 [L]

        File .htaccess trong folder webroot

        RewriteEngine On
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteRule ^ index.php [L]

        Mình chưa biết fix thế nào bác giúp với

        1. Việt Phương Moderator

          _Rule trên: Redirect toàn bộ truy vấn ban đầu về /webroot/. Tức domain.com về domain.com/webroot/ hay domain.com/abc.html về domain.com/webroot/abc.html
          _Rule dưới: Nếu không có file tồn tại như đường dẫn sẽ trả về index.php. Ví dụ domain.com/webroot/abc.html không tồn tại thì sẽ trả về domain.com/webroot/index.php.
          Bạn convert RewriteRule vào Nginx conf của domain rồi xóa 2 file .htaccess đi

      2. thịnh 5 comment

        Nhân tiện đây cho mình hỏi luôn : Mình có 2 vps , mỗi vps ram 1G và 1 cpu,
        . nếu dùng 1 vps chạy website có khác với dùng 2 vps,
        .vps 1 chay code và vps 2 chay database ,
        . vps mà up code nó có tốn ram và cpu xử ly sql ko ta

          1. thịnh 5 comment

            Cám ơn bạn nhiều nha, nhiệt tinh quá hi, nếu gạp ngpaif đời mời bác đi nhậu luôn hi

  5. cún 6 comment

    e cài hocpvs trên vps của Linode xong ko đăng nhập shh qua zoc7 nữa là sao ạ

    1. Việt Phương Moderator

      Bạn đổi sang đăng nhập port 2222 chưa? Đăng nhập thông báo gì vậy bạn

  6. Huynh Minh Chi 10 comment

    Ad ơi cho em hỏi, em cài xong hocvps rồi, giờ chuyển từ share host qua, data web em lên tới 400Mb, mà PHPMYADMIN nó cho import data tối đa có đc 200MB,nên giờ import nó báo lỗi mong ad giúp với.

    1. Việt Phương Moderator

      _Chỉnh upload_max_filesizepost_max_size tại file php.ini bạn nhé. Tìm php.ini bằng #php -i | grep php.ini. Thông thường nằm tại /etc/php.ini
      _Chỉnh client_max_body_size tại Nginx conf.

    2. Việt Phương Moderator

      Trường hợp database lớn bạn nên import bằng lệnh trong terminal hoặc sử dụng tool chuyên dụng (như BigDump) để tránh bị lỗi dữ liệu

  7. huy 4 comment

    Mọi người cho mình hỏi mình có dùng script học vps deploy wordpress lên VPS , tất cả đều ok nhưng khi mình dùng plugin duplicator để backup chuyển web về LOCALHOST sử dụng server APACHE để chỉnh sửa thì khi restore hoàn tất mình vào trang chủ thì chỉ nhận được trang thông báo “server ngix hoạt động bình thường” . Vậy mình phải chỉnh config ở đâu để localhost vẫn hiển thị bình thường .

      1. huy 4 comment

        mình biết nhưng lúc mình cài theme trên client mình vẫn dùng apache xong rồi dùng duplicator để đưa lên vps cài học vps bình thường mà . Nhưng lúc làm ngược lại từ VPS về localhost thì nó bị thế . Mình cũng đã thử bật server Nginx lên rồi nhưng nó cũng vẫn chỉ hiện thị cái trang báo hoạt động của Nginx thôi không vào đc trang chủ .

        1. Việt Phương Moderator

          Nếu thế tức bạn chỉ vác source web và database về? Còn file Vhost Nginx thì không dùng?

          1. huy 4 comment

            mình cũng chỉ dùng cái plugin duplicator backup rồi đưa về localhost restore lại thôi ^^!. Cũng ko biết file Vhost Nginx ở đâu nữa . Bạn có phần hướng dẫn nào không gửi giúp mình với , thanks bạn.

          2. Việt Phương Moderator

            À, bình thường backup mình dùng Rclone. Trường hợp bạn truy cập localhost hiện “server ngix hoạt động bình thường” chắc là nó đang cho xem 1 site index.html nào đó rồi. Bạn kiểm tra có trỏ đúng thư mục root web không?

  8. Thuần 1 comment

    Chào anh Luân, hình như quá trình backup database trên hocvps đã bị lỗi. Em backup toàn bộ dữ liệu của em bằng hocvps, tưởng chừng như thành công. Giờ cài lại vps mới thấy là backup lỗi. Mất hết dữ liệu. :3

    1. Việt Phương Moderator

      Haizzz. Sau bạn nên cài xong thì check lại xem quá trình backup trơn tru không. Chứ giờ cài lại rồi cũng không biết lỗi do đâu để sửa.
      VPS mới backup ok không bạn?

  9. null24h.net 9 comment

    chào ad
    Không biết tại sao tự dưng sáng này vô web ko được . http://null24h.net . kết nối bằng ssh không được . phải vào trực tiếp view console ở trong quản lý sever của my.vultr.com để kiểm tra sever. Thấy mọi thứ đều hoạt động bình thường. Mà không hiểu sao vào web không được. Ad giúp mình vụ này với

    1. Việt Phương Moderator

      Hiện tại site bình thường. Bạn kiểm tra access log hôm qua thấy vấn đề gì không?

  10. sinhle 71 comment

    chào ad,
    Dạo gần đây vps của mình có thông báo này
    Your Linode, has exceeded the notification threshold (10) for outbound traffic rate by averaging 13.30 Mb/s for the last 2 hours. The dashboard for this specific Linode is located at
    Không biết là bị lỗi gì nữa. Nhờ ad chỉ giúp cách fix. Cảm ơn

    1. Việt Phương Moderator

      Bộ cảnh báo của Linode thì phải. Khi có các trạng thái cao/thấp bất thường sẽ cảnh báo, giúp khách hàng tránh khi site bị die mà không biết. Mình tìm hiểu thì thấy các cảnh báo này nhiều mục không cần thiết lắm. Cụ thể thì Nó báo VPS bạn có mức traffic ra ngoài cao, tầm 13.30 Mb/s

      1. sinhle 71 comment

        Chài bạn, cái này có phải “lượt truy cập quá nhiều trên 1 giây không bạn?”nó vượt quá cấu hình gói vps phải không bạn nhỉ? Cho mình hỏi cái này có ảnh hưởng gì không hay phải nâng cấp vps gói cao hơn. Vps chỉ có vài trang tàn tàn thôi

        1. Việt Phương Moderator

          Không bạn à, outbound traffic không phải inbound traffic. Thường cứ đến ngưỡng là nó cảnh báo. Ở đây hình như 10MB/s là cảnh báo rồi

  11. khanh nguyen 13 comment

    Em mới cài lại vps bản hocvps mới 1.8 + memcache, web wordpress, thỉnh thoảng vào trang chủ bị trắng trang, f5 lại bình thường, không biết lỗi do đâu ạ?

    1. Việt Phương Moderator

      Bạn kiểm tra access log xem có vấn đề gì không? Cả log của webserver. Nhiều khi vấn đề cũng do đường truyền. Chứ hiện tại thông báo lỗi vậy không ra được vấn đề à 🙂

  12. Phát 52 comment

    Mình đã cài hoàn thành VPS theo chỉ dẫn của Luân. Cảm ơn Luân đã viết bài hướng dẫn rất tận tình!
    Cho mình hỏi là có cách nào để dùng FileZilla quản lý file không, có thể tạo tài khoản đăng nhập FTP được không Luân.
    Với mình dùng eXtplorer, mình muốn chia user theo dung lượng, băng thông theo website có được không Luân?

    1. Việt Phương Moderator

      1. Bạn muốn sử dụng FTP thì cần cài FTP Server trên VPS rồi sử dụng các trình FTP Client(như FileZilla) để đăng nhập. Còn nếu không cài FTP Server thì bạn đăng nhập sFTP(FTP qua cổng SSH) bằng FileZilla cũng được.
      2. eXtplorer chỉ giúp phân user theo thư mục. Bạn có thể set được dung lượng tối đa của 1 thư mục. Bạn nghiên cứu Disk Quotas CentOS nhé

        1. Việt Phương Moderator

          Bạn coi subdomain như 1 site riêng biệt? Bạn thêm website rồi nhập subdomain, coi nó như 1 website riêng biệt thôi. Tạo A record tên sub trên DNS Domain để trỏ về IP VPS

  13. Minh 1 comment

    Lỡ lúc cài gõ tên miền chính bằng telex giờ xem lại file script thấy domain chính bị sai tên rồi, cho mình hỏi có lệnh đổi tên domain chính và các nói liên quan ko? ko biết đổi tên trong mục home rối còn đổi ở đâu nữa ko. hixx

    1. Việt Phương Moderator

      Không tự đổi được đâu bạn à. Vì domain chính liên quan tới toàn bộ các cấu hình service, ví dụ mysql log, nginx log, cấu hình mysql…. nên biết sourcecode HocVPS mới biết cần sửa chỗ nào.
      Ngoài ra, Linux hỗ trợ tiếng Việt kém nên các thứ mục có kí tự đặc biệt sau sẽ khó truy suất các thư mục.

  14. Hoang 3 comment

    khi mình dùng ssl (https) cho website , có chỉnh trong file conf.d với nội dung bên dưới thì ko vào được phpmyadmin, bác giúp mình với

    server {
    listen 80;
    server_name anonyviet.com http://www.anonyviet.com;
    return 301 https://$server_name$request_uri;
    }

    server {
    listen 443 http2 ssl;
    server_name anonyviet.com http://www.anonyviet.com;
    keepalive_timeout 30;

    ssl on;
    ssl_certificate /etc/ssl/anonyviet_com.crt;
    ssl_certificate_key /etc/ssl/private/anonyviet.com.key;
    ssl_session_timeout 5m;
    ssl_session_cache shared:SSL:10m;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers “ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4”;
    ssl_prefer_server_ciphers on;
    add_header Strict-Transport-Security “max-age=31536000; includeSubdomains;”;
    ssl_stapling on;

        1. Việt Phương Moderator

          Nếu đây là Nginx Conf của site cài là main domain trong HocVPS thì bạn đã xóa mất phần cấu hình port quản lý HocVPs rồi nhé.
          Các tool đều không truy cập được. Bạn copy lại phần đó đi nhé. Như trong các bài hướng dẫn của HocVPS thì đó là
          server {
          listen 2313 ssl http2;
          ....}

  15. Kiệt 3 comment

    http://mirror.innosol.asia/remi/enterprise/6/remi/i386/repodata/06454f90a31fe981a11d93754f3cfe2b3255fd67f290e526324e8baf15fa08f0-primary.sqlite.bz2: [Errno 12] Timeout on http://mirror.innosol.asia/remi/enterprise/6/remi/i386/repodata/06454f90a31fe981a11d93754f3cfe2b3255fd67f290e526324e8baf15fa08f0-primary.sqlite.bz2: (28, ‘Operation too slow. Less than 1 bytes/sec transfered the last 30 seconds’)
    Lỗi này làm không chạy đc phpmyadmin thì phải làm sao AD

    1. Việt Phương Moderator

      Lỗi timeout do mạng thôi. Bạn thử lại xem. Mà thông báo này ở đâu vậy?

      1. Kiệt 3 comment

        Lỗi này xuất hiện lúc đang cài hocvps, chạy được 1 lúc khi nó đang tải cái primary-db gì gì đó… mình nghĩ là do timeout… mình đợi tới khuya cài lại thì ko sao cả… tks đã support ạ

  16. Dũng Nguyễn Tiến 9 comment

    Xin chỉ giúp mình cách để nginx cho phép tải file về theo dạng link
    http://abc.com/file_can_lay.zip
    Nhiều lúc mình cần lấy file backup về mà download qua filemanager tốc độ đã chậm mà lỗi tơi bời luôn(chắc do bảo mật quá cao!) hic 🙁

    1. Việt Phương Moderator

      Chỉ cần bạn cài xong Nginx Webserver là có thể truy cập cổng 80 HTTP mà. Hoặc đơn giản thì cài xong HocVPS.
      Khi đó, bạn đặt file trong thư mục web là down được.
      Ví dụ thư mục web là /home/domain.com/public_html thì bạn đặt file trong thư mục đó là được
      Đường dẫn file trên server /home/domain.com/public_html/A.zip
      Đường dẫn truy cập file domain.com/A.zip

      1. Dũng 9 comment

        Xin chỉ giúp mình cách lấy wget từ server qua server với,
        Mình lấy file bằng wget thì bị lỗi sau:

        wget http://thatt.com/thatt.com.tar.gz
        –2017-05-19 22:19:27– http://thatt.com/thatt.com.tar.gz
        Resolving thatt.com (thatt.com)… ::1, 127.0.0.1
        Connecting to thatt.com (thatt.com)|::1|:80… failed: Connection refused.
        Connecting to thatt.com (thatt.com)|127.0.0.1|:80… connected.
        HTTP request sent, awaiting response… 404 Not Found
        2017-05-19 22:19:27 ERROR 404: Not Found.

        (domain trên là tham khảo thôi nhe bạn, mình ko muốn show ra)

        mình làm như bạn thì download được (bằng trình duyệt), giờ mà phải upload source ngược lên lại qua server khác thiệt cũng tốn công quá hic.

        Rất cảm ơn bạn!

        1. Việt Phương Moderator

          Nếu domain ý download được bằng trình duyệt thì download đc bằng wget bạn à. Nếu đã báo 404 Not found tức truy cập từ trình duyệt cũng không được luôn

  17. Hieu 15 comment

    Xin chào, mình mới sử dụng VPS và mới cài đặt HocVPS Script
    Sau khi cài đặt xong thì tất cả các tool đều sử dụng ok. Ngoại trừ phpMyAdmin là mình không đăng nhập được. Mình đăng nhập dùng ID: admin Pass: theo như lúc cài đặt, và giống pass login các tool khác nhưng không được.
    Bạn chỉ mình với. Cảm ơn nhiều

      1. Hieu 15 comment

        ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (111)

          1. Hieu 15 comment

            Mình đã gửi thông tin qua email, bạn giúp mình với. Cảm ơn.

  18. tien léo 56 comment

    mình là 1 fan của hocvps, dùng hocvps web hoạt động rất tốt. admin cho hỏi thêm là khi nhập tên miền mình để http://www.domain.com thì hocvps tự động rediect non www về có www đúng không ak. và ngược lại?

    1. Việt Phương Moderator

      Uhm bạn. Khi bạn nhập http://www.domain thì HocVPS tự cấu hình redirect về non-www và ngược lại. Tên miền nhập sẽ được coi là root và phần còn lại redirect về.
      Nên thường các bạn nên nhập tên miền non-www

          1. tien léo 56 comment

            admin oi cho mình hỏi vps mình đã cái website gốc là non-www. giờ mình add thêm website thứ 2 và muốn để có www. thì mình làm ntn vậy! giúp mình với!

          2. Việt Phương Moderator

            Bạn nhập http://www.domain.com là ok mà? Hay ý bạn website 1 và website 2 đều là của domain A, chỉ khác 1 thằng non-www 1 thằng www?
            Dạng cùng domain nhưng khác content cho www và non-www?

          3. tien léo 56 comment

            Mình nhập http://www.domain.com ko đc bạn ak. Ý mình là mình có 1 vps và mình cái được 1 domain chính rồi là non-www. Giờ mình muốn add thêm 1 domain nữa vào vps đó với lệnh hocvps => 2=> nhập tên miền. Mình nhập http://www.domain.com nhưng ko được bạn ak. Bạn chỉ giúp mình được không?

          4. Việt Phương Moderator

            Bạn nhập domain 2 hiện thông báo gì vậy? Và domain 2 khác domain 1 chứ

          5. Việt Phương Moderator

            Bạn refresh lại xem. Hoặc bạn đang đăng nhập Filemanager bằng account giới hạn quyền truy cập thư mục. Bạn check trên terminal là thấy thư mục
            ls -al /home/

          6. tien léo 56 comment

            vậy là mình muốn thêm một website khác vào vps thì chỉ cần làm như lệnh : hocvps=>2=>www.domain.com. Là ok ak ban??

          7. Việt Phương Moderator

            Uhm. Nhớ trỏ domain về IP VPS nhé.
            Tuy vậy, mình vẫn khuyến khích các bạn sử dụng site non-www hơn là www 🙂

          8. tien léo 56 comment

            để www bị làm sao thế bạn. Có ảnh hưởng gì đến SEO ko hay là ko tương thích vs hocvps hả bạn!

          9. Việt Phương Moderator

            Về SEO thì không khác biệt(đã search GG). Còn cấu hình thì các bạn sẽ cần chú ý lúc sửa Nginx Conf (do cấu hình hướng dẫn của HocVPS toàn là www redirect về non-www còn non-www giữ nguyên). Bản thân mình cũng chỉ coi www như 1 subdomain record, ngang hàng như các sub domain khác nên mình sẽ cấu hình non-www cho dễ config

  19. Khoản 8 comment

    Mình cũng tính dùng học hocvps xem thế nào… Cơ mà sau khi cài xong thì mình không thể vào SSH nữa…. Dù đã custom port là 2222 rồi? Mình dùng cloud google… Mình cảm ơn…

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

  20. Trung Huỳnh 12 comment

    Bác nào biết cấu hình multisite wordpress dạng subdomain cho hocvps ko nhỉ?

    1. Việt Phương Moderator

      Site bạn có sử dụng SSL ? Nếu có thì SSL miễn phí hay thu phí. Bạn muốn SSL cho toàn hệ thống main site và subdomain?

      1. Trung Huỳnh 12 comment

        Hiện tại thì chưa sử dụng ssl, nếu đc thì sài let encrypt free cho toàn bộ luôn.
        Cái này chắc là phải thủ công cho từng subdomain rồi nhỉ? free đâu hổ trợ wildcard.

        1. Việt Phương Moderator

          Đúng bạn. SSL Let’s Encrypt không hỗ trợ wildcard. Bạn tạo cert thì tạo cert tổng, sau thêm subdomain cũng update vào cert tổng chứ không tạo cert mới nhé
          Tức 1 cert domain.com chứa cho cả domain.com www.domain.com abc.domain.com def.domain.com
          Về sửa Nginx bạn sửa thành thêm wildcard *. trước domain phần server_name là ok. Cấu hình redirect theo server_name

          1. Trung Huỳnh 12 comment

            M thử với cả ssl và ko có ssl đều thất bại, vào link sub.domain.com nó chuyển về domain.com

          2. Việt Phương Moderator

            1. Bạn tạo record cho subdomain trỏ về IP VPS chưa?
            2. Nếu không SSL thì mình thấy không cần sửa gì cả. WP sẽ tự redirect đúng cho bạn

          3. Trung Huỳnh 12 comment

            rồi b, m thử cả sub domain thủ công và wildcard, cả 2 cách đều ko được

  21. Nguyễn Hữu Thắng 5 comment

    Hocvps script mới update à cậu?
    Giờ cài trên CentOS 6.8 64bit lỗi path tùm lùm, trước có lỗi gì đâu, huhu :'(

    Fatal error: require_once(): Failed opening required ‘/home/domain.com/public_html/xxxxxxxx

    1. Luân Trần Admin

      Bạn vào sFTP xóa thư mục đi, xóa cả file cấu hình .conf ở /etc/nginx/conf.d/ rồi restart lại Nginx là ok.

    1. Luân Trần Admin

      Ở dòng listen 80 default_server; bạn chuyển default_server lên block trên để nginx tự redirect là được. Toàn bộ request không trùng server_name sẽ do default_server xử lý.

      1. Hà Minh Giáp 9 comment

        OK, Thanks!

        HocVPS Script nên update cái này vào script để bảo mật tốt hơn.

  22. hack like 1 comment

    Mình đang sử dụng HocVPS Script để chạy cho website mình có server Vurtl tại singapore, tuy nhiên tốc độ load của site rất chậm, rất mong admin có thể hướng dẫn giúp mình cách tối ưu vps nào hiệu quả nhất được không ạ ?.

    1. Luân Trần Admin

      Chậm do nhiều nguyên nhân bạn ơi, có thể do sự cố cáp quang, cái này thì admin không fix được.

  23. Cong Minh Vuong 22 comment

    Cho em hỏi không liên quan đến bài này là xài VPS nên xài Virtual Machine Mode nào ạ. Paravirtualization hay Full-virtualization cho hiệu năng tốt nhất ạ.

  24. Chi Vu Dinh 25 comment

    E có thắc mắc là nếu mình cài ssl trên 1 vps này rồi, giờ muốn đổi vps cho domain đó thì lại phải cài lại từ đầu như này à a? có cách nào đơn giản hơn k ạ . e cảm ơn a.

    1. Luân Trần Admin

      Phải làm thủ công thôi, có thể down up mấy file cấu hình bằng sFTP cũng không tốn nhiều thời gian đâu.

  25. Cong Minh Vuong 22 comment

    Admin ơi. Em cấu hình với Cloudflare thì bị lỗi không vô được port HocVPS Admin để cấu hình ạ. Em làm như sau ạ.
    CentOS7->HocVPS->let’s encrypt (theo huong dan cua HocVPS)->SSL Cloudflare Full (strict) thì Website OK hết nhưng HocVPS Admin thì em vào nó cứ quay hoài không load được ạ.

    1. Việt Phương Moderator

      Bạn sử dụng CF Pro thiết lập SSL Full Strict với Let’ Encrypt? Do HocVPS Admin sử dụng redirect 497 nên mình nghĩ không tương thích đâu. Nếu bạn vẫn muốn thì có thể không thiết lập SSL ở HocVPS Admin, bên port này cũng được bảo mật cũng như dữ liệu trao đổi chỉ có bạn với server

  26. Vũ Bảo Dương 13 comment

    Mình đã cài đặt xong hocvps cho mình hỏi với.
    1. Giờ muốn truy cập vào ssh thì làm thế nào?
    2. Mình truy cập theo địa chỉ http://ipaddress:port đều không truy cập được

    Cài đặt xong hocvps thông báo thành công. Chỉ giúp mình với!

    1. Việt Phương Moderator

      1. Truy cập SSH thì bạn dùng các trình SSH để truy cập, như ZOC được giới thiệu trong bài hay Bitvise. Truy cập với port 2222
      2. Bạn thay đổi IP và Port theo thực tế chưa? Port là port bạn nhập lúc cài đặt nhé.

      1. Vũ Bảo Dương 13 comment

        1. câu hỏi số 1 mình dùng lệnh này: ssh -p 2222 root@ipaddress thì không thể truy cập được.
        2. tất cả các đường dẫn để truy cập vào file manager, phpmyadmin, serverinfo mình cũng không thể truy cập vào được.
        3. Mình đang dùng Centos 7 trên vultr.
        Bạn giúp mình với!

          1. Việt Phương Moderator

            Noted cho mọi người: một só mạng cá nhân/công ty chặn truy cập theo port lạ (tức các port ngoài SSH-22, HTTP-80, HTTPS-443…) nên các bạn sẽ không truy cập được HocVPS Quản Lý hay VPS. Các bạn liên hệ IT hệ thống để mở chặn hoặc truy cập khu vực khác.

  27. Nguyen Anh Ha 2 comment

    ad cho mình hỏi là dùng hocscrip trước vào phpmyadmin ko sao lần này vào toàn bị báo 403 Forbidden là sao , cảm ơn bạn

    1. Việt Phương Moderator

      Gần đây bạn có thay đổi gì cấu hình Nginx của domain chính không? Ví dụ như cài đặt SSL ?

    1. Việt Phương Moderator

      Do toàn bộ là giao diện dòng lệnh, video thì cũng chỉ là nhập lệnh nên video hướng dẫn không giúp ích hơn trong vấn đề này bạn à.
      Giao diện dòng lệnh và không gồm các thao tác chuột/lựa chọn đâu bạn à.
      Bạn thắc mắc vấn đề gì cứ thoải mái comment hỏi tại đây mọi người sẽ giúp đỡ

  28. Alex 4 comment

    Cảm ơn bạn, 1 script rất hay, nhưng mà mình đang gặp phải vấn đề khi sử dụng script này khi chọn menu 14 (phân quyền). Cụ thể là mình dùng trên amazon, image centos 7, mình đã cài đặt xong, nhưng khi mình chọn menu 14 (phân quyền) thì phân quyền của thư mục /home/centos, do đó khi login ssh không được, mình đã phải phân quyền lại cho thư mục này về quyền với username centos mới login được (lỗi Permission denied (publickey,gssapi-keyex,gssapi-with-mic). Không biết có cách nào khắc phục vấn đề này không? xin cảm ơn 🙂

    1. Việt Phương Moderator

      Cám ơn bạn đã feedback. Vấn đề này gặp phải ở các VPS deploy không cấp user root mà tạo 1 user khác ngang quyền root.
      Mình sẽ update fix vào phiên bản tiếp theo của HocVPS. Hiện tại bạn xóa dòng chown nginx:nginx /home/* trong menu Phân Quyền Webserver là ok.
      Sửa file: nano /etc/hocvps/menu/phan-quyen-webserver

      1. Alex 4 comment

        Cảm ơn bạn, hiện tại mình vẫn đang phân quyền thủ công cho thư mục của user đó. Hy vọng bạn sẽ fix lại phần này ở những phiên bản tiếp theo.

  29. sinhle 71 comment

    Cho mình hỏi về vấn đề Domain và vps. Hiện tại mình trỏ domain về vps theo cách :
    B1: vào trang quản lí domain và đổi Name Server thành Name Server của Cloudflare.
    B2: Vào Cloudflare DNS điền IP của VPS vậy là domain và VPS kết nối với nhau.
    Bây giờ mình không muốn dùng Cloudflare nữa ( vì Cloudflare làm chậm web đi đáng kể ).
    Vậy làm cách nào để mình lấy Name Server điền vào phần quản lí domain ? và khi có Name Server “nào đó” rồi mình cấu hình DNS IP trên trang quản lý domain luôn phải không nhỉ?
    Cảm ơn.

    1. Việt Phương Moderator

      Nếu bạn không muốn sử dụng trung gian, bạn sử dụng default name server(của nhà cung cấp). Khi đó DNS điền trỏ thẳng về IP VPS

      1. sinhle 71 comment

        Cảm ơn bạn, mình hiện dùng vps của lincode. Có vào phần quản lý vps trên trang lincode nhưng không thấy thông tin NS. Bạn có thông tin về bên này không cho mình với.
        Thanks

        1. Việt Phương Moderator

          Không, nếu theo ý mình thì bạn vào bên quản lý domain chứ không phải bên quản lý VPS. Bạn vào bên quản lý domain chỉnh DNS trỏ về ip VPS. Chứ nếu bạn dùng Nameserver của Linode thì cũng là dùng trung gian như bạn dùng Cloudfare thôi

  30. Pham Thanh Phu 9 comment

    Anh Luân cho em hỏi, khi cài vps như script thì nó chạy web bình thường.
    Chạy plugin Yoast SEO thì nó báo là “Your server has an outdated version of the PHP module cURL (Version: 7.19.7). Please ask your hosting company to update this to a recent version of cURL. You can read more about that in our Knowledge base.”
    Mình có nâng cấp cURL này được ko ạ.
    Tks anh

    1. Việt Phương Moderator

      Phiên bản Curl thay đổi theo OS, cụ thể CentOS 6 là 7.19
      curl 7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.27.1 zlib/1.2.3 libidn/1.18 libssh2/1.4.2
      Protocols: tftp ftp telnet dict ldap ldaps http file https ftps scp sftp
      Features: GSS-Negotiate IDN IPv6 Largefile NTLM SSL libz

      CentOS 7 là 7.29
      curl 7.29.0 (x86_64-redhat-linux-gnu) libcurl/7.29.0 NSS/3.21 Basic ECC zlib/1.2.7 libidn/1.28 libssh2/1.4.3
      Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtsp scp sftp smtp smtps telnet tftp
      Features: AsynchDNS GSS-Negotiate IDN IPv6 Largefile NTLM NTLM_WB SSL libz unix-sockets

      Mình tìm hiểu thì thông báo ý của Yoast SEO Premium? Và hình như chỉ là thông báo không ảnh hưởng đến việc sử dụng.
      Để update curl bạn cần sử dụng thư viện bên ngoài:
      # rpm -Uvh http://www.city-fan.org/ftp/contrib/yum-repo/city-fan.org-release-1-12.rhel6.noarch.rpm
      # yum install libcurl

      Kết quả bạn được curl 7.53.1 nhé

    1. Việt Phương Moderator

      Bạn reload lại xem. Xóa trên exTplorer thỉnh thoảng bị lỗi ý. Hoặc bạn xóa bằng lệnh trên SSH ý rm -r

      1. sinhle 71 comment

        mình có xóa toàn bộ dữ liệu trong thư mục theo domain “rm /home/chiasecongnghe.com/public_html” . Nhưng nó không hoạt động.
        đoạn mã này đúng chưa bạn nhỉ?
        Cảm ơn.

        1. Việt Phương Moderator

          Để xóa toàn bộ nội dung bên trong thư mục, bạn thêm tùy chọn rf. Cụ thể rm -rf. Nếu bạn xóa website thì bạn nên xóa bằng menu của HocVPS nhé, để đảm bảo xóa cả data và webserver conf

  31. Hải 1 comment

    Chào bạn,
    Bạn cho mình hỏi là mình có cài đặt hocvps script + varnish cache. Các domain khác hoạt động bình thường. Riêng domain chính, đôi khi bị lỗi 403 forbidden nginx, đôi lúc lại nhận giao diện moblie ở trang chủ (các pages khác không bị), một lúc sau lại vào được bình thường.
    Bạn chỉ mình cách khắc phục với.
    Cảm ơn bạn!

    1. Việt Phương Moderator

      Bạn kiểm tra Nginx log thời điểm đó xem như thế nào. Hiện tại mình chưa gặp lỗi này rồi