101 lines
3.2 KiB
Bash
101 lines
3.2 KiB
Bash
#!/bin/bash
|
|
|
|
# Install script for LEMP Web Server on CentOS 6 by xiaosong
|
|
|
|
# Checking
|
|
echo "Checking..."
|
|
if [ -n "`grep 'Aliyun Linux release' /etc/issue`" -o -e /etc/redhat-release ];then
|
|
OS=CentOS
|
|
[ -n "`grep ' 7\.' /etc/redhat-release`" ] && CentOS_RHEL_version=7
|
|
[ -n "`grep ' 6\.' /etc/redhat-release`" -o -n "`grep 'Aliyun Linux release6 15' /etc/issue`" ] && CentOS_RHEL_version=6
|
|
fi
|
|
|
|
if [ "$OS" != 'CentOS' ] || [ "$CentOS_RHEL_version" != '6' -a "$CentOS_RHEL_version" != '7' ];then
|
|
echo "${CFAILURE}Error: This script only support CentOS 6 & CentOS 7${CEND}";
|
|
kill -9 $$
|
|
fi
|
|
|
|
if [ `getconf WORD_BIT` == 32 ] && [ `getconf LONG_BIT` == 64 ];then
|
|
BIT=64
|
|
else
|
|
echo "${CFAILURE}Error: This script only support 64 bit CentOS${CEND}";
|
|
kill -9 $$
|
|
fi
|
|
|
|
# Init
|
|
echo "Initializing..."
|
|
sudo yum -y update
|
|
sudo yum -y install vim wget epel-release unzip git
|
|
|
|
# Install the Required Repositories
|
|
echo "Installing the Required Repositories..."
|
|
sudo rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-${CentOS_RHEL_version}.rpm
|
|
|
|
echo "[nginx]
|
|
name=nginx repo
|
|
baseurl=http://nginx.org/packages/centos/\$releasever/\$basearch/
|
|
gpgcheck=0
|
|
enabled=1" > /etc/yum.repos.d/nginx.repo
|
|
|
|
echo "[mariadb]
|
|
name = MariaDB
|
|
baseurl = http://yum.mariadb.org/10.1/centos\$releasever-amd64
|
|
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
|
|
gpgcheck=1" > /etc/yum.repos.d/mariadb.repo
|
|
|
|
# Install MariaDB
|
|
echo "Installing MariaDB..."
|
|
sudo yum install -y MariaDB-server MariaDB-client
|
|
|
|
# Install Nginx
|
|
echo "Installing Nginx..."
|
|
sudo yum install -y nginx
|
|
|
|
# Install PHP
|
|
echo "Installing PHP..."
|
|
sudo yum install -y --enablerepo=remi,remi-php70 php-gd php-fpm php-cli php-pdo php-xml php-json php-soap php-common php-mcrypt php-mysqlnd php-mbstring php-pecl-zip
|
|
|
|
# Install Composer
|
|
echo "Installing Composer globally..."
|
|
curl -sS https://getcomposer.org/installer | php
|
|
sudo mv composer.phar /usr/bin/composer
|
|
|
|
# Configure Nginx for PHP
|
|
echo "Configuring Nginx for PHP..."
|
|
sudo sed -i 's/index index.html index.htm;/index index.php index.html index.htm;/g' /etc/nginx/conf.d/default.conf
|
|
|
|
# Configure PHP
|
|
echo "Configuring PHP..."
|
|
sudo chown root:nginx /var/lib/php -R
|
|
sudo sed -i 's/;cgi.fix_pathinfo=1/cgi.fix_pathinfo=0/g' /etc/php.ini
|
|
sudo sed -i 's/pdo_mysql.default_socket=/pdo_mysql.default_socket = \/var\/lib\/mysql\/mysql.sock/g' /etc/php.ini
|
|
sudo sed -i 's/mysqli.default_socket =/mysqli.default_socket = \/var\/lib\/mysql\/mysql.sock/g' /etc/php.ini
|
|
sudo sed -i 's/upload_max_filesize = 2M/upload_max_filesize = 20M/g' /etc/php.ini
|
|
sudo sed -i 's/post_max_size = 8M/post_max_size = 50M/g' /etc/php.ini
|
|
sudo sed -i 's/user = apache/user = nginx/g' /etc/php-fpm.d/www.conf
|
|
sudo sed -i 's/group = apache/group = nginx/g' /etc/php-fpm.d/www.conf
|
|
|
|
# Restarting Services
|
|
echo "Restarting Services..."
|
|
sudo service mysql restart
|
|
sudo service php-fpm restart
|
|
sudo service nginx restart
|
|
|
|
# Set Up Autostart
|
|
echo "Setting Autostart..."
|
|
|
|
if [ "$CentOS_RHEL_version" == 6 ];then
|
|
sudo chkconfig --levels 235 mysql on
|
|
sudo chkconfig --levels 235 nginx on
|
|
sudo chkconfig --levels 235 php-fpm on
|
|
else
|
|
sudo systemctl enable mysql
|
|
sudo systemctl enable nginx
|
|
sudo systemctl enable php-fpm
|
|
fi
|
|
|
|
# Done
|
|
echo "Configuring MariaDB..."
|
|
sudo /usr/bin/mysql_secure_installation
|
|
|