mirror of
https://github.com/akatsukiro/lsky-pro-install-script.git
synced 2025-06-08 14:13:04 +08:00
Compare commits
16 Commits
Author | SHA1 | Date | |
---|---|---|---|
f24c8edda1 | |||
1256fe7564 | |||
4ccf9f70e3 | |||
5d4b3cdd6c | |||
acf1704349 | |||
2e1b528888 | |||
f972a70616 | |||
dc460555db | |||
d1b407a67e | |||
7b44f53f74 | |||
7e8cbda6b0 | |||
1215d6adec | |||
7b2ad0cb34 | |||
08eb20f386 | |||
5846b40226 | |||
081d6f9ac8 |
73
install.sh
73
install.sh
@ -12,6 +12,8 @@ pre_check() {
|
|||||||
# check root
|
# check root
|
||||||
[[ $EUID -ne 0 ]] && echo -e "${red}错误: 请使用root用户运行此脚本!${plain}" && exit 1
|
[[ $EUID -ne 0 ]] && echo -e "${red}错误: 请使用root用户运行此脚本!${plain}" && exit 1
|
||||||
|
|
||||||
|
clear
|
||||||
|
|
||||||
## os_arch
|
## os_arch
|
||||||
if [[ $(uname -m | grep 'x86_64') != "" ]]; then
|
if [[ $(uname -m | grep 'x86_64') != "" ]]; then
|
||||||
os_arch="amd64"
|
os_arch="amd64"
|
||||||
@ -39,10 +41,17 @@ pre_check() {
|
|||||||
os_version=$(echo $VERSION_ID | awk -F '.' '{print $1}')
|
os_version=$(echo $VERSION_ID | awk -F '.' '{print $1}')
|
||||||
else
|
else
|
||||||
echo "您的操作系统为 $PRETTY_NAME ,这是不支持的操作系统"
|
echo "您的操作系统为 $PRETTY_NAME ,这是不支持的操作系统"
|
||||||
exit 1
|
echo -e "${red}如果您确信您的系统可以使用该脚本"
|
||||||
|
echo -e "如果您认为您的系统是Debian,请输入 1"
|
||||||
|
echo -e "如果您认为您的系统是Ubuntu,请输入 2"
|
||||||
|
echo -e "如果您认为您的系统是CentOS/RHEL,请输入 3${plain}"
|
||||||
|
read -e -r -p "请输入您的选择: " systemFlag
|
||||||
|
echo -e "${red}请输入您的系统版本,假如您的系统为 Ubuntu 22.04 请输入 “22”(无需双引号)${plain}"
|
||||||
|
read -e -r -p "请输入您的系统版本: " os_version
|
||||||
|
echo -e "${red}请注意:您的系统不受脚本支持${plain}"
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
echo "无法判断系统信息"
|
echo -e "${red}无法判断系统信息,退出脚本${plain}"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -93,12 +102,26 @@ install_soft() {
|
|||||||
install_base() {
|
install_base() {
|
||||||
echo -e "${green}开始安装基础组件${plain}"
|
echo -e "${green}开始安装基础组件${plain}"
|
||||||
(command -v git >/dev/null 2>&1 && command -v curl >/dev/null 2>&1 && command -v wget >/dev/null 2>&1 && command -v unzip >/dev/null 2>&1 && command -v getenforce >/dev/null 2>&1 && command -v gnupg >/dev/null 2>&1 && command -v lsb_release >/dev/null) ||
|
(command -v git >/dev/null 2>&1 && command -v curl >/dev/null 2>&1 && command -v wget >/dev/null 2>&1 && command -v unzip >/dev/null 2>&1 && command -v getenforce >/dev/null 2>&1 && command -v gnupg >/dev/null 2>&1 && command -v lsb_release >/dev/null) ||
|
||||||
(install_soft curl wget git unzip gnupg lsb-release ca-certificates)
|
(install_soft curl wget git unzip gnupg lsb-release apt-transport-https ca-certificates)
|
||||||
}
|
}
|
||||||
|
|
||||||
install_base
|
install_base
|
||||||
pre_check
|
pre_check
|
||||||
|
|
||||||
|
echo -e "${yellow}是否进行全自动安装?${plain}"
|
||||||
|
read -e -r -p "[Y/n]:" autoFlag
|
||||||
|
case $autoFlag in
|
||||||
|
[yY][eE][sS] | [yY])
|
||||||
|
autoFlag="1"
|
||||||
|
;;
|
||||||
|
[nN][oO] | [nN])
|
||||||
|
autoFlag="0"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
autoFlag="1"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
install_php() {
|
install_php() {
|
||||||
echo -e "${green}开始安装PHP${plain}"
|
echo -e "${green}开始安装PHP${plain}"
|
||||||
echo "默认安装php8.1"
|
echo "默认安装php8.1"
|
||||||
@ -176,13 +199,13 @@ install_maraidb() {
|
|||||||
dnf install ${MARIADB_PACKAGE_URL}/yum/10.6/centos/${os_version}/x86_64/mariadb-release-10.6-1.el8.noarch.rpm -y
|
dnf install ${MARIADB_PACKAGE_URL}/yum/10.6/centos/${os_version}/x86_64/mariadb-release-10.6-1.el8.noarch.rpm -y
|
||||||
dnf install MariaDB-server MariaDB-client -y
|
dnf install MariaDB-server MariaDB-client -y
|
||||||
fi
|
fi
|
||||||
|
if [[ $autoFlag == "0" ]]; then
|
||||||
read -e -r -p "是否快速配置MariaDB? [Y/n] 默认 Y(es)" input
|
read -e -r -p "是否快速配置MariaDB? [Y/n] 默认 Y(es)" input
|
||||||
case $input in
|
case $input in
|
||||||
[yY][eE][sS] | [yY])
|
[yY][eE][sS] | [yY])
|
||||||
echo "开始快速配置MariaDB"
|
echo "开始快速配置MariaDB"
|
||||||
mysql_secure_installation
|
mysql_secure_installation
|
||||||
;;
|
;;
|
||||||
|
|
||||||
[nN][oO] | [nN])
|
[nN][oO] | [nN])
|
||||||
echo "不快速配置MariaDB"
|
echo "不快速配置MariaDB"
|
||||||
;;
|
;;
|
||||||
@ -191,10 +214,20 @@ install_maraidb() {
|
|||||||
mysql_secure_installation
|
mysql_secure_installation
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
}
|
else
|
||||||
|
PWD = "$(openssl rand -base64 32 | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1)"
|
||||||
|
mysql_secure_installation <<EOF
|
||||||
|
|
||||||
# TODO
|
y
|
||||||
# 自动设置数据库,并将用户名、数据库名与密码打印出来
|
$PWD
|
||||||
|
$PWD
|
||||||
|
y
|
||||||
|
y
|
||||||
|
y
|
||||||
|
y
|
||||||
|
EOF
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
install_php
|
install_php
|
||||||
install_apache
|
install_apache
|
||||||
@ -203,9 +236,30 @@ install_maraidb
|
|||||||
setup_database() {
|
setup_database() {
|
||||||
echo -e "${green}开始配置数据库${plain}"
|
echo -e "${green}开始配置数据库${plain}"
|
||||||
echo -e "${yellow}请无比妥善保存以下信息${plain}"
|
echo -e "${yellow}请无比妥善保存以下信息${plain}"
|
||||||
|
if [[ $autoFlag == "0" ]]; then
|
||||||
|
echo "自动生成数据库信息请输入1,手动输入请输入2,其他情况自动生成"
|
||||||
|
read -e -r -p "请输入您的选择: " dbFlag
|
||||||
|
if [[ $dbFlag == "1" ]]; then
|
||||||
|
db_user="lsky_$(openssl rand -base64 12 | tr -dc 'a-z0-9' | fold -w 8 | head -n 1)"
|
||||||
|
db_name="lsky_$(openssl rand -base64 12 | tr -dc 'a-z0-9' | fold -w 8 | head -n 1)"
|
||||||
|
db_password="$(openssl rand -base64 32 | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1)"
|
||||||
|
elif [[ $dbFlag == "2" ]]; then
|
||||||
read -e -r -p "请输入数据库用户名: " db_user
|
read -e -r -p "请输入数据库用户名: " db_user
|
||||||
read -e -r -p "请输入数据库密码: " db_password
|
|
||||||
read -e -r -p "请输入数据库名称: " db_name
|
read -e -r -p "请输入数据库名称: " db_name
|
||||||
|
read -e -r -p "请输入数据库密码: " db_password
|
||||||
|
else
|
||||||
|
db_user="lsky_$(openssl rand -base64 12 | tr -dc 'a-z0-9' | fold -w 8 | head -n 1)"
|
||||||
|
db_name="lsky_$(openssl rand -base64 12 | tr -dc 'a-z0-9' | fold -w 8 | head -n 1)"
|
||||||
|
db_password="$(openssl rand -base64 32 | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1)"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
db_user="lsky_$(openssl rand -base64 12 | tr -dc 'a-z0-9' | fold -w 8 | head -n 1)"
|
||||||
|
db_name="lsky_$(openssl rand -base64 12 | tr -dc 'a-z0-9' | fold -w 8 | head -n 1)"
|
||||||
|
db_password="$(openssl rand -base64 32 | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1)"
|
||||||
|
fi
|
||||||
|
echo -e "${yellow}数据库用户名: ${db_user}${plain}"
|
||||||
|
echo -e "${yellow}数据库名称: ${db_name}${plain}"
|
||||||
|
echo -e "${yellow}数据库密码: ${db_password}${plain}"
|
||||||
mysql -e "CREATE DATABASE IF NOT EXISTS ${db_name} DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_unicode_ci;"
|
mysql -e "CREATE DATABASE IF NOT EXISTS ${db_name} DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_unicode_ci;"
|
||||||
mysql -e "GRANT ALL PRIVILEGES ON ${db_name}.* TO '${db_user}'@'localhost' IDENTIFIED BY '${db_password}';"
|
mysql -e "GRANT ALL PRIVILEGES ON ${db_name}.* TO '${db_user}'@'localhost' IDENTIFIED BY '${db_password}';"
|
||||||
mysql -e "FLUSH PRIVILEGES;"
|
mysql -e "FLUSH PRIVILEGES;"
|
||||||
@ -218,7 +272,7 @@ download_lsky() {
|
|||||||
echo -e "${green}开始下载 Lsky Pro${plain}"
|
echo -e "${green}开始下载 Lsky Pro${plain}"
|
||||||
mkdir -p /var/www/lsky
|
mkdir -p /var/www/lsky
|
||||||
cd /var/www/lsky || echo "error, can't cd"
|
cd /var/www/lsky || echo "error, can't cd"
|
||||||
wget -O lsky.zip https://"${LSKYPRO_RELEASE_URL}"/"${LSKY_VERSION}"/lsky-pro-"${LSKY_VERSION}".zip
|
wget -O lsky.zip "${LSKYPRO_RELEASE_URL}"/"${LSKY_VERSION}"/lsky-pro-"${LSKY_VERSION}".zip
|
||||||
unzip lsky.zip -q
|
unzip lsky.zip -q
|
||||||
rm -rf lsky.zip
|
rm -rf lsky.zip
|
||||||
chown -R www-data:www-data /var/www
|
chown -R www-data:www-data /var/www
|
||||||
@ -257,4 +311,5 @@ download_lsky
|
|||||||
setup_apache
|
setup_apache
|
||||||
|
|
||||||
echo -e "${green}安装完成${plain}"
|
echo -e "${green}安装完成${plain}"
|
||||||
|
|
||||||
echo -e "${green}请访问 http://${domain} 完成后续配置 ${plain}"
|
echo -e "${green}请访问 http://${domain} 完成后续配置 ${plain}"
|
Loading…
x
Reference in New Issue
Block a user