⑴ centos6.5 php5.6已經綁定了httpd2.2怎樣換httpd2.4
目錄(?)[-]
一卸載系統自帶Apache
1准備工作
2安裝Apache24
3將Apache添加成httpd服務並開機自啟動
二安裝PHP5615
1 源代碼安裝PHP
2修改PHP的配置文件phpini
3修改Apache配置文件httpdconf相關修改以支持PHP4使用小技巧
三防火牆的管理
可能立刻會有人要問:為啥不裝MySQL,這是因為本次項目准備購買雲RDS,所以就不在系統中自己安裝MySql了。
言歸正傳,開始安裝系統。
一,卸載系統自帶Apache
首先我個人覺得應該要卸載掉系統中自帶的apache軟體:
首先我們檢查系統中是否已經安裝了httpd服務:
root@server ~]# 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/aprmake && 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/aprmake && 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-rewritemake && 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.soln -sv/usr/local/ssl/lib/libcrypto.so libcrypto.so這樣的話,apahce的報錯問題就解決了。
1.3,將Apache添加成httpd服務並開機自啟動
如果沒有httpd 服務的時候,每次啟動都要運行如下指令:
/usr/local/apache/bin/apachectl start
好難受的說,下面就將httpd裝到服務中,同理也可以用到其他服務的操作。
1.將apachectl文件一分到/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/httpdln -s /etc/init.d/httpd/etc/rc.d/rc5.d/S85httpd2.運行chkconfig --list 發現列表中沒有httpd,通過chkconfig --add httpd來添加,可能會提示httpd服務不支持chkconfig,需要編輯/etc/rc.d/init.d/httpd在第二行添加以下注視信息:
# chkconfig: 345 85 15
# description:Activates/Deactivates Apache Web Server345代表哪些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 foundconfigure: 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相關修改以支持PHPvi/usr/local/apache/conf/httpd.conf
? 添加php支持。
【添加欄位一】
AddTypeapplication/x-httpd-php .php .phtmlAddType 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下的其它服務都可以用以上命令執行開啟和關閉操作。
⑵ centos7系統Apache+php+mysql環境,怎麼升級PHP版本
yum install php php-devel
重啟apache使php生效
systemctl restart httpd.service
此時可以在目錄:/var/www/html/下建立一個PHP文件
代碼:
<?php phpinfo(); ?>
然後訪問這個文件,就能看到PHP的一些信息,php.ini配置文件的路徑可以在這個頁面上看到
安裝php的擴展
yum install php-mysql php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc
安裝完擴展之後需要再次重啟apache
systemctl restart httpd.service
⑶ centos編譯安裝php7怎麼加入apache
centos編譯安裝php7怎麼加入apache
可以直接下載PHP7.0.2的安裝包解壓,編譯,安裝:
下載php7,並解壓
$ cd /usr/src/
$ wget http://cn2.php.net/distributions/php-7.0.2.tar.gz
#解壓
$ tar -xzxvf php-7.0.2.tar.gz
$ cd php-7.0.2
解壓完後先不要編譯,請檢查是否安裝了gcc ,沒有的話執行yum install gcc
檢查是否安裝了libxml2 ,沒有的話執行yum install libxml2
檢查是否安裝了libxml2-devel,沒有的話執行yum install libxml2-devel
註:因為改為用nginx了,所以編譯參數中的--with-apxs2=/usr/bin/apxs去掉了,如果要配置apache用,安裝PHP前,請先安裝apache。
⑷ 如何在CentOS6下實現Apache+PHP+MySQL的快速安裝
LAMP是一個免費、開源的解決方案,代表了Linux、Apache、MySQL、PHP,主要用作建立可行的通用的web伺服器。那麼如何在CentOS6下實現安裝Apache+php+Mysql的快速安裝?其具體安裝配置步驟可以如下進行:
1.准備工作
使用yum進行安裝,為了提高速度,最好先是修改為中國CentOS鏡像伺服器。目前國內有三個鏡像可以選擇,分別是:中國科學技術大學、163和Sohu的鏡像,建議教育網用戶選擇中科大,電信用戶選擇163,他們的repo文件本博客作了備份如下:
http://yupengyan.com/wp-content/uploads/2012/02/CentOS6-Base-163.repo_.txt
http://yupengyan.com/wp-content/uploads/2012/02/CentOS6-Base-sohu.repo_.txt
http://yupengyan.com/wp-content/uploads/2012/02/CentOS6-Base-ustc.repo_.txt
下面命令是備份CentOS-Base.repo文件,並修改使用163鏡像作為yum源:
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.save
wget http://mirrors.163.com/.help/CentOS6-Base-163.repo
mv CentOS6-Base-163.repo /etc/yum.repos.d/CentOS-Base.repo
2.更新系統內核
yum -y update
3.安裝Apahce、Mysql、PHP
yum -y install httpd php mysql mysql-server
默認情況下,mysql數據目錄位於/var/lib/mysql
4.安裝相關組件:
yum install php-mysql php-gd php-imap php-ldap php-odbc
php-pear php-xml php-xmlrpc
5.安裝MySQL管理工具phpMyAdmin
yum -y install phpMyAdmin
6.配置Apache隨系統啟動
chkconfig --levels 235 httpd on
/etc/init.d/httpd start
7.配置MySQL隨系統啟動
chkconfig --levels 235 mysqld on
/etc/init.d/mysqld start
8.設置資料庫root密碼
/usr/bin/mysqladmin -u root password 'New+Password#www.yupengyan.com'
9.測試PHP是否安裝成功
在 CentOS 中 Apache 的默認根目錄是 /var/www/html,配置文件 /etc/httpd/conf/httpd.conf。其他配置存儲在 /etc/httpd/conf.d/ 目錄。
⑸ Linux centos6.3裝完apache+php後通過載入php模塊出錯
顯示文件 /usr/local/apache/conf/httpd.conf: 116 行以及前後幾行的內容。
你在顯示文件時,希望可以ls -l,這樣許可權也可以看到。
比如果
ls -l /usr/lib/libmcrypt.so.4