• Lamp 安装(CentOS6.6, php-5.4.39, httpd-2.4.12, mysql-5.6.24)


    软件版本:

    pcre-8.36.tar.gz
    apr-1.5.1.tar.gz
    apr-util-1.5.4.tar.gz
    httpd-2.4.12.tar.bz2

    mysql-5.6.24.tar.gz

    libxml2-2.7.8.tar.gz
    libpng-1.5.12.tar.gz
    freetype-2.4.10.tar.gz
    jpegsrc.v7.tar.gz
    gd-2.0.35.tar.gz
    php-5.4.39.tar.gz

    百度云下载地址:http://pan.baidu.com/s/1dDGT9KH

    步骤概要:

    1、apache

    2、mysql

    3、php

    4、验证

    备注

    所有操作(未特殊说明)都是以:/usr/local/src 为操作目录, 且所有软件包均在此目录下。

    具体步骤:

    安装apache

    软件包依赖:pcre, apr, apr-util

    1、prce 安装(安装目录,以将来安装httpd 的目录(/usr/local/services/httpd-2.4.12/)为基准,并且安装到plugins目录下,方便将来同型号机器移植

    tar zxf pcre-8.36.tar.gz
    cd pcre-8.36
    ./configure --prefix=/usr/local/services/httpd-2.4.12/plugins/pcre-8.36
    make

    make install

    2、apr, apr-util 在apache的安装文档中有具体操作说明,如下

    tar zxf apr-1.5.1.tar.gz -C ./httpd-2.4.12/srclib/
    tar zxf apr-util-1.5.4.tar.gz -C ./httpd-2.4.12/srclib/
    cd httpd-2.4.12/srclib/
    ln -s apr-util-1.5.4/ apr-util
    ln -s apr-1.5.1 apr

    3、安装apache

    tar zxf httpd-2.4.12.tar.gz
    cd httpd-2.4.12
    ./configure --prefix=/usr/local/services/httpd-2.4.12 --with-pcre=/usr/local/services/httpd-2.4.12/plugins/pcre-8.36 --with-included-apr --enable-rewrite=shared --enable-so

    make

    make install

    安装mysql

    准备条件:cmake, ncurses-devel, bison, 如果未安装直接yum install xxx

    tar zxf mysql-5.6.24.tar.gz
    
    cd mysql-5.6.24
    
    cmake 
    -DCMAKE_INSTALL_PREFIX:PATH=/usr/local/services/mysql-5.6.24 
    -DMYSQL_DATADIR:PATH=/data/mysql 
    -DEXTRA_CHARSETS=all 
    -DENABLED_LOCAL_INFILE=1 
    -DWITH_READLINE=1 
    -DMYSQL_USER=mysql 
    -DENABLED_LOCAL_INFILE=1 
    -DWITH_SSL=yes
    
    make
    
    make install
    
    #添加软连接
    ln -s /usr/local/services/mysql-5.6.24/ mysql
    #添加PATH
    echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
    source /etc/profile
    #修改目录权限
    mkdir -p /data/mysql
    chown -R mysql:mysql /usr/local/mysql
    chown -R mysql:mysql /data/mysql
    #拷贝配置文件
    cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf
    
    # 添加用户
    groupadd mysql
    useradd -g mysql mysql
    
    #设置my.conf 在[mysqld]中设置
    datadir=/data/mysql
    
    #初始化
    /usr/local/mysql/scripts/mysql_install_db --user=mysql --datadir=/data/mysql  --basedir=/usr/local/mysql
    
    #设置mysql服务
    cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld
    chkconfig --add mysqld
    service mysql start
    
    #空密码登陆mysql
    mysql 
    
    #mysql 设置权限,同一个用户在不同机器上的密码可能不同。
    grant all privileges on *.* to root@'localhost' identified by '123456';
    grant all privileges on *.* to root@'%' identified by '123456';
    
    # root密码登陆
    mysql -uroot -p123456

    注意:

    安装完成后首次登陆,报错 Segmentation fault
    这是一个bug: https://bugs.launchpad.net/percona-server/+bug/1201123
    解决:
    1、源码包里,编辑文件 cmd-line-utils/libedit/terminal.c, 找到代码段(869行) char buf[TC_BUFSIZE]; 将其注释,找到下面的变量(879行) area = buf; ,更改为 area = NULL; 
    2、重新编译即可

    安装php

    分为3步

    1、libxml2

    2、gd2

    3、php

    安装libxml2

    tar zxf libxml2-2.7.8.tar.gz
    cd libxml2-2.7.8
    ./configure 
    --prefix=/usr/local/services/php-5.4.39/plugins/libxml2-2.7.8

    安装gd

    包括:libpng , freetype,  jpeg, gd

    安装libpng

    tar zxf libpng-1.5.12.tar.gz
    cd libpng-1.5.12
    ./configure 
    --prefix=/usr/local/services/php-5.4.39/plugins/libpng-1.5.12

    安装freetype

    tar zxf freetype-2.4.10.tar.gz 
    cd freetype-2.4.10
    ./configure 
    --prefix=/usr/local/services/php-5.4.39/plugins/freetype-2.4.10

    安装jpeg

    tar zxf jpegsrc.v7.tar.gz 
    cd jpeg-7
    ./configure 
    --prefix=/usr/local/services/php-5.4.39/plugins/jpeg-7

    安装gd

    tar zxf gd-2.0.35.tar.gz
    cd gd-2.0.35
    ./configure 
    --prefix=/usr/local/services/php-5.4.39/plugins/gd-2.0.35 
    --with-freetype=/usr/local/services/php-5.4.39/plugins/freetype-2.4.10 
    --with-png=/usr/local/services/php-5.4.39/plugins/libpng-1.5.12 
    --with-jpeg=/usr/local/services/php-5.4.39/plugins/jpeg-7

    安装php

    ./configure
    --prefix=/usr/local/services/php-5.4.39
    --with-mysql=/usr/local/services/mysql-5.6.24
    --with-mysqli=/usr/local/services/mysql-5.6.24/bin/mysql_config
    --with-pdo-mysql=/usr/local/services/mysql-5.6.24
    --with-apxs2=/usr/local/services/httpd-2.4.12/bin/apxs
    --with-libxml-dir=/usr/local/services/php-5.4.39/plugins/libxml2-2.7.8
    --with-gd=/usr/local/services/php-5.4.39/plugins/gd-2.0.35
    --with-freetype-dir=/usr/local/services/php-5.4.39/plugins/freetype-2.4.10
    --with-png-dir=/usr/local/services/php-5.4.39/plugins/libpng-1.5.12
    --with-jpeg-dir=/usr/local/services/php-5.4.39/plugins/jpeg-7
    --enable-mbstring
    --enable-maintainer-zts
    --enable-sockets
    --enable-pcntl
    --enable-sysvmsg
    --enable-sysvsem
    --enable-sysvshm
    --enable-soap
    --enable-shmop
    --enable-bcmath
    --enable-zip
    --enable-calendar
    --enable-ctype
    --enable-dom
    --enable-filter
    --enable-gd-native-ttf
    --enable-hash
    --enable-json
    --enable-posix
    --enable-shared
    --enable-simplexml
    --enable-static
    --enable-tokenizer
    --enable-xml
    --enable-xmlwriter
    --enable-pdo
    --enable-inline-optimization
    --enable-mysqlnd
    --enable-exif



    make

    make install

    编译遇到错误:

    In file included from /kk/php-5.4.0/ext/gd/gd.c:103:
    /kk/php-5.4.0/ext/gd/gd_ctx.c: In function ‘_php_image_stream_putc’:

    解决(google后, bug: https://bugs.php.net/bug.php?id=55224):

    vim /usr/local/services/php-5.4.39/plugins/gd-2.0.35/include/gd_io.h
    中(14行) typedef struct gdIOCtx  结构体中添加:void (*data);
    修改后如下:
    typedef struct gdIOCtx
    {
      int (*getC) (struct gdIOCtx *); 
      int (*getBuf) (struct gdIOCtx *, void *, int);
    
      void (*putC) (struct gdIOCtx *, int);
      int (*putBuf) (struct gdIOCtx *, const void *, int);
    
      /* seek must return 1 on SUCCESS, 0 on FAILURE. Unlike fseek! */
      int (*seek) (struct gdIOCtx *, const int);
    
      long (*tell) (struct gdIOCtx *); 
    
      void (*gd_free) (struct gdIOCtx *); 
    
      void (*data);
    
    }

    重新编译,编译成功

    配置与测试

    1、创建软连接与添加PATH

    ln -s /usr/local/services/php-5.4.39 php
    ln -s /usr/local/services/httpd-2.4.12 apache
    ln -s /usr/local/services/mysql-5.6.24 mysql
    
    echo "PATH=$PATH:/usr/local/php/bin:/usr/local/mysql/bin" >> /etc/profile
    source profile

    2、设置php.ini

    cp php.ini-development /usr/local/php/lib/php.ini

    3、配置apache httpd.conf 支持php文件解析

    echo "AddType application/x-httpd-php .php" >> /usr/local/apache/conf/httpd.conf

    4、构建文件测试

    vim /usr/local/apache/htdocs/phpinfo.php
    <?php
    phpinfo();

    5、重启apache

    /usr/local/apache/bin/apachectl restart

    6、访问验证

    浏览器访问: http://127.0.0.1/phpinfo.php

    显示如下:

    2015年4月16日 更新支持mysql-pdo

  • 相关阅读:
    C语言:运算结果保留两位小数
    FFmpeg: AVFrame中的data和extend_data的区别
    android studio: 配置版权信息(转)
    C++: C++11 成员函数作为pthread线程 (转)
    android studio: 取消行注释在第一列
    C 语言 int 读写是否需要加锁
    【转】浅析Linux中的零拷贝技术--简单形象
    【转】Linux 内核态与用户态--简明清晰的介绍
    delete如何找到多重继承对象的内存块起始地址
    【转】内存管理内幕mallco及free函数实现--简易内存分配器、内存池、GC技术
  • 原文地址:https://www.cnblogs.com/brookin/p/4417950.html
Copyright © 2020-2023  润新知