236 lines
5.5 KiB
Bash
236 lines
5.5 KiB
Bash
#!/usr/bin/env bash
|
|
export PATH=$PATH:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
|
|
|
|
# Check if user is root
|
|
if [ $(id -u) != "0" ]; then
|
|
echo "Error: You must be root to run this script, please use root to install lnmp"
|
|
exit 1
|
|
fi
|
|
|
|
cur_dir=$(pwd)
|
|
Stack=$1
|
|
if [ "${Stack}" = "" ]; then
|
|
Stack="lnmp"
|
|
else
|
|
Stack=$1
|
|
fi
|
|
|
|
LNMP_Ver='1.8'
|
|
. lnmp.conf
|
|
. include/main.sh
|
|
. include/init.sh
|
|
. include/mysql.sh
|
|
. include/mariadb.sh
|
|
. include/php.sh
|
|
. include/nginx.sh
|
|
. include/apache.sh
|
|
. include/end.sh
|
|
. include/only.sh
|
|
. include/multiplephp.sh
|
|
|
|
Get_Dist_Name
|
|
|
|
if [ "${DISTRO}" = "unknow" ]; then
|
|
Echo_Red "Unable to get Linux distribution name, or do NOT support the current distribution."
|
|
exit 1
|
|
fi
|
|
|
|
if [[ "${Stack}" = "lnmp" || "${Stack}" = "lnmpa" || "${Stack}" = "lamp" ]]; then
|
|
if [ -f /bin/lnmp ]; then
|
|
Echo_Red "You have installed LNMP!"
|
|
echo -e "If you want to reinstall LNMP, please BACKUP your data.\nand run uninstall script: ./uninstall.sh before you install."
|
|
exit 1
|
|
fi
|
|
fi
|
|
|
|
Check_LNMPConf
|
|
|
|
clear
|
|
echo "+------------------------------------------------------------------------+"
|
|
echo "| LNMP V${LNMP_Ver} for ${DISTRO} Linux Server, Written by Licess |"
|
|
echo "+------------------------------------------------------------------------+"
|
|
echo "| A tool to auto-compile & install LNMP/LNMPA/LAMP on Linux |"
|
|
echo "+------------------------------------------------------------------------+"
|
|
echo "| For more information please visit https://lnmp.org |"
|
|
echo "+------------------------------------------------------------------------+"
|
|
|
|
Init_Install()
|
|
{
|
|
Press_Install
|
|
Print_APP_Ver
|
|
Get_Dist_Version
|
|
Print_Sys_Info
|
|
Check_Hosts
|
|
Check_CMPT
|
|
if [ "${CheckMirror}" != "n" ]; then
|
|
Check_Mirror
|
|
fi
|
|
if [ "${DISTRO}" = "RHEL" ]; then
|
|
RHEL_Modify_Source
|
|
fi
|
|
if [ "${DISTRO}" = "Ubuntu" ]; then
|
|
Ubuntu_Modify_Source
|
|
fi
|
|
if [ "${DISTRO}" = "CentOS" ]; then
|
|
CentOS6_Modify_Source
|
|
fi
|
|
Add_Swap
|
|
Set_Timezone
|
|
if [ "$PM" = "yum" ]; then
|
|
CentOS_InstallNTP
|
|
CentOS_RemoveAMP
|
|
CentOS_Dependent
|
|
elif [ "$PM" = "apt" ]; then
|
|
Deb_InstallNTP
|
|
Xen_Hwcap_Setting
|
|
Deb_RemoveAMP
|
|
Deb_Dependent
|
|
fi
|
|
Disable_Selinux
|
|
Check_Download
|
|
Install_Libiconv
|
|
Install_Libmcrypt
|
|
Install_Mhash
|
|
Install_Mcrypt
|
|
Install_Freetype
|
|
Install_Pcre
|
|
Install_Icu4c
|
|
if [ "${SelectMalloc}" = "2" ]; then
|
|
Install_Jemalloc
|
|
elif [ "${SelectMalloc}" = "3" ]; then
|
|
Install_TCMalloc
|
|
fi
|
|
if [ "$PM" = "yum" ]; then
|
|
CentOS_Lib_Opt
|
|
elif [ "$PM" = "apt" ]; then
|
|
Deb_Lib_Opt
|
|
fi
|
|
if [ "${DBSelect}" = "1" ]; then
|
|
Install_MySQL_51
|
|
elif [ "${DBSelect}" = "2" ]; then
|
|
Install_MySQL_55
|
|
elif [ "${DBSelect}" = "3" ]; then
|
|
Install_MySQL_56
|
|
elif [ "${DBSelect}" = "4" ]; then
|
|
Install_MySQL_57
|
|
elif [ "${DBSelect}" = "5" ]; then
|
|
Install_MySQL_80
|
|
elif [ "${DBSelect}" = "6" ]; then
|
|
Install_MariaDB_5
|
|
elif [ "${DBSelect}" = "7" ]; then
|
|
Install_MariaDB_101
|
|
elif [ "${DBSelect}" = "8" ]; then
|
|
Install_MariaDB_102
|
|
elif [ "${DBSelect}" = "9" ]; then
|
|
Install_MariaDB_103
|
|
elif [ "${DBSelect}" = "10" ]; then
|
|
Install_MariaDB_104
|
|
fi
|
|
TempMycnf_Clean
|
|
Clean_DB_Src_Dir
|
|
Check_PHP_Option
|
|
}
|
|
|
|
Install_PHP()
|
|
{
|
|
if [ "${PHPSelect}" = "1" ]; then
|
|
Install_PHP_52
|
|
elif [ "${PHPSelect}" = "2" ]; then
|
|
Install_PHP_53
|
|
elif [ "${PHPSelect}" = "3" ]; then
|
|
Install_PHP_54
|
|
elif [ "${PHPSelect}" = "4" ]; then
|
|
Install_PHP_55
|
|
elif [ "${PHPSelect}" = "5" ]; then
|
|
Install_PHP_56
|
|
elif [ "${PHPSelect}" = "6" ]; then
|
|
Install_PHP_7
|
|
elif [ "${PHPSelect}" = "7" ]; then
|
|
Install_PHP_71
|
|
elif [ "${PHPSelect}" = "8" ]; then
|
|
Install_PHP_72
|
|
elif [ "${PHPSelect}" = "9" ]; then
|
|
Install_PHP_73
|
|
elif [ "${PHPSelect}" = "10" ]; then
|
|
Install_PHP_74
|
|
elif [ "${PHPSelect}" = "11" ]; then
|
|
Install_PHP_80
|
|
fi
|
|
Clean_PHP_Src_Dir
|
|
}
|
|
|
|
LNMP_Stack()
|
|
{
|
|
Init_Install
|
|
Install_PHP
|
|
LNMP_PHP_Opt
|
|
Install_Nginx
|
|
Creat_PHP_Tools
|
|
Add_Iptables_Rules
|
|
Add_LNMP_Startup
|
|
Check_LNMP_Install
|
|
}
|
|
|
|
LNMPA_Stack()
|
|
{
|
|
Apache_Selection
|
|
Init_Install
|
|
if [ "${ApacheSelect}" = "1" ]; then
|
|
Install_Apache_22
|
|
else
|
|
Install_Apache_24
|
|
fi
|
|
Install_PHP
|
|
Install_Nginx
|
|
Creat_PHP_Tools
|
|
Add_Iptables_Rules
|
|
Add_LNMPA_Startup
|
|
Check_LNMPA_Install
|
|
}
|
|
|
|
LAMP_Stack()
|
|
{
|
|
Apache_Selection
|
|
Init_Install
|
|
if [ "${ApacheSelect}" = "1" ]; then
|
|
Install_Apache_22
|
|
else
|
|
Install_Apache_24
|
|
fi
|
|
Install_PHP
|
|
Creat_PHP_Tools
|
|
Add_Iptables_Rules
|
|
Add_LAMP_Startup
|
|
Check_LAMP_Install
|
|
}
|
|
|
|
case "${Stack}" in
|
|
lnmp)
|
|
Dispaly_Selection
|
|
LNMP_Stack 2>&1 | tee /root/lnmp-install.log
|
|
;;
|
|
lnmpa)
|
|
Dispaly_Selection
|
|
LNMPA_Stack 2>&1 | tee /root/lnmp-install.log
|
|
;;
|
|
lamp)
|
|
Dispaly_Selection
|
|
LAMP_Stack 2>&1 | tee /root/lnmp-install.log
|
|
;;
|
|
nginx)
|
|
Install_Only_Nginx 2>&1 | tee /root/nginx-install.log
|
|
;;
|
|
db)
|
|
Install_Only_Database
|
|
;;
|
|
mphp)
|
|
Install_Multiplephp
|
|
;;
|
|
*)
|
|
Echo_Red "Usage: $0 {lnmp|lnmpa|lamp}"
|
|
Echo_Red "Usage: $0 {nginx|db|mphp}"
|
|
;;
|
|
esac
|
|
|
|
exit
|