web應(yīng)用之LAMP源碼環(huán)境部署

一辆毡、LAMP環(huán)境的介紹

1.LAMP環(huán)境的重要性

思索許久编丘,最終還是決定寫一篇詳細(xì)的LAMP的源碼編譯安裝的實(shí)驗(yàn)文檔谅畅,一來是為了給自己一個(gè)交代,把技術(shù)進(jìn)行系統(tǒng)的歸納亥曹,將技術(shù)以極致的形式呈現(xiàn)出來邓了,做為一個(gè)做技術(shù)的應(yīng)該有的態(tài)度要通過這篇文檔展現(xiàn),做為以后二來也是為了給那些一直在尋找詳細(xì)文檔來細(xì)致學(xué)習(xí)的人多一些思路媳瞪,于是結(jié)合自己所學(xué)將零零散散知識進(jìn)行了整合骗炉,盡量將最好的東西展現(xiàn)出來。安裝過程中遇到的問題及解決方法我也會一一解答(專門用一篇博客來列出LAMP的問題和解決方法)蛇受,三來后面都很多實(shí)驗(yàn)都需要用到LAMP的環(huán)境句葵,比如搭建論壇,tomcat環(huán)境部署兢仰,搭建zabbix監(jiān)控等等乍丈,所以LAMP環(huán)境絕不能草草搭建完事,如果LAMP出問題了铐伴,后面LAMP上部署的應(yīng)用和各種服務(wù)可就遭殃了贮勃,所以認(rèn)認(rèn)真真徽级,一絲不茍地把LAMP環(huán)境搭建好是非常有必要的.

那么接下來就開始整個(gè)LAMP環(huán)境的搭建吧,這里我采用的是源碼編譯安裝请垛,雖然用yum安裝會非常省事,但是由于yum安裝的各種包版本可能比較老洽议,在不同的系統(tǒng)上yum可能支持性不好宗收,對后續(xù)的維護(hù)可能會有影響,所以綜合考慮后亚兄,還是決定用源碼編譯來部署LAMP環(huán)境混稽,如果為了圖省事,以后就會有源源不斷的麻煩事涌來审胚,這樣做得不償失匈勋,做運(yùn)維,在起初環(huán)境的設(shè)計(jì)和部署上一定要謹(jǐn)慎周全的考慮菲盾,把各方各面都要考慮周全颓影,謹(jǐn)小慎微,容不得一點(diǎn)的紕漏懒鉴,不然后期維護(hù)會非常的頭疼诡挂,這一點(diǎn)是通用的,切記A倨住A住!這里我就用LAMP的環(huán)境搭建來做個(gè)事例吧悉默,搭建過程中必須要做到條理清晰城豁,思路嚴(yán)謹(jǐn),任何的馬虎都有可能為后期的維護(hù)帶來巨大的隱患抄课。

那么在搭建LAMP之前唱星,首先簡單地介紹一下LAMP的相關(guān)概念雳旅,以及整個(gè)LAMP源碼編譯的實(shí)驗(yàn)環(huán)境(由于條件限制,這里我用的是虛擬機(jī)來進(jìn)行的實(shí)驗(yàn)间聊,不過真實(shí)的生產(chǎn)環(huán)境操作一樣)攒盈,大體步驟(這個(gè)是整個(gè)實(shí)驗(yàn)的指導(dǎo)思路,脈絡(luò)哎榴,后面的整個(gè)實(shí)驗(yàn)都是按照這個(gè)步驟有條不紊的進(jìn)行型豁,確保實(shí)驗(yàn)高質(zhì)量的完成)

2.LAMP組件介紹

