欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

詳解CentOS5.5 下搭建 PHP 環(huán)境(最佳的LAMP環(huán)境)

 更新時間:2016年10月31日 11:02:25   作者:ruxingli  
本篇文章詳細(xì)介紹了詳解CentOS5.5 下搭建 PHP 環(huán)境(最佳的LAMP環(huán)境),有需要的小伙伴可以參考下。

本文詳細(xì)闡述在 Linux 系統(tǒng)中搭建 PHP 環(huán)境,由于 PHP 就是由 C 語言編寫的,最初也是運(yùn)行在 Linux 系統(tǒng)中,所以Linux 是 PHP 的最佳環(huán)境。

關(guān)于本文中使用到的軟件,請點擊此鏈接下載。

CentOS5.5現(xiàn)在官方已經(jīng)不再提供,推薦大家使用centos6以上版本:

centos6.8下載地址:http://www.dbjr.com.cn/softs/499124.html

centos7.2下載地址:http://www.dbjr.com.cn/softs/499109.html

>>> 【點擊下載

本文中作者是以虛擬機(jī)(VMware)安裝的 CentOS 5.5 進(jìn)行試驗。下面進(jìn)行安裝詳解

1、準(zhǔn)備工作

一、請先確認(rèn)你所安裝的 Linux 系統(tǒng)中是否已經(jīng)安裝了Apache、MySQL、PHP,如果安裝請先卸載。

查看是否安裝(Apache為例)

[root@gamejzy Linux]# rpm -qa|grep httpd 

注:rpm -qa 是查看本機(jī)中已經(jīng)安裝的所有軟件。 grep httpd 是過濾出與 httpd(apache) 有關(guān)的軟件。注:grep php 是查看 PHP;grep mysql 是查看 MySQL

如果執(zhí)行完命令后出現(xiàn)空,那么說明機(jī)器中沒有安裝 Apache 軟件,如果出現(xiàn)諸如下情況說明已經(jīng)安裝。

如果如上圖所示的那樣,那么就需要把這三個軟件都卸載了。

卸載命令如下:

[root@gamejzy Linux]# rpm -e httpd-2.2.3-43.el5.centos --nodeps 

注:--nodeps 是強(qiáng)制卸載

二、請保證你的 Linux 系統(tǒng)中安裝了 gcc、g++ 編譯器

檢查是否安裝很簡單,在命令行中敲入“gc”或“g+”,按 tab 鍵,看下面是否有命令顯示。

如果沒有也沒關(guān)系,安裝 gcc、g++ 的方法十分簡單

安裝gcc:

yum -y install gcc 

安裝g++:

yum install gcc-c++ 

三、將所有的軟件(大部分都是 tar 包)包拷貝到 /tmp/lamp 底下,并解壓

解壓 tar.gz 命令(php軟件為例):tar zxvf php-5.2.6.tar.gz 

當(dāng)執(zhí)行完此命令后,會在當(dāng)前目錄下創(chuàng)建一個 php-5.2.6 的文件夾,解壓的所有文件會放置在 php-5.2.6 文件夾中

請按照同樣的方法將所有的包都解壓,并且刪除所有的 *.tar.gz 文件

[root@gamejzy lamp]# rm -rf *.gz 

以上命令刪除所有的 .gz 文件

四、編譯安裝軟件包介紹

在 Linux 系統(tǒng)安裝每個源代碼軟件包的過程如下:
△ 配置(configure)
△ 編譯(make)
△ 安裝(make install)

2、搭建 LAMP 環(huán)境(請按照下面給出的順序進(jìn)行安裝)

這里所有的軟件都安裝在 /usr/local 下
一、安裝libxml

安裝順序:1、進(jìn)入 libxml 目錄;2、配置參數(shù)(包括安裝路徑;依賴軟件;安裝功能等);3、編譯;4、安裝。注:所有軟件包安裝類似

[root@gamejzy lamp]# cd libxml2-2.6.30/ 
[root@gamejzy libxml2-2.6.30]# ./configure --prefix=/usr/local/libxml2 

