加入收藏 | 设为首页 | 会员中心 | 我要投稿 烟台站长网 (https://www.0535zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

Linux新手入门之简单配置PHP环境

发布时间:2023-10-12 13:04:32 所属栏目:Linux 来源:转载
导读:   本想轻松顺利的看到phpinfo显示在我的页面上,没想到安装环境时一路的error,不停的google折腾了半天终于看到了phpinfo。在此把遇到的问题总结一下,给大家提供一个参考。



  我
  本想轻松顺利的看到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
 

(编辑:烟台站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章