Skip to content

Instantly share code, notes, and snippets.

@Abreto
Last active February 19, 2017 10:34
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Abreto/dae71858abcf09a167681485ee259d31 to your computer and use it in GitHub Desktop.
Save Abreto/dae71858abcf09a167681485ee259d31 to your computer and use it in GitHub Desktop.
#!/bin/bash
show_help()
{
echo "Usage: ./install-ss-panel-v3-mod.sh -n <site name> -d <domain> -u <mysql user&database> -p <mysql password>"
exit 1
}
declare -i nargs=0
while getopts "n:d:u:p:" opt
do
case $opt in
n) nargs=nargs+1
appname="$OPTARG";;
d) nargs=nargs+1
domain="$OPTARG";;
u) nargs=nargs+1
mysql_user="$OPTARG";;
p) nargs=nargs+1
mysql_passwd="$OPTARG";;
?) show_help;;
esac
done
if [ "$nargs" != "4" ]; then
show_help
fi
echo "Confirm"
echo "Site Name: "$appname
echo "Domain: "$domain
echo "MySQL user&database's name: "$mysql_user
echo "MySQL password: "$mysql_passwd
echo "Are you sure? [Y/n]"
read areyousure
if [ $areyousure = "n" ]; then
exit 1
fi
echo "OK..Let's install ss-panel-v3-mod..."
echo "Add a vhost first. Please enter the corret information."
echo "For (y/n)s, nnny."
lnmp vhost add
# todo: auto
echo "Add:
location / {
try_files \$uri \$uri/ /index.php\$is_args\$args;
}
to server section and change root line."
read areyousure
vi /usr/local/nginx/conf/vhost/$domain.conf
echo "Get source code."
cd /home/wwwroot/$domain
yum install git -y
git clone https://github.com/glzjin/ss-panel-v3-mod.git tmp -b new_master && mv tmp/.git . && rm -rf tmp && git reset --hard
chown -R root:root *
chmod -R 777 *
chown -R www:www storage
echo "More changes.."
cd /home/wwwroot/$domain/
chattr -i .user.ini
mv .user.ini public
cd public
chattr +i .user.ini
echo "restart nginx"
service nginx restart
echo "restore sql"
cd /home/wwwroot/$domain/sql
mysql -u$mysql_user -p$mysql_passwd $mysql_user < glzjin_all.sql
echo "backto configure ss-panel"
cd /home/wwwroot/$domain
php composer.phar install
cd config
cp .config.php.example .config.php
sed -i "s/\$System_Config\['appName'\] = ''/\$System_Config\['appName'\] = '$appname'/g" .config.php
sed -i "s/\$System_Config\['baseUrl'\] = 'https:\/\/zhaojin97.cn'/\$System_Config\['baseUrl'\] = 'http:\/\/$domain'/g" .config.php
sed -i "s/\$System_Config\['db_database'\] = ''/\$System_Config\['db_database'\] = '$mysql_user'/g" .config.php
sed -i "s/\$System_Config\['db_username'\] = ''/\$System_Config\['db_username'\] = '$mysql_user'/g" .config.php
sed -i "s/\$System_Config\['db_password'\] = ''/\$System_Config\['db_password'\] = '$mysql_passwd'/g" .config.php
echo "edit .config.php by yourself? (Y/n)"
read yesorno
if [ $yesorno = "Y" ]; then
vi .config.php
fi
cd ..
php -n xcat createAdmin
php xcat syncusers
echo "configure conrtab"
cd /tmp
corntab -l > cron.back
echo "30 22 * * * /usr/bin/php /home/wwwroot/$domain/xcat sendDiaryMail" >> cron.back
echo "*/1 * * * * /usr/bin/php /home/wwwroot/$domain/xcat synclogin" >> cron.back
echo "*/1 * * * * /usr/bin/php /home/wwwroot/$domain/xcat syncvpn" >> cron.back
echo "0 0 * * * /usr/bin/php -n /home/wwwroot/$domain/xcat dailyjob" >> cron.back
echo "*/1 * * * * /usr/bin/php /home/wwwroot/$domain/xcat checkjob" >> cron.back
echo "*/1 * * * * /usr/bin/php -n /home/wwwroot/$domain/xcat syncnas" >> cron.back
crontab < cron.back
cd
echo "OK. All Done. Enjoy your site."
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment