Skip to content

Instantly share code, notes, and snippets.

@mynukeviet
Last active November 12, 2018 03:00
Show Gist options
  • Save mynukeviet/5df03abcf501ab0f71257c84cd21e4d7 to your computer and use it in GitHub Desktop.
Save mynukeviet/5df03abcf501ab0f71257c84cd21e4d7 to your computer and use it in GitHub Desktop.
Bash shell for NukeViet
#!/bin/bash
if [[ $EUID -ne 0 ]]; then
echo "----------------------------------"
echo "---- You must be a root user -----"
echo "----------------------------------"
exit
fi
# đường dẫn đến thư mục chưa source
path='/media/hongoctrien/DATA/MyHost/NukeViet';
# user làm việc với source
user='hongoctrien';
nukeviet_chmod () {
chown -R $user "$path/$1/"
chmod -R 777 "$path/$1/assets/"
chmod -R 777 "$path/$1/data/"
chmod -R 777 "$path/$1/uploads/"
chmod 777 "$path/$1/.htaccess"
echo "Đã chmod các thư mục cần thiết cho NukeViet"
}
file_chmod(){
find "$path/$1" -type d -exec chmod 755 {} ';'
find "$path/$1" -type f -exec chmod 664 {} ';'
echo "Đã chmod lại"
}
menu(){
echo -e "====================================="
echo "Nhập số để chọn chức năng: "
echo "1: Thêm mới domain"
echo "2: chmod cho NukeViet"
echo "3: chmod đúng cấu trúc (nhập đường dẫn)"
echo "4: chmod đúng cấu trúc (nhập đường dẫn) + Chmod NukeViet"
echo "5: Clone NukeViet"
echo "9: Xóa domain"
echo "0: Thoát (Ctrl + C)"
read domain_type
}
echo -n "Nhập domain: "
read domainname
# gọi menu
menu
if [ "$domain_type" = "1" ]; then
# Kiểm tra Thư mục có tồn tại không
# -L "FILE" : FILE exists and is a symbolic link (same as -h)
# -h "FILE" : FILE exists and is a symbolic link (same as -L)
# -d "FILE" : FILE exists and is a directory
# -w "FILE" : FILE exists and write permission is granted
if [ -d "$path/$domainname" ]; then
echo "Lỗi domain đã được tạo trước đó: $path/$domainname"
exit
else
if [ ! -d "$path/" ]; then
mkdir "$path/"
chmod 755 "$path/"
fi
mkdir "$path/$domainname"
chmod 755 "$path/$domainname"
cd "$path/$domainname"
chmod -R 777 "$path/$domainname"
echo "127.0.0.10 $domainname" >> "/etc/hosts"
if [ ! -d "/opt/lampp/etc/vhosts/" ]; then
mkdir "/opt/lampp/etc/vhosts"
fi
cat > "/opt/lampp/etc/vhosts/$domainname.conf" <<END
<VirtualHost 127.0.0.10:80>
ServerAdmin webmaster@$domainname
DocumentRoot "$path/$domainname"
ServerName $domainname
ServerAlias www.$domainname
ErrorLog "logs/$domainname-error_log"
CustomLog "logs/$domainname-access_log" common
<Directory "$path/$domainname">
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
END
/opt/lampp/lampp restartapache;
fi
menu # gọi menu
elif [ "$domain_type" = "2" ]; then
if [ -d "$path/$domainname" ]; then
nukeviet_chmod $domainname
else
echo "Không tồn tại domain: $domainname"
fi
menu # gọi menu
elif [ "$domain_type" = "3" ]; then
file_chmod $domainname
menu # gọi menu
elif [ "$domain_type" = "4" ]; then
file_chmod $domainname
if [ -d "$path/$domainname" ]; then
echo "chmode cho NukeViet $domainname"
nukeviet_chmod $domainname
else
echo "Không tồn tại domain: $domainname"
fi
menu # gọi menu
elif [ "$domain_type" = "5" ]; then
if [ -d "$path/$domainname" ]; then
wget http://code.mynukeviet.net/other/nukeviet/repository/master/archive.zip
unzip -o archive.zip | awk 'BEGIN { ORS = "" } { print "." }'
cp -rf nukeviet-*/* "$path/$domainname"
nukeviet_chmod $domainname
rm -rf archive.zip
rm -rf nukeviet-*
else
echo "Không tồn tại domain: $domainname"
fi
menu # gọi menu
elif [ "$domain_type" = "9" ]; then
if [ -d "$path/$domainname" ]; then
rm -rf "$path/$domainname/"
rm -f "/opt/lampp/etc/vhosts/$domainname.conf"
echo "Xóa domain $domainname"
else
echo "Không tồn tại domain: $domainname"
fi
menu # gọi menu
else
echo "Chức năng chưa xác định"
menu # gọi menu
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment