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