#!/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] || ["$CentOS_RHEL_version" != 7];then echo "${CFAILURE}Error: This script only support CentOS 6 & CentOS 7${CEND}"; exit 1; fi if [ `getconf WORD_BIT` == 32 ] && [ `getconf LONG_BIT` == 64 ];then echo "${CFAILURE}Error: This script only support 64 bit CentOS${CEND}"; exit 1; fi # Init echo "Initializing..." sudo yum -y update sudo yum -y install vim wget epel-release unzip # Install the Required Repositories echo "Installing the Required Repositories..." sudo rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.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 --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 php-pecl-xdebug # Install Composer echo "Installing Composer globally..." curl -sS https://getcomposer.org/installer | php sudo mv composer.phar /usr/bin/composer # Install git echo "Installing git version management" sudo yum install -y git # 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