魔扣论坛

魔扣源码论坛业务
查看: 944|回复: 6

Linux下LAMP PHP开发环境搭建

[复制链接]
  • TA的每日心情
    无聊
    2018-10-28 00:07
  • 签到天数: 17 天

    [LV.4]神出鬼没

    163

    主题

    0

    回帖

    167

    积分

    初级魔扣

    Rank: 2

    魔扣币
    2
    贡献
    2
    威望
    2
    发表于 2016-12-28 15:18:10 | 显示全部楼层 |阅读模式
    魔扣币兑换比例:【 50以下 : ¥1 = 10 魔扣币 】丨【 50 - 100 :¥1 = 20 魔扣币】丨【 100以上:¥1 = 30 魔扣币 】

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有账号?立即注册

    x
      本想轻松顺利的看到phpinfo显示在我的页面上,没想到安装环境时一路的error,不停的google折腾了半天终于看到了phpinfo。在此把遇到的问题总结一下,给大家提供一个参考。
      我的OS是ubuntu  9.10,得益于apt-get强大的功能参考了一下这篇文章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
      安装包 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的安装路径
      # 关于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/my-medium.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/false -g mysql mysql
      # -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 chown -R root .
      # 将数据目录的所有属性改为mysql用户(即在step.c中创建的用户)
      sudo chown -R mysql var
      # 将组属性改为mysql组
      sudo chgrp -R 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
      安装包 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 将所有标准模块都动态编译为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 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的安装也成功了,当是到安装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 (两者区别有待查证)
      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 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 行左右
      # 看到类似内容 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 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配置文件名称不同本版名称会有差异,当前版本中有两个文件 php.ini-development(开发环境中用的)  php.ini-production(生产环境中用的)
      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目录权限
      sudo chown -R 登录用户:登录用户 /usr/local/apache/htdocs
      step.f
      #重启apache
      sudo /usr/local/apache/bin/apachectl restart
      好了到此linux配置环境配置完了,由于各种问题这篇文章拖了好几天才写完。这中间还发生了未保存而丢失文档的杯俱泪奔啊!其中各个包的安装./configure涉及到的参数只是一些基本的参数,LAMP之旅刚刚开始。走过了会发现没有想象的那么困难了,好了。GOOD  LUCK!

    该用户从未签到

    2

    主题

    244

    回帖

    490

    积分

    中级魔扣

    Rank: 3Rank: 3

    魔扣币
    244
    贡献
    244
    威望
    0
    发表于 2017-1-23 14:35:42 来自手机 | 显示全部楼层
    友谊是纷菲春雨,滋润心田;友谊是浩瀚的海洋,博大情深;友谊是蓝天上的白云,绚丽多姿;友谊是陈年佳酿,醇香飘溢;友谊是优美的音乐,乐在其中;魔扣源码论坛愿我们的友谊长在!

    该用户从未签到

    3

    主题

    221

    回帖

    446

    积分

    中级魔扣

    Rank: 3Rank: 3

    魔扣币
    222
    贡献
    222
    威望
    0
    发表于 2017-5-3 21:15:33 来自手机 | 显示全部楼层
    介是神马?!!

    该用户从未签到

    2

    主题

    252

    回帖

    506

    积分

    高级魔扣

    Rank: 4

    魔扣币
    252
    贡献
    252
    威望
    0
    发表于 2017-9-18 08:01:39 | 显示全部楼层
    又一轮皎洁的明月,又一个牵动人心的中秋佳节,又一个朋友思念之夜。粒粒相思豆,点点相思雨,绵绵相思情,句句相思语。粒粒红豆永收藏,点点心雨润柔肠,绵绵友情常萦绕,句句思语心内装,魔扣源码论坛。祝友年年平安如意!月月事事顺心!日日喜悦无比!时时开心快乐!

    该用户从未签到

    2

    主题

    248

    回帖

    498

    积分

    中级魔扣

    Rank: 3Rank: 3

    魔扣币
    248
    贡献
    248
    威望
    0
    发表于 2018-2-21 15:16:20 | 显示全部楼层
    魔扣源码论坛朋友的祝愿,来来往往;温馨的语句,情深意长;真挚的友情,永远不忘;美好的回忆,永记心上!愿我的留言变成一串串风铃,挂在你的窗前,让那清脆铃声的浪漫,拂去你所有的烦恼,让你的世界锦上添花,更加芬芳,闭上眼睛,用心聆听,那就是我送来的祝福!

    该用户从未签到

    0

    主题

    256

    回帖

    512

    积分

    高级魔扣

    Rank: 4

    魔扣币
    256
    贡献
    256
    威望
    0
    发表于 2018-9-7 17:40:59 | 显示全部楼层
    我天天踩你不后悔,踩的你空间人声沸。时时访你不疲惫,访的你博客人陶醉。分分看你不觉累,看的你博友排成队。秒秒愿你都秀美,魔扣源码论坛祝福你年轻又妩媚。

    该用户从未签到

    3

    主题

    234

    回帖

    471

    积分

    中级魔扣

    Rank: 3Rank: 3

    魔扣币
    234
    贡献
    234
    威望
    0
    发表于 2019-2-28 17:16:59 | 显示全部楼层
    路过 帮顶 嘿嘿
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    • 联系我们
    • 新浪微博 :
    • 在线客服 :魔扣科技 
    • 源码QQ群 :魔扣源码论坛官方总群
    • 联系邮箱 :charlin#morko.net
    • 微信扫一扫
    快速回复 返回顶部 返回列表