You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

133 lines
4.8 KiB

#!/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