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...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux 路由指向策略,Linux 路
- 下一篇: linux libodbc.so.1,C