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é (đã thêm chức năng tự động phân quyền cho webserver).

Comment của bạn

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

106 Comments

  1. Quang Tran 3 comment

    Bạn ơi cho mình hỏi. Mình gặp rắc rối về tên miền.

    Mình dùng script của anh Luân để cài WordPress trên Digital Ocean.

    Sau đó, mình trỏ tên miền về thì bị lỗi này.

    Mình vào trang chính thì okie: http://quangsilic.com/

    Nhưng khi mình vào từng bài viết, thì nó ra URL thế này: http://139.59.122.112/2017/06/09/ve-toi/

    Mình đã hỏi bên tên miền, thì họ nói là mình đã trỏ tên miền đúng rồi, còn lỗi trên là do mã nguồn.

    Mình đã thử tất cả các template có sẵn của WordPress, nhưng vẫn không được.

    Vậy có phải là do script của anh Luân không? Mong bạn hỗ trợ

    1. Việt Phương Moderator

      Bạn truy cập giao diện cài đặt WP qua IP đúng không? Sau khi cài xong bạn mới trỏ domain về?
      Bạn vào phần Setting của WP sửa Home URL và Site URL từ IP về Domain đi

      1. Quang Tran 3 comment

        Đúng rồi bạn. Hèn gì lần trước mình cài bình thường, nay lại không được.

        Cám ơn bạn. Bạn trả lời nhanh thật!

          1. Việt Phương Moderator

            Có thể ở bước cài đặt hoặc cấu hình Redirect. Site bạn là site trắng tinh hay source code từ nơi khác up lên?

  2. Chung 2 comment

    Chào bạn, site mình up từ hosting khác sang. Nhưng lỗi đẫy mình xử lý được rồi bạn à, nó do lỗi của 1 plugin, và mình đã tắt nó đi thì vào quản trị oke. Mà bạn cho mình hỏi giờ mình muốn trỏ nhiều domain về 1 thư mục hosting thì có làm được không hả bạn, nếu có thì xử lý như thế nào. Vì mình thấy trong hocvps mỗi lần add domain thì sẽ tạo ra 1 thư mục trùng tên với domain đó, chứ không link về được những thư mục khác. Thanks bạn

    1. Việt Phương Moderator

      Nhiều domain cùng 1 thư mục là thì bạn dùng ParkDomain nhé. HocVPS menu có chức năng đó

    1. Việt Phương Moderator

      1. Tạo các website tiếp theo bằng HocVPS menu 2
      2. Tạo các database trắng bằng HocVPS menu 8
      3. Truy cập đến thư mục chứa nội dung website, thường là /home/domain/public_html
      4. Chạy lệnh cài WordPress theo bài viết curl -sO https://hocvps.com/scripts/wp && bash wp

      1. tran hung 46 comment

        Khi mình sử dụng menu hocvps menu 2 thì nó phần nhập domain mới, gõ xong enter thì nó đứng im luôn ạ. Sau đó thấy lâu quá mình nhấn ctrl+C rồi tiếp tục bước menu 8. Cho mình hỏi, bước tiếp theo làm sao để trỏ domain về website mới tạo thêm ạ?

          1. tran hung 46 comment

            Mình thử trỏ domain về IP VPS thì nó ra lại domain chính.

          2. Việt Phương Moderator

            Không cần bạn nhé. Và bạn comment 1 nơi thôi cho bớt loãng. service nginx statusnginx -t của bạn ra kết quả gì

          3. Việt Phương Moderator

            Thế mình đoán chắc Nginx bạn lỗi bung bét rồi. Bạn kiểm tra lại service của nginx và varnish nhé. Nếu dùng varnish rồi thì mỗi website mới tạo cũng phải cấu hình Nginx tương ứng cho chạy Varnish

          4. tran hung 46 comment

            Web chính của mình vẫn chạy bình thường, chỉ có vấn để là ko tạo đc thêm domain mới thôi. Mình cũng làm theo tất cả hướng dẫn của hocvps mà. Sao giờ thành bung bét hết vậy 🙁

          5. Việt Phương Moderator

            Nginx lỗi thì sẽ không nhận thêm các websever mới nên dù đã có trong hệ thống nhưng webserver không nhận. Bạn kiểm tra lại nginx và varnish đi. Và như mình nói, nếu bạn dùng varnish thì mọi website trong VPS bạn phải cấu hình lại Nginx để xài Varnish, chứ không phải chỉ cấu hình mỗi 1 site

          6. tran hung 46 comment

            Vậy mình phải thiết lập bằng tay hết à? Trong hocvps có bài nào hướng dẫn trường hợp này ko vậy bạn? cảm ơn ạ.

          7. Việt Phương Moderator

            Bạn phải thiết lập bằng tay hết nhé. Như trong bài hướng dẫn Varnish đó thôi. Lỗi thì mình detect ra là do Nginx và Varnish đó, bạn chỉ cần tập trung 2 vấn đề này thôi

          8. tran hung 46 comment

            Cảm ơn bạn. Mình cũng làm được rồi. Mình tạo file conf trong nginx mới với chỉnh sửa thêm trong file default.vcl là được.

  3. Nam 24 comment

    1. Em muốn cài đặt một version nào đó, chẳng hạn 4.7.7 của wordpress mà không phải latest version thì config như thế nào ạ?
    Em đoán là sửa đoạn này của script mà ko biết sửa sao ?
    wget http://wordpress.org/latest.tar.gz
    2. Với script trên em copy tạo thành 1 file *.bat hay file đuôi là gì để có thể tự run bằng câu lệnh cmd như bài viết là curl -sO https://hocvps.com/scripts/wp && bash wp
    Xin cám ơn support em.

    1. Việt Phương Moderator

      1. Bạn thay link của phiên bản WP bạn cần thôi
      2. Bash Script là .sh nhé bạn. Thực ra không cần .sh, chỉ cần nó có quyền execute là được