在安裝LAMP之前,對LAMP進(jìn)行了解是肯定的了尚蝌, 首先就說說其含義

  • LAMP指的是linux迎变,Apache,Mysql以及Php的簡稱飘言,通過大量的生產(chǎn)環(huán)境的實(shí)踐證明衣形,在網(wǎng)絡(luò)應(yīng)用和開發(fā)環(huán)境方面,LAMP組合是非常棒的黃金搭檔热凹,它們的結(jié)合提供了非常強(qiáng)大功能

  • linux作為底層的操作系統(tǒng)泵喘,提供靈活且可定制性的應(yīng)用平臺,為其他組件穩(wěn)定高效的運(yùn)行在其之上提供了保障

  • Apache作為Web服務(wù)器般妙,提供了功能強(qiáng)大纪铺,穩(wěn)定且支撐能力突出的web平臺,為網(wǎng)站提供了強(qiáng)力支柱

  • Mysql也是一款非常優(yōu)秀的數(shù)據(jù)庫碟渺,從其產(chǎn)生的從多衍生數(shù)據(jù)庫就可見證明其強(qiáng)大

  • Php是一種開發(fā)源代碼的多用途腳本語言鲜锚,可嵌入html中,適用于web開發(fā)苫拍,且其編寫的數(shù)據(jù)可訪問mysql數(shù)據(jù)庫及l(fā)inux提供的動(dòng)態(tài)內(nèi)容

二芜繁、Apache源碼安裝

1.下載Apache及相關(guān)依賴包

