小知识:Linux下LAMP PHP开发环境搭建

本想轻松顺利的看到phpinfo显示在我的页面上,没想到安装环境时一路的error,不停的google折腾了半天终于看到了phpinfo。在此把遇到的问题总结一下,给大家提供一个参考。

我的OS是ubuntu 9.10,得益于aptget强大的功能参考了一下这篇文章http://wiki.ubuntu.org.cn/index.php?title=Apache&variant=zh-cn#.E5.AE.89.E8.A3.85LAMP,轻松的完成了LAMP的搭建

来手痒痒的不行,把环境全删了重新用源码包搭建了一遍。步骤如下:

(由于用非root账户登录,在需要root权限时用sudo执行)

一、build

essential的安装

 
# bulid-essential是编译源码包(C/C++程序)所需的编译工具 # ubuntu 下默认没有安装,ubuntu下可以执行sudo apt-get install build-essential   安装包  buildessential_11.4.tar.

gz

 
# 安装命令   tar zxvf buildessential_11.4.tar.

gz

  cd  build
essential11.4 ./

configure

  make

  sudo make install

  make clean

二、MySql的安装

  step
.1

    ncurses的安装

   
# 如果缺少ncurses包mysql编译会报No curses/termcap library found的错误     安装包  ncurses5.6.tar.

gz

    tar
zxvf ncurses5.6.tar.

gz

    cd  ncurses
5.6 ./configure  prefix=/usr/local/ncurses  withshared  withoutdebug  enable

widec

    make

    sudo make install

  make clean

  step
.2

    mysql的安装

    安装包
mysql5.1.42.tar.

gz 

    step
.

a

     
# 安装命令       tar  zxvf mysql5.1.42.tar.

gz

      cd 
mysql5.1.42 ./configure  prefix=/usr/local/mysqlwithnamedcurseslibs=/usr/local/ncurses/lib/libncursesw.so.5.6withcharset=

gbk 

     
# –prefix=/usr/local/mysql    mysql的安装路径 # 关于mysql配置文件路径的说明:mysql按照下列顺序搜索my.cnf # /etc,mysql安装目录如 /usr/local/mysql/etc,安装目录下的data目录如 /usr/local/mysql/data,以最先找到的为准。/etc下my.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/mymedium.cnf /usr/local/mysql/etc/my.

cnf

     
# 删除安装产生的临时文件(一定要在拷贝完配置文件后在执行,不然my-medium.cnf会被删除)

      make clean

    step
.

c

     
# 添加一个名为mysql的linux系统群组(可以参考mysql手册2.8.1. 源码安装概述)       sudo groupadd mysql # 新建一个名为mysql的linux系统用户,并将其添加到mysql系统群组中 # 如果Linux只启动命令行界面,可以用下面的操作添加需要的账户 # sudo useradd -M -s /bin/false -g mysql mysql # -M 该选项不会建立用户目录 # -s 指定新建用户使用的shell,/bin/false表示该用户不能登录系统 # -g mysql 将用户mysql添加到组mysql中 # 我现在用的时桌面系统,用如上命令添加账户。系统启动时在登录界面会显示mysql用户虽然它不登录 # 改用下面命令,mysql账户就不会显示在登录界面了       sudo useradd r s /bin/falseg mysqlmysql # -r 建立系统账户,不创建用户目录,用户分配的uid小于1000     step.

d

     
# 创建mysql授权表 # 如果用root运行命令,应当使用–user选项。选项的值应与你在stpe.czz中创建的登录账户相同。如果用该用户登录来运行命令,可以省略–user选项       sudo /usr/local/mysql/bin/mysql_install_db user=mysql     step.

e

     
# 进入mysql的安装目录(/usr/local/mysql)       cd /usr/local/mysql # 将文件的所有属性改为root用户       sudo chownR root . # 将数据目录的所有属性改为mysql用户(即在step.c中创建的用户)       sudo chownR mysqlvar # 将组属性改为mysql组       sudo chgrpR mysql.     step.

f

     
# 启动mysql服务       sudo /usr/local/mysql/bin/mysqld_safe user=mysql& # 登录数据库 /usr/local/mysql/bin/mysql

uroot

mysql安装完成了

