#!/bin/bash
#此脚本适合新系统安装,一键安装脚本
#安装环境
#[[email protected] 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 "连接成功";
?>