1. 程式人生 > >CentOS6.5下安裝Apache2.4+PHP5.6

CentOS6.5下安裝Apache2.4+PHP5.6

可能立刻會有人要問:為啥不裝MySql,這是因為本次專案準備購買雲RDS,所以就不在系統中自己安裝MySql了。

言歸正傳,開始安裝系統。

一,解除安裝系統自帶Apache

首先我個人覺得應該要解除安裝掉系統中自帶的apache軟體:

首先我們檢查系統中是否已經安裝了httpd服務:

[email protected] ~]# rpm -qa|grephttpd

httpd-2.2.3-11.el5_2.centos.4

httpd-manual-2.2.3-11.el5_2.centos.4

說明:rpm –qa | grep mysql 命令是為了把mysql相關的包都列出來,我上面的例子是Linux預設安裝apache的rpm軟體包列表,如果是別的Linux版本列出來的列表有可能會不一樣,不過不用擔心,不管是什麼,解除安裝都從最下面的一個包開始,直到解除安裝掉第一個為止。

比如:在這個例子中,我們應該先解除安裝httpd-manual-2.2.3-11.el5_2.centos.4方法如下:

rpm –ehttpd-manual-2.2.3-11.el5_2.centos.4

如果解除安裝不掉,則會顯示軟體的依賴關係,則可以刪除掉依賴的軟體,然後再來解除安裝當前軟體包。

如果實在覺得依賴軟體的關係鏈太長太複雜,則可以強行刪除,新增—nodeps引數即可,指令如下:

rpm –ehttpd-manual-2.2.3-11.el5_2.centos.4 --nodeps

個人觀點:刪除掉自帶的apache對於今後確認apache出現的問題有好處。

1.1,準備工作

首先要下載所需軟體的原始碼包,有如下這些:

apr-1.5.2.tar.gz

apr-util-1.5.4.tar.gz

pcre-8.36.tar.gz

httpd-2.4.17.tar.gz

php-5.6.15.tar.gz

把所有的原始碼包上傳到伺服器上。

1.2,安裝Apache2.4

首先要安裝Apache的依賴庫

apr-1.5.2.tar.gz

apr-util-1.5.4.tar.gz

pcre-8.36.tar.gz

tar zxvf apr-1.5.2.tar.gz

cd apr-1.5.2

./configure--prefix=/usr/local/apr

make && make install

tar zxvfapr-util-1.5.4.tar.gz

cd apr-util-1.5.4

./configure--prefix=/usr/local/apr-util --with-apr=/usr/local/apr

make && make install

tar zxvf pcre-8.36.tar.gz

cd pcre-8.36

./configure --prefix=/usr/local/pcre--with-apr-util=/usr/local/apr-util --with-apr=/usr/local/apr

make && make install

安裝PCRE的時候遇到如下錯誤:

You need a C++ compiler forC++ support

解決方案是:

yum install -y gcc gcc-c++

注意:這個-y千萬不能少。

可以開始安裝Apache了,

解壓縮

cd httpd-2.4.17

./configure--prefix=/usr/local/apache2 --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util--with-pcre=/usr/local/pcre --enable-so --enable-rewrite

make && make install

注意:之前安裝的時候從windows上覆制的./configure配置引數,結果中間不知為何多出來一些換行符,導致執行結果出錯了,所以大家拷貝指令的時候一定要小心。

【報錯】/usr/bin/ld: cannotfind -l*

主要的原因是庫檔案並沒有匯入的ld檢索目錄中

比如說我就遇到了如下兩個錯誤:

/usr/bin/ld: cannot find -lssl

/usr/bin/ld: cannot find -lcrypto

這兩個錯誤就表示:libssl.so和libcrypto.so這兩個檔案並不在ld檢索的目錄下面。

這兩個so檔案經過查詢,其實就在/usr/local/ssl/lib資料夾下面,並且/usr/local/ssl/lib也已經存在於ld的配置檔案中:/etc/ld.so.conf檔案。但是就是沒有起作用。

我的解決方案是:我沒有去學習ld的工作機制,我在ld預設的Lib檢查目錄之一的/usr/local/lib中增加了以上兩個so檔案的外鏈,指令如下:

