zoukankan      html  css  js  c++  java
  • 源代码编译lamp环境

    没有办法用 rpm查询一个源代码包是否安装 因为 并不是用rpm安装的
    可以先吧 selinux 给禁用掉  iptables -F 把防火墙规则全部删除

    首先确保 gcc  gcc-c++   make是否安装
    一般 make是安装了的  但是 gcc 和gcc-c++是没安装
    首先先载入CentOS的光盘 然后进入 CentOS目录
    rpm -ivh gcc-4.1.2-48.el5.i386.rpm   安装GCC  但是会有依赖关系  无法安装

    我们可以用 yum  install gcc
    然后安装 yum install gcc-c++   

    好了 基本环节我们都准备好了 

    所有的代码包地址
    http://pan.baidu.com/share/link?shareid=3759158395&uk=4160875019

    ./configure选项
    --enable-shared指编译后会链接成共享对象(.so文件,或者按照windows的说法称之为动态链接库(dll)
    --enable-static:生成静态链接库
    --enable-shared:生成动态链接库
    --prefix:指定安装路径   DEMO: --prefix=/usr/local/ibxml2/



    如果不想卸载apache 可以先停止掉
    serivce httpd status 停止apache

    卸载apache
    yum remove httpd
    卸载mysql
    yum remove mysql

    1、解包
    先把所有的tar包放在lamp 目录里面  
    然后写个脚本批量解压
    #! /bin/sh
    # tar
    ls *.tar.gz > ls.list
    for tar in `cat ls.list` 
    do 
            tar -zxf $tar
    done



    如果编译错了 要重新编辑 首先把安装目录删除掉  然后把tar解压缩好的目录也删除掉 最后 重新解压
    如果是apache 先把进程给kill掉 然后删除文件

    编译基本流程============================
    2、配置config
    ./configure  配置

    3.make  编译过程 

    4.make install  安装 拷贝   
    ====================================

    正式编译

    先编译配置 php需要用的 libxml2-2.6.30.tar.gz  
    进入目录 执行安装目录   ./configure --prefix=/usr/local/libxml2/
    然后 make  编译 
    然后 make install  就好了 


    编译  libmcrypt-2.5.8
    进入  libmcrypt-2.5.8目录
    ./configure --prefix=/usr/local/libmcrypt/
    make  编译    甚至 可以  make  ; make install   直接执行 2个命令    或者  make && make install  make执行成功了 就install
    make  install  

    编译  libmcrypt-2.5.8/libltdl
    cd /lamp/libmcrypt-2.5.8/libltdl
    ./configure --enable-ltdl-install
    make
    make install

    编译  zlib  不指定安装路径 不然容易出错
    cd /lamp/zlib-1.2.3
    ./configure
    make
    make install 


    编译 php的图片库文件  libpng
    cd /lamp/libpng-1.2.31
    ./configure --prefix=/usr/local/libpng/
    make
    make install

    编译 jpeg-6b  要自己创建目录

    mkdir /usr/local/jpeg6
    mkdir /usr/local/jpeg6/bin
    mkdir /usr/local/jpeg6/lib
    mkdir /usr/local/jpeg6/include
    mkdir -p /usr/local/jpeg6/man/man1
    cd /lamp/jpeg-6b
    ./configure --prefix=/usr/local/jpeg6/ --enable-shared --enable-static
    make
    make install


    编译安装 freetype
    cd /lamp/freetype-2.3.5
    ./configure --prefix=/usr/local/freetype/
    make
    make install

    编译安装 autoconf    不指定安装目录
    cd /lamp/autoconf-2.61
    ./configure
    make 
    make install

    编译安装 GD库  需要用到前面库文件指定的安装路径
    cd /lamp/gd-2.0.35
    ./configure --prefix=/usr/local/gd2/ --with-jpeg=/usr/local/jpeg6/ --with-freetype=/usr/local/freetype/
    make
    make install

    安装apache
    cd /lamp/httpd-2.2.9
    ./configure --prefix=/usr/local/apache2/ --sysconfdir=/etc/httpd/ --with-included-apr --disable-userdir --enable-so --enable-deflate=shared --enable-expires=shared --enable-rewrite=shared --enable-static-support
    make
    make install

    启动apache
    /usr/local/apache2/bin/apachectl start
    设置apache开机自启动
    echo "/usr/local/apache2/bin/apachectl start" >> /etc/rc.d/rc.sysinit


    继续编译
    这个是mysql的编译工具 必须先安装一下
    cd /lamp/ncurses-5.6
    ./configure --with-shared --without-debug --without-ada --enable-overwrite
    make 
    make install

    安装mysql  
    首先添加mysql的用户和组
    groupadd mysql
    useradd -g mysql mysql
    然后安装mysql
    cd /lamp/mysql-5.0.41
    指定安装目录 指定支持所有字符集
    ./configure --prefix=/usr/local/mysql/ --with-extra-charsets=all
    make
    make install

    生成一下mysql的配置文件
    cp support-files/my-medium.cnf /etc/my.cnf

    创建mysql数据库的授权表
    /usr/local/mysql/bin/mysql_install_db --user=mysql

    改变mysql目录的所有者和所属组
    chown -R root /usr/local/mysql
    chown -R mysql /usr/local/mysql/var
    chgrp -R mysql /usr/local/mysql

    启动mysql
    /usr/local/mysql/bin/mysqld_safe  --user=mysql &

    把mysql自启动脚本拷贝到 自启动脚本目录
    cp /lamp/mysql-5.0.41/support-files/mysql.server /etc/rc.d/init.d/mysqld
    chown root.root /etc/rc.d/init.d/mysqld
    chmod 755 /etc/rc.d/init.d/mysqld
    chkconfig --add mysqld
    chkconfig --list mysqld
    chkconfig --levels 245 mysqld off

    安装php
    cd /lamp/php-5.2.6
    ./configure --prefix=/usr/local/php/ --with-config-file-path=/usr/local/php/etc/ --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql/ --with-libxml-dir=/usr/local/libxml2/ --with-jpeg-dir=/usr/local/jpeg6/ --with-freetype-dir=/usr/local/freetype/ --with-gd=/usr/local/gd2/ --with-mcrypt=/usr/local/libmcrypt/ --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-soap --enable-mbstring=all --enable-sockets 
    make
    make install


    新建phpini文件
    cp php.ini-dist /usr/local/php/etc/php.ini
    让apache支持php
    echo "Addtype application/x-httpd-php .php .phtml" >> /etc/httpd/httpd.conf
    重启apache
    /usr/local/apache2/bin/apachectl restart


    大功告成








  • 相关阅读:
    nginx日志格式配置
    shell入门(一)
    shell批量创建随机文件名格式文件
    Centos7 下安装配置tomcat7
    Linux安装VM虚拟化软件
    mysql初探
    java.lang.ClassNotFoundException: org.apache.commons.collections.FastHashMap
    HTTP Status 500 ? Internal Server Error
    如何使用Chrome浏览器查看网页的响应头
    Servlet的API
  • 原文地址:https://www.cnblogs.com/jiangu66/p/3243965.html
Copyright © 2011-2022 走看看