./configure 為軟件包配置參數(shù)命令,--prefix 表示指定的安裝目錄,大部分目錄若不在會自動創(chuàng)建,個別不會,需要我們手動創(chuàng)建

[root@gamejzy libxml2-2.6.30]# make && make install 

以上命令是將編譯和安裝在一起執(zhí)行,由于軟件小,安裝速度比較快,若大的軟件,可能會花比較長的時間。

二、安裝libmcrypt

[root@gamejzy lamp]# cd libmcrypt-2.5.8/ 
[root@gamejzy libmcrypt-2.5.8]# ./configure --prefix=/usr/local/libmcrypt 
[root@gamejzy libmcrypt-2.5.8]# make && make install 

三、安裝zlib

[root@gamejzy lamp]# cd zlib-1.2.3/ 
[root@gamejzy zlib-1.2.3]# ./configure 
[root@gamejzy zlib-1.2.3]# make && make install 

./configure 后面不要跟 --prefix 參數(shù),讓其安裝在默認(rèn)目錄中,因為安裝 libpng 的時候會用到 zlib。
四、安裝libpng

[root@gamejzy lamp]# cd libpng-1.2.31/ 
[root@gamejzy libpng-1.2.31]# ./configure --prefix=/usr/local/libpng 
[root@gamejzy libpng-1.2.31]# make && make install 

五、安裝jpeg6

這個軟件配置的時候不會自動創(chuàng)建目錄,需要我們手動創(chuàng)建

[root@gamejzy libpng-1.2.31]# mkdir /usr/local/jpeg6 
[root@gamejzy libpng-1.2.31]# mkdir /usr/local/jpeg6/bin 
[root@gamejzy libpng-1.2.31]# mkdir /usr/local/jpeg6/lib 
[root@gamejzy libpng-1.2.31]# mkdir /usr/local/jpeg6/include 
[root@gamejzy libpng-1.2.31]# mkdir -p /usr/local/jpeg6/man/man1 

生成目錄完畢!

[root@gamejzy lamp]# cd jpeg-6b/ 
[root@gamejzy jpeg-6b]# ./configure --prefix=/usr/local/jpeg6/ --enable-shared --enable-static 
[root@gamejzy jpeg-6b]# make && make install 

./configure 中參數(shù)說明:
--enable-shared  建立共享庫使用的GNU的libtool
--enable-static   建立靜態(tài)庫使用的GNU的libtool

六、安裝freetype

[root@gamejzy lamp]# cd freetype-2.3.5/ 
[root@gamejzy freetype-2.3.5]# ./configure --prefix=/usr/local/freetype 
[root@gamejzy freetype-2.3.5]# make && make install 

七、安裝autoconf

[root@gamejzy lamp]# cd autoconf-2.61/ 
[root@gamejzy autoconf-2.61]# ./configure 
[root@gamejzy autoconf-2.61]# make && make install 

這個軟件直接安裝在默認(rèn)目錄下。

八、安裝GD

[root@gamejzy lamp]# cd gd-2.0.35/ 
[root@gamejzy gd-2.0.35]# ./configure --prefix=/usr/local/gd2 --with-jpeg=/usr/local/jpeg6/ --with-png=/usr/local/libpng/ --with-freetype=/usr/local/freetype/ 
[root@gamejzy gd-2.0.35]# make && make install 

./configure 中參數(shù)說明:
--with-jpeg=/usr/local/jpeg6/ 指定到哪去找jpeg庫文件的位置
--with-png=/usr/local/libpng/ 指定到哪去找png庫文件的位置
--with-freetype=/usr/local/freetype/ 指定到哪去找freetype 2.x字體庫的位置

注意 安裝此軟件包可能會出現(xiàn)以下錯誤,如下圖所示:

如果出現(xiàn)如此錯誤,解決方法:

[root@gamejzy gd-2.0.35]# vi gd_png.c 

找到關(guān)鍵詞"png.h" 命令:/png.h 回車

替換為:/usr/local/libpng/include/png.h

