|
|
|
#!/usr/bin/env bash
|
|
|
|
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
|
|
|
|
export PATH
|
|
|
|
#=================================================
|
|
|
|
# System Required: CentOS/Debian/Ubuntu/Darwin
|
|
|
|
# Description: AUXPI build
|
|
|
|
# Version: 1.0.0
|
|
|
|
# Author: aimer
|
|
|
|
# Blog: https://0w0.tn
|
|
|
|
#=================================================
|
|
|
|
Info_font_prefix="\033[32m" && Error_font_prefix="\033[31m" && Info_background_prefix="\033[42;37m" && Error_background_prefix="\033[41;37m" && Font_suffix="\033[0m"
|
|
|
|
install_path='/root/auxpi'
|
|
|
|
auxpi_path="${install_path}/build/linux"
|
|
|
|
auxpi_backup_path='/root/auxpi_backup'
|
|
|
|
name="auxpi"
|
|
|
|
ver="2.3.9"
|
|
|
|
|
|
|
|
function auxpi_help(){
|
|
|
|
echo "Auxpi Installer V1.0"
|
|
|
|
echo
|
|
|
|
echo "all ---- Install Nginx Mysql Auxpi"
|
|
|
|
echo "install ---- Install Auxpi"
|
|
|
|
echo "update ---- Update Auxpi"
|
|
|
|
echo "mysql ---- Install Mysql"
|
|
|
|
echo "nginx ---- Install Nginx"
|
|
|
|
echo "help ---- Show help info"
|
|
|
|
echo
|
|
|
|
}
|
|
|
|
|
|
|
|
check_sys(){
|
|
|
|
if [[ -f /etc/redhat-release ]]; then
|
|
|
|
release="centos"
|
|
|
|
elif cat /etc/issue | grep -q -E -i "debian"; then
|
|
|
|
release="debian"
|
|
|
|
elif cat /etc/issue | grep -q -E -i "ubuntu"; then
|
|
|
|
release="ubuntu"
|
|
|
|
elif cat /etc/issue | grep -q -E -i "centos|red hat|redhat"; then
|
|
|
|
release="centos"
|
|
|
|
elif cat /proc/version | grep -q -E -i "debian"; then
|
|
|
|
release="debian"
|
|
|
|
elif cat /proc/version | grep -q -E -i "ubuntu"; then
|
|
|
|
release="ubuntu"
|
|
|
|
elif cat /proc/version | grep -q -E -i "centos|red hat|redhat"; then
|
|
|
|
release="centos"
|
|
|
|
fi
|
|
|
|
bit=$(uname -m)
|
|
|
|
}
|
|
|
|
|
|
|
|
check_root(){
|
|
|
|
[[ $EUID != 0 ]] && echo -e "${Error} 当前非ROOT账号(或没有ROOT权限),无法继续操作,请更换ROOT账号或使用 ${Green_background_prefix}sudo su${Font_color_suffix} 命令获取临时ROOT权限(执行后可能会提示输入当前账号的密码)。" && exit 1
|
|
|
|
}
|
|
|
|
|
|
|
|
function install() {
|
|
|
|
[[ -e "${install_path}/auxpi" ]] && echo -e "${Error_font_prefix}[ERROR]${Font_suffix}已经安装无需再次安装" && exit 1
|
|
|
|
check_root
|
|
|
|
mkdir -p ${install_path}
|
|
|
|
cd ${install_path}
|
|
|
|
wget --no-check-certificate -O "auxpi.tar.gz" "https://github.com/aimerforreimu/AUXPI/releases/download/${ver}/auxpi-${ver}-linux.tar.gz"
|
|
|
|
[[ ! -e "auxpi.tar.gz" ]] && echo -e "${Error_font_prefix}[ERROR]${Font_suffix} auxpi 下载失败" && exit 1
|
|
|
|
tar zxvf "auxpi.tar.gz"
|
|
|
|
rm -rf "auxpi.tar.gz"
|
|
|
|
[[ ! -e ${auxpi_path} ]] && echo -e "${Error_font_prefix}[ERROR]${Font_suffix} auxpi 解压失败或压缩文件错误 !" && exit 1
|
|
|
|
cd /root
|
|
|
|
cp -r ${auxpi_path}/* ${install_path}
|
|
|
|
[[ ! -e "${install_path}/auxpi" ]] && echo -e "${Error_font_prefix}[ERROR]${Font_suffix} auxpi 文件移动出错" && exit 1
|
|
|
|
rm -rf "${install_path}/build"
|
|
|
|
cd ${install_path}
|
|
|
|
chmod +x auxpi
|
|
|
|
./auxpi init
|
|
|
|
echo -e "${Info_font_prefix}[INFO]${Font_suffix} auxpi 初始化完成:"
|
|
|
|
echo -e "${Info_font_prefix}安装路径: ${install_path}${Font_suffix}"
|
|
|
|
echo -e "${Info_font_prefix}配置文件: ${install_path}/conf/siteConfig.json ${Font_suffix}"
|
|
|
|
echo -e "${Info_font_prefix}其它教程: https://github.com/aimerforreimu/AUXPI/wiki ${Font_suffix}"
|
|
|
|
}
|
|
|
|
|
|
|
|
function update() {
|
|
|
|
[[ ! -e "${install_path}/auxpi" ]] && echo -e "${Error_font_prefix}[ERROR]${Font_suffix}您没有安装 auxpi,请先安装程序" && exit 1
|
|
|
|
check_root
|
|
|
|
[[ ! -e "${install_path}/auxpi_backup" ]] && mkdir -p ${auxpi_backup_path}
|
|
|
|
cp -r ${install_path}/conf ${auxpi_backup_path}
|
|
|
|
cp -r ${install_path}/public ${auxpi_backup_path}
|
|
|
|
# 移除旧版本
|
|
|
|
rm -rf ${install_path}
|
|
|
|
# 安装新版本
|
|
|
|
install
|
|
|
|
# 回复原来的配置和图片
|
|
|
|
rm -rf ${install_path}/conf && mv ${auxpi_backup_path}/conf ${install_path}
|
|
|
|
rm -rf ${install_path}/public && mv ${auxpi_backup_path}/public ${install_path}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
function install_mysql() {
|
|
|
|
wget -c http://mirrors.linuxeye.com/oneinstack-full.tar.gz && tar xzf oneinstack-full.tar.gz && ./oneinstack/install.sh --db_option 3 --dbinstallmethod 1 --dbrootpwd 1s16r74z
|
|
|
|
}
|
|
|
|
|
|
|
|
function install_nginx() {
|
|
|
|
wget -c http://mirrors.linuxeye.com/oneinstack-full.tar.gz && tar xzf oneinstack-full.tar.gz && ./oneinstack/install.sh --nginx_option 1
|
|
|
|
}
|
|
|
|
|
|
|
|
function install_all() {
|
|
|
|
check_root
|
|
|
|
wget -c http://mirrors.linuxeye.com/oneinstack-full.tar.gz && tar xzf oneinstack-full.tar.gz && ./oneinstack/install.sh --nginx_option 1 --db_option 3 --dbinstallmethod 1 --dbrootpwd auxpi_password --redis --memcached --iptables
|
|
|
|
install
|
|
|
|
echo -e "${Info_font_prefix}数据库密码:auxpi_password 请记得及时更改您的数据库密码${Font_suffix}"
|
|
|
|
}
|
|
|
|
|
|
|
|
# Initialization step
|
|
|
|
check_sys
|
|
|
|
action=$1
|
|
|
|
[[ -z $1 ]] && action=help
|
|
|
|
case "$action" in
|
|
|
|
install)
|
|
|
|
install
|
|
|
|
;;
|
|
|
|
update)
|
|
|
|
update
|
|
|
|
;;
|
|
|
|
nginx)
|
|
|
|
install_nginx
|
|
|
|
;;
|
|
|
|
mysql)
|
|
|
|
install_mysql
|
|
|
|
;;
|
|
|
|
all)
|
|
|
|
install_all
|
|
|
|
;;
|
|
|
|
help)
|
|
|
|
auxpi_help
|
|
|
|
;;
|
|
|
|
*)
|
|
|
|
echo "用法错误! 用法请查看 help 。"
|
|
|
|
;;
|
|
|
|
esac
|