侯体宗的博客
  • 首页
  • Hyperf版
  • beego仿版
  • 人生(杂谈)
  • 技术
  • 关于我
  • 更多分类
    • 文件下载
    • 文字修仙
    • 中国象棋ai
    • 群聊
    • 九宫格抽奖
    • 拼图
    • 消消乐
    • 相册

Linux下LAMP PHP开发环境搭建

php  /  管理员 发布于 7年前   159

本想轻松顺利的看到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
   
#.social-share p{font-size:8px;}


  • 上一条:
    php创建带有效期的linux账户
    下一条:
    linux下编译php支持jpeg的笔记
  • 昵称:

    邮箱:

    0条评论 (评论内容有缓存机制,请悉知!)
    最新最热
    • 分类目录
    • 人生(杂谈)
    • 技术
    • linux
    • Java
    • php
    • 框架(架构)
    • 前端
    • ThinkPHP
    • 数据库
    • 微信(小程序)
    • Laravel
    • Redis
    • Docker
    • Go
    • swoole
    • Windows
    • Python
    • 苹果(mac/ios)
    • 相关文章
    • Laravel从Accel获得5700万美元A轮融资(0个评论)
    • PHP 8.4 Alpha 1现已发布!(0个评论)
    • 用Time Warden监控PHP中的代码处理时间(0个评论)
    • 在PHP中使用array_pop + yield实现读取超大型目录功能示例(0个评论)
    • Property Hooks RFC在PHP 8.4中越来越接近现实(0个评论)
    • 近期文章
    • 在go语言中使用api.geonames.org接口实现根据国际邮政编码获取地址信息功能(1个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf分页文件功能(0个评论)
    • gmail发邮件报错:534 5.7.9 Application-specific password required...解决方案(0个评论)
    • 欧盟关于强迫劳动的规定的官方举报渠道及官方举报网站(0个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf文件功能(0个评论)
    • Laravel从Accel获得5700万美元A轮融资(0个评论)
    • 在go + gin中gorm实现指定搜索/区间搜索分页列表功能接口实例(0个评论)
    • 在go语言中实现IP/CIDR的ip和netmask互转及IP段形式互转及ip是否存在IP/CIDR(0个评论)
    • PHP 8.4 Alpha 1现已发布!(0个评论)
    • Laravel 11.15版本发布 - Eloquent Builder中添加的泛型(0个评论)
    • 近期评论
    • 122 在

      学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..
    • 123 在

      Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..
    • 原梓番博客 在

      在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..
    • 博主 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..
    • 1111 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
    • 2016-10
    • 2016-11
    • 2017-06
    • 2017-07
    • 2017-08
    • 2017-09
    • 2017-11
    • 2017-12
    • 2018-01
    • 2018-02
    • 2018-03
    • 2020-03
    • 2020-04
    • 2020-05
    • 2020-06
    • 2020-07
    • 2020-09
    • 2021-02
    • 2021-03
    • 2021-04
    • 2021-05
    • 2021-06
    • 2021-07
    • 2021-08
    • 2021-09
    • 2021-10
    • 2021-11
    • 2021-12
    • 2022-01
    • 2022-02
    • 2022-05
    • 2022-06
    • 2022-07
    • 2022-08
    • 2022-09
    • 2022-10
    • 2022-11
    • 2022-12
    • 2023-01
    • 2023-02
    • 2023-03
    • 2023-04
    • 2023-05
    • 2023-06
    • 2023-07
    • 2023-08
    • 2023-09
    • 2023-10
    • 2023-11
    • 2023-12
    • 2024-01
    • 2024-02
    • 2024-03
    • 2024-04
    • 2024-05
    • 2024-06
    • 2024-07
    • 2024-09
    Top

    Copyright·© 2019 侯体宗版权所有· 粤ICP备20027696号 PHP交流群

    侯体宗的博客