三、Apache的安装

 
# 使用DSO动态编译,关于动态编译与静态编译的区别可以参考http://www.ha97.com/2612.html   安装包  httpd2.2.14.tar.

gz 

  tar
zvxf httpd2.2.14.tar.

gz

  cd httpd
2.2.14 ./configure prefix=/usr/local/apache enablemodsshared=most enable

so

 
# –prefix=/usr/local/apache 将apache安装到/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

 
# 打开浏览器输入浏览器会看到It works!

apache安装完成了

四、PHP的安装

  step
.1

    freetype的安装

    安装包  freetype
2.3.11.tar.

gz

   
# 安装命令     tar zxvf freetype2.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 zlib1.2.3.tar.

gz

    cd zlib
1.2.3 ./

configure

    make

    sudo make install

    make clean

   
# 安装时更改过zlib的安装目录如/usr/local/zlib,改后libpng的安装也成功了,当是到安装gd库时一直失败,不得已又把zlib安装到默认路径,后边才顺利通过   step.3

    libpng的安装

    安装包  libpng
1.4.0.tar.

gz

   
# 安装命令     tar zxvf libpng1.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 (两者区别有待查证)   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的目录结构不知道是因为不同还是有其它原因(有待查证) # 以上包都是gd库所需要的组成库,下面安装gd库   step.5

    gd库的安装

    安装包 gd
2.0.35.tar.

gz

   
# 安装命令     step.

a

      tar
zxvf gd2.0.35.tar.

gz

      cd gd
2.0.35 ./configure prefix=/usr/local/gd2 withfreetype=/usr/local/freetype withpng=/usr/local/libpng withjpeg=/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)) { /* bad signature */ # 修改为  if (png_sig_cmp (sig, 0, 8)) {     step.

d

     
# 执行命令

      make

      sudo make install

      make clean

   
# gd库安装完成              step.6

    libxml2的安装

   
# libxml2用来解析xml # 安装命令     tar zxvf libxml22.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 php5.3.1.tar.

gz

      cd php
5.3.1.

tar

     
./configure prefix=/usr/local/php withapxs2=/usr/local/apache/bin/apxs withmysql=/usr/local/mysqlwithlibxmldir=/usr/local/libxml2 withzlib withpngdir=/usr/local/libpng withjpegdir=/usr/local/jpeg7 withfreetypedir=/usr/local/freetype withgd=/usr/local/

gd2

       make

       sudo make install

       make clean

    step
.

b

      拷贝PHP配置文件

      sudo cp php
.inidevelopment /usr/local/php/lib/php.

ini

     
# php配置文件名称不同本版名称会有差异,当前版本中有两个文件 php.ini-development(开发环境中用的)  php.ini-production(生产环境中用的)     step.

d

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

conf

     
# 添加对php的支持       LoadModule php5_module modules/libphp5.

so

      AddType application
/xhttpdphp .

php

    step
.

e

     
# 如果用root账户登录跳过这一步 # 更目录web目录权限          sudo chownR 登录用户:登录用户 /usr/local/apache/

htdocs

    step
.

f

     
#重启apache        sudo  /usr/local/apache/bin/

apachectl  restart

好了到此linux配置环境配置完了,由于各种问题这篇文章拖了好几天才写完。这中间还发生了未保存而丢失文档的杯俱泪奔啊!其中各个包的安装
./configure涉及到的参数只是一些基本的参数,LAMP之旅刚刚开始。走过了会发现没有想象的那么困难了,好了。GOOD LUCK!
声明: 猿站网有关资源均来自网络搜集与网友提供,任何涉及商业盈利目的的均不得使用,否则产生的一切后果将由您自己承担! 本平台资源仅供个人学习交流、测试使用 所有内容请在下载后24小时内删除,制止非法恶意传播,不对任何下载或转载者造成的危害负任何法律责任!也请大家支持、购置正版! 。本站一律禁止以任何方式发布或转载任何违法的相关信息访客发现请向站长举报,会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。本网站的资源部分来源于网络,如有侵权烦请发送邮件至:2697268773@qq.com进行处理。
建站知识

小知识:linux ssh 升级安装方法

2023-5-20 5:58:24

建站知识

小知识:linux 中的MYSQL命令汇总 适合学习linux下配置mysql的朋友

2023-5-20 6:23:29

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索