Apache2.4版本開始不自帶apr庫,所以需要下載相應(yīng)的庫文件(百度云盤:http://pan.baidu.com/s/1bnL31c7)
1.apr(Apache依賴包) http://irrors.hust.edu.cn/apache/apr
2.apr-util (Apache依賴包) http://irrors.hust.edu.cn/apache/apr
3.pcre (Apache依賴包) http://sourceforge.net/projects/pcre/files/pcre/
4.Apache http://archive.apache.org/dist/httpd/

2.安裝Apache及其相關(guān)依賴包

  • 解壓Apache及相關(guān)依賴包(開始安裝依賴包绒极,注意骏令,需要將解壓包放到apache軟件解壓后的srclib目錄下面也就是這里的/soft/httpd-2.4.16/srclib/)
[root@localhost soft]#tar -zxvf
[root@localhost soft]#tar -zxvf apr-1.5.2.tar.gz
[root@localhost soft]#tar -zxvf apr-util-1.5.4.tar.g
[root@localhost soft]#tar -zxvf pcre-8.37.tar.g
-將相關(guān)依賴包放入/soft/httpd-2.4.16/srclib/中
[root@localhost soft]#mv apr-1.5.2 /httpd-2.4.16/srclib/apr
[root@localhost soft]#mv apr-util /httpd-2.4.16/srclib/apr-util
  • 安裝apr
[root@localhost soft]# cd /soft/httpd-2.4.16/srclib/
[root@localhost srclib]# cd apr     在目錄apr下進(jìn)入configure配置文件將$RM "cfgfile"這一行用#注銷
[root@localhost apr]# ./configure --prefix=/usr/local/apr     
[root@localhost apr]# make && make install
  • 安裝apr-util
[root@localhost srclib]# cd apr-util
[root@localhost apr-util]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/bin/apr-1-config
[root@localhost apr-util]# make && make install
  • 安裝pcre
[root@localhost srclib]# tar -zxvf pcre-8.37.tar.gz
[root@localhost srclib]# mv pcre-8.37 pcre
[root@localhost pcre-8.37]# ./configure --prefix=/usr/local/pcre
[root@localhost pcre-8.37]# make && make install
  • 安裝Apache
[root@localhost soft]# cd httpd-2.4.16 
[root@localhost soft]# ./configure --prefix=/usr/local/apache2 --sysconfdir=/etc/httpd --with-z=/usr/local/zlib/  --enable-so --enable-deflate=shared --enable-expires=shared --enable-rewrite=shared --enable-static-support --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-pcre=/usr/local/pcre 
[root@localhost soft]# make && make install
#./configure                              \   #執(zhí)行當(dāng)前目錄下軟件自帶的配置命令
#--prefix=/usr/local/apache2              \   #指定Apache軟件安裝的位置
#--sysconfdir=/etc/httpd                  \   #指定Apache服務(wù)器配置文件存放位置
# --with-z=/usr/local/zlib/               \   #指定zlib庫文件的位置
# --enable-so                             \   #以動(dòng)態(tài)共享對象(DSO)編譯
# --enable-deflate=shared                 \   #縮小傳輸編碼的支持
# --enable-expires=shared                 \   #期滿頭控制
# --enable-rewrite=shared                 \   #基于規(guī)則的URL操控
# --enable-static-support                 \   #建立一個(gè)靜態(tài)鏈接版本的支持
#--with-apr=/usr/local/apr                \   #加入apr依賴包安裝路徑
#--with-apr-util=/usr/local/apr-util      \   #加入apr-util依賴包安裝路徑
#--with-pcre=/usr/local/pcre              \   #加入pcre依賴包安裝路徑

3.配置Apache服務(wù)

  • 啟動(dòng)apache服務(wù)
進(jìn)入/etc/httpd/httpd.conf配置文件,任意位置插入一行ServerName localhost:80
[root@localhost httpd]# /usr/local/apache2/bin/apachectl start  
httpd (pid 55493) already running
  • 注冊為服務(wù)
[root@end ~]# cp /usr/local/apache2/bin/apachectl /etc/rc.d/init.d/httpd
[root@end ~]# service httpd start
httpd (pid 45005) already running 
  • 查看Apache服務(wù)端口情況
[root@localhost httpd]# netstat -na |grep 80
tcp        0      0 :::80                       :::*                        LISTEN        24534/httpd   
  • 加入到chkconfig
進(jìn)入/etc/init.d/httpd,加入
# chkconfig: 345 61 61
# description:Apache httpd
 [root@end ~]# chkconfig --add httpd 
[root@end ~]# chkconfig httpd on
  • 關(guān)閉防火墻
    關(guān)閉iptables
[root@localhost httpd]# iptables -F      清空iptables防火墻策略
[root@localhost httpd]# service iptables stop    關(guān)閉防火墻
iptables: Setting chains to policy ACCEPT: filter          [  OK  ]
iptables: Flushing firewall rules:                         [  OK  ]
iptables: Unloading modules:                               [  OK  ]
[root@localhost httpd]# chkconfig iptables off       重啟后防火墻依舊處于關(guān)閉狀態(tài)
  • 關(guān)閉selinux
兩種方法
1.使用命令setenforce 0 系統(tǒng)重啟即失效(不需要重啟)
2.編輯配置文件/etc/sysconfig/selinux 將SELINUX=enforcing改為disabled狀態(tài)( 須重啟生效)
[root@localhost httpd]# setenforce 0   臨時(shí)將selinux改為Permission狀態(tài)垄提,重啟系統(tǒng)后失效
 [root@localhost httpd]# cat /etc/sysconfig/selinux 
 # This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled   將selinux改為disabled狀態(tài)榔袋,需要重啟系統(tǒng)才能生效
# SELINUXTYPE= can take one of these two values:
#     targeted - Targeted processes are protected,
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted 

4.網(wǎng)頁測試

最后打開網(wǎng)頁,輸入網(wǎng)址http://ip即可查看網(wǎng)頁內(nèi)容
網(wǎng)頁顯示It works!就說明apache安裝成功了

Paste_Image.png

三铡俐、源碼安裝Mysql

1.下載mysql及相關(guān)軟件包

從mysql 5.5版本開始凰兑,mysql源碼安裝開始使用cmake了
下載cmake http://cmake.org/files/
下載ncurses http://ftp.gnu.org/gnu/ncurses/
下載bison http://ftp.gnu.org/gnu/bison

2.安裝mysql及其依賴包

  • 安裝cmake
[root@localhost mysql]# tar -zxvf cmake-3.4.1.tar.gz
[root@localhost cmake-3.4.1]# ./configure 
[root@localhost cmake-3.4.1]# make ; make install  
  • 安裝bison
[root@localhost mysql]# tar -zxvf bison-3.0.tar.gz 
[root@localhost bison-3.0]# ./configure 
[root@localhost bison-3.0]# make ; make install
  • 安裝ncurses
[root@localhost mysql]# tar -zxvf ncurses-6.0.tar.gz
[root@localhost ncurses-6.0]# ./configure
[root@localhost ncurses-6.0]# make ; make install
  • 安裝mysql
解壓mysql
[root@localhost soft]# tar -zxvf mysql-5.5.45.tar.gz   
安裝mysql
[root@localhost mysql-5.5.46]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock -DMYSQL_TCP_PORT=3306 -DENABLED_LOCAL_INFILE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci
編譯mysql
[root@localhost mysql-5.5.46]#make ; make install   
安裝詳解
# -DCMAKE_INSTALL_PREFIX=/usr/local/mysql          \    #安裝路徑
# -DMYSQL_DATADIR=/usr/local/mysql/data            \    #數(shù)據(jù)文件存放位置
# -DSYSCONFDIR=/etc                                \    #my.cnf路徑
# -DWITH_MYISAM_STORAGE_ENGINE=1                   \    #支持MyIASM引擎
# -DWITH_INNOBASE_STORAGE_ENGINE=1                 \    #支持InnoDB引擎
# -DWITH_MEMORY_STORAGE_ENGINE=1                   \    #支持Memory引擎
# -DWITH_READLINE=1                                \    #快捷鍵功能(我沒用過)
# -DMYSQL_UNIX_ADDR=/tmp/mysqld.sock               \    #連接數(shù)據(jù)庫socket路徑
# -DMYSQL_TCP_PORT=3306                            \    #端口
# -DENABLED_LOCAL_INFILE=1                         \    #允許從本地導(dǎo)入數(shù)據(jù)
# -DWITH_PARTITION_STORAGE_ENGINE=1                \    #安裝支持?jǐn)?shù)據(jù)庫分區(qū)
# -DEXTRA_CHARSETS=all                             \    #安裝所有的字符集
# -DDEFAULT_CHARSET=utf8                           \    #默認(rèn)字符
# -DDEFAULT_COLLATION=utf8_general_ci              \    #校驗(yàn)字符

3.配置Mysql服務(wù)

  • 創(chuàng)建用戶及用戶組
[root@end mysql]# groupadd mysql                  創(chuàng)建mysql組
[root@end mysql]# useradd -r -g mysql mysql       創(chuàng)建mysql用戶并添加到mysql組
  • 修改目錄所有者和所有組
[root@end mysql]#chown -R mysql:mysql /usr/local/mysql          將mysql目錄下的所有文件的所有者和所有組改為msyql
  • 初始化數(shù)據(jù)庫
[root@end mysql]#  chmod 777 scripts/mysql_install_db
[root@end mysql]# scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql
  • 復(fù)制mysql服務(wù)啟動(dòng)配置文件(注意:在CentOS 6.4版操作系統(tǒng)的最小安裝完成后,在/etc目錄下會存在一個(gè)my.cnf审丘,需要將此文件更名為其他的名字吏够,如:/etc/my.cnf.bak,否則,該文件會干擾源碼安裝的MySQL的正確配置锅知,造成無法啟動(dòng))
[root@end mysql]# cp /usr/local/mysql/support-files/my-medium.cnf /etc/my.cnf 
  • 修改配置文件信息
[mysqld]
datadir=/usr/local/mysql/data
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
  • 注冊為服務(wù)
/usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld      將mysqld添加為服務(wù)
  • 讓chkconfig管理mysql服務(wù)
[root@end mysql]# chkconfig --add mysqld         將mysqld服務(wù)添加到chkconfig中
[root@end mysql]# chkconfig mysqld on            重啟系統(tǒng)后服務(wù)自動(dòng)運(yùn)行
  • 設(shè)置環(huán)境變量
在文件/etc/profile末尾添加
PATH=/usr/local/mysql/bin:$PATH
[root@end mysql]# source /etc/profile            使修改的環(huán)境變量立即生效
  • 啟動(dòng)mysql服務(wù)
[root@end mysql]# service mysqld start
Starting MySQL...                                          [確定]
  • 檢查mysql服務(wù)是否啟動(dòng)
[root@end mysql]# netstat -tulnp |grep 3306
tcp        0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN      24351/mysqld 
  • 查看mysql進(jìn)程
[root@localhost ncurses-6.0]# ps aux |grep mysql
root     48813  0.0  0.3  11304  1492 pts/2    S    16:47   0:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/usr/local/mysql/data --pid-file=/usr/local/mysql/data/localhost.localdomain.pid
mysql    48979  0.0  9.8 413156 37360 pts/2    Sl   16:47   0:00 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/var/log/mysqld.log --pid-file=/usr/local/mysql/data/localhost.localdomain.pid --socket=/var/lib/mysql/mysql.sock
root     49018  0.0  0.2 103304   892 pts/2    S+   16:53   0:00 grep mysql
  • 修改mysql用戶root密碼
[root@end mysql]# mysql -uroot  登錄到mysql播急,首次登陸無密碼
 mysql> SET PASSWORD = PASSWORD('endmoon');   設(shè)置mysql密碼
Query OK, 0 rows affected (0.00 sec)
  • 用設(shè)置的密碼登錄到mysql數(shù)據(jù)庫
[root@end mysql]# mysql -u root -p
Enter password: endmoon
  • 設(shè)置root用戶遠(yuǎn)程訪問
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.20' IDENTIFIED BY 'password' WITH GRANT OPTION;
Query OK, 0 rows affected (0.00 sec)
  • 配置防火墻
    防火墻的3306端口默認(rèn)沒有開啟,若要遠(yuǎn)程訪問喉镰,需要開啟這個(gè)端口
打開/etc/sysconfig/iptables旅择,在-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT后面添加
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
[root@end mysql]# service iptables restart    使更改的防火墻配置生效
iptables:將鏈設(shè)置為政策 ACCEPT:filter                    [確定]
iptables:清除防火墻規(guī)則:                                 [確定]
iptables:正在卸載模塊:                                   [確定]
iptables:應(yīng)用防火墻規(guī)則:                                 [確定]

那么mysql數(shù)據(jù)庫的源碼安裝到這里就結(jié)束了

四、源碼安裝PHP

1.下載PHP以及相關(guān)庫軟件

從php5.4開始侣姆,需要自己下載安裝libXpm-dev了,但是由于包的依賴性原因沉噩,我就選擇了yum方式來進(jìn)行安裝捺宗,通過網(wǎng)絡(luò)yum源直接下載并進(jìn)行安裝了
下載php以及相關(guān)的庫文件(百度網(wǎng)盤:http::/pan.baidu.com/s/1bnL31c7)
gd庫以及php功能特性擴(kuò)展庫文件
libgd-2.1.1.tar.gz gd庫文件(使php支持以下功能)
jpegsrc.v7.tar.gz jpeg庫文件(使php支持jpeg格式圖片)
zlib-1.2.7.tar.gz 數(shù)據(jù)壓縮函數(shù)庫(使php支持?jǐn)?shù)據(jù)壓縮功能)
freetype-2.6.tar.gz freetype庫文件(使php支持多種字體格式文件)
libpng-1.2.56.tar.gz libpng庫文件(使php支持png格式圖片)

