• linux下源码安装lamp环境[1]


    • 本节的源代码包安装方式,使用的Linux操作系统主要以Xubuntu操作系统系列为主。

    获取软件包

    软件名称

    下载地址

    httpd-2.2.9.tar.gz

    http://www.apache.org/

    mysql-5.0.41.tar.gz

    http://dev.mysql.com/downloads/

    php-5.2.6.tar.gz

    http://www.php.net/downloads.php

    phpMyAdmin-3.0.0-rc1-all-languages.tar.gz

    http://www.phpmyadmin.com/

    libxml2-2.7.8.tar.gz

    http://xmlsoft.org/sources/

    libmcrypt-2.5.8.tar.gz

    http://prdownloads.sourceforge.net/mcrypt/libmcrypt-2.5.8.tar.gz?use_mirror=peterhost

    zlib-1.2.3.tar.gz

    http://www.zlib.net/zlib-1.2.3.tar.gz

    gd-2.0.35.tar.gz

    http://www.libgd.org/releases/gd-2.0.35.tar.gz

    Autoconf-2.61.tar.gz

    ftp://ftp.gnu.org/gnu/autoconf/autoconf-2.61.tar.gz

    freetype-2.3.5.tar.gz

    http://download.savannah.gnu.org/releases/freetype/freetype-2.3.5.tar.gz

    libpng-1.2.31.tar.gz

    ftp://ftp.simplesystems.org/pub/libpng/png/src/libpng-1.2.31.tar.gz

    jpegsrc.v6b.tar.gz

    http://www.ijg.org/files/jpegsrc.v6b.tar.gz

    ZendOptimizer330a.tar.gz

    http://wt1.mycodes.net/soft/20071108/ZendOptimizer330a.tar.gz

    卸载默认的低版本环境

    目前发行的Linux操作系统版本中,如果选择默认全部安装,就已经安装了LAMP环境,但是版本相对都比较低。我们可以再安装一个LAMP环境和原来的并存,但是这样做没有必要,因为同时只能开启一个LAMP环境。所要我们要在安装之前,先应检查一下系统中是否已经安装了低版本的环境,如果已经安装过了,停止原来的服务运行,或者把原来的环境卸载掉。

    编译安装过程介绍

    • 一、解压tar.gz为后缀的压缩软件包

    • 二、在Linux系统中源代码包安装过程

      • 配置(configure

      • 编译(make

      • 安装(make install

    各个软件编译安装顺序

    搭建LAMP环境时,需要安装的所有软件都要按照一定的顺序安装,我们按Apache->MySQL->PHP顺序安装。但在安装PHP之前,应先安装PHP5需要的最新版本库文件,例如libxml2libmcrypt以及GD2库等文件。安装GD2库是为了让PHP5支持GIFPNGJPEG图片格式,所以在安装GD2库之前还要先安装最新的zliblibpngfreetypejpegsrc等库文件。而且中间还会穿插安装一些软件。读者可以按照本节提供的顺序安装

    安装libxml2最新库文件

    • ./configure --prefix=/usr/local/libxml2

    • # make

    • # make install

    安装libmcrypt最新库文件

    • ./configure --prefix=/usr/local/libmcrypt

    • # make

    • # make installcd
    • cd /usr/local/src/libmcrypt-2.5.8/libltdl
    • ./configure --enable-ltdl-install
    • make
    • make install

    安装zlib最新库文件

    • #./configure --prefix=/usr/local/zlib

    • # make

    • # make install

       

    安装libpng最新库文件

    • # ./configure --prefix=/usr/local/libpng

    • # make

    • # make install

      注:可能会遇到错误configure: error: zlib not installed

              解决办法:在新立得软件管理器里找到并安装zlib1g – dev

    安装jpeg6最新库文件

     

    • 这些都是在libpng里进行的:
    • #mkdir /usr/local/jpeg6 //建立jpeg6软件安装目录

    • # mkdir /usr/local/jpeg6/bin //建立存放命令的目录

    • # mkdir /usr/local/jpeg6/lib //创建jpeg6库文件所在目录

    • # mkdir /usr/local/jpeg6/include //建立存放头文件目录

    • # mkdir -p /usr/local/jpeg6/man/man1(这个是一不是L) //建立存放手册的目录

    • 这些是在jpeg6里进行的:
    • # ./configure \

    • > --prefix=/usr/local/jpeg6/ \

    • > --enable-shared \ //建立共享库使用的GNUlibtool

    • > --enable-static //建立静态库使用的GNUlibtool

    • Make && make install

    安装freetype最新库文件

    • # ./configure --prefix=/usr/local/freetype

    • # make

    • # make install

    安装autoconf最新的库文件

    • # ./configure

    • # make

    • # make install

      注:可能遇到的问题 configure: error: GNU M4 1.4 is required

      解决办法:在新立得软件管理器中搜索m4并安装

    安装最新的GD库文件

    • #./configure \ //配置命令

    • > --prefix=/usr/local/gd2/ \ //指定软件安装的位置

    • > --with-zlib=/usr/local/zlib/ \ //指定到哪去找zlib库文件的位置

    • > --with-jpeg=/usr/local/jpeg6/ \ //指定到哪去找jpeg库文件的位置

    • > --with-png=/usr/local/libpng/ \ //指定到哪去找png库文件的位置

    • > --with-freetype=/usr/local/freetype/ //指定到哪去找freetype 2.x字体库的位置

        

    • Make && make install

    • 注:可能遇到的问题 gd_png.c:16:53: fatal error: png.h: No such file or directory

       解决办法:vim gd_png.c
           将
           #include “png.h”             
           替换成:
           #include “/usr/local/libpng/include/png.h” 

    安装新版本的Apache服务器

    • ]#./configure \ //执行当前目录下软件自代的配置命令

    • > --prefix=/usr/local/apache2 \ //指定Apache软件安装的位置

    • > --sysconfdir=/etc/httpd \ //指定Apache服务器的配置文件存放位置

    • > --with-z=/usr/local/zlib/ \ //指定zlib库文件的位置

    • > --with-included-apr \ //使用捆绑APR/APR-Util的副本

    • > --enable-so \ //以动态共享对象(DSO)编译

    • > --enable-deflate=shared \ //缩小传输编码的支持

    • > --enable-expires=shared \ //期满头控制

    • > --enable-rewrite=shared \ //基于规则的URL操控

    • > --enable-static-support //建立一个静态链接版本的支持

    # make && make install

    安装ncurses

    • ./configure --with-shared --without-debug --without-ada --enable-overwrite
    • sudo make 
    • sudo make install

    测试Apache服务器

    • 检查安装目录

    • 检查配置文件目录

    • /usr/local/apache2/bin/apachectl start

      • //启动Apache

    • /usr/local/apache2/bin/apachectl stop

      • //关闭Apache

    • # netstat -tnl|grep 80 //查看80端口是否开启

    • http://localhost/去访问Apache服务器

    • echo "/usr/local/apache2/bin/apachectl start" >> /etc/rc.d/rc.local

      • 添加自启动

    安装MySQL数据库管理系统

    • 安装前,请先安装

    ncurses
    ncurses-devel
    bison
    bison-devel

    • # groupadd mysql

      • //添加一个mysql标准组

    • useradd -g mysql mysql

      • //添加mysql用户并加到mysql组中

    • # ./configure \

    • > --prefix=/usr/local/mysql \

    • > --with-extra-charsets=all

    • #make && make install

    配置MySQL数据库

    • 创建MySQL数据库服务器的配置文件

      • # cp support-files/my-medium.cnf /etc/my.cnf

    • /usr/local/mysql/bin/mysql_install_db --user=mysql

      • //创建授权表

    • # chown -R root /usr/local/mysql  //将文件的所有属性改为root用户

    • # chown -R mysql /usr/local/mysql/var //将数据目录的所有属性改为mysql用户

    • # chgrp -R mysql /usr/local/mysql //将组属性改为mysql

    • # /usr/local/mysql/bin/mysqld_safe --user=mysql & 启动数据库

    • # netstat -tnl|grep 3306 //查看3306端口是否开启

    • # /usr/local/mysql/bin/mysqladmin version //简单的测试

    • # /usr/local/mysql/bin/mysqladmin variables //查看所有mysql参数

    • # /usr/local/mysql/bin/mysql -u root //没有密码可以直接登录本机服务器

    • mysql> DELETE FROM mysql.user WHERE Host='localhost' AND User='';

    • mysql> FLUSH PRIVILEGES;

    • mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('123456');

    • # /usr/local/mysql/bin/mysql -u root -h localhost –p //回车进入MySQL客户端

    • # /usr/local/mysql/bin/mysqladmin -u root –p shutdown //关闭MySQL数据库

    安装最新版本的PHP模块

    • # ./configure \ //执行当前目录下软件自代的配置命令

    • > --prefix=/usr/local/php \ //设置PHP5 的安装路径

    • > --with-config-file-path=/usr/local/php/etc \ //指定PHP5配置文件存入的路径

    • > --with-apxs2=/usr/local/apache2/bin/apxs \ //告诉PHP查找Apache 2的地方

    • > --with-mysql=/usr/local/mysql/ \ //指定MySQL的安装目录

    • > --with-libxml-dir=/usr/local/libxml2/ \ //告诉PHP放置libxml2库的地方

    • > --with-png-dir=/usr/local/libpng/ \ //告诉PHP放置libpng库的地方

    • > --with-jpeg-dir=/usr/local/jpeg6/ \ //告诉PHP放置jpeg库的地方

    • > --with-freetype-dir=/usr/local/freetype/ \ //告诉PHP放置freetype库的地方

    • > --with-gd=/usr/local/gd2/ \ //告诉PHP放置gd库的地方

    • > --with-zlib-dir=/usr/local/zlib/ \ //告诉PHP放置zlib库的地方

    • > --with-mcrypt=/usr/local/libmcrypt/ \ //告诉PHP放置libmcrypt库的地方

    • > --with-mysqli=/usr/local/mysql/bin/mysql_config \ //变量激活新增加的MySQLi功能

    • > --enable-soap \ //变量激活SOAPWeb services支持

    • > --enable-mbstring=all \ //使多字节字符串支持

    • > --enable-sockets //变量激活socket通讯特性

    • #make && make install

      如果一次都执行不过去,可以先执行

      './configure' '--prefix=/usr/local/php' '--with-mysql=/usr/local/mysql' '--with-mysqli=/usr/local/mysql/bin/mysql_config'

      注:有可能缺少mysql-devel 这个包 从网上下载就可以了

    LAMP环境整合

    • ]# cp php.ini-dist /usr/local/php/etc/php.ini //创建配置文件

    • vi /etc/httpd/httpd.conf //使用vi编辑apache配置文件

      • Addtype application/x-httpd-php .php .phtml #添加这一条

      • /usr/local/apache2/bin/apachectl restart 重启apache服务
    • # vi test.php //编辑test.php文件

    • <?php

    • phpinfo();

    • ?>

    安装Zend加速器

    ./install.sh //执行安装

    注:如果./install.sh执行有问题,则用./install-tty

    phpMyAdmin的安装

    • cp -a phpMyAdmin-3.0.0-rc1-all-languages \

    /usr/local/apache2/htdocs/phpmyadmin //拷贝目录到指定位置并改名为phpmyadmin

    • cd /usr/local/apache2/htdocs/phpmyadmin/

    • cp config.sample.inc.php config.inc.php

    • 注:可能遇到的问题 配置文件现在需要绝密的短语密码(blowfish_secret) 
    • 解决办法:vim config.inc.php //打开config.inc.php 配置文件搜索
    • $cfg['blowfish_secret'] = ”; //将后面单引号里面随便填入个字符串即可!
    • 修改完后,记得重起Apache

    phpMyAdmin的配置

      • http身份验证模式

      • cookie身份验证模式


    请与 linux下源码安装lamp环境[2] 参照阅读。

  • 相关阅读:
    线性表的各种基本操作
    malloc&&free的系统运行机制及其源代码的理解
    剪枝的定义&&hdu1010
    hdu 1045
    hdu2094 stl之set的应用
    关联式容器的总结
    STL之map容器的详解
    2018-2019 ACM-ICPC 焦作赛区 部分题解
    2018-2019 ACM-ICPC 沈阳赛区 K. Let the Flames Begin
    2018-2019 ACM-ICPC 徐州区域赛 部分题解
  • 原文地址:https://www.cnblogs.com/simpman/p/2849420.html
Copyright © 2020-2023  润新知