佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > Linux下LAMP PHP開發(fā)環(huán)境搭建

Linux下LAMP PHP開發(fā)環(huán)境搭建

熱門標簽:解決方案 百度競價點擊價格的計算公式 外呼系統(tǒng) 服務(wù)器配置 家政服務(wù)網(wǎng)絡(luò) 硅谷的囚徒呼叫中心 美團 電話機器人搭建
本想輕松順利的看到phpinfo顯示在我的頁面上,沒想到安裝環(huán)境時一路的error,不停的google折騰了半天終于看到了phpinfo。在此把遇到的問題總結(jié)一下,給大家提供一個參考。
我的OS是ubuntu 9.10,得益于apt-get強大的功能參考了一下這篇文章http://wiki.ubuntu.org.cn/index.php?title=Apachevariant=zh-cn#.E5.AE.89.E8.A3.85LAMP,輕松的完成了LAMP的搭建。

來手癢癢的不行,把環(huán)境全刪了重新用源碼包搭建了一遍。步驟如下:

(由于用非root賬戶登錄,在需要root權(quán)限時用sudo執(zhí)行)

一、build
-
essential的安裝
 
# bulid-essential是編譯源碼包(C/C++程序)所需的編譯工具

  # ubuntu 下默認沒有安裝,ubuntu下可以執(zhí)行sudo 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

二、MySql的安裝

  step
.1

    ncurses的安裝
   
# 如果缺少ncurses包mysql編譯會報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的安裝路徑

      # 關(guān)于mysql配置文件路徑的說明:mysql按照下列順序搜索my.cnf
      # /etc,mysql安裝目錄如 /usr/local/mysql/etc,安裝目錄下的data目錄如 /usr/local/mysql/data,以最先找到的為準。/etc下my.cnf的配置是全局設(shè)置
      # --with-named-curses-libs=/usr/local/ncurses/lib/libncursesw.so.5.6   ncurses庫文件安裝路徑
      # --localstatedir=/usr/local/mysql/var    數(shù)據(jù)庫默認存放路徑(可以設(shè)置其它路徑如,/var/lib/mysql)
      # --with-charset=gbk   設(shè)置數(shù)據(jù)庫支持中文字符集
      make
      sudo make install

    step
.
b
     
# 拷貝mysql配置文件到目標目錄/usr/local/mysql/etc

      # 新建/usr/local/mysql/etc目錄(該目錄沒有自動創(chuàng)建)
      sudo mkdir /usr/local/mysql/etc
      sudo cp support
-files/my-medium.cnf /usr/local/mysql/etc/my.
cnf
     
# 刪除安裝產(chǎn)生的臨時文件(一定要在拷貝完配置文件后在執(zhí)行,不然my-medium.cnf會被刪除)

      make clean

    step
.
c
     
# 添加一個名為mysql的linux系統(tǒng)群組(可以參考mysql手冊2.8.1. 源碼安裝概述)

      sudo groupadd mysql

     
# 新建一個名為mysql的linux系統(tǒng)用戶,并將其添加到mysql系統(tǒng)群組中
      # 如果Linux只啟動命令行界面,可以用下面的操作添加需要的賬戶
      # sudo useradd -M -s /bin/false -g mysql mysql
      # -M 該選項不會建立用戶目錄
      # -s 指定新建用戶使用的shell,/bin/false表示該用戶不能登錄系統(tǒng)
      # -g mysql 將用戶mysql添加到組mysql中

     
# 我現(xiàn)在用的時桌面系統(tǒng),用如上命令添加賬戶。系統(tǒng)啟動時在登錄界面會顯示mysql用戶雖然它不登錄
      # 改用下面命令,mysql賬戶就不會顯示在登錄界面了
      sudo useradd -r -s /bin/false -g mysql mysql
     
# -r 建立系統(tǒng)賬戶,不創(chuàng)建用戶目錄,用戶分配的uid小于1000

    step
.d
     
# 創(chuàng)建mysql授權(quán)表

      # 如果用root運行命令,應(yīng)當(dāng)使用--user選項。選項的值應(yīng)與你在stpe.czz中創(chuàng)建的登錄賬戶相同。如果用該用戶登錄來運行命令,可以省略--user選項
      sudo /usr/local/mysql/bin/mysql_install_db --user=mysql

    step
.e
     
# 進入mysql的安裝目錄(/usr/local/mysql)

      cd /usr/local/mysql
     
# 將文件的所有屬性改為root用戶
      sudo chown -R root .
     
# 將數(shù)據(jù)目錄的所有屬性改為mysql用戶(即在step.c中創(chuàng)建的用戶)
      sudo chown -R mysql var
     
# 將組屬性改為mysql組
      sudo chgrp -R mysql .

    step
.f
     
# 啟動mysql服務(wù)

      sudo /usr/local/mysql/bin/mysqld_safe --user=mysql
     
