linux 下升级apache,CentOS6.5在已有低版本环境下安装升级Apache+MySQL+PHP,centos6.5apache...
CentOS6.5在已有低版本环境下安装升级Apache+MySQL+PHP,centos6.5apache
由于最近工作中遇到了一个在比较老旧RedHat系Linux发行版系统上升级安装Apache+MySQL+PHP环境的事情,鼓弄了半天,发现和在比较新的操作系统如CentOS7上安装配置还是有一定区别的,因此,在此记录一下主要的方法和过程,希望能帮到有同样需求的朋友。(注:有些文件目录可能和你的实际情况有出入,请按需调整)
CentOS6.5环境:
内核版本: 2.6.32-431.el6.x86_64
GLIBC版本:2.1.2
安装升级AMP版本(均为目前最新的稳定版本)说明:
原有低版本:
(1)Apache2.2.15
(2)MySQL5.1
(3)PHP5.3.3
待升级版本:
(1)Apache2.4.23
(2)MySQL5.7
(3)PHP 5.6.28
Apache升级安装
首先,说一下Apache的升级安装,从低版本环境升级到高版本Apache环境可以采用两种方法:
yum方法
升级安装步骤:
(1)配置yum仓库
cd /etc/yum.repos.d
wget http://repos.fedorapeople.org/repos/jkaluza/httpd24/epel-httpd24.repo
如果无法下载仓库文件成功,可参考以下文件内容自行构建:
# Place this file in your /etc/yum.repos.d/ directory
[epel-httpd24]
name=httpd-2.4 scl
baseurl=http://repos.fedorapeople.org/repos/jkaluza/httpd24/epel-$releasever/$basearch/
enabled=1
skip_if_unavailable=1
gpgcheck=0
[epel-httpd24-source]
name=httpd-2.4 scl - Source
baseurl=http://repos.fedorapeople.org/repos/jkaluza/httpd24/epel-$releasever/SRPMS
enabled=0
skip_if_unavailable=1
gpgcheck=0
(2)安装
yum install httpd24
yum方法可能遇到的坑:
1.httpd24安装后会自动兼容原有版本的Apache服务,安装到哪里去了?
你会发现通过yum安装,httpd24服务被安装到了/opt/rh/httpd24/root目录下,并且按照Linux根目录下的目录形式将httpd24分别的文件分别放置,比如主程序就在/opt/rh/httpd24/root/etc/httpd下,日志就在/opt/rh/httpd24/root/var/log/httpd下。
另外,通过chkconfig | grep httpd你会发现保留了原版本的httpd服务,另外增加了httpd24-httpd服务。httpd24以这种方式单独呈现,因此,所有的配置工作都需要在对应的目录下展开。
2.仍然需要你手动安装apxs 工具,用于在PHP编译中生成扩展模块。
apxs is a tool for building and installing extension modules for the Apache HyperText Transfer Protocol (HTTP) server.
需要支持PHP,就需要自己重新编译生成libphp5.so作为Apache服务器支持PHP的模块,因此,apxs 是必备条件,所以你仍然需要进行针对apxs 的源码包安装,你可以通过http://httpd.apache.org/docs/current/programs/apxs.html单独获取源码包进行编译安装。
源码包方法
源码下载地址:http://apache.fayea.com/httpd/需要下载httpd源码包以及deps依赖包,你可以通过源码包编译方式进行安装,这里就不多做介绍了。
MySQL升级安装
在PHP安装前,为了生成对MySQL的PDO连接模块,系统中需要首先安装MySQL Client,当然,如果需要服务端,你就需要进行安装,安装方法可以多种方法,这里可以参考MySQL的官网,以下以yum方法为例:
查看http://dev.mysql.com/doc/mysql-yum-repo-quick-guide/en/说明,通过Yum方式安装MySQL5.7版本,通过http://dev.mysql.com/downloads/repo/yum/下载一个5.7版本的repo包,比如:
rpm -Uvh mysql57-community-release-el6-n.noarch.rpm
安装社区版MySQL Server
yum install mysql-community-server
安装后目录为:
/usr/local/mysql
通过阅读doc/INSTALL-BINARY进行用户、用户组、文件夹权限的配置工作,由于MySQL5.7版本的安全策略发生了一些变化,之后的主要步骤如下:
(1)初始化数据库
mysql_install_db --datadir=/var/lib/mysql –user=mysql
(2)忽略权限启动MySQL服务
mysqld_safe --skip-grant-tables &
(3)无密码登录
mysql -p
(4)修改root密码
update mysql.user set authentication_string=password('password') where user='root' and Host = 'localhost';
flush privileges;
(5)使用标准模式重新启动MySQL,带密码登录MySQL,再次确认修改密码:
alter user 'root'@'localhost' identified by 'password';
flush privileges;
PHP升级安装
由于需要生成libphp5.so作为Apache服务器支持PHP的模块,另外,考虑到指定编译选项有助于你最终生成各类扩展,所以,采用源码包安装。
这个可以通过http://php.net/get/php-5.6.28.tar.gz/from/a/mirror 进行下载
为了支持MySQL我们需要编译mysqlnd、pdo-mysql,并且编译一些必要的模块以及libphp5.so:
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc \
--enable-fpm --with-fpm-user=php-fpm --with-fpm-group=php-fpm --with- \
pdo-mysql=/usr/local/mysql --with-mysql=mysqlnd --with-libxml-dir \
--with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-iconv-dir \
--with-zlib-dir --with-mcrypt=/usr/local/libmcrypt--enable-soap --enable- \
gd-native-ttf --enable-ftp --enable-mbstring --enable-exif --disable-ipv6 \
--with-pear --with-curl --with-openssl --with-apxs2=/usr/local/apache2/bin/apxs
这里需要注意两点,一是pdo-mysql编译依赖MySQL Client的库,需要指明MySQL的安装目录,如–with-pdo-mysql=/usr/local/mysql。apxs2需要指明apxs程序的路径,如–with-apxs2=/usr/local/apache2/bin/apxs以便利用apxs生成libphp5.so模块。
另外,你也可以在PHP安装完成后,单独编译一些你所需要的模块,所有的扩展模块均在PHP源码包的ext目录下,如pdo-mysql,就在php-5.6.28/ext/pdo_mysql下,编译生成模块文件后,再通过配置php.ini的扩展进行手动添加,主要参考:
首先在模块源码目录下需要使用/usr/local/php/bin/phpize工具程序生成configure文件;
之后,完成正常的编译安装:
./configure -with-php-config=/usr/local/php/bin/php-config --with-pdo-mysql=/usr/local/mysql
make
make install
完成后会安装在/usr/local/php/lib/php/extensions/目录下,最终通过配置php.in文件开启extension模块即可。
PDO模块编译安装中可能遇到的坑:
对于在系统安装时就已经安装好的MySQL由于遍布在/usr目录下,在pdo-mysql配置时就直接指明为/usr目录即可,另外,有可能出现找不到libmysqlclient的情况出现,需要执行以下命令:
ln -s /usr/lib64/mysql/libmysqlclient.so.16 /usr/lib/libmysqlclient.so
一些可能在升级安装中需要的依赖包
pcrelib依赖
ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/
libmcrypt依赖
https://sourceforge.net/projects/mcrypt/?source=typ_redirect
linux 下升级apache,CentOS6.5在已有低版本环境下安装升级Apache+MySQL+PHP,centos6.5apache...相关推荐
- 中科院刘康:低资源环境下的事件知识抽取
不到现场,照样看最干货的学术报告! 嗨,大家好.这里是学术报告专栏,读芯术小编不定期挑选并亲自跑会,为大家奉献科技领域最优秀的学术报告,为同学们记录报告干货,并想方设法搞到一手的PPT和现场视频--足 ...
- Apache Maven 使用 profile 和 filtering 实现多种环境下的资源配置管理
http://archboy.org/2012/05/21/apache-maven-profile-filtering-multiple-build-environments/ 构建项目时可能 ...
- 【Linux运维-集群技术进阶】集群/分布式环境下5种session处理策略
前言 在搭建完集群环境后,不得不考虑的一个问题就是用户访问产生的session如何处理.如果不做任何处理的话,用户将出现频繁登录的现象,比如集群中存在A.B两台服务器,用户在第一次访问网站时,Ngin ...
- Centos7.4 版本环境下安装Mysql5.7操作记录
Centos7.x版本下针对Mysql的安装和使用多少跟之前的Centos6之前版本有所不同的,废话就不多赘述了,下面介绍下在centos7.x环境里安装mysql5.7的几种方法: 一.yum方式安 ...
- ACT5.6 动手实验手册 如何在工作组模式下对客户端进行数据收集 如何在AD域环境下对...
ACT5.6 动手实验手册 实验的目标 这个实验的目的是: · 了解如何部署ACT5.6 · 了解如何在工作组模式下对客户端进行数据收集 · 了解如何在AD域环境下对客户端进行数据收集 本次试验大约6 ...
- centos7下安装低版本mysql_centos7下使用yum安装制定版本mysql
一.准备mysql镜像源 到官网找mysql的yum源 wget https://repo.mysql.com/mysql80-community-release-el7-3.noarch.rpm r ...
- windows下编译c语言文件路径,解决JNI在Windows环境下因长路径导致编译失败问题
之前听一个朋友反馈LuaScriptoCore在Windows下编译会报错,今天特意跑到Windows环境下测试了一番,果然是存在问题.得到了下面的编译报错信息: Build command fail ...
- 解决html5语意标签在IE低版本浏览器下的兼容问题:
方法一:手动改写. 1.在body中写入h5语意标签,这里用nav标签举例子:<nav></nav> 2.在js中手动创建h5的语意标签:document.createElem ...
- linux 6.5升级nss,centos6.5 - centos 6.5系统PHP环境下的CURL库的SSL Version默认为NSS,怎么变更为OpenSSL?...
现在要求PHP的环境支持TSL1.2和SHA-256,php的CURL库升级到curl 7.35.0,openssl升级到OpenSSL/1.0.1f,但是通过配资文件查看curl的SSL Versi ...
最新文章
- 备考一天速通计算机三级网络技术
- oracle ctl file constantnull,Oracle 的一些导入和导出方法
- micropython 网络驱动_network_网卡驱动
- java ReentrantLock 使用
- java 异步调用 shell_Java 实现异步调用
- 软件测试基础课程学习笔记2--贯穿软件生命周期的测试活动
- libevent:信号、超时、回调
- php 多字节截取,将多字节字符串截断为n个字符
- NYOJ 305 表达式求值 (字符串处理)
- 设计思想之高内聚低耦合
- vue template标签_vue为什么要求组件模板只能有一个根元素?
- 用html和css轻松实现康奈尔笔记(5R笔记)模板
- phpstorm连接mysql
- 技术分享 | 使用 Zabbix + Grafana 搭建服务器监控系统
- 个性化广告推荐系统及应用
- 【red hat设置用户密码】passwd命令设置初始口令
- FPS 游戏自瞄原理
- DorisDB之CBO优化器结构原理
- vs2015 打包程序(摘抄自博客园-流浪阿丁)
- LeetCode78-子集
热门文章
- linux 指令tftp传输文件_tftp命令_Linux tftp 命令用法详解:在本机和tftp服务器之间使用TFTP协议传输文件...
- JavaScript event loop事件循环 macrotask与microtask
- WebDriver API 元素定位(三)
- @FindBy、@FindBys、@FindAll的区别
- LintCode 402: Continuous Subarray Sum
- YoMail+ Worktile办公协同--颠覆传统邮件使用功能
- 仿照微信的效果,实现了一个支持多选、选原图和视频的图片选择器,适配了iOS6-10系统,3行代码即可集成....
- Lichee (六) 优化配置的微内核
- 12款优秀的 JavaScript 日历和时间选择控件
- Day11多态部分-1 【1.1 多态的体现】