2.安裝PHP庫環(huán)境

  • 安裝libXpm
yum -y install libXpm
yum -y install libXpm-devel
安裝完后libXpm配置文件默認(rèn)在這個(gè)目錄/usr/lib64/下
  • 安裝autoconf-2.69.tar.gz
[root@end LAMP-php]# tar -zxvf autoconf-2.69.tar.gz 
[root@end LAMP-php]# cd autoconf-2.69
[root@end autoconf-2.69]# ./configure 
[root@end autoconf-2.69]# make ; make install
  • 安裝 libxml2-2.7.8.tar.gz
[root@end LAMP-php]# tar -zxvf libxml2-2.7.8.tar.gz 
[root@end LAMP-php]# cd libxml2-2.7.8     將$RM "cfgfile"這行用#注釋
[root@end libxml2-2.7.8]# ./configure --prefix=/usr/local/libxml2
[root@end libxml2-2.7.8]# make ; make install 
  • 安裝libmcrypt-2.5.8.tar.gz
[root@end LAMP-php]# tar -zxvf libmcrypt-2.5.8.tar.gz 
[root@end LAMP-php]# cd libmcrypt-2.5.8
[root@end libmcrypt-2.5.8]# ./configure --prefix=/usr/local/libmcrypt
[root@end libmcrypt-2.5.8]# make ; make install
  • 安裝zlib-1.2.7.tar.gz
