Công việc test và thử nghiệm VPS yêu cầu mình thường xuyên phải cài đặt mã nguồn WordPress. Tuy nhiên qui trình cứ lặp đi lặp lại khá buồn tẻ nên mình đã tìm cách tạo ra 1 script tự động cài đặt giúp tiết kiệm được khá nhiều thời gian.

Chú ý: nếu bạn muốn tạo mới server và tự động cài đặt WordPress, hãy tham khảo Script tự động cài đặt HocVPS Script và WordPress.

Nếu các bạn muốn sử dụng script này cần tạo trước database, MySQL account, di chuyển đến folder cần cài đặt rồi chạy lệnh sau:

curl -sO https://hocvps.com/scripts/wp && bash wp

Mã nguồn WordPress mới nhất sẽ được tự động tải xuống, giải nén.

Cuối cùng bạn chỉ cần truy cập vào domain, giao diện cài đặt WordPress quen thuộc sẽ xuất hiện để bạn bắt đầu.

Cai dat WordPress

Tham khảo script:

#!/bin/bash

# Script tu dong tai ban WordPress moi nhat va cai dat tao boi Luan Tran - https://hocvps.com/

while [ 1 ];do
clear
printf "=========================================================================\n"
printf "Chuan bi qua trinh tai ban cai dat WordPress... \n"
printf "=========================================================================\n"

printf "Ban hay dien thong tin nhu yeu cau: \n"
# DB Variables
echo -n "MySQL Host (localhost): "
read mysqlhost
if [ "$mysqlhost" = "" ]; then
	mysqlhost="localhost"
fi

echo -n "MySQL DB Name: "
read mysqldb

echo -n "MySQL DB User: "
read mysqluser

echo -n "MySQL Password: "
read mysqlpass

if [ "$mysqldb" != "" ] && [ "$mysqluser" != "" ] && [ "$mysqlpass" != "" ]; then
	break
fi
done

clear
printf "=========================================================================\n"
printf "Downloading... \n"
printf "=========================================================================\n"

