天天看点

Linux下PHP 开发环境搭建 -- LAMP

骞虫椂鍐欑▼搴忔椂閮芥槸鍦ㄦ湇鍔″櫒宸茬粡鎼缓濂界殑PHP鐜杩涜鐨勩€傚嚭浜庡鏈煡鐭ヨ瘑鐨勫ソ濂囷紝杩欏嚑澶╁湪鑷繁鐨勬満鍣ㄤ笂鎼缓璧蜂簡PHP寮€鍙戠幆澧冦€傛湰鎯宠交鏉鹃『鍒╃殑鐪嬪埌phpinfo鏄剧ず鍦ㄦ垜鐨勯〉闈笂锛屾病鎯冲埌瀹夎鐜鏃朵竴璺殑error锛屼笉鍋滅殑google鎶樿吘浜嗗崐澶╃粓浜庣湅鍒颁簡phpinfo銆傚湪姝ゆ妸閬囧埌鐨勯棶棰樻€荤粨涓€涓嬶紝缁欏ぇ瀹舵彁渚涗竴涓弬鑰冦€? 鎴戠殑OS鏄痷buntu 9.10 , 寰楃泭浜巃pt - get寮哄ぇ鐨勫姛鑳藉弬鑰冧簡涓€涓嬭繖绡囨枃绔爃ttp : // wiki.ubuntu.org.cn/index.php?title=Apache&variant=zh-cn#.E5.AE.89.E8.A3.85LAMP锛岃交鏉剧殑瀹屾垚浜哃AMP鐨勬惌寤恒€?

鍚庢潵鎵嬬棐鐥掔殑涓嶈锛屾妸鐜鍏ㄥ垹浜嗛噸鏂扮敤婧愮爜鍖呮惌寤轰簡涓€閬嶃€傛楠ゅ涓嬶細

(鐢变簬鐢ㄩ潪root璐︽埛鐧诲綍锛屽湪闇€瑕乺oot鏉冮檺鏃剁敤sudo鎵ц)

涓€銆乥uild - essential鐨勫畨瑁? # bulid-essential鏄紪璇戞簮鐮佸寘(C/C++绋嬪簭)鎵€闇€鐨勭紪璇戝伐鍏?

# ubuntu 涓嬮粯璁ゆ病鏈夊畨瑁?ubuntu涓嬪彲浠ユ墽琛宻udo apt-get install build-essential

瀹夎鍖?build - essential_11 . 4 . tar . gz

# 瀹夎鍛戒护

tar - zxvf build - essential_11 . 4 . tar . gz

cd build - essential - 11.4

./ configure

make

sudo make install

make clean

浜屻€丮ySql鐨勫畨瑁?

step . 1

ncurses鐨勫畨瑁?

# 濡傛灉缂哄皯ncurses鍖卪ysql缂栬瘧浼氭姤No curses/termcap library found鐨勯敊璇?

瀹夎鍖?ncurses - 5.6 . tar . gz

tar - zxvf ncurses - 5.6 . tar . gz

cd ncurses - 5.6

./ configure -- prefix =/ usr / local / ncurses -- with - shared -- without - debug -- enable - widec

make

sudo make install

make clean

step . 2

mysql鐨勫畨瑁? 瀹夎鍖? mysql - 5.1 . 42 . tar . gz

step . a

# 瀹夎鍛戒护

tar - zxvf mysql - 5.1 . 42 . tar . gz

cd mysql - 5.1 . 42

./ configure -- prefix =/ usr / local / mysql -- with - named - curses - libs =/ usr / local / ncurses / lib / libncursesw . so . 5.6 -- with - charset = gbk

# --prefix=/usr/local/mysql mysql鐨勫畨瑁呰矾寰?

# 鍏充簬mysql閰嶇疆鏂囦欢璺緞鐨勮鏄庯細mysql鎸夌収涓嬪垪椤哄簭鎼滅储my.cnf

# /etc,mysql瀹夎鐩綍濡?/usr/local/mysql/etc锛屽畨瑁呯洰褰曚笅鐨刣ata鐩綍濡?/usr/local/mysql/data锛屼互鏈€鍏堟壘鍒扮殑涓哄噯銆?etc涓媘y.cnf鐨勯厤缃槸鍏ㄥ眬璁剧疆

# --with-named-curses-libs=/usr/local/ncurses/lib/libncursesw.so.5.6 ncurses搴撴枃浠跺畨瑁呰矾寰?

# --localstatedir=/usr/local/mysql/var 鏁版嵁搴撻粯璁ゅ瓨鏀捐矾寰?鍙互璁剧疆鍏跺畠璺緞濡傦紝/var/lib/mysql)

# --with-charset=gbk 璁剧疆鏁版嵁搴撴敮鎸佷腑鏂囧瓧绗﹂泦

make

sudo make install

step . b

# 鎷疯礉mysql閰嶇疆鏂囦欢鍒扮洰鏍囩洰褰?usr/local/mysql/etc

# 鏂板缓/usr/local/mysql/etc鐩綍(璇ョ洰褰曟病鏈夎嚜鍔ㄥ垱寤?

sudo mkdir / usr / local / mysql / etc

sudo cp support - files / my - medium . cnf / usr / local / mysql / etc / my . cnf

# 鍒犻櫎瀹夎浜х敓鐨勪复鏃舵枃浠?涓€瀹氳鍦ㄦ嫹璐濆畬閰嶇疆鏂囦欢鍚庡湪鎵ц,涓嶇劧my-medium.cnf浼氳鍒犻櫎)

make clean

step . c

# 娣诲姞涓€涓悕涓簃ysql鐨刲inux绯荤粺缇ょ粍(鍙互鍙傝€僲ysql鎵嬪唽2.8.1. 婧愮爜瀹夎姒傝堪)

sudo groupadd mysql

# 鏂板缓涓€涓悕涓簃ysql鐨刲inux绯荤粺鐢ㄦ埛锛屽苟灏嗗叾娣诲姞鍒癿ysql绯荤粺缇ょ粍涓?

# 濡傛灉Linux鍙惎鍔ㄥ懡浠よ鐣岄潰锛屽彲浠ョ敤涓嬮潰鐨勬搷浣滄坊鍔犻渶瑕佺殑璐︽埛

# sudo useradd -M -s /bin/false -g mysql mysql

# -M 璇ラ€夐」涓嶄細寤虹珛鐢ㄦ埛鐩綍

# -s 鎸囧畾鏂板缓鐢ㄦ埛浣跨敤鐨剆hell锛?bin/false琛ㄧず璇ョ敤鎴蜂笉鑳界櫥褰曠郴缁?

# -g mysql 灏嗙敤鎴穖ysql娣诲姞鍒扮粍mysql涓?

# 鎴戠幇鍦ㄧ敤鐨勬椂妗岄潰绯荤粺锛岀敤濡備笂鍛戒护娣诲姞璐︽埛銆傜郴缁熷惎鍔ㄦ椂鍦ㄧ櫥褰曠晫闈細鏄剧ずmysql鐢ㄦ埛铏界劧瀹冧笉鐧诲綍

# 鏀圭敤涓嬮潰鍛戒护,mysql璐︽埛灏变笉浼氭樉绀哄湪鐧诲綍鐣岄潰浜?

sudo useradd - r - s / bin / false - g mysql mysql

# -r 寤虹珛绯荤粺璐︽埛锛屼笉鍒涘缓鐢ㄦ埛鐩綍,鐢ㄦ埛鍒嗛厤鐨剈id灏忎簬1000

step . d

# 鍒涘缓mysql鎺堟潈琛?

# 濡傛灉鐢╮oot杩愯鍛戒护锛屽簲褰撲娇鐢?-user閫夐」銆傞€夐」鐨勫€煎簲涓庝綘鍦╯tpe.czz涓垱寤虹殑鐧诲綍璐︽埛鐩稿悓銆傚鏋滅敤璇ョ敤鎴风櫥褰曟潵杩愯鍛戒护锛屽彲浠ョ渷鐣?-user閫夐」

#鍦ㄦ姝ュ鏋滄姤FATAL锛?Could not find mysqld閿欒,灏嗗懡浠ゆ敼涓? #sudo /usr/local/mysql/bin/mysql_install_db --user=mysql --basedir=/usr/local/mysql

step . e

# 杩涘叆mysql鐨勫畨瑁呯洰褰?/usr/local/mysql)

cd / usr / local / mysql

# 灏嗘枃浠剁殑鎵€鏈夊睘鎬ф敼涓簉oot鐢ㄦ埛

sudo chown - R root .

# 灏嗘暟鎹洰褰曠殑鎵€鏈夊睘鎬ф敼涓簃ysql鐢ㄦ埛(鍗冲湪step.c涓垱寤虹殑鐢ㄦ埛)

sudo chown - R mysql var

# 灏嗙粍灞炴€ф敼涓簃ysql缁?

sudo chgrp - R mysql .

step . f

# 鍚姩mysql鏈嶅姟

sudo / usr / local / mysql / bin / mysqld_safe -- user = mysql &

# 鐧诲綍鏁版嵁搴?

/ usr / local / mysql / bin / mysql - uroot

mysql瀹夎瀹屾垚浜?

涓夈€丄pache鐨勫畨瑁? # 浣跨敤DSO鍔ㄦ€佺紪璇?鍏充簬鍔ㄦ€佺紪璇戜笌闈欐€佺紪璇戠殑鍖哄埆鍙互鍙傝€僪ttp://www.ha97.com/2612.html

瀹夎鍖?httpd - 2.2 . 14 . tar . gz

tar - zvxf httpd - 2.2 . 14 . tar . gz

cd httpd - 2.2 . 14

./ configure -- prefix =/ usr / local / apache -- enable - mods - shared = most -- enable - so

# --prefix=/usr/local/apache 灏哸pache瀹夎鍒?usr/local/apache璺緞

# --enable-mods-shared=most 灏嗘墍鏈夋爣鍑嗘ā鍧楅兘鍔ㄦ€佺紪璇戜负DSO妯″潡

# --enable-so apache鏍稿績瑁呰浇DSO锛屼絾鏄笉瀹為檯缂栬瘧浠讳綍鍔ㄦ€佹ā鍧?

make

make install

make clean

# 鍚姩apache

sudo / usr / local / apache / bin / apachectl start

# 鎵撳紑娴忚鍣ㄨ緭鍏ユ祻瑙堝櫒浼氱湅鍒癐t works!

apache瀹夎瀹屾垚浜?

鍥涖€丳HP鐨勫畨瑁? step . 1

freetype鐨勫畨瑁? 瀹夎鍖?freetype - 2.3 . 11 . tar . gz

# 瀹夎鍛戒护

tar - zxvf freetype - 2.3 . 11 . tar . gz

cd freetype - 2.3 . 11

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

make

sudo make install

make clean

step . 2

zlib鐨勫畨瑁? 瀹夎鍖?zlib - 1.2 . 3 . tar . gz

# 瀹夎鍛戒护

tar - zxvf zlib - 1.2 . 3 . tar . gz

cd zlib - 1.2 . 3

./ configure --prefix=/usr/local/zlib --shared #--prefix=/usr/local/zlib zlib鐨勫畨瑁呯洰褰?--shared瀹夎鍏变韩搴? make

sudo make install

make clean

step . 3

libpng鐨勫畨瑁? 瀹夎鍖?libpng - 1.4 . 0 . tar . gz

# 瀹夎鍛戒护

tar - zxvf libpng - 1.4 . 0 . tar . gz

cd libpng - 1.4 . 0 # 灏唖cripts鐩綍涓嬬殑makefile.std鏂囦欢鎷疯礉鍒板綋鍓嶇洰褰曪紝骞堕噸鍛藉悕涓簃akefile

cp scripts/makefile.std makefile # 缂栬緫makefile鏂囦欢鎵惧埌27琛屽乏鍙冲涓嬪唴瀹? # ZLIBLIB=../zlib # ZLIBINC=../zlib # 淇敼涓? # ZLIBLIB=/usr/local/zlib/lib (zlib鐨勫簱鏂囦欢璺緞) # ZLIBINC=/usr/local/zlib/include (zlib鐨勫寘鍚枃浠惰矾寰? # 淇濆瓨閫€鍑? # 濡傛灉瀹夎zlib鏃堕厤缃懡浠や负 ./configure 锛屽垯涓嶇敤淇敼makefile鏂囦欢 make sudo make install

make clean

step . 4

jpeg鐨勫畨瑁? 瀹夎鍖?jpegsrc . v7 . tar . gz

# 瀹夎鍛戒护

tar - zxvf jpegsrc . v7 . tar . gz

cd jpeg - 7

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

make

sudo make install

make clean

# 寰堝浜烘墜鍔ㄥ缓绔?jpeg鐨勭洰褰曠粨鏋勪笉鐭ラ亾鏄洜涓轰笉鍚岃繕鏄湁鍏跺畠鍘熷洜(鏈夊緟鏌ヨ瘉)

# 浠ヤ笂鍖呴兘鏄痝d搴撴墍闇€瑕佺殑缁勬垚搴擄紝涓嬮潰瀹夎gd搴?

step . 5

gd搴撶殑瀹夎

瀹夎鍖?gd - 2.0 . 35 . tar . gz

# 瀹夎鍛戒护

step . a

tar - zxvf gd - 2.0 . 35 . tar . gz

cd gd - 2.0 . 35 # 鎵цgd閰嶇疆鍛戒护 CFLAGS="-I/usr/local/lamp/contrib/include" LDFLAGS="-L/usr/local/lamp/contrib/lib"聽 ./ configure -- prefix =/ usr / local / gd2 -- with - freetype =/ usr / local / freetype -- with - png =/ usr / local / libpng -- with - jpeg =/ usr / local / jpeg7

# CFLAGS="-I/usr/local/zlib/include" zlib鐨勫寘鍚枃浠惰矾寰? # LDFLAGS="-L/usr/local/lamp/contrib/lib" zlib鐨勫簱鏂囦欢璺緞 # 濡傛灉瀹夎zlib鏃堕厤缃懡浠や负./configure 锛屽垯鎰熷姩搴撶殑閰嶇疆鍛戒护鏀逛负 ./configure --prefix=/usr/local/gd2 --with-freetype=/usr/local/freetype --with-png=/usr/local/libpng --with-jpeg=/usr/local/jpeg7

step . b

# 缂栬緫 Makefile 鏂囦欢, 鎵惧埌 232 琛屽乏鍙?

# 鐪嬪埌绫讳技鍐呭 CPPFLAGS = -I/usr/local/freetype/include/freetype2 -I/usr/local/freetype/include -I/usr/local/freetype/include -I/usr/local/jpeg7/include

# 淇敼涓?CPPFLAGS = -I/usr/local/freetype/include/freetype2 -I/usr/local/freetype/include -I/usr/local/freetype/include -I/usr/local/libpng/include -I/usr/local/jpeg7/include # 淇濆瓨閫€鍑?

step . c

# 缂栬緫 gd_png.c 鏂囦欢 鎵惧埌 if (!png_check_sig (sig, 8)) {

# 淇敼涓?if (png_sig_cmp (sig, 0, 8)) { # 淇濆瓨閫€鍑?

step . d

# 鎵ц鍛戒护

make

sudo make install

make clean

# gd搴撳畨瑁呭畬鎴?

step . 6

libxml2鐨勫畨瑁? 瀹夎鍖?libxml2-2.6.20.tar.gz

# libxml2鐢ㄦ潵瑙f瀽xml

# 瀹夎鍛戒护

tar - zxvf libxml2 - 2.6 . 20 . tar . gz

cd libxml2 - 2.6 . 20

./ configure -- prefix =/ usr / local / libxml # 缂栬緫 nanohttp.c 鏂囦欢锛屾壘鍒癴d = open(filename, O_CREAT | O_WRONLY);(鍙互閫氳繃鏌ユ壘O_WRONLY瀹氫綅) # 淇敼涓?fd = open(filename, O_CREAT | O_WRONLY,0777); #聽淇濆瓨閫€鍑? make

make install

make clean

step . 7

php鐨勫畨瑁? 瀹夎鍖?php - 5.3 . 1 . tar . gz

# 瀹夎鍛戒护

step . a

tar - zxvf php - 5.3 . 1 . tar . gz

cd php - 5.3 . 1 . tar

./ configure -- prefix =/ usr / local / php -- with - apxs2 =/ usr / local / apache / bin / apxs -- with - mysql =/ usr / local / mysql -- with - libxml - dir =/ usr / local / libxml2 -- with - zlib-dir=/usr/local/zlib -- with - png - dir =/ usr / local / libpng -- with - jpeg - dir =/ usr / local / jpeg7 -- with - freetyp-e - dir =/ usr / local / freetype -- with - gd =/ usr / local / gd2

聽# --with-zlib-dir=/usr/local/zlib 鐨勫畨瑁呯洰褰曪紝濡傛灉瀹夎zlib鐨勯厤缃懡浠や负 ./configure 锛屽垯瀹夎鐩綍涓?usr make

sudo make install

make clean

step . b

鎷疯礉PHP閰嶇疆鏂囦欢

sudo cp php . ini - development / usr / local / php / lib / php . ini

# php閰嶇疆鏂囦欢鍚嶇О涓嶅悓鏈増鍚嶇О浼氭湁宸紓锛屽綋鍓嶇増鏈腑鏈変袱涓枃浠?php.ini-development(寮€鍙戠幆澧冧腑鐢ㄧ殑) php.ini-production(鐢熶骇鐜涓敤鐨?

step . d

淇敼apache閰嶇疆鏂囦欢 / usr / local / apache / conf / httpd . conf

# 娣诲姞瀵筽hp鐨勬敮鎸?

LoadModule php5_module modules / libphp5 . so

AddType application / x - httpd - php . php

step . e

# 濡傛灉鐢╮oot璐︽埛鐧诲綍璺宠繃杩欎竴姝?

# 鏇寸洰褰晈eb鐩綍鏉冮檺

sudo chown - R 鐧诲綍鐢ㄦ埛 : 鐧诲綍鐢ㄦ埛 / usr / local / apache / htdocs

step . f

# 閲嶅惎apache

sudo / usr / local / apache / bin / apachectl restart

濂戒簡鍒版linux閰嶇疆鐜閰嶇疆瀹屼簡锛岀敱浜庡悇绉嶉棶棰樿繖绡囨枃绔犳嫋浜嗗ソ鍑犲ぉ鎵嶅啓瀹屻€傝繖涓棿杩樺彂鐢熶簡鏈繚瀛樿€屼涪澶辨枃妗g殑鏉勘娉鍟婏紒鍏朵腑鍚勪釜鍖呯殑瀹夎 ./ configure娑夊強鍒扮殑鍙傛暟鍙槸涓€浜涘熀鏈殑鍙傛暟锛孡AMP涔嬫梾鍒氬垰寮€濮嬨€傝蛋杩囦簡浼氬彂鐜版病鏈夋兂璞$殑閭d箞鍥伴毦浜嗭紝GOOD LUCK锛?