172 lines
7.1 KiB
Bash
172 lines
7.1 KiB
Bash
#!/usr/bin/env bash
|
|
|
|
Nginx_Dependent()
|
|
{
|
|
if [ "$PM" = "yum" ]; then
|
|
rpm -e httpd httpd-tools --nodeps
|
|
yum -y remove httpd*
|
|
for packages in make gcc gcc-c++ gcc-g77 wget crontabs zlib zlib-devel openssl openssl-devel perl patch bzip2;
|
|
do yum -y install $packages; done
|
|
elif [ "$PM" = "apt" ]; then
|
|
export DEBIAN_FRONTEND=noninteractive
|
|
apt-get update -y
|
|
dpkg -P apache2 apache2-doc apache2-mpm-prefork apache2-utils apache2.2-common
|
|
for removepackages in apache2 apache2-doc apache2-utils apache2.2-common apache2.2-bin apache2-mpm-prefork apache2-doc apache2-mpm-worker;
|
|
do apt-get purge -y $removepackages; done
|
|
for packages in debian-keyring debian-archive-keyring build-essential gcc g++ make autoconf automake wget cron openssl libssl-dev zlib1g zlib1g-dev bzip2;
|
|
do apt-get --no-install-recommends install -y $packages; done
|
|
fi
|
|
}
|
|
|
|
Install_Only_Nginx()
|
|
{
|
|
clear
|
|
echo "+-----------------------------------------------------------------------+"
|
|
echo "| Install Nginx for LNMP, Written by Licess |"
|
|
echo "+-----------------------------------------------------------------------+"
|
|
echo "| A tool to only install Nginx. |"
|
|
echo "+-----------------------------------------------------------------------+"
|
|
echo "| For more information please visit https://lnmp.org |"
|
|
echo "+-----------------------------------------------------------------------+"
|
|
Press_Install
|
|
Echo_Blue "Install dependent packages..."
|
|
cd ${cur_dir}/src
|
|
Get_Dist_Version
|
|
Nginx_Dependent
|
|
cd ${cur_dir}/src
|
|
Download_Files ${Download_Mirror}/web/pcre/${Pcre_Ver}.tar.bz2 ${Pcre_Ver}.tar.bz2
|
|
Install_Pcre
|
|
if [ `grep -L '/usr/local/lib' '/etc/ld.so.conf'` ]; then
|
|
echo "/usr/local/lib" >> /etc/ld.so.conf
|
|
fi
|
|
ldconfig
|
|
Download_Files ${Download_Mirror}/web/nginx/${Nginx_Ver}.tar.gz ${Nginx_Ver}.tar.gz
|
|
Install_Nginx
|
|
StartUp nginx
|
|
rm -rf ${cur_dir}/src/${Nginx_Ver}
|
|
[[ -d "${cur_dir}/src/${Openssl_Ver}" ]] && rm -rf ${cur_dir}/src/${Openssl_Ver}
|
|
[[ -d "${cur_dir}/src/${Openssl_New_Ver}" ]] && rm -rf ${cur_dir}/src/${Openssl_New_Ver}
|
|
StartOrStop start nginx
|
|
Add_Iptables_Rules
|
|
\cp ${cur_dir}/conf/index.html ${Default_Website_Dir}/index.html
|
|
\cp ${cur_dir}/conf/lnmp /bin/lnmp
|
|
Check_Nginx_Files
|
|
}
|
|
|
|
DB_Dependent()
|
|
{
|
|
if [ "$PM" = "yum" ]; then
|
|
yum -y remove mysql-server mysql mysql-libs mariadb-server mariadb mariadb-libs
|
|
rpm -qa|grep mysql
|
|
if [ $? -ne 0 ]; then
|
|
rpm -e mysql mysql-libs --nodeps
|
|
rpm -e mariadb mariadb-libs --nodeps
|
|
fi
|
|
for packages in make cmake gcc gcc-c++ gcc-g77 flex bison wget zlib zlib-devel openssl openssl-devel ncurses ncurses-devel libaio-devel rpcgen libtirpc-devel patch cyrus-sasl-devel pkg-config;
|
|
do yum -y install $packages; done
|
|
if [ "${DISTRO}" = "CentOS" ] && echo "${CentOS_Version}" | grep -Eqi "^8"; then
|
|
Check_PowerTools
|
|
dnf --enablerepo=${repo_id} install rpcgen -y
|
|
fi
|
|
if echo "${CentOS_Version}" | grep -Eqi "^8" && cat /etc/centos-release | grep -Eqi "CentOS Stream"; then
|
|
dnf install gcc-toolset-10 -y
|
|
fi
|
|
elif [ "$PM" = "apt" ]; then
|
|
export DEBIAN_FRONTEND=noninteractive
|
|
apt-get update -y
|
|
for removepackages in mysql-client mysql-server mysql-common mysql-server-core-5.5 mysql-client-5.5 mariadb-client mariadb-server mariadb-common;
|
|
do apt-get purge -y $removepackages; done
|
|
dpkg -l |grep mysql
|
|
dpkg -P mysql-server mysql-common libmysqlclient15off libmysqlclient15-dev
|
|
dpkg -P mariadb-client mariadb-server mariadb-common
|
|
for packages in debian-keyring debian-archive-keyring build-essential gcc g++ make cmake autoconf automake wget openssl libssl-dev zlib1g zlib1g-dev libncurses5 libncurses5-dev bison libaio-dev libtirpc-dev libsasl2-dev pkg-config;
|
|
do apt-get --no-install-recommends install -y $packages; done
|
|
fi
|
|
}
|
|
|
|
Install_Database()
|
|
{
|
|
echo "============================check files=================================="
|
|
cd ${cur_dir}/src
|
|
if [[ "${DBSelect}" =~ ^[12345]$ ]]; then
|
|
Download_Files ${Download_Mirror}/datebase/mysql/${Mysql_Ver}.tar.gz ${Mysql_Ver}.tar.gz
|
|
elif [[ "${DBSelect}" =~ ^[6789]|10$ ]]; then
|
|
Download_Files ${Download_Mirror}/datebase/mariadb/${Mariadb_Ver}.tar.gz ${Mariadb_Ver}.tar.gz
|
|
fi
|
|
echo "============================check files=================================="
|
|
|
|
Echo_Blue "Install dependent packages..."
|
|
Get_Dist_Version
|
|
DB_Dependent
|
|
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_10
|
|
elif [ "${DBSelect}" = "8" ]; then
|
|
Install_MariaDB_101
|
|
elif [ "${DBSelect}" = "9" ]; then
|
|
Install_MariaDB_102
|
|
elif [ "${DBSelect}" = "10" ]; then
|
|
Install_MariaDB_103
|
|
fi
|
|
TempMycnf_Clean
|
|
|
|
if [[ "${DBSelect}" =~ ^[6789]|10$ ]]; then
|
|
StartUp mariadb
|
|
StartOrStop start mariadb
|
|
elif [[ "${DBSelect}" =~ ^[12345]$ ]]; then
|
|
StartUp mysql
|
|
StartOrStop start mysql
|
|
fi
|
|
|
|
Clean_DB_Src_Dir
|
|
Check_DB_Files
|
|
if [[ "${isDB}" = "ok" ]]; then
|
|
if [[ "${DBSelect}" =~ ^[12345]$ ]]; then
|
|
Echo_Green "MySQL root password: ${DB_Root_Password}"
|
|
Echo_Green "Install ${Mysql_Ver} completed! enjoy it."
|
|
elif [[ "${DBSelect}" =~ ^[6789]|10$ ]]; then
|
|
Echo_Green "MariaDB root password: ${DB_Root_Password}"
|
|
Echo_Green "Install ${Mariadb_Ver} completed! enjoy it."
|
|
fi
|
|
fi
|
|
}
|
|
|
|
Install_Only_Database()
|
|
{
|
|
clear
|
|
echo "+-----------------------------------------------------------------------+"
|
|
echo "| Install MySQL/MariaDB database for LNMP, Written by Licess |"
|
|
echo "+-----------------------------------------------------------------------+"
|
|
echo "| A tool to install MySQL/MariaDB for LNMP |"
|
|
echo "+-----------------------------------------------------------------------+"
|
|
echo "| For more information please visit https://lnmp.org |"
|
|
echo "+-----------------------------------------------------------------------+"
|
|
|
|
Get_Dist_Name
|
|
Check_DB
|
|
if [ "${DB_Name}" != "None" ]; then
|
|
echo "You have install ${DB_Name}!"
|
|
exit 1
|
|
fi
|
|
|
|
Database_Selection
|
|
if [ "${DBSelect}" = "0" ]; then
|
|
echo "DO NOT Install MySQL or MariaDB."
|
|
exit 1
|
|
fi
|
|
Echo_Red "The script will REMOVE MySQL/MariaDB installed via yum or apt-get and it's databases!!!"
|
|
Press_Install
|
|
Install_Database 2>&1 | tee /root/install_database.log
|
|
}
|