效果如下圖所示:

保存退出,繼續(xù)執(zhí)行"make && make install" 執(zhí)行即可安裝成功。

九、安裝Apache(關(guān)鍵)

[root@gamejzy lamp]# cd httpd-2.2.9/ 
[root@gamejzy httpd-2.2.9]# ./configure --prefix=/usr/local/apache2 --sysconfdir=/etc/httpd --with-included-apr --enable-so --enable-deflate=shared --enable-expires=shared --enable-rewrite=shared --enable-static-support 
[root@gamejzy httpd-2.2.9]# make && make install 

./configure 中的參數(shù)說明:
--sysconfdir=/etc/httpd 指定Apache服務(wù)器的配置文件(httpd.conf等文件)存放位置
--with-included-apr 使用捆綁APR/APR-Util的副本
--enable-so 以動態(tài)共享對象(DSO)編譯
--enable-deflate=shared 縮小傳輸編碼的支持
--enable-expires=shared 期滿頭控制
--enable-rewrite=shared 基于規(guī)則的URL操控
--enable-static-support 建立一個靜態(tài)鏈接版本的支持

測試 Apache 服務(wù)器

1、檢查 /usr/local/ 下是否出現(xiàn) apache2 目錄;

2、檢查 /etc/ 目錄下面是否出現(xiàn) httpd 目錄,即里面是否有 httpd.conf 文件、extra目錄等內(nèi)容

3、開啟 apache 服務(wù)器

[root@gamejzy httpd]# /usr/local/apache2/bin/apachectl start 

stop(關(guān)閉)、restart(重啟)

4、查看 apache 服務(wù)器是否啟動,即查看 80 端口是否啟動

[root@gamejzy httpd]# netstat -tnl|grep 80 

執(zhí)行完命令,出現(xiàn)如下所示,表示已經(jīng)啟動
tcp        0      0 :::80                       :::*                        LISTEN

5、在瀏覽器中訪問
如果在本機(jī)的話,請在瀏覽器地址欄中輸入:http://localhosthttp://127.0.0.1

如果是遠(yuǎn)程連接的話,比如:SSH連接,那么請在瀏覽器地址欄中輸入 Linux 的 ip 地址。比如:http://192.168.1.233

若網(wǎng)頁中出現(xiàn)大字“
It works!
”說明 Apache 安裝成功。
測試完畢!

添加 Apache 每次開機(jī)自動啟動

[root@gamejzy /]# echo "/usr/local/apache2/bin/apachectl start" >> /etc/rc.d/rc.local 

十、安裝MySQL(重要)

安裝 MySQL 之前先建立一個專門管理 MySQL 的組和用戶名

建立一個組名叫“mysql”

[root@gamejzy /]# groupadd mysql 

建立一個用戶名叫“mysql”,讓他屬于“mysql”組

[root@gamejzy /]# useradd -g mysql mysql 
[root@gamejzy lamp]# cd mysql-5.0.41/ 
[root@gamejzy mysql-5.0.41]# ./configure --prefix=/usr/local/mysql --with-extra-charsets=all 
[root@gamejzy mysql-5.0.41]# make && make install 

./configure 參數(shù)說明:
--with-extra-charsets=all 安裝MySQL 所有的字符集
注意 在 ./configure 的時候如果出現(xiàn)如下錯誤

原因:缺少ncurses安裝包。

解決方法:下載安裝相應(yīng)軟件包

yum list|grep ncurses 
yum -y install ncurses-devel 

ncurses安裝完成之后,再進(jìn)行 ./configure 配置!

MySQL安裝完成之后,設(shè)置一些內(nèi)容,這些內(nèi)容非常繁瑣,但是又非常關(guān)鍵的,希望大家耐心學(xué)習(xí)。

1、設(shè)置配置文件 my.cnf,放在 /etc/ 目錄下

[root@gamejzy mysql-5.0.41]# cp support-files/my-medium.cnf /etc/my.cnf 

