#!/bin/bash
#此脚本适合新系统安装,一键安装脚本
#安装环境
#[root@localhost apache]# hostnamectl
# Icon name: computer-vm
# Chassis: vm
# Virtualization: vmware
# Operating System: CentOS Linux 7 (Core)
# CPE OS Name: cpe:/o:centos:centos:7
# Kernel: Linux 3.10.0-514.10.2.el7.x86_64
# Architecture: x86-64
#Author:sadoc.blog.51cto.com
#Date:2017-04-08
. /etc/rc.d/init.d/functions
apache2=”httpd-2.4.25.tar.gz”
apr152=”apr-1.5.2.tar.gz”
aprutil=”apr-util-1.5.4.tar.gz”
libiconv1=”libiconv-1.15.tar.gz”
php173=”php-7.1.3.tar.gz”
noarch=”mysql57-community-release-el7-9.noarch.rpm”
pcre8=”pcre-8.40.tar.gz”
appd=”/opt/app/”
down=”/opt/download”
xiezai=”httpd mysql php”
for rpme in $xiezai
do
rpm -qa | grep $rpme
if [ $? = 0 ];then
yum remove $rpme -y
fi
done
if [ -d $appd/php7.1.3 ];then
rm -rf $appd/php7.1.3
fi
if [ -d $appd/apache2.4.25 ];then
rm -rf $appd/apache2.4.25
fi
if [ -d $appd/other_app ];then
rm -rf -f $appd/other_app
fi
yum install epel-release -y
packages=”libxml2-devel curl-devel openjpeg openjpeg-devel openjpeg-libs libjpeg libpng freetype cmake wget autoconf”
apk=”libjpeg libpng-devel freetype-devel mcrypt php-mcrypt libmcrypt libmcrypt-devel zlib-devel net-tools libxml2-devel”
apps=”openssl-devel gcc gcc-c++ zip unzip gzip krb5 krb5-devel glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl-devel”
for app in $packages $apps $apk
do
rpm -qa | grep $app >/dev/null 2>&1
if [ $? = 0 ];then
action “$app :: success” /bin/true
else
action “$app :: FAILED” /bin/false
yum install $app -y >/dev/null 2>&1
fi
done
[ -d $appd ] || mkdir $appd -p
[ -d $down ] || mkdir $down -p
[ -d $appd/apache2.4.25 ] || mkdir $appd/apache2.4.25 -p
[ -d $appd/other_app ] || mkdir $appd/other_app -p
[ -d $appd/php7.1.3 ] || mkdir $appd/php7.1.3 -p
cd $down
[ -f $apr152 ] || wget http://mirrors.hust.edu.cn/apache//apr/apr-1.5.2.tar.gz
[ -f $aprutil ] || wget http://mirrors.hust.edu.cn/apache//apr/apr-util-1.5.4.tar.gz
[ -f $libiconv1 ] || wget https://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.15.tar.gz
[ -f $apache2 ] || wget http://mirror.bit.edu.cn/apache/httpd/httpd-2.4.25.tar.gz
[ -f $noarch ] || wget https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm
[ -f $php173 ] || wget -t5 http://ca1.php.net/distributions/php-7.1.3.tar.gz
[ -f $pcre8 ] || wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.40.tar.gz
rpm -ivh mysql57-community-release-el7-9.noarch.rpm
yum install mysql-server -y
tar zxf $apr152 && cd apr-1.5.2
./configure –prefix=/opt/app/other_app/apr
if [ $? = 1 ];then
exit 1
else
make && make install
fi
cd $down
tar zxf $aprutil
cd apr-util-1.5.4
./configure –prefix=/opt/app/other_app/apr_util \
–with-apr=/opt/app/other_app/apr
if [ $? = 1 ];then
exit 1
else
make && make install
fi
cd $down
tar zxf $libiconv1
cd libiconv-1.15
./configure –prefix=/opt/app/other_app/libiconv1.15
if [ $? = 1 ];then
exit 1
else
make && make install
fi
cd $down
tar zxf $pcre8
cd pcre-8.40
./configure –prefix=/opt/app/other_app/pcre8.4
if [ $? = 1 ];then
exit 1
else
make && make install
fi
cd $down
tar zxf $apache2
cd httpd-2.4.25
./configure –prefix=/opt/app/apache2.4.25 \
–with-apr=/opt/app/other_app/apr \
–with-apr-util=/opt/app/other_app/apr_util \
–with-pcre=/opt/app/other_app/pcre8.4 \
–enable-deflate \
–enable-expires \
–enable-headers \
–enable-modules=most \
–enable-so \
–with-mpm=worker \
-enable-rewrite \
–enable-zlib
if [ $? = 1 ];then
exit 1
else
make && make install
fi
cd
ln -s /opt/app/apache2.4.25 /opt/app/apache
cd $down
tar zxf $php173
cd php-7.1.3
./configure –prefix=/opt/app/php7.1.3 \
–with-apxs2=/opt/app/apache/bin/apxs \
-enable-calendar \
–with-mhash \
–with-openssl \
–with-mysqli=mysqlnd \
–with-mysqli=mysqlnd \
–with-pdo-mysql=mysqlnd \
–with-gd \
–with-iconv \
–with-zlib \
–enable-zip \
–enable-inline-optimization \
–disable-debug \
–disable-rpath \
–enable-shared \
–enable-xml \
–enable-bcmath \
–enable-shmop \
–enable-sysvsem \
–enable-mbregex \
–enable-mbstring \
–enable-ftp \
–enable-gd-native-ttf \
–enable-pcntl \
–enable-sockets \
–with-xmlrpc \
–enable-soap \
–without-pear \
–with-gettext \
–enable-session \
–with-curl \
–with-jpeg \
–with-freetype \
–enable-opcache \
–without-gdbm \
–with-mcrypt \
–disable-fileinfo
if [ $? = 1 ];then
exit 1
else
make && make install
fi
exit 1
#########End############################################################
#配置apache2
vim /opt/app/apache/conf/httpd.conf 修改成如下
194 ServerName localhost:80
251 <IfModule dir_module>
252 DirectoryIndex index.html index.php inex.phtml
253 </IfModule>
388 AddType application/x-compress .Z
389 AddType application/x-gzip .gz .tgz
390 AddType application/x-httpd-php .php
391 AddType application/x-httpd-php-source .phps
#mysql5.7.11 root密码
#https://dev.mysql.com/doc/refman/5.7/en/linux-installation-yum-repo.html
#启动服务
#systemctl start mysqld.service
#查看临时密码
#grep ‘temporary password’ /var/log/mysqld.log
#修改密码
#mysql_secure_installation 安全初始化.
测试书库就链接
vim /opt/app/apache/htdocs/index.php
<?php
$servername = “127.0.0.1”;
$username = “user”;
$password = “Admin1379!”;
// 创建连接
$conn = new mysqli($servername, $username, $password);
// 检测连接
if ($conn->connect_error) {
die(“连接失败: ” . $conn->connect_error);
}
echo “连接成功”;
?>