# 登錄數(shù)據(jù)庫
      /usr/local/mysql/bin/mysql -uroot

mysql安裝完成了

三、Apache的安裝
 
# 使用DSO動態(tài)編譯,關(guān)于動態(tài)編譯與靜態(tài)編譯的區(qū)別可以參考http://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 將apache安裝到/usr/local/apache路徑

  # --enable-mods-shared=most  將所有標準模塊都動態(tài)編譯為DSO模塊
  # --enable-so  apache核心裝載DSO,但是不實際編譯任何動態(tài)模塊
  make
  make install
  make clean

 
# 啟動apache

  sudo /usr/local/apache/bin/apachectl start
 
# 打開瀏覽器輸入瀏覽器會看到It works!


apache安裝完成了

四、PHP的安裝
  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
    make
    sudo make install
    make clean
   
# 安裝時更改過zlib的安裝目錄如/usr/local/zlib,改后libpng的安裝也成功了,當(dāng)是到安裝gd庫時一直失敗,不得已又把zlib安裝到默認路徑,后邊才順利通過


  step
.3
    libpng的安裝
    安裝包  libpng
-1.4.0.tar.gz
   
# 安裝命令

    tar -zxvf libpng-1.4.0.tar.gz
    cd libpng
-1.4.0

   
./configure --prefix=/usr/local/libpng
    make
    sudo make install
    make clean
   
# 很多人這樣操作 cp scripts/makefile.std makefile 代替了./configure (兩者區(qū)別有待查證)

 
  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的目錄結(jié)構(gòu)不知道是因為不同還是有其它原因(有待查證)


 
# 以上包都是gd庫所需要的組成庫,下面安裝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

     
./configure --prefix=/usr/local/gd2 --with-freetype=/usr/local/freetype --with-png=/usr/local/libpng --with-jpeg=/usr/local/jpeg7

    step
.
b
     
# 編輯 Makefile 文件, 找到 232 行左右

      # 看到類似內(nèi)容 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)) { /* bad signature */

      # 修改為  if (png_sig_cmp (sig, 0, 8)) {
 
    step
.
d
     
# 執(zhí)行命令

      make
      sudo make install
      make clean
   
# gd庫安裝完成           


  step
.6
    libxml2的安裝
   
# libxml2用來解析xml
    # 安裝命令
    tar -zxvf libxml2-2.6.26.tar.gz
    cd libxml2
-2.6.26

   
./configure --prefix=/usr/local/libxml
    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 --with-png-dir=/usr/local/libpng --with-jpeg-dir=/usr/local/jpeg7 --with-freetype-dir=/usr/local/freetype --with-gd=/usr/local/
gd2
       make
       sudo make install
       make clean

    step
.
b
      拷貝PHP配置文件
      sudo cp php
.ini-development /usr/local/php/lib/php.
ini
     
# php配置文件名稱不同本版名稱會有差異,當(dāng)前版本中有兩個文件 php.ini-development(開發(fā)環(huán)境中用的)  php.ini-production(生產(chǎn)環(huán)境中用的)


    step
.d
      修改apache配置文件
/usr/local/apache/conf/httpd.
conf

     
# 添加對php的支持

      LoadModule php5_module modules/libphp5.so
      AddType application
/x-httpd-php .
php

    step
.
e
     
# 如果用root賬戶登錄跳過這一步

      # 更目錄web目錄權(quán)限   
      sudo chown -R 登錄用戶:登錄用戶 /usr/local/apache/htdocs

    step
.
f
     
#重啟apache 

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

好了到此linux配置環(huán)境配置完了,由于各種問題這篇文章拖了好幾天才寫完。這中間還發(fā)生了未保存而丟失文檔的杯俱淚奔??!其中各個包的安裝
./
configure涉及到的參數(shù)只是一些基本的參數(shù),LAMP之旅剛剛開始。走過了會發(fā)現(xiàn)沒有想象的那么困難了,好了。GOOD LUCK!

標簽:撫州 南昌 北海 韶關(guān) 烏蘭察布 邢臺 臨沂 防城港

巨人網(wǎng)絡(luò)通訊聲明:本文標題《Linux下LAMP PHP開發(fā)環(huán)境搭建》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    南溪县| 黔东| 凤阳县| 石阡县| 宁武县| 珲春市| 体育| 孝感市| 涞水县| 铜川市| 秦皇岛市| 喀喇| 阜新市| 友谊县| 阿坝| 米林县| 镇原县| 子洲县| 红原县| 工布江达县| 建昌县| 宣威市| 华宁县| 孝昌县| 中卫市| 雅江县| 夏河县| 眉山市| 子洲县| 中超| 广宗县| 双城市| 宝坻区| 北辰区| 元江| 涿州市| 河南省| 丹东市| 当涂县| 昭平县| 诸城市|