2、初始化數(shù)據(jù)庫文件,安裝完 MySQL 之后,并不會出現(xiàn) MySQL 的數(shù)據(jù)文件及數(shù)據(jù)存放位置

首先切換到 MySQL 的安裝目錄下

[root@gamejzy mysql-5.0.41]# cd /usr/local/mysql/ 

使用 bin 目錄下的 mysql_install_db 進(jìn)行初始化數(shù)據(jù)庫文件,并使用上面建的 mysql 用戶

[root@gamejzy mysql]# bin/mysql_install_db --user=mysql 

運(yùn)行完之后,會發(fā)現(xiàn) MySQL 安裝目錄中會多一個 var 目錄,里面放置的就是數(shù)據(jù)庫文件,包括我們已經(jīng)建的數(shù)據(jù)庫都會放置在這個目錄里面。

3、設(shè)置 MySQL 安裝目錄權(quán)限

改變目錄下的所有文件和目錄的擁有者為 root

[root@gamejzy mysql]# chown -R root . 

改變 var 目錄的擁有者為 mysql 用戶

[root@gamejzy mysql]# chown -R mysql ./var/ 

改變所有目錄和文件的用戶組為 mysql 組

[root@gamejzy mysql]# chgrp -R mysql . 

4、啟動 MySQL

[root@gamejzy mysql]# /usr/local/mysql/bin/mysqld_safe --user=mysql & 

& 表示在后臺啟動
這時,使用 netstat -tnl,如果看見 3306 端口,那么說明啟動成功
tcp        0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN

5、設(shè)置權(quán)限,如果我們現(xiàn)在直接使用 bin 目錄下的 mysql 命令,那么就能登錄

[root@gamejzy mysql]# bin/mysql 

這樣就太危險了!因此需要設(shè)置權(quán)限。

先登錄進(jìn) MySQL 中,使用 SQL 命令刪除主機(jī)不是“l(fā)ocalhost” 的用戶名(MySQL 中的用戶都mysql庫中的user表),只留允許本機(jī)登錄的賬號。

mysql> delete from mysql.user where Host != 'localhost'; 

刷新授權(quán)表

mysql> flush privileges; 

設(shè)置允許本機(jī)進(jìn)入 MySQL 的 root 用戶的密碼

mysql> set password for 'root'@'localhost'=password('123456'); 

注:設(shè)置的密碼必須記住,不然就進(jìn)不去 MySQL 數(shù)據(jù)庫了。

到這步的時候,我們的 root 用戶,就已經(jīng)設(shè)置了密碼(密碼為“123456”),我們可以測試一下,鍵入“exit”退出MySQL

這時登錄 MySQL 數(shù)據(jù)庫的命令不能是 bin/mysql 那么簡單,應(yīng)該如下:

[root@gamejzy mysql]# bin/mysql -h 127.0.0.1 -u root -p123456 

-h 指定主機(jī)名
-u 用戶名
-p 密碼

6、關(guān)閉 MySQL 數(shù)據(jù)庫服務(wù)器

[root@gamejzy mysql]# bin/mysqladmin -u root -p shutdown 

這里的是 root 用戶是 MySQL 中的用戶,執(zhí)行后會提示你輸入密碼,Enter password:

輸入密碼,回車即可關(guān)閉數(shù)據(jù)庫。

啟動命令,請看本節(jié)4

7、加入到開機(jī)默認(rèn)啟動

[root@gamejzy mysql]# echo "/usr/local/mysql/bin/mysqld_safe --user=mysql &" >> /etc/rc.d/rc.local 

十一、安裝PHP(重要)

這里我們安裝 PHP 的高版本 php-5.3.19,安裝參數(shù)比較多,請一定注意。

