Last active
November 12, 2018 03:00
-
-
Save mynukeviet/5df03abcf501ab0f71257c84cd21e4d7 to your computer and use it in GitHub Desktop.
Bash shell for NukeViet
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/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