[root@end LAMP-php]# tar -zxvf zlib-1.2.7.tar.gz 
[root@end LAMP-php]# cd zlib-1.2.7
[root@end zlib-1.2.7]# ./configure --prefix=/usr/local/zlib
[root@end zlib-1.2.7]# make ; make install
  • 安裝 libpng-1.2.56.tar.gz
[root@end LAMP-php]# tar -zxvf libpng-1.2.56.tar.gz 
[root@end LAMP-php]# cd libpng-1.2.56
[root@end libpng-1.2.56]# ./configure --prefix=/usr/local/libpng
[root@end libpng-1.2.56]# make ; make install
  • 安裝jpegsrc.v7.tar.gz
[root@end LAMP-php]# tar -zxvf jpegsrc.v7.tar.gz   
[root@end LAMP-php]# cd jpeg-7/
[root@end jpeg-7]# mkdir /usr/local/jpeg6                    建立jpeg6軟件安裝目錄
[root@end jpeg-7]# mkdir /usr/local/jpeg6/bin                建立存放命令的目錄
[root@end jpeg-7]# mkdir /usr/local/jpeg6/lib                創(chuàng)建jpeg6庫文件所在目錄
[root@end jpeg-7]# mkdir /usr/local/jpeg6/include            建立存放頭文件目錄
[root@end jpeg-7]# mkdir -p /usr/local/jpeg6/man/man1        建立存放手冊目錄
[root@end jpeg-7]# ./configure \
> --prefix=/usr/local/jpeg6/ \   
> --enable-shared \    建立共享庫使用的GNUd libtool
> --enable-static      建立靜態(tài)庫使用的GNUlibtool
./configure --prefix=/usr/local/jpeg6/ --enable-shared  --enable-static
[root@end jpeg-7]# make ; make install
  • 安裝freetype-2.6.tar.gz