[root@gamejzy lamp]# cd php-5.3.19/ 
[root@gamejzy php-5.3.19]# ./configure \ 
> --prefix=/usr/local/php \ 
> --with-config-file-path=/usr/local/php/etc \ 
> --with-apxs2=/usr/local/apache2/bin/apxs \ 
> --with-mysql=/usr/local/mysql/ \ 
> --with-libxml-dir=/usr/local/libxml2/ \ 
> --with-png-dir=/usr/local/libpng/ \ 
> --with-jpeg-dir=/usr/local/jpeg6/ \ 
> --with-freetype-dir=/usr/local/freetype/ \ 
> --with-gd=/usr/local/gd2/ \ 
> --with-mcrypt=/usr/local/libmcrypt/ \ 
> --with-mysqli=/usr/local/mysql/bin/mysql_config \ 
> --enable-soap \ 
> --enable-mbstring=all \ 
> --enable-sockets 

./configure 參數(shù)說明:
--with-config-file-path=/usr/local/php/etc 指定PHP5配置文件存入的路徑
--with-apxs2=/usr/local/apache2/bin/apxs 告訴PHP查找Apache 2的地方
--with-mysql=/usr/local/mysql/ 指定MySQL的安裝目錄
--with-libxml-dir=/usr/local/libxml2/ 告訴PHP放置libxml2庫的地方
--with-png-dir=/usr/local/libpng/ 告訴PHP放置libpng庫的地方
--with-jpeg-dir=/usr/local/jpeg6/ 告訴PHP放置jpeg庫的地方
--with-freetype-dir=/usr/local/freetype/ 告訴PHP放置freetype庫的地方
--with-gd=/usr/local/gd2/ 告訴PHP放置gd庫的地方
--with-mcrypt=/usr/local/libmcrypt/ 告訴PHP放置libmcrypt庫的地方
--with-mysqli=/usr/local/mysql/bin/mysql_config 變量激活新增加的MySQLi功能
--enable-soap 變量激活SOAP和Web services支持
--enable-mbstring=all 使多字節(jié)字符串支持
--enable-sockets 變量激活socket通訊特性

編譯可能出現(xiàn)的問題:

出現(xiàn)如下報錯:

解決方法:

cd /usr/local/mysql/lib/mysql/ 
ln -s libmysqlclient.so.15.0.0 libmysqlclient_r.so 

編譯OK后,出現(xiàn)“Thank you for using PHP.”,說明配置成功。

[root@gamejzy php-5.3.19]# make && make install 

編譯和安裝,時間會比較長,耐心等待吧!

編譯完成后,需要以下配置

1、設(shè)置 php.ini 配置文件

[root@gamejzy php-5.3.19]# cp php.ini-development /usr/local/php/etc/php.ini 

注:/usr/local/php/etc 是在配置的時候指定的位置
2、和 Apache 整合

先打開 Apache 的配置文件 httpd.conf

[root@gamejzy php-5.3.19]# vi /etc/httpd/httpd.conf 

會發(fā)現(xiàn)文件中有這么條內(nèi)容

LoadModule php5_module  modules/libphp5.so 

這就說明 PHP 已經(jīng)加載到 Apache 服務(wù)器中了,我們所要做的是告訴 Apache 服務(wù)器,哪些后綴名使用 PHP 解析

在 vi 編輯器中搜索“AddType application/x-compress .Z”

在后面添加一條:AddType application/x-httpd-php .php
修改后的效果如下圖

保存并退出,重啟 Apache

[root@gamejzy php-5.3.19]# /usr/local/apache2/bin/apachectl stop 
[root@gamejzy php-5.3.19]# /usr/local/apache2/bin/apachectl start 

3、測試 Apache 服務(wù)器是否可以解析 PHP

往 /usr/local/apache2/htdocs 目錄下添加一個phpinfo.php 文件,鍵入以下代碼:

<?php 
header("Content-Type:text/html;Charset=utf-8"); 
phpinfo(); 
?> 

打開瀏覽器,訪問該文件,看到如下圖所示,說明 PHP 安裝成功,并且和 Apache 服務(wù)器整合成功。

到此,CentOS 下的 LAMP 環(huán)境就搭建完畢了,雖然步驟繁瑣,但是“工欲善其事,必先利其器”,花些時間,搭建一個完美的環(huán)境是值得的。

相關(guān)文章

最新評論