Apache2.4.25+mysql5.7+php7.13编译安装For Centos7

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
云数据库 RDS PostgreSQL,高可用系列 2核4GB
简介:

#!/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 "连接成功";

?>

本文转自  一招拜师  51CTO博客,原文链接:http://blog.51cto.com/sadoc/1914184
相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
相关文章
|
2月前
|
安全 关系型数据库 MySQL
CentOS 7 yum 安装 MySQL教程
在CentOS 7上安装MySQL 8,其实流程很清晰。首先通过官方Yum仓库来安装服务,然后启动并设为开机自启。最重要的环节是首次安全设置:需要先从日志里找到临时密码来登录,再修改成你自己的密码,并为远程连接创建用户和授权。最后,也别忘了在服务器防火墙上放行3306端口,这样远程才能连上。
571 16
|
2月前
|
关系型数据库 MySQL PHP
PHP和Mysql前后端交互效果实现
本文介绍了使用PHP连接MySQL数据库的基本函数及其实现案例。内容涵盖数据库连接、选择数据库、执行查询、获取结果等常用操作,并通过用户登录和修改密码的功能实例,展示了PHP与MySQL的交互过程及代码实现。
264 0
PHP和Mysql前后端交互效果实现
|
3月前
|
存储 关系型数据库 MySQL
在CentOS 8.x上安装Percona Xtrabackup工具备份MySQL数据步骤。
以上就是在CentOS8.x上通过Perconaxtabbackup工具对Mysql进行高效率、高可靠性、无锁定影响地实现在线快速全量及增加式数据库资料保存与恢复流程。通过以上流程可以有效地将Mysql相关资料按需求完成定期或不定期地保存与灾难恢复需求。
331 10
|
7月前
|
Linux 编译器 开发工具
在CentOS上编译安装TinyXml2
以上就是在CentOS上编译安装TinyXml2的步骤。这个过程可能看起来有些复杂,但是只要你按照步骤一步步来,应该不会有太大问题。如果在过程中遇到任何问题,你可以查阅相关的文档,或者在网上搜索解决方案。记住,编程就是一个不断学习和解决问题的过程,不要因为遇到困难就放弃。
177 27
|
7月前
|
关系型数据库 MySQL Linux
CentOS 7系统下详细安装MySQL 5.7的步骤:包括密码配置、字符集配置、远程连接配置
以上就是在CentOS 7系统下安装MySQL 5.7的详细步骤。希望这个指南能帮助你顺利完成安装。
1812 26
|
7月前
|
Linux 开发工具 C语言
在CentOS系统中编译安装TinyXml2的方法
以上就是在CentOS系统中编译安装TinyXml2的方法。这个过程可能会有些复杂,但只要你按照上面的步骤一步一步来,你应该能够成功地完成这个任务。如果你在这个过程中遇到任何问题,你可以在网上搜索相关的资料,或者在相关的论坛上寻求帮助。希望这个指南能够帮助你成功地在你的CentOS系统中编译安装TinyXml2。
212 22
|
7月前
|
关系型数据库 MySQL Linux
查看Linux、Apache、MySQL、PHP版本的技巧
以上就是查看Linux、Apache、MySQL、PHP版本信息的方法。希望这些信息能帮助你更好地理解和使用你的LAMP技术栈。
384 17
|
8月前
|
关系型数据库 MySQL PHP
源码编译安装LAMP(HTTP服务,MYSQL ,PHP,以及bbs论坛)
通过以上步骤,你可以成功地在一台Linux服务器上从源码编译并安装LAMP环境,并配置一个BBS论坛(Discuz!)。这些步骤涵盖了从安装依赖、下载源代码、配置编译到安装完成的所有细节。每个命令的解释确保了过程的透明度,使即使是非专业人士也能够理解整个流程。
234 18
|
8月前
|
Linux Python
centos 编译安装 python 和 openssl
centos 编译安装 python 和 openssl
483 2
|
9月前
|
关系型数据库 MySQL 网络安全
如何排查和解决PHP连接数据库MYSQL失败写锁的问题
通过本文的介绍,您可以系统地了解如何排查和解决PHP连接MySQL数据库失败及写锁问题。通过检查配置、确保服务启动、调整防火墙设置和用户权限,以及识别和解决长时间运行的事务和死锁问题,可以有效地保障应用的稳定运行。
389 25