[root@end LAMP-php]# tar -zxvf freetype-2.6.tar.gz 
[root@end LAMP-php]# cd freetype-2.6
[root@end freetype-2.6]# ./configure --prefix=/usr/local/freetype
[root@end freetype-2.6]# make ; make install
  • 安裝gd-2.0.32.tar.gz
[root@end LAMP-php]# tar -zxvf gd-2.0.32.tar.gz 
[root@end LAMP-php]# cd gd-2.0.32
[root@end gd-2.0.32]# ./configure \  進(jìn)入vim gd_png.c 將16行改為#include "/usr/local/libpng/include/png.h"
> --prefix=/usr/local/gd2/ \                       gd庫文件安裝目錄
> --with-zlib=/usr/local/zlib/ \                   指定zlib安裝路徑
> --with-jpeg=/usr/local/jpeg6/ \                  指定jpeg6安裝路徑
> --with-png=/usr/local/libpng/ \                  指定libpng安裝路徑
> --with-freetype=/usr/local/freetype/             指定freetype安裝路徑
./configure --prefix=/usr/local/gd2/ --with-zlib=/usr/local/zlib/ --with-jpeg=/usr/local/jpeg6/ --with-png=/usr/local/libpng/ --with-freetype=/usr/local/freetype
[root@end gd-2.0.32]# make ; make install 
  • 安裝PHP