cd /usr/local/lib

ln -sv/usr/local/ssl/lib/libssl.so   libssl.so

ln -sv/usr/local/ssl/lib/libcrypto.so  libcrypto.so

這樣的話,apahce的報錯問題就解決了。

1.3,將Apache新增成httpd服務並開機自啟動

如果沒有httpd 服務的時候,每次啟動都要執行如下指令:

/usr/local/apache/bin/apachectl start

好難受的說,下面就將httpd裝到服務中,同理也可以用到其他服務的操作。

1.將apachectl檔案copy一分到/etc/rc.d/init.d中,然後再/etc/rc.d/rc5.d中加入連結。

其中init.d中的指令碼就相當於window中的登錄檔,在系統啟動的時候某些指定的指令碼被執行。而rc5.d就和rc3.d差不多吧。也都是一些指令碼只是執行級別不同。

命令如下:

cp/usr/local/apache/bin/apachectl /etc/init.d/httpd

ln -s /etc/init.d/httpd/etc/rc.d/rc5.d/S85httpd

2.執行chkconfig --list 發現列表中沒有httpd,通過chkconfig --add httpd來新增,可能會提示httpd服務不支援chkconfig,需要編輯/etc/rc.d/init.d/httpd

在第二行新增以下注視資訊:

# chkconfig: 345 85 15

# description:Activates/Deactivates Apache Web Server

345代表哪些linux級別需要啟動httpd,啟動序號是85,關閉序號是15。

儲存以後執行 chkconfig --addhttpd 新增成功

3.執行chkconfig --list httpd 基本就存在了。然後就可以用了。service httpd start 和 service httpd stop

二,安裝PHP5.6.15

2.1 原始碼安裝PHP

解壓縮

Cd php-5.6.15

配置引數太複雜於是去網上找了一個大牛的推薦,如下:

./configure--prefix=/usr/local/php--with-apxs2=/usr/local/apache2/bin/apxs--with-libxml-dir=/usr/include/libxml2 --with-config-file-path=/usr/local/apache2/conf--with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config--with-gd--enable-gd-native-ttf --with-zlib--with-mcrypt--with-pdo-mysql=/usr/local/mysql --enable-shmop --enable-soap--enable-sockets--enable-wddx --enable-zip --with-xmlrpc --enable-fpm--enable-mbstring--with-zlib-dir --with-bz2 --with-curl --enable-exif--enable-ftp--with-jpeg-dir=/usr/lib --with-png-dir=/usr/lib--with-freetype-dir=/usr/lib/

於是乎遇到了一系列的報錯,推薦我之前的一篇文章介紹了常見錯誤的解決辦法:

http://blog.csdn.net/dodott/article/details/49664379

我遇到的問題如下:

【報錯】configure errorxml2-config not found. please check your libxml2 installation

解決方案:

Centos: yum install libxml2

yum install libxml2-devel -y

【報錯】Configure: error:Please reinstall the BZip2 distribution

解決方案:

centos: yum install bzip2bzip2-devel

debian: apt-get installbzip2-devel

【報錯】

configure: error: Pleasereinstall the libcurl distribution -

    easy.h should bein<curl-dir>/include/curl/

解決方案:

centos: yum install curlcurl-devel (For Redhat & Fedora)

【報錯】

configure: error: mcrypt.hnot found. Please reinstalllibmcrypt.

解決方案:

網上大部分給的方法是使用如下指令

yum install libmcryptlibmcrypt-devel (For Redhat & Fedora)

但是基本上都沒有作用,系統甚至會提示:nothingto do。估計可能和YUM源的軟體版本太低有關係。

正確做法是自己下載原始碼來安裝:

libmcrypt-2.5.7.tar.gz

cd libmcrypt-2.5.7

#編譯(預設安裝到/usr/local/lib/)

./configure--prefix=/usr/local/libmcrypt

#執行安裝

make && make install

注意:這裡的安裝路徑要記住,等會安裝PHP的時候會用到。

繼續回到PHP的安裝,此時的配置引數修改為:

./configure--prefix=/usr/local/php--with-apxs2=/usr/local/apache2/bin/apxs--with-libxml-dir=/usr/include/libxml2--with-config-file-path=/usr/local/apache2/conf--with-mysql=/usr/local/mysql--with-mysqli=/usr/local/mysql/bin/mysql_config--with-gd --enable-gd-native-ttf--with-zlib --with-pdo-mysql=/usr/local/mysql--enable-shmop --enable-soap--enable-sockets --enable-wddx --enable-zip--with-xmlrpc --enable-fpm--enable-mbstring --with-zlib-dir --with-bz2--with-curl --enable-exif--enable-ftp --with-jpeg-dir=/usr/lib --with-png-dir=/usr/lib--with-freetype-dir=/usr/lib/--with-mcrypt=/usr/local/libmcrypt

修改內容是:

去掉了--with-mcrypt,在最後增加了--with-mcrypt=/usr/local/libmcrypt

【報錯】configure: error:libjpeg.(a|so) not found

configure: error: png.h not found.

解決方法:

關於jpeg的問題,安裝如下軟體包

yum -y install libjpeg-devel

關於png的問題,安裝如下軟體包

yum -y install libpng-devel

【報錯】

configure: error: Cannot findMySQL header files under/usr/local/mysql.

Note that the MySQL clientlibrary is not bundled anymore!

這個問題是因為沒有安裝mysql,所以找不到mysql的執行庫。

但是本次安裝本身就不想安裝完整的mysql軟體,去php官網查了資料後找到如下一段翻譯文字:

“對於 php-5.3.0或更新版本,mysqli 預設使用Mysql Native Driver作為驅動。 這個驅動比libmysql會有一些優勢, --with-mysql=mysqlnd”

最終configure引數修改為:

./configure--prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs--with-libxml-dir=/usr/include/libxml2--with-config-file-path=/usr/local/apache2/conf --with-mysql=mysqlnd--with-mysqli=mysqlnd --with-gd --enable-gd-native-ttf --with-zlib--with-pdo-mysql=mysqlnd --enable-shmop --enable-soap --enable-sockets--enable-wddx --enable-zip --with-xmlrpc --enable-fpm --enable-mbstring  --with-zlib-dir --with-bz2 --with-curl--enable-exif --enable-ftp --with-jpeg-dir=/usr/lib --with-png-dir=/usr/lib--with-freetype-dir=/usr/lib/ --with-mcrypt=/usr/local/libmcrypt

注意:上面紅色標記出來的目錄就是後面php.ini需要放置的目錄。

到此終於把PHP的configure成功通過。

make 和 makeinstall。PHP安裝完畢。

2.2,修改PHP的配置檔案php.ini

進入php原始碼目錄,選擇php.ini-development複製一份到/usr/local/apache2/conf,並改名為php.ini使用vi開啟,查詢extension_dir,修改為extension_dir = "/usr/local/php/lib/php/extensions/no-debug-zts-20131226",讀者根據自己的PHP安裝目錄結構配置,目的是找到PHP的擴充套件庫。

查詢extension=php_,去掉extension=php_curl.dll,extension=php_gd2.dll,extension=php_mbstring.dll,extension=php_mysql.dll,extension=php_mysqli.dll,extension=php_pdo_mysql.dll,extension=php_xmlrpc.dll前面 的分號。查詢short_open_tag= Off把它修改成short_open_tag = On,讓其支援短標籤(我看註釋這個預設是開啟的)。

從別人的伺服器上我還拷貝瞭如下檔案放到

/usr/local/php/lib/php/extensions/no-debug-zts-20131226目錄,

檔案如下:

Imap.so

Mcrypt.so

Memcache.so

Openssl.so

Zip.so

然後在php.ini的最後增加如下配置文字:

extension=memcache.so

extension=openssl.so

extension=mcrypt.so

extension=zip.so

2.3,修改Apache配置檔案httpd.conf相關修改以支援PHP

vi/usr/local/apache/conf/httpd.conf

Ø  新增php支援。

【新增欄位一】

AddTypeapplication/x-httpd-php .php .phtml

AddType application/x-httpd-php-source.phps

【新增欄位二】

<FilesMatch \.php$>

SetHandlerapplication/x-httpd-php

</FilesMatch>

Ø  新增預設索引頁面index.php,再找到“DirectoryIndex”,在index.html後面加上“ index.php”

DirectoryIndex index.htmlindex.php

Ø  3. 不顯示目錄結構,找到“Options Indexes FollowSymLinks”,修改為

Options FollowSymLinks

Ø  4. 開啟Apache支援偽靜態,找到“AllowOverride None”,修改為

AllowOverride All

重啟Apache

service httpd restart

提醒:實在不知道怎麼配置,就找個已經搭建成功的伺服器把配置檔案弄過來對比一下。

此時還會遇到如下報錯:

httpd: Could not reliablydetermine the server's fully qualified domain name

解決辦法:

linux :/usr/local/apache/conf

用記事本開啟httpd.conf

將裡面的#ServerNamelocalhost:80註釋去掉即可。

【報錯】:我也曾經配置成了ServerName127.0.0.1:80,結果區域網其他電腦就沒法訪問了,原因不清楚。

 到此,整個Apache+PHP5.6的環境搭建完畢。

2.4,使用小技巧

【檢視Apache的版本號】

執行apache安裝目錄下的/bin/httpd -v,具體實踐後的指令是:

#進入apache安裝目錄

#cd  /usr/local/apache2/bin

#./httpd -v

Server version: Apache/2.4.17(Unix)

Server built:   Feb 23 2016 15:21:50

三,防火牆的管理

1) 重啟後生效

開啟: chkconfig iptables on

關閉: chkconfig iptables off

2) 即時生效,重啟後失效

開啟: service iptables start

關閉: service iptables stop

需要說明的是對於Linux下的其它服務都可以用以上命令執行開啟和關閉操作。

====================================================================

寫的比較亂,基本上就是把遇到的問題的解決方案一一羅列了一下,

從中還是可以學習到很多作業系統的技巧的,大家共勉。


相關推薦

CentOS6.5安裝Apache2.4+PHP5.6

可能立刻會有人要問:為啥不裝MySql,這是因為本次專案準備購買雲RDS,所以就不在系統中自己安裝MySql了。 言歸正傳,開始安裝系統。 一,解除安裝系統自帶Apache 首先我個人覺得應該要解除安裝掉系統中自帶的apache軟體: 首先我們檢查系統中是否已經安裝

ubuntu18 安裝apache2.4 php5.6 mysql5.6

  安裝包下載: 連結:https://pan.baidu.com/s/1uoVMy_QNyR_zqVi06QPqKg 提取碼:ll7s 注意:    ubuntu安裝:sudo apt-get install gcc build-essential(這個是c+

win7X64Apache2.4+PHP5.6+MySQL5+ORACLE client從頭安裝配置

一、Apache:解壓到某個資料夾;更改conf資料夾下的httpd.conf Define SRVROOT修改為解壓的apache目錄,如Define SRVROOT "C:/esun/Apache24";以管理員身份開啟CMD,cd到apache/bin,執行httpd.

Centos6.5安裝PHP5.6

繼上一篇Centos6.5下配置LAMP環境後,計劃在此環境上搭建Testlink 測試管理系統,選擇了版本比較穩定的testlink1.9.14 ,安裝過程中提示LAMP環境中的php 版本為5.3

Idea2016.2.5安裝破解版JRebel 6.4.3

idea jrebel 1、下載idea下的jrebel插件,由於最新版本的插件對應的jrebel版本太新,無法破解。所以只能在idea的在線倉庫中找到老版本的jrebel插件,對應老版本的jrebel破解來安裝。 在線插件倉庫:https://plugins.jetbrains.com/ide

CentOS6 5Nginx1 7 4安裝記錄

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

CentOS6.5 安裝Python3.6

CentOS 6.5上預設安裝的python版本是2.6.6,系統自帶的舊版本python被系統很多其他軟體環境依賴,不能解除安裝原Python,選擇Python3.6進行全新安裝。 1、首先先下載Python3.6的linux安裝包 2、root許可權登入Centos6

Centos6.7安裝Apache2.4+Mysql5.6+Apache2.4