# Download latest WordPress and uncompress
wget http://wordpress.org/latest.tar.gz
tar zxf latest.tar.gz
mv wordpress/* ./

# Grab Salt Keys
wget -O /tmp/wp.keys https://api.wordpress.org/secret-key/1.1/salt/

# Butcher our wp-config.php file
sed -e "s/localhost/"$mysqlhost"/" -e "s/database_name_here/"$mysqldb"/" -e "s/username_here/"$mysqluser"/" -e "s/password_here/"$mysqlpass"/" wp-config-sample.php > wp-config.php
sed -i '/#@-/r /tmp/wp.keys' wp-config.php
sed -i "/#@+/,/#@-/d" wp-config.php

# Tidy up
rmdir wordpress
rm latest.tar.gz
rm /tmp/wp.keys
rm wp

# Chown
if [ -f /etc/redhat-release ]; then #CentOS
 if ps ax | grep -v grep | grep 'httpd' > /dev/null; then #Apache
 chown -R apache:apache *
 elif ps ax | grep -v grep | grep 'nginx' > /dev/null; then #Nginx
 chown -R nginx:nginx *
 fi
elif [ -f /etc/lsb-release ]; then #Ubuntu
 chown -R www-data:www-data * #Both for Apache and Nginx
fi

clear
printf "=========================================================================\n"
printf "Xong, gio ban hay truy cap vao domain de cai dat WordPress! \n"
printf "Hoac truy cap https://hocvps.com \n"
printf "=========================================================================\n"

Chạy được trên cả CentOS và Ubuntu nhé.

Update: thêm chức năng tự động phân quyền cho webserver.

79 Comments

  1. Quang 5 comment

    Bác Luân ơi, giúp mình với, sau khi chạy script của bác, mình chuyển wordpress từ host sang vps thì bị lỗi ko hiển thị theme, chỉ hiển thị chữ và hình trong bài viết thôi
    Mình chạy ở localhost thì bình thường? giờ phải làm sao đây bác.
    Web mình: http://duyquang.info

      1. Quang 5 comment

        Mình khởi động lại rồi đó bác, bác vào lại xem giùm mình với, mình chuyển từ domain .net sang .info bằng cách vào phpmyadmin chỉnh lại ở bảng wp_options các thuộc tính:home, và site url về: http://duyquang.info/ là bị mất theme luôn

          1. Quang 5 comment

            Kiến thức bác Luân thật là rộng, cảm ơn bác mình làm đc rồi
            Cho mình hỏi sao bác biết mình có cài BWP Minify vậy? Và lý do gì mà BWP Minify nó làm mình mất theme vậy bác?

          2. Luân Trần Admin

            View-source là thấy ngay bạn ạ. Mình đoán do bạn bị cache file này từ trước nên bị báo lỗi, giờ Flush Cache đi là ổn ngay.

        1. Bùi Thắng Lợi 1 comment

          Xin chào anh luân, em cài đặt wordpress trên vultr nhưng không biết làm cách nào để mở thư mục public_html như của host. Em mới học vps nên chưa biết
          do site em bị trắng trang thấy nhiều bên có chỉ phải mở chỉnh file .htacess nhưng không biết làm cách nào để mở được. Mong anh luân chỉ giáo

          1. Luân Trần Admin

            Bạn dùng image có sẵn trên Vultr để tạo server đúng không vậy?

    1. Luân Trần Admin

      Cho mình hỏi bạn dùng VPS ở đâu vậy? Có thể quá trình cài đặt bị lỗi rồi.

  2. z mup 36 comment

    Hi ad,

    1. Sau khi mình chạy scripts trên thì vào domain của mình zmupstudio.com chỉ hiện ra nội dung như bên dưới ?

    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.

    2. Trong ftp: folder zmupstudio.com nó có 1 folder public_html, mình up thẳng vào đó hay up vào folder zmupstudio.com ad nhỉ ?

    Tks ad

  3. Hiếu 2 comment

    Hi Luân,
    Vậy nếu mình muốn set up 1 site wordpress mới trên VPS sử dụng hocVPS script (site này là addon domain) thì làm thế nào Luân nhỉ? Mình có làm theo hướng dẫn nhưng nó bung luôn ở home, mình k biết có cách nào cho vào folder của site addon đó

    1. Luân Trần Admin

      Trường hợp này bạn cần làm thủ công rồi, mình chỉ làm tự động với site chính mà thôi.

  4. Tommy Nguyen 28 comment

    Call to undefined function wp() in /home/mydomain.com/public_html/wp-blog-header.php on line 16

    Luan oi, domain chinh cua VPS khi cai script wordpress xong thi truy cap vao de cai dat no bao loi nay. Lam sao de fix day?

  5. NguyenHao 6 comment

    Một lần nữa mình phải cảm ơn Luân Trần ^__^ HOCVPS đã tốt , nay lại có script cài đặt wordpress nhanh , tuyệt vời , giúp mình cài chục cái wordpress nhanh gọn lẹ .

  6. Trung 1 comment

    Hi Luân,
    Cho mình hỏi mình truy cập link bài viết thì cứ bị redirect về trang chủ. Xem log thì thấy đoạn này.

    2016/06/29 16:47:10 [error] 2659#0: *1780 “/data/webroot/site/2016/06/29/chao-moi-nguoi/index.php” is not found (2: No such file or directory), client: 118.70.12.213, server: localhost, request: “GET /2016/06/29/chao-moi-nguoi/?preview=true HTTP/1.1”

  7. Quyền 12 comment

    Chào Luân, mình có 1 website chạy script của hocvps. Web này mình mới đăng ký tài khoản Google Adsense và tạo một số code. Hiện tại thì website của mình đang dùng theme của Mythemeshop và trong phần Theme Options có sẵn mục Ad Management để copy+paste code Adsense vào đó luôn. Nhưng sau khi copy+paste code vào thì thấy báo lỗi như sau:
    403 Forbidden
    A potentially unsafe operation has been detected in your request to this site. loi-google-adsense.png ​
    Xin cho hỏi lỗi này là lỗi gì và cách khắc phục như thế nào?

  8. Nguyễn Trường Hải 4 comment

    VPS tại Vultr khi tạo vps cùng với wordpress thì sẽ cài LAMP ( apache) chứ không phải LEMP ( Nginx). có cách nào VPS không cài LAMP để mình tự cài script hocvps. ?

  9. Tuan Duong The 21 comment

    Mình tạo 1 website wordpress mới tinh, đã dùng chức năng thêm website và thêm database nhưng khi giải nén code wordpress vào public_html truy cập vào web hiện thông báo này chứ không phải cài đặt wordpress như thông thường. Giúp mình với
    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.

  10. Quách Chí Cường 2 comment

    Hi anh Luân,

    1. Em nghĩ anh Luân nên check phần biến ‘DB Host’ kĩ hơn chứ chỉ kiểm tra điều kiện break ‘not nul’ thì ko ổn, yêu cầu chỉ được set up 3 loại input
    + 127.0.0.1
    + localhost
    + x.x.x.x (dành cho remote IP, nên có cơ chế set input này là IP thật sự và 4 octect cũng nhỏ hơn 255)

    2. Khi xài ‘wget’ download , anh nên thêm option ‘–no-check-certificate’ khi down từ các site ‘https’, vì trên Linux một số máy sẽ không check được Certificate Chain của host HTTPS đó.

    3. Phần phân quyền, nếu xài các CMS thì thư mục source thường:
    /home/user/public_html/

    – thì phân quyền dựa trên httpd hay nginx không chính xác.
    – Chưa kể là nếu sử dụng Nginx reverse proxy Apache, thì luôn luôn ra Apache.

    4. Anh Luân nếu lười sửa thêm thì , note lưu ý cho mấy bạn biết nhé 😉

  11. Lâm 1 comment

    Sao của mình sau khi tạo tên miền qua dòng lệnh và download code cũng như setup database thì nó lại báo như thế này Luân nhỉ?

    Error establishing a database connection

    Và nếu vào tên miền/wp-admin/install.php

    thì nó lại ra thông báo:

    Error establishing a database connection
    This either means that the username and password information in your wp-config.php file is incorrect or we can’t contact the database server at localhost. This could mean your host’s database server is down.

    Are you sure you have the correct username and password?
    Are you sure that you have typed the correct hostname?
    Are you sure that the database server is running?
    If you’re unsure what these terms mean you should probably contact your host. If you still need help you can always visit the WordPress Support Forums.

    không có nút nhấn Let’s go

  12. quan 2 comment

    làm sao download wordpress về thư mục trong cái domain mình muốn, dùng lệnh trên nó giái nén ngay thu mục chưa domain

    1. Luân Trần Admin

      Trước khi chạy lệnh bạn hãy di chuyển đến thư mục cần thiết với lệnh cd /path/

  13. Hoang 1 comment

    Bạn ơi, mình quên mất mật khẩu bước 1 rồi, IP:2313
    Có cách nào để lấy lại mật khẩu này không bạn?

Comment của bạn

Your email address will not be published. Required fields are marked *