[root@end AMP]# tar -zxvf php-5.6.9.tar.gz 
[root@end AMP]# cd php-5.6.9
[root@end php-5.6.9]# ./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-zlib-dir=/usr/local/zlib --with-mcrypt=/usr/local/libmcrypt  --with-xpm-dir=/usr/lib64/ --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-soap --enable-mbstring=all --enable-sockets 
[root@end php-5.6.9]# make ; make install
安裝詳解
#./configure                                        \    #執(zhí)行當(dāng)前目錄下軟件自帶的配置命令
#--prefix=/usr/local/php/                           \    #設(shè)置PHP5的安裝路徑
#--with-config-file-path=/usr/local/php/etc/        \    #指定PHP5配置文件存入的路徑
#--with-apxs2=/usr/local/apache2/bin/apxs/          \    #指定PHP查找Apache2的位置
#--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-zlib-dir=/usr/local/zlib/                   \    #指定php放置zlib庫的位置
#--with-mcrypt=/usr/local/libmcrypt/                \    #指定php放置libcrypt庫的位置
#--with-mysql=/usr/local/mysql/bin/mysql_config     \    #變量激活新增加mysqli功能
#--enable-soap                                      \    #變量激活soap和web services支持
#--enable-mbstring=all                              \    #使多字節(jié)字符串支持
#--enable-sockets                                   \    #變量激活socket通信特性

3.配置PHP

  • 創(chuàng)建php配置文件
cp php.ini-development /usr/local/php/etc/php.ini  
  • 在Apache主配置文件中添加php支持
進(jìn)入Apache主配置文件/etc/httpd/http.conf中加入
AddType application/x-httpd-php .php .phtml
AddType application/x-httpd-php .php .php4 .php5
  • 創(chuàng)建php測試文件
創(chuàng)建mkdir /usr/local/apache2/htdocs/test.php
 進(jìn)入test.php編輯
<?php
        phpinfo();
?>
  • 重啟Apache,使設(shè)置生效
[root@localhost php-5.6.9]# service httpd restart
  • 測試網(wǎng)頁
    輸入網(wǎng)址http://ip/test.php
    看到php的版本信息網(wǎng)頁川蒙,表示測試成功Q晾鳌!畜眨!
    Paste_Image.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末昼牛,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子康聂,更是在濱河造成了極大的恐慌贰健,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,372評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件恬汁,死亡現(xiàn)場離奇詭異伶椿,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)氓侧,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評論 3 392
  • 文/潘曉璐 我一進(jìn)店門脊另,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人约巷,你說我怎么就攤上這事偎痛。” “怎么了独郎?”我有些...
    開封第一講書人閱讀 162,415評論 0 353
  • 文/不壞的土叔 我叫張陵踩麦,是天一觀的道長。 經(jīng)常有香客問我囚聚,道長靖榕,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,157評論 1 292
  • 正文 為了忘掉前任顽铸,我火速辦了婚禮茁计,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己星压,他們只是感情好践剂,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,171評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著娜膘,像睡著了一般逊脯。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上竣贪,一...
    開封第一講書人閱讀 51,125評論 1 297
  • 那天军洼,我揣著相機(jī)與錄音,去河邊找鬼演怎。 笑死匕争,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的爷耀。 我是一名探鬼主播甘桑,決...
    沈念sama閱讀 40,028評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼歹叮!你這毒婦竟也來了跑杭?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,887評論 0 274
  • 序言:老撾萬榮一對情侶失蹤咆耿,失蹤者是張志新(化名)和其女友劉穎德谅,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體票灰,經(jīng)...
    沈念sama閱讀 45,310評論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡女阀,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,533評論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了屑迂。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片浸策。...
    茶點(diǎn)故事閱讀 39,690評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖惹盼,靈堂內(nèi)的尸體忽然破棺而出庸汗,到底是詐尸還是另有隱情,我是刑警寧澤手报,帶...
    沈念sama閱讀 35,411評論 5 343
  • 正文 年R本政府宣布蚯舱,位于F島的核電站,受9級特大地震影響掩蛤,放射性物質(zhì)發(fā)生泄漏枉昏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,004評論 3 325
  • 文/蒙蒙 一揍鸟、第九天 我趴在偏房一處隱蔽的房頂上張望兄裂。 院中可真熱鬧,春花似錦、人聲如沸晰奖。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽匾南。三九已至啃匿,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間蛆楞,已是汗流浹背溯乒。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評論 1 268
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留臊岸,地道東北人橙数。 一個(gè)月前我還...
    沈念sama閱讀 47,693評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像帅戒,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子崖技,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,577評論 2 353

推薦閱讀更多精彩內(nèi)容