首先說下思路,因為一開始系統上已經跑了一套完成的 PHP 環境,那時候都是快速自動安裝的,如果是跑一些5.3以下版本的話,很簡單,幾個指令,10分鐘搞定了。 但現在要升級,徹底一點的話,唯有推倒重來了。所以步驟有: 1. 解除安裝掉當前的 Apache、php、mysql; 2. 清除殘留的一些配置檔案

WINDOWS10環境apache2.4+php5.6.30(nts)+mysql5.7- web server環境手動配置

以下配置系統環境為windows10 professional PHP的配置: =========================================================================== 1、php.ini時區的設定:date.t

在CentOS7安裝APACHE2.4.6

安裝步驟如下: 首先檢查系統是否安裝有APACHE、APR、APR-UTIL以及GCC #rpm -qa|grep http #rpm -qa|grep apr #rpm -qa|grep gcc 然後掛載光碟映

centos6.5安裝docke過程

centos devel x86 修改 版本 span yum ice 順序 由於需要到使用到docker,centOs6.5的內核是 2.6.32-431.el6.x86_64,需要更新到3.0以上。 安裝過程。 1 下載 kernel-ml-aufs-3.10.5-3.

centos6.5安裝python3安裝、python3虛擬環境創建venv

替代品 虛擬環境 由於 需要 tools python2.6 ipy模塊 python2 pip3   原因:在安裝完centos6.5後,通過命令行鍵入python時,默認為python2.6.6版本,系統並沒有安裝python3版本。又想學習python3,因此需要在c

centos6.5 編譯安裝pgsql9.4.4 和主從流復制

postgresql 編譯安裝 主從流復制## postgresql yum 源網站https://yum.postgresql.org/9.4/redhat/rhel-6-x86_64/repoview/依賴包readline readline-devel zlib zlib-devel ncurses-

Centos6.5安裝cacti-0.8.7i

cacti安裝(初學者)(因為我是新手,在安裝時有很多大大小小的問題,我都在這裏備註上了,歡迎萌新們參考)Cacti功能Cacti是通過 snmpget來獲取數據,使用 RRDtool繪畫圖形,而且你完全可以不需要了解RRDtool復雜的參數。它提供了非常強大的數據和用戶管理功能,可以指定每一個用戶能查看樹狀

Centos6.9安裝OpenOffice 4.1.4

software pan x window lan zxvf host ftw jdk1.7 linu # 對一下時間,時間不準,解壓不了yum install -y ntp unzipntpdate -u 202.112.10.36yum install libXext.

記錄Centos6.5安裝vsftp服務及配置文件說明

linux 運維 vsftp 參考文章:http://blog.csdn.net/zwhfyy/article/details/1547454 http://www.linuxidc.com/Linux/2015-06/118442.htmvsftp 的優點:除了安全、高速、穩定之外,vsftpd

redis---在CentOS6.5安裝與配置

eas 相關 var 可選 tro rip 持久 exec TP 本文詳細介紹redis單機單實例安裝與配置,服務及開機自啟動。如有不對的地方,歡迎大家拍磚o(∩_∩)o (以下配置基於CentOS release 6.5 Final, redis版本3.0.2 [redi

Centos6.5 安裝 samba服務

unix系統 tab 協議 create hang pub 通信 reat conf samba介紹 在 Windows網絡環境中,主機之間進行文件和打印機共享是通過微軟公司自己的SMB/CIFS網絡協議實現的。SMB( Server Message Block,服務消息塊

centos6.5 安裝ftp服務

轉換成 單獨 centos6 tables list ice local tp服務器 下載 ftp介紹 FTP 是File Transfer Protocol(文件傳輸協議)的英文簡稱,而中文簡稱為“文傳協議”。用於Internet上的控制文件的雙向傳輸。同時,它也是一個應

linux配置LAMP(CentOS7.4 Apache2.4 PHP5.6

nload isa sin all 80端口 then 安裝PHP5 -c 2.6.0 1、安裝Apache 這個就不手動安裝了,直接上腳本執行 bash apache.sh 以下為腳本的內容: #!/bin/bashversion=`lsb_release -a|grep