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+
win7X64下Apache2.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 5下Nginx1 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