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

    Bác Luân Trần cho mình hỏi chút

    có 1 số IP + domain get (HTTP/1.0) URI content của mình useragent là WordPress
    mình đã chặn bằng CF firewall, chặn ref domain, IP, cả trên cloudflare nhưng content của mình vẫn bị get về đều

    Có cách nào chặn nó ko vậy 🙁

  2. anh 1 comment

    Chào admin ! khi cài hocvps mình thêm domain chính là abc.com ( thay cho ip ) giờ mình ko muốn chạy domain này mà mình cần tạo 1 domain root.com thành domain chính ngang hàng với ip thì làm sao . Cần chỉ giúp

    1. Luân Trần Admin

      Bạn mở file sau để điều chỉnh lại domain, đoạn server_name nha:
      /etc/nginx/conf.d/abc.com.conf

      Restart Nginx là ok.

  3. Nguyên Hào 22 comment

    Luân cho mình hỏi , mình xài HocVps , chạy tầm 1-2 ngày nó lại bị tình trạng mất RAM , VPS ram mình 8GB , chạy 1 hồi còn lại 3-4Gb , reboot lại nó lại đầy , chạy 1 hồi nó lại mất tiếp , reboot lại nó lại đầy lại . khó hiểu thật , Luân có biết lý do tại sao hok ?

    Ảnh demo : http://4.bp.blogspot.com/-cG0pL6CG9T4/V-81ZjFw26I/AAAAAAAAOPY/_16fvEShUEMjZCQuGT8EJl7rHkGtn_VAQCK4B/s1600/mat%2Bram.png

  4. Tân 7 comment

    Anh hướng dẫn em thay đổi font trong WP-Admin với anh, font chữ trong đó gõ tiếng việt cứ bị lỗi, em tìm hoài mà không biết chổ đổi font của wordpress admin ở chổ nào cả ?

  5. Tân 7 comment

    Anh ơi cho em hỏi, sao em cài hocvps script thì khi upload mã nguồn wordpress lên các thư mục đều bị chmod 775 hết anh, có cách nào chỉnh về 755 cho thư mục và 644 cho file không anh ? Em làm thủ công mất hơn cả tiếng luôn rồi :3

  6. dũng 119 comment

    Luân cho mình hỏi mình muốn cài VPS theo Apache ,MySQL thì làm theo cách nào
    mình cài Nginx chạy ok nhưng có 1 số code cũ ko chạy được toàn bị lỗi
    Mình muốn cài theo thông số như này
    http://i.imgur.com/XGf2wyL.png
    ko cần driect admin nhé

      1. dũng 119 comment

        mình dùng 3 tool này :
        http://www.anilcetin.com
        http://labs.gidix.de/nginx/
        https://winginx.com/en/htaccess
        Conver từ .htaccess sang Nginx mà lần nào cũng bị lỗi ko load nổi trang luôn
        dưới dây là file : .htaccess của mình

        RewriteEngine On
        RewriteBase /

        RewriteCond %{HTTP_HOST} !^www.domian.com$ [NC]
        RewriteRule ^(.*)$ http://www.domian.com/$1 [L,R=301]

        ErrorDocument 404 /404.html
        rewriterule ^404.html 404.htm [L]

        RewriteCond %{REQUEST_FILENAME} !-f

        RewriteCond %{REQUEST_FILENAME} !-d

        RewriteRule index.php [L]

        rewriterule ^index.html index.php [nc]
        rewriterule ^admin/$ admin/index.php [nc]
        rewriterule ^en/$ index.php?nn=en [nc]

        rewriterule ^page([0-9]+).html index.php?page=$1 [nc]

        rewriterule ^xulidangnhap.html xulidangnhap.php [nc]
        rewriterule ^([a-zA-Z0-9-]+).rss$ rssnoidung.php?alias=$1 [nc]
        rewriterule ^sitemap.xml$ home/sitemap/sitemapxml.php [nc]
        rewriterule ^sitemap.html$ index.php?mucluc=sitemap [nc]
        rewriterule ^lien-he.html$ index.php?mucluc=lienhe [nc]
        rewriterule ^rss$ index.php?mucluc=rss [nc]
        rewriterule ^feed.rss$ rssnoidung.php [nc]
        rewriterule ^upnhieuanh.html$ xuli/upanh/nhieuanhxuli.php [nc]
        rewriterule ^upmotanh.html$ xuli/upanh/motanhxuli.php [nc]
        rewriterule ^([a-zA-Z]+)-([a-zA-Z0-9-%,]+)-([0-9]+)x([0-9]+).([a-zA-Z0-9]+)$ xuli/timthumb.php?src=hinhanh/$1/$2.$5&w=$3&h=$4 [nc]
        rewriterule ^([a-zA-Z]+)-([a-zA-Z0-9-%,]+)-w([0-9]+).([a-zA-Z0-9]+)$ xuli/timthumb.php?src=hinhanh/$1/$2.$4&w=$3 [nc]
        rewriterule ^([a-zA-Z]+)-([a-zA-Z0-9-%,]+)-h([0-9]+).([a-zA-Z0-9]+)$ xuli/timthumb.php?src=hinhanh/$1/$2.$4&h=$3 [nc]

        rewriterule ^hinhanh/([a-zA-Z]+)/([a-zA-Z0-9-%,+_]+).([a-zA-Z0-9]+)&w=([a-zA-Z0-9]+)&h=([a-zA-Z0-9]+)$ xuli/timthumb.php?src=hinhanh/$1/$2.$3&w=$4&h=$5 [nc]
        rewriterule ^thongbao.html$ index.php?mucluc=thongbao [nc]
        rewriterule ^giohang.html$ index.php?mucluc=giohang [nc]
        rewriterule ^gio-hang-thong-tin-khach.html$ index.php?mucluc=thanhtoan&temp=khachhang [nc]
        rewriterule ^gio-hang-thanh-toan.html$ index.php?mucluc=thanhtoan&temp=giohang_right [nc]
        rewriterule ^dangky.html$ index.php?mucluc=dangky [nc]
        rewriterule ^dang-ky-doanh-nghiep.html$ index.php?mucluc=dangkygianhang [nc]
        rewriterule ^dangnhap.html$ index.php?mucluc=dangnhap [nc]
        rewriterule ^canhan.html$ index.php?mucluc=canhan [nc]
        rewriterule ^doimatkhau.html$ index.php?mucluc=doimatkhau [nc]
        rewriterule ^doiemail.html$ index.php?mucluc=doiemail [nc]
        rewriterule ^quenmatkhau.html$ index.php?mucluc=quenmatkhau [nc]
        rewriterule ^laylaimaikhau_([a-zA-Z0-9-]+)_([a-zA-Z0-9]+).html index.php?mucluc=laylaimatkhau&user_username=$1&user_code=$2 [nc]
        #rewriterule ^([a-zA-Z0-9]+)__([a-zA-Z0-9]+).html index.php?mucluc=kichhoattaikhoan&user_username=$1&user_code=$2 [nc]

        rewriterule ^([0-9]+)__([a-zA-Z0-9]+).html index.php?mucluc=kichhoattaikhoan&user_id=$1&user_random=$2 [nc]

        rewriterule ^register.html dangky.html [L,R=301]
        rewriterule ^mienphivanchuyen.html$ mienphivanchuyen.php [nc]
        rewriterule ^mienphigiaohang.html$ mienphigiaohang.php [nc]
        rewriterule ^thanhtoandambao.html$ thanhtoandambao.php [nc]
        rewriterule ^donhang.html$ index.php?mucluc=donhang [nc]
        rewriterule ^thongtintaikhoan.html$ index.php?mucluc=thongtintaikhoan [nc]
        rewriterule ^thaydoithongtintaikhoan.html$ index.php?mucluc=thaydoithongtintaikhoan [nc]

        rewriterule ^doidiemlayqua.html$ index.php?mucluc=doidiemlayqua [nc]

        rewriterule ^sodiachi.html$ index.php?mucluc=sodiachi [nc]
        rewriterule ^sanphambinhluan.html$ index.php?mucluc=sanphambinhluan [nc]
        rewriterule ^tintucbinhluan.html$ index.php?mucluc=tintucbinhluan [nc]
        rewriterule ^donhang_([0-9]+).html$ index.php?mucluc=chitietdonhang&id=$1 [nc]
        rewriterule ^donhang_xoa([0-9]+).html index.php?mucluc=donhang&giohangid=$1 [nc]
        rewriterule ^donhang_xoa([0-9]+)/page([0-9]+).html index.php?mucluc=donhang&giohangid=$1&page=$2 [nc]
        rewriterule ^donhang/page([0-9]+).html$ index.php?mucluc=donhang&page=$1 [nc]

        rewriterule ^donhangchoxuli.html$ index.php?mucluc=thongtinhienthi&tem=donhangchoxuli&cid=366 [nc]
        rewriterule ^donhangchoxuli/page([0-9]+).html$ index.php?mucluc=thongtinhienthi&tem=donhangchoxuli&cid=366&page=$1 [nc]

        rewriterule ^donhangdangxuli.html$ index.php?mucluc=thongtinhienthi&tem=donhangdangxuli&cid=366 [nc]
        rewriterule ^donhangdangxuli/page([0-9]+).html$ index.php?mucluc=thongtinhienthi&tem=donhangdangxuli&cid=366&page=$1 [nc]

        rewriterule ^tongtiendathanhtoan.html$ index.php?mucluc=thongtinhienthi&tem=tongtiendathanhtoan&cid=366 [nc]
        rewriterule ^tongtiendathanhtoan/page([0-9]+).html$ index.php?mucluc=thongtinhienthi&tem=tongtiendathanhtoan&cid=366&page=$1 [nc]

        rewriterule ^tongtienconno.html$ index.php?mucluc=thongtinhienthi&tem=tongtienconno&cid=366 [nc]
        rewriterule ^tongtienconno/page([0-9]+).html$ index.php?mucluc=thongtinhienthi&tem=tongtienconno&cid=366&page=$1 [nc]

        rewriterule ^donhangthanhcong.html$ index.php?mucluc=thongtinhienthi&tem=donhangthanhcong&cid=367 [nc]
        rewriterule ^donhangthanhcong/page([0-9]+).html$ index.php?mucluc=thongtinhienthi&tem=donhangthanhcong&cid=367&page=$1 [nc]

        rewriterule ^donhangkhongthanhcong.html$ index.php?mucluc=thongtinhienthi&tem=donhangkhongthanhcong&cid=368 [nc]
        rewriterule ^donhangkhongthanhcong/page([0-9]+).html$ index.php?mucluc=thongtinhienthi&tem=donhangkhongthanhcong&cid=368&page=$1 [nc]

        rewriterule ^donhangdltralai.html$ index.php?mucluc=thongtinhienthi&tem=donhangdltralai&cid=366 [nc]
        rewriterule ^donhangdltralai/page([0-9]+).html$ index.php?mucluc=thongtinhienthi&tem=donhangdltralai&cid=366&page=$1 [nc]

        rewriterule ^xemdonhangchoxuli___([0-9]+).html$ index.php?mucluc=thongtinaddedit&tem=xemdonhangchoxuli&chuyenmuc=tbgiohangdaily&pid=162&id=$1&buoc=1&trangthai=0 [nc]

        rewriterule ^thanhtoandonhang___([0-9]+).html$ index.php?mucluc=thongtinaddedit&tem=thanhtoandonhang&chuyenmuc=tbgiohangdaily&pid=162&id=$1&buoc=2&trangthai=0 [nc]

        rewriterule ^xemdonhangthanhcong___([0-9]+).html$ index.php?mucluc=thongtinaddedit&tem=xemdonhangchoxuli&chuyenmuc=tbgiohangdaily&pid=162&id=$1&buoc=1&trangthai=1 [nc]
        rewriterule ^xemdonhangkhongthanhcong___([0-9]+).html$ index.php?mucluc=thongtinaddedit&tem=xemdonhangchoxuli&chuyenmuc=tbgi

        rewriterule ^tiepnhanxulidonhang_([0-9]+).html$ xulipost.php?mucluc=tiepnhandonhang&id=$1 [nc]

        rewriterule ^inhoadon_([0-9]+).html$ home/inhoadon/inhoadon.php?id=$1 [nc]

        rewriterule ^hangdanhap.html$ index.php?mucluc=thongtinhienthi&tem=hangdanhap&cid=366 [nc]
        rewriterule ^hangdanhap/page([0-9]+).html$ index.php?mucluc=thongtinhienthi&tem=hangdanhap&cid=366&page=$1 [nc]

        rewriterule ^hangchomuon.html$ index.php?mucluc=thongtinhienthi&tem=hangchomuon&cid=366 [nc]
        rewriterule ^hangchomuon/page([0-9]+).html$ index.php?mucluc=thongtinhienthi&tem=hangchomuon&cid=366&page=$1 [nc]

        rewriterule ^lichsugiaodich.html$ index.php?mucluc=thongtinhienthi&tem=lichsugiaodich&cid=366 [nc]
        rewriterule ^lichsugiaodich/page([0-9]+).html$ index.php?mucluc=thongtinhienthi&tem=lichsugiaodich&cid=366&page=$1 [nc]

        rewriterule ^timkiemhoadon.html$ index.php?mucluc=thongtinhienthi&tem=timkiemhoadon&cid=366 [nc]

        rewriterule ^trangcanhan.html$ index.php?mucluc=trangcanhan&tem=trangcanhan&cid=366 [nc]
        rewriterule ^trangcanhan/page([0-9]+).html$ index.php?mucluc=trangcanhan&tem=trangcanhan&cid=366&page=$1 [nc]

        rewriterule ^tin-tuc.html index.php?mucluc=tintuc [nc]

        rewriterule ^hoi-dap.html index.php?mucluc=hoidap [nc]
        rewriterule ^hoi-dap/page([0-9]+).html$ index.php?mucluc=hoidap&page=$1 [nc]
        rewriterule ^dat-cau-hoi.html index.php?mucluc=datcauhoi [nc]
        rewriterule ^hoi-dap/([a-zA-Z0-9-]+)/$ index.php?mucluc=hoidap&user=danhsach&aliasuser=$1 [nc]

        rewriterule ^san-pham-da-xem.html$ index.php?mucluc=sanphamxem [nc]
        rewriterule ^khuyen-mai.html$ index.php?mucluc=khuyenmai [nc]
        rewriterule ^khuyen-mai/page([0-9]+).html$ index.php?mucluc=khuyenmai&page=$1 [nc]

        rewriterule ^ppmobile.html$ index.php?pb=deban [nc]
        rewriterule ^sanpham.html index.php?mucluc=dmsanpham [nc]
        rewriterule ^sanpham/page([0-9]+).html index.php?mucluc=dmsanpham&page=$1 [nc]

        rewriterule ^logout.html$ logout.php [nc]
        rewriterule ^user_([a-zA-Z0-9_.-]+).html$ index.php?mucluc=taikhoan&taikhoan=$1 [nc]
        rewriterule ^thuvienanh.html index.php?mucluc=thuvienanh [nc]

        rewriterule ^([a-zA-Z0-9-]+).html$ index.php?mucluc=loaitinsanpham&alias=$1 [nc]
        rewriterule ^([a-zA-Z0-9-]+)/page([0-9]+).html$ index.php?mucluc=loaitinsanpham&alias=$1&page=$2 [nc]

        rewriterule ^([a-zA-Z0-9-]+)$ index.php?mucluc=gianhang&useralias=$1 [nc]
        rewriterule ^([a-zA-Z0-9-]+)/page([0-9]+)$ index.php?mucluc=gianhang&useralias=$1&page=$2 [nc]
        rewriterule ^([a-zA-Z0-9-]+)/([a-zA-Z0-9-]+)$ index.php?mucluc=gianhang&useralias=$1&alias=$2 [nc]
        rewriterule ^([a-zA-Z0-9-]+)/([a-zA-Z0-9-]+)/page([0-9]+)$ index.php?mucluc=gianhang&useralias=$1&alias=$2&page=$3 [nc]

        rewriterule ^tag/([a-zA-Z0-9-]+).html$ index.php?mucluc=search&searchvalue=$1 [nc]
        rewriterule ^tag/([a-zA-Z0-9-]+)/page([0-9]+).html$ index.php?mucluc=search&searchvalue=$1&page=$2 [nc]
        rewriterule ^search/([a-zA-Z0-9-]+).html$ index.php?mucluc=search&searchvalue=$1 [nc]
        rewriterule ^search/([a-zA-Z0-9-]+)/page([0-9]+).html$ index.php?mucluc=search&searchvalue=$1&page=$2 [nc]
        rewriterule ^search/([a-zA-Z0-9-]+)/([a-zA-Z0-9-]+).html$ index.php?mucluc=search&loaitin_alias=$1&searchvalue=$2 [nc]
        rewriterule ^search/([a-zA-Z0-9-]+)/([a-zA-Z0-9-]+)/page([0-9]+).html$ index.php?mucluc=search&loaitin_alias=$1&searchvalue=$2&page=$3 [nc]

        rewriterule ^guimaitoibanbe_([0-9]+).html guimailtoibanbe.php?raovat_id=$1 [nc]

        1. Luân Trần Admin

          Tool convert không chuẩn được 100% đâu, bạn phải kiểm tra lại sau khi convert chứ.

          1. dũng 119 comment

            bác giúp mình dc ko 🙁
            bác dùng tool kia conver xong kiểm tra xem nó có lỗi gì ko

  7. Dung 30 comment

    Bác Luân cho em hỏi sau 1 tim chạy site thì em xem trong file log nginx có cái lỗi này :”failed (24: Too many open files)
    “. Cái này phải sửa như nào bác. 🙁

    1. Luân Trần Admin

      Bạn có tên file cụ thể không? Vấn đề này hình như có ai đó gặp phải do dùng quá nhiều subdomain trên server, lên đến vài trăm cái.

    1. Luân Trần Admin

      Ko được thì viết cái thông báo lỗi ra đây. Nói vậy thì khỏi cần support nữa nhé :)))

  8. Dung Nguyen 6 comment

    Em chạy câu lệch thì nó hiện như vậy, quá trình không tiếp tục được :

    [root@dungnguyenvps1 ~]# yum -y install wget && wget https://hocvps.com/install && bash install
    Loaded plugins: fastestmirror
    Loading mirror speeds from cached hostfile
    * base: mirror.n5tech.com
    * extras: centos.mirror.ndchost.com
    * updates: mirror.keystealth.org
    base | 1.1 kB 00:00
    extras | 2.1 kB 00:00
    updates | 1.9 kB 00:00
    Setting up Install Process
    Package wget-1.11.4-3.el5_8.2.i386 already installed and latest version
    Nothing to do
    –2016-09-25 23:09:30– https://hocvps.com/install
    Resolving hocvps.com… 107.191.52.55
    Connecting to hocvps.com|107.191.52.55|:80… connected.
    HTTP request sent, awaiting response… 200 OK
    Length: 1024 (1.0K) [application/octet-stream]
    Saving to: `install’

    100%[======================================================================================================================================================>] 1,024 –.-K/s in 0s

    2016-09-25 23:09:31 (225 MB/s) – `install’ saved [1024/1024]

  9. Hải 14 comment

    hướng dẫn mình cách tạo subdomain trỏ về một thư mục con trong domain chính thì làm thế nào nhỉ? nếu add mới thì nó lại là một thư mục web mới rồi. Thank’s

    1. Luân Trần Admin

      Bạn cứ add mới, sau đó điều chỉnh lại thư mục của subdomain trong file cấu hình /etc/ngix/conf.d/sub.domain.com.conf
      Restart Nginx là xong.

      1. Hai 14 comment

        bạn có thể chỉ mình cách chỉnh lại thư mục được không? ví dụ imafe.domain.com trỏ về plublic_html/image thì chỉnh thế nào, chỉnh chỗ nào?

  10. Sơn Hoàng 1 comment

    Luân Trần ơi mình vừa cài hocVPS script trên VPS mới tinh và gặp lỗi này thì phải làm sao:

    #2002 – No such file or directory — The server is not responding (or the local server’s socket is not correctly configured).

    Mình cài trên Centos 6.8 64bit chọn PHP 5.6. Mình search trên mạng thì thấy họ nói trỏ socket về /var/run/mysqld/mysqld.sock nhưng trên VPS của mình không thấy có thư mục /var/run/mysqld ?

  11. Dung 30 comment

    Bác Luân cho em hỏi là vps em đang chạy bình thường. Sau khi em restart nó hiện lỗi 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”. Giờ phải fix làm sao bác

      1. Dung 30 comment

        Cái script này có bị limit subdomain không bác. Nay em xóa bớt đống sub đi thì lại restart được.

          1. Dung 30 comment

            Sao em chạy khoảng 509 domain và subdomain thì restart dc còn tăng lên khoảng 520 thì lại k restart dc bác ạ

  12. Tran Hung 50 comment

    Cho mình hỏi, khi mình cài đặt hocvps script rồi, thì các thông số của nginx, php-fpm, mysql… đều được tối ưu theo cấu hình hiện tại của vps. Vậy nếu khi mình nâng cấp vps lên thì các thông số này có thể được điều chỉnh tự động lại hay không? hay phải chỉnh tay? Nếu được nhờ bạn hướng dẫn các thông số nào sẽ thay đổi và thay đổi như thế nào dựa vào tăng cpu, ram. Cảm ơn.

    1. Luân Trần Admin

      Khi bạn nâng cấp thì phải chỉnh tay nhé. Nếu bảo mình hướng dẫn từng thông số một thì hơi khó, tốn thời gian rồi.

      1. Tran Hung 50 comment

        vậy bạn có thể hướng dẫn những thông số nào cần thiết để thay đổi không? hoặc nếu được bạn có thể cập nhật thêm chức năng tự sửa thông số khi thay đổi cấu hình vps cho hocscript được không?

  13. hoa 3 comment

    muốn thay đổi password lúc đăng nhập http//domain.com:port/ thì làm sao vậy anh Luân?
    lâu rồi mới đăng nhập lại mà gõ đủ thứ pass vẫn ko vào được
    còn 1 web khác khi gõ http//domain.com:port/ thì nó lại báo 403 Forbidden…

    1. Luân Trần Admin

      Đăng nhập vào link http//domain.com:port/ có phần change password nhé bạn

          1. Luân Trần Admin

            À, bạn phải đăng nhập thì mới thấy phần quản trị chứ.

            Username admin, pass tự sinh ra khi cài đặt xong server. Hoặc bạn có thể mở file /root/hocvps-script.txt ra lấy

      1. hoa 3 comment

        mình nhập pass tự sinh ra khi cài đặt server rồi mà nó ko vào được. có cách nào đổi pass mà ko cần đăng nhập ko bác Luân?

        1. Luân Trần Admin

          Sao lại thế nhỉ, gửi thông tin login root vào mail mình check thử coi. Chắc bạn nhầm đoạn nào đó.

  14. NguyenHoang 1 comment

    Admin cho mình hỏi. mình chạy site thì có cần apache nữa hay không, hay nginx thay thế được 100% apache rồi.
    Cảm ơn admin

    1. Luân Trần Admin

      Nginx thay thế cho Apache rồi nhé bạn, nó hoạt động cũng hiệu quả hơn Apache

  15. Nguyên Hao 22 comment

    Thì ra lúc hôm qua server của VULTR bị DDOS nên các dữ liệu nguồn của HOCVPS bị gián đoán , mình lại cài ngay lúc đó nên nó bị …. lỗi ^^ giờ nhờ kỹ thuật nó Rebuild lại , và cài lại thì ngon rồi , cảm ơn Luân

  16. Chi Dang Nguyen 2 comment

    Chào bạn, mình xài hocvps script thì có sử dụng chức năng package domain, nhung khi sử dụng thì thấy hình như ko có tác dụng. Chức năng redirect domain hiện tại không có chức năng xóa phải không bạn?

  17. Nguyên Hào 22 comment

    Mình mới đầu tư thêm cái VPS , trong quá trình cài hocvps script , do mạng lag nên lúc cài đặt bị nhảy bước hay sao mà giờ Vps bị lỗi

    “MariaDB chua khoi dong hoac co the bi loi khong the khoi dong!!!”

    Hình như script nó nhảy bước cài đặt MariaDB hay sao giờ chức năng này không sử dụng được
    Luân hỗ trợ mình với . Thanks

        1. Luân Trần Admin

          Vậy không ổn rồi, tốt nhất bạn cài lại server và HocVPS Script đi nhé.

        2. Nguyên Hào 22 comment

          Cài xong MARIADB thì RAM chiếm thêm 400mb , kinh thật . Hình như VPS ram càng nhiều thì mấy cái này nó chiếm dụng càng cao hay sao , bình thường VPS RAM 2GB nó chiếm có 100-200mb , giờ VPS RAM 6GB thì chiếm 600MB RAM , khó hiểu thật .

          1. Luân Trần Admin

            Đó là lượng dung lượng cần thiết để chạy cache đó bạn, MySQL thường tốn tài nguyên khá nhiều mà.

  18. Linh 2 comment

    Chào Luân!
    mình mới chuyển qua nginx dùng có vấn đề về htaccess

    mình có đoạn này

    Options -MultiViews

    RewriteEngine On

    # Redirect Trailing Slashes If Not A Folder…
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)/$ /$1 [L,R=301]

    # Handle Front Controller…
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]

    khi convert qua nginx thì không thành công
    khi vào link rewrite nó hiện 1 cửa sổ download
    Luân có thể giúp mình không

    1. Luân Trần Admin

      Có vẻ không phải do rule rồi, giờ bạn muốn như thế nào nhỉ? Nói cụ thể hơn được không?

      1. Linh 2 comment

        của mình hiện đang báo lỗi với hiện 1 cửa sổ download
        có vẻ như mime có vấn đề
        Resource interpreted as Document but transferred with MIME type application/octet-stream:

        nginx conf của mình đang như này

        server {
        listen 80;

        # access_log off;
        access_log /home/server.net/logs/web.nameweb.net_access.log;
        # error_log off;
        error_log /home/server.net/logs/web.nameweb.net_error.log;

        root /home/server.net/public_html/web/public;
        index index.php index.html index.htm;
        server_name web.nameweb.net;

        location / {
        if (!-e $request_filename){
        rewrite ^(.*)$ /index.php break;
        }
        if (!-e $request_filename){
        rewrite ^/(.*)/$ /$1 redirect;
        }
        }

        # Custom configuration
        include /home/server.net/public_html/web/public/*.conf;

        location ~ \.php$ {
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        include /etc/nginx/fastcgi_params;
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        fastcgi_connect_timeout 1000;
        fastcgi_send_timeout 1000;
        fastcgi_read_timeout 1000;
        fastcgi_buffer_size 256k;
        fastcgi_buffers 4 256k;
        fastcgi_busy_buffers_size 256k;
        fastcgi_temp_file_write_size 256k;
        fastcgi_intercept_errors on;
        fastcgi_param SCRIPT_FILENAME /home/server.net/public_html/web/public$fastcgi_script_name;
        }

        location ~ /\. {
        deny all;
        }
        location = /favicon.ico {
        log_not_found off;
        access_log off;
        }
        location = /rowebs.txt {
        allow all;
        log_not_found off;
        access_log off;
        }
        location ~* \.(3gp|gif|jpg|jpeg|png|ico|wmv|avi|asf|asx|mpg|mpeg|mp4|pls|mp3|mid|wav|swf|flv|exe|zip|tar|rar|gz|tgz|bz2|uha|7z|doc|docx|xls|xlsx|pdf|iso|eot|svg|ttf|woff)$ {
        gzip_static off;
        add_header Pragma public;
        add_header Cache-Control “public, must-revalidate, proxy-revalidate”;
        access_log off;
        expires 30d;
        break;
        }

        location ~* \.(txt|js|css)$ {
        add_header Pragma public;
        add_header Cache-Control “public, must-revalidate, proxy-revalidate”;
        access_log off;
        expires 30d;
        break;
        }
        }

  19. Tran Quoc Kien 1 comment

    Anh em không nên cài cái này nhé !
    Lỗi khi login vào : sai pas vẫn login ok . Ví dụ pass mình đặt là : ABC123dps , khi mình login chỉ cần gỏ pass : 6 ký tự đầu hoặc 6 ký tự cuối vẫn login ok .

  20. Thành 2 comment

    Anh Luân ơi em sử dụng Ubuntu 12.04 có xài được script của anh không ạ?

      1. Thành 2 comment

        Anh Luân cho em hỏi bản Centos nào là ổn định cho script hocvps ạ. Em muốn trải nghiệm thử script hocvps của a 🙂

        1. Luân Trần Admin

          CentOS 6 nhé, mình toàn dùng OS này nên sẽ phát hiện vấn đề sớm hơn nếu có.

  21. Chu Tuấn 23 comment

    Bác ơi để tắt XML-RPC thì bỏ đoạn này vào phần nào ở tập tin cấu hình domain vậy, mình xem hướng dẫn trên mạng nhưng bỏ vào ko đúng chỗ nên ko khởi động lại được nginx
    location = /xmlrpc.php {
    deny all;
    access_log off;
    log_not_found off;
    }

  22. Sam Minh Tuan 7 comment

    Em đang dùng Cloud Google, cài centos 6, chạy thử script của bác. Trước khi cài log bằng bitvise SSH port 22 vẫn được, cài xong Port 2222 ko log vào được, có cách nào khắc phục không bác Luân. Bây giờ em ko thể vào VPS để change port dc, cài xong nó ngắt là không vô dc luôn. Em bí chỗ này mong bác giải đáp. Cảm ơn bác.

    1. Sam Minh Tuan 7 comment

      Mặc dù em đã có thử mở port bên Google nhưng họ không cho phép mở 2222 nha bác 🙁

        1. Sam Minh Tuan 7 comment

          Quyền truy cập trên cloud.google cũng mất luôn. Em chả biết làm sao.

      1. Chu Tuấn 23 comment

        Không sao bác ạ nhưng super sử dụng file .htaccess mà nginx lại ko dùng file này, nên muốn hỏi bác xem có phải cấu hình gì khác ko.

        1. Luân Trần Admin

          Vậy thì cứ thế dùng thôi. Thực tế thì HocVPS Script hỗ trợ rất tốt cho WordPress rồi, không phải làm gì nữa cả.

  23. Tuyen Vo 1 comment

    Anh ơi cho em hỏi web em có sử dụng file .htaccess thì có dùng được cái HocVPS Script này được không? Nếu dùng cái này thì cần phải làm gì thêm để chạy được web có sử dụng file .htaccess ạ. Em cảm ơn!

  24. 8 comment

    Bác Luân có xài EC2 không, mình dùng SSH kết nối port 22 với file pem, sau khi cài đổi qua port 2222 hay 22 thì đều không kết nối được.

  25. Dung 30 comment

    Bác Luân cho em hỏi là em add rất nhiều sub vào vps. Mà qua mới bị tình trạng là nó cứ báo “Welcome to nginx! If you see this page, the nginx web server is successfully installed and working. Further configuration is required. For online documentation and support please refer to nginx.org. Commercial support is available at nginx.com. Thank you for using nginx.”. Mặc dù đã thay đổi kí tự trong file index.html để test nhưng nó vẫn báo cái này. Các sub trước thì vẫn chạy ok. Mà tự nhiên từ hôm qua em thêm vào thì lại k chạy dc. 1 domain em có 10 sub. Thì domain chính và 1 sub đầu tiên chạy được. 9 cái sau nó báo như vậy bác ạ. Up source lên rồi vẫn bị báo như vậy. Thank bác nhé

    1. Luân Trần Admin

      Sub thì bạn cũng phải chạy chức năng thêm website, nhập sub vào nhé. Sẽ có một folder riêng.

  26. hoang 2 comment

    Ban ơi giúp mình cái login vào phpmyadmin với, mình dùng hocvps bản 1.6 ngon lành, cái vps mới đây mình cài 1.7 ko thể login vào phpmyadmin đc, lấy pass đăng nhập từ file script.conf chuẩn rồi login nó lại hiện lại form đăng nhập

    căng quá, có bạn nào bị như mình rồi ko ạ, cái này ko login đc thì ko cách nào cho web chạy đc, hic

    cảm ơn trước nhé

    1. Luân Trần Admin

      Bản mới bất kỳ lúc nào truy cập vào link có port sẽ có 2 lớp bảo mật.
      Lớp 1 dùng username admin, password tự động generate lấy ở /root/hocvps-script.txt.
      Lớp 2 cũng tương tự, nhưng ứng với từng tool riêng.
      Toàn bộ password thay đổi ở link quản lý chung: http://ip:port/

      Password lấy ở scripts.conf không dùng được.

  27. Dung 30 comment

    Bác Luân cho em hỏi là nếu em muốn dùng cả www thì làm sao bác. Ví dụ em có domain là abcds.com. Em muốn thêm www vào trước thành http://www.abcds.com. Thì lúc add domain thì add http://www.abcds.com à bác. Em dùng cloudefare, có phải chỉnh sửa gì bên này k bác. Thank bác trước nhé

    1. Luân Trần Admin

      Lúc add domain thì add www.abcds.com
      Không cần chỉnh gì trên CloudFlare cả, đảm bảo cả 2 record trỏ về IP là ok.

  28. hoàng 1 comment

    chào bạn

    mình mới cài bản 1.7 thì mình đăng nhập :port/phpmyadmin ko đc, nhập admin + pass trong etc/hocvps rồi
    trước bản 1.6 mình vẫn bình thường

    bạn xem có phải do bản mới có vấn đề ko, hộ mình với

    1. Luân Trần Admin

      Username: admin
      Password mặc định bạn mở file /root/hocvps-script.txt ra xem.

      1. hoang 2 comment

        Bạn ơi, mình copy pass từ file từ và login nhiều lần vẫn ko đc, nó lại hiện lại form login, user và pass chắc chắn đúng rồi
        giúp mình với, căng quá hay bạn có skype ko mình nhờ tý đc ko ạ

  29. Nguyen Hao 22 comment

    Luân cho mình hỏi
    Mình mua VPS bên Tadu , kỹ thuật bên đó tạo cho mình 1 con VPS cổng mặc định là 7878
    ip : 123.456.789.555:7878
    Sau khi mình cài đặt hocvps script vào thì ko thể truy cập được vào SSH qua cổng 2222 .
    Các VPS bên cổng SSH mặc định là 22 , sau khi cài HOCVPS thì ko vấn đề gì, truy cập bình thường , còn cái VPS bên tadu này cổng nó hơi dị .
    Giờ mình làm cách nào để truy cập vào SSH vậy Luân

    1. Luân Trần Admin

      Bạn tìm cách mở cổng 2222 hoặc liên hệ support nhờ họ mở cổng là ok

  30. Ngọc Anh 5 comment

    Anh xem giúp cái file manager ấy anh. Đôi lúc lưu mà nó không thực thi gì cả, đợi cỡ 1p nó mới thực hiện đoạn code đã sửa đổi.
    với cho em hỏi khi truy cập và đường link lạ trên trang (404) thì nó tự chuyển về trang chủ. Em thử dùng .htacess chuyển nó tới trang thông báo lỗi của em mà nó không được.

  31. Ngô Vương 9 comment

    help với ad ơi . M cài đặt theo cái này của bạn khi yêu cầu kết nối với FTP thì :
    Hostname :
    FTP Username :
    FTP Password :
    Là gì vậy bạn hay m phải tự tạo . m dùng admin và mật khẩu tự tạo ra của bạn thì không vào được .

  32. Việt Hoàng 13 comment

    Luân cho m hỏi, giờ cài script, swap, varnish… ở Do rồi giờ muốn chuyển qua vps ở Vultr thì làm như thế nào, backup cả vps và code đó

        1. Luân Trần Admin

          Mình không có giải pháp nào khác ngoài làm thủ công như kia, cũng nhanh mà

  33. Vũ Thị Thanh 2 comment

    Cài đặt host bằng scipt hocvps có ngăn chặn được tấn công Local Attack qua việc người dùng up Shell lên không cậu

    1. Luân Trần Admin

      Có nhiều nguyên nhân khác nhau, nếu bạn dùng plugin, theme không rõ nguồn gốc, dính shell thì dùng hosting ở đâu cũng bị hack hết.

      1. Vũ Thị Thanh 2 comment

        Không ý mình là cấp tài khoản để khách hàng sử dụng, nếu nó up shell lên để xem toàn bộ các web trên hosting của mình, thì hosting của mình có chặn được không cậu, vì tớ thấy cái cpanel nó chặn được hay sao ấy