zoukankan      html  css  js  c++  java
  • lamp环境centos6.4

    http://www.centos.bz/2011/09/centos-compile-lamp-apache-mysql-php/comment-page-1/#comments

    编译安装:

    首先卸载掉php mysql httpd
    
    yum -y remove httpd
    
    yum -y remove php
    
    yum -y remove mysql-server mysql
    
    yum -y remove php-mysql
    
    rpm -e httpd 
    
    rpm -e mysql
    
    rpm -e php

    先用yum 安装所需要的环境包:

    yum -y install gcc gcc-c++  make automake autoconf kernel-devel ncurses-devel libxml2-devel openssl-devel curl-devel libjpeg-devel libpng-devel  pcre-devel libtool-libs freetype-devel gd zlib-devel file bison patch mlocate flex diffutils   readline-devel glibc-devel glib2-devel bzip2-devel gettext-devel libcap-devel libmcrypt-devel

    下载lamp环境的源码包:

    wget http://212.199.163.181/services/all/phpMyAdmin/phpMyAdmin-3.4.10.2-all-languages.tar.gz
    wget http://mirrors.sohu.com/php/php-5.2.17.tar.gz
    wget http://mysql.ntu.edu.tw/Downloads/MySQL-5.1/mysql-5.1.62.tar.gz
    wget http://archive.apache.org/dist/httpd/httpd-2.2.22.tar.gz

    解压:

    tar zxvf php-5.2.17.tar.gz
    tar zxvf httpd-2.2.22.tar.gz
    tar zxvf mysql-5.1.62.tar.gz

    安装httpd:

    cd httpd-2.2.22/

    ./configure --prefix=/usr/local/apache --with-included-apr --enable-so --enable-deflate=shared --enable-expires=shared  --enable-headers=shared --enable-rewrite=shared --enable-static-support
    make
    make install

    编译参数介绍:

    --prefix=/usr/local/apache:指定安装目录
    --with-included-apr:在编译时强制使用当前源代码中绑定的APR版本
    --enable-so:允许运行时加载DSO模块
    --enable-deflate=shared:将deflate模块编译为DSO
    --enable-expires=shared:将expires模块编译为DSO
    --enable-headers=shared:将headers模块编译为DSO
    --enable-rewrite=shared:将rewrite模块编译为DSO
    --enable-static-support:使用静态连接(默认为动态连接)编译所有二进制支持程序
    更详细的编译参数解释:http://lamp.linux.gov.cn/Apache/ApacheMenu/programs/configure.html

    复制启动脚本:开机自启动

    cp build/rpm/httpd.init /etc/init.d/httpd //使用init脚本管理httpd
    chmod 755 /etc/init.d/httpd //增加执行权限
    chkconfig --add httpd  //添加httpd到服务项
    chkconfig  httpd on   //设置开机启动
    ln -fs /usr/local/apache/ /etc/httpd
    ln -fs /usr/local/apache/bin/httpd /usr/sbin/httpd
    ln -fs /usr/local/apache/bin/apachectl /usr/sbin/apachectl
    ln -fs /usr/local/apache/logs /var/log/httpd //设置软链接以适应init脚本

    安装mysql:

    groupadd mysql
    useradd -g mysql mysql
    cd /usr/local/src/mysql-5.1.62  ##进入解压后的源码目录
    ./configure --prefix=/usr/local/mysql/ --localstatedir=/usr/local/mysql/data --without-debug --with-unix-socket-path=/tmp/mysql.sock --with-client-ldflags=-all-static --with-mysqld-ldflags=-all-static --enable-assembler --with-extra-charsets=gbk,gb2312,utf8 --with-pthread
    make
    make install

    PS:与到一个错误

    gcc: all-static: No such file or directory
    make[4]: *** [replace] 错误 1
    make[4]: Leaving directory `/tmp/LAMP/mysql-5.0.56/extra'
    make[3]: *** [all-recursive] 错误 1
    make[3]: Leaving directory `/tmp/LAMP/mysql-5.0.56/extra'
    make[2]: *** [all] 错误 2
    make[2]: Leaving directory `/tmp/LAMP/mysql-5.0.56/extra'
    make[1]: *** [all-recursive] 错误 1
    make[1]: Leaving directory `/tmp/LAMP/mysql-5.0.56'
    make: *** [all] 错误 2

    问题解决:http://www.wumingx.cn/post/324.html 

    http://hi.baidu.com/lzdpntspocegjtr/item/c8560de9f9fd0bf82a09a4b1

    编译参数解释:

    --prefix=/usr/local/mysql/:指定安装位置
    --localstatedir=/usr/local/mysql/data:指定数据库文件位置
    --without-debug:禁用调用模式
    --with-unix-socket-path=/tmp/mysql.sock:指定sock文件位置
    --with-client-ldflags=-all-static--with-mysqld-ldflags=-all-static:以纯静态方式编译服务端和客户端
    --enable-assembler:使用一些字符函数的汇编版本
    --with-extra-charsets=gbk,gb2312,utf8 :gbk,gb2312,utf8字符支持
    --with-pthread:强制使用pthread库(posix线程库)
    更多编译参数请执行./configure --help命令查看

    mysql的后续配置:

    cp support-files/my-medium.cnf /etc/my.cnf //复制配置文件夹my.cnf
    /usr/local/mysql/bin/mysql_install_db --user=mysql  //初始化数据库
    chown -R root.mysql /usr/local/mysql
    chown -R mysql /usr/local/mysql/data 
    cp /tmp/mysql-5.1.62/support-files/mysql.server /etc/rc.d/init.d/mysqld  //init启动脚本
    chown root.root /etc/rc.d/init.d/mysqld 
    chmod 755 /etc/rc.d/init.d/mysqld
    chkconfig --add mysqld
    chkconfig  mysqld on
    ln -s /usr/local/mysql/bin/mysql /usr/bin
    ln -s /usr/local/mysql/bin/mysqladmin /usr/bin
    service mysqld start

    PS:给root用户设置远程访问和密码
    grant all on *.* to root@'%' identified by 'morohstk22';
    grant all on *.* to root@localhost identified by 'morohstk22'

    *.* 前面的*为你要访问的数据库名 例如要访问1db将*修改为1db *为所有
    root@'%'为root用户可以以任何ip访问 'morohstk22' 为root用户的mysql数据库密码 不是系统密码

    安装php:

    首先安装几个PHP的依赖包:如果你用的是centos5可以跳过此步骤 如果是centOS6 或者是RHEL6(其实一样的CentOS就是RHEL的克隆版)

    libmcrypt-2.5.8.tar.gz
    mhash-0.9.9.9.tar.gz
    mcrypt-2.6.8.tar.gz
    libiconv-1.14.tar.gz
    
    当然这些都可以在Google上找到下载的ftp服务器。这里贴几个但不一定能下载到。下载不到的Google下包的名字就可以找到。
    wget http://superb-dca2.dl.sourceforge.net/project/mcrypt/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz
    wget http://superb-dca2.dl.sourceforge.net/project/mhash/mhash/0.9.9.9/mhash-0.9.9.9.tar.gz
    wget http://superb-sea2.dl.sourceforge.net/project/mcrypt/MCrypt/2.6.8/mcrypt-2.6.8.tar.gz
    wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz

    然后解压:

    可以编辑一个脚本

    vim /usr/local/src/lamp/tar.sh
    
    #!/bin/sh  
    cd /usr/local/src/lamp/
    ls *.tar.gz > ls.list        
    for TAR in `cat ls.list`  
    do
    tar -zxvf $TAR
    done

    解压 完成后:进入安装:

    cd libmcrypt-2.5.8
    ./configure --prefix=/usr
    make && make install
    
    cd ../mhash-0.9.9.9
    ./configure --prefix=/usr
    make && make install
    
    cd ../mcrypt-2.6.8
    ./configure
    make && make install
    
    cd ../libiconv-1.14
    ./configure --prefix=/usr/local/libiconv
    make && make install

    OK安装完成后进入php的配置。相关加载模块参考PHP手册 或者 --help 查看./confugure --help查看相关参数和支持。当然编译安装后也可动态加载模块

    cd ../php-5.2.17
    ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-openssl --with-zlib --enable-bcmath --with-bz2 --with-curl --enable-ftp --with-gd --enable-gd-native-ttf --with-gettext --with-mhash --enable-mbstring --with-mcrypt --enable-soap --enable-zip --with-iconv=/usr/local/libiconv --with-mysql=/usr/local/mysql --without-pear
    make
    make test ##这一步如果有时间可以运行 没时间可以忽略
    make install

    编译参数解释:
    --prefix=/usr/local/php:设置安装路径
    --with-apxs2=/usr/local/apache/bin/apxs:编译共享的 Apache 2.0 模块
    --with-config-file-path=/etc:指定配置文件php.ini地址
    --with-config-file-scan-dir=/etc/php.d:指定额外的ini文件目录
    --with-openssl:编译OpenSSL支持
    --with-zlib:编译zlib支持
    --enable-bcmath:启用BC风格精度数学函数
    --with-bz2:BZip2支持
    --with-curl:CRUL支持
    --enable-ftp:FTP支持
    --with-gd:GD支持
    --enable-gd-native-ttf:启用TrueType字符串函数
    --with-gettext:启用GNU gettext支持
    --with-mhash:mhash支持
    --enable-mbstring:启用支持多字节字符串
    --with-mcrypt:编译mcrypt加密支持
    --enable-soap:SOAP支持
    --enable-zip:启用zip 读/写支持
    --with-iconv=/usr/local/libiconv:iconv支持
    --with-mysql=/usr/local/mysql:启用mysql支持
    --without-pear:不安装PEAR

    更多编译参数解释参考http://www.php.net/manual/zh/configure.about.php或者./configure --help查看

    http://www.cnblogs.com/foundwant/p/3179295.html
    make报错:"usr/bin/ld: cannot find -l*** 在Linux编译程序时,有的程序会报错如下: #gmake -f dc_debug.mak ....... /usr/bin/ld: cannot find -ldscompress_x32 collect2: ld returned 1 exit status gmake: *** [dc_shl2_v2.0.0_130423_b1_x32.exe] Error 1 问题原因: 该问题的原因一般是由于ld 在进行库连接时找不到库文件所致; 解决方案: 出现该问题时,去lib目录下查找相关的库文件,基本如下: #cd /usr/lib #ll | grep libltdl lrwxrwxrwx 1 root root 16 Dec 13 2012 libltdl.so.3 -> libltdl.so.3.1.4 -rwxr-xr-x 1 root root 24004 Nov 23 2009 libltdl.so.3.1.4 上述库文件中没有库的入口:libltdl.so 可以手动建立一个连接来解决 #ln -s ./libltdl.so.3 ./libltdl.so 但是深究问题,应该是该库的头文件库没有安装所致: #yum list all | grep ltdl libtool-ltdl.i386 1.5.22-7.el5_4 installed libtool-ltdl-devel.i386 1.5.22-7.el5_4 server 下面就安装头文件: #yum -y install libtool-ltdl-devel.i386 。。。 查看后发现确实是由于devel头文件没有安装所致 # rpm -ql libtool-ltdl-devel.i386 /usr/include/ltdl.h /usr/lib/libltdl.a /usr/lib/libltdl.la /usr/lib/libltdl.so

    PHP安装后配置:

    cp php.ini-dist /usr/local/php/etc/php.ini //复制配置文件php.ini
    在/etc/httpd/conf/httpd.conf文件中加入php文件类型解析:
    Addtype application/x-httpd-php .php
    
    重启Apache 和mysql 
    /usr/local/apache/bin/apachectl restart
    service mysqld restart

    OK下面网站基本配置完成 (以下为可选安装)

    PHP加载动态模块:

    例如我在编译安装PHP时没有开启FTP可以如下操作:

    [root@vbok ~]# cd /usr/local/src/php-5.2.17
    [root@vbok php-5.2.17]# find . -name ftp
    ./ext/ftp
    [root@vbok php-5.2.17]# cd ext/ftp
    [root@vbok ftp]# /usr/local/php/bin/phpize 
    Configuring for:
    PHP Api Version:         20041225
    Zend Module Api No:      20060613
    Zend Extension Api No:   220060519
    [root@vbok ftp]# ./configure --with-php=config=/usr/local/php/bin/php-config --enable-ftp
    ##或者:去掉 --enable-ftp
    [root@vbok ftp]# ./configure --with-php=config=/usr/local/php/bin/php-config
    [root@vbok ftp]#make
    [root@vbok ftp]#make install
    ##生成一个路径内有一个ftp.so的文件
    /usr/local/php/lib/php/extensions/no-debug-non-zts-2006
    0613/ftp.so
    然后编辑php.ini文件
    [root@vbok ftp]#vim /usr/local/php/etc/php.ini
    extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-2006
    0613/"
    extension = ftp.so
    保存退出 然后重启apache 

    验证ftp是否开启:

    方法1.站点下创建 phpinfo()函数调用php配置文件查看不过度介绍

    方法2.

    [root@166 ~]# /usr/local/php/bin/php
    php         php-config  phpize      
    [root@166 ~]# /usr/local/php/bin/php -m
    PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/openssl.so' - /usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/openssl.so: cannot open shared object file: No such file or directory in Unknown on line 0
    PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/php_gd2.dll' - /usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/php_gd2.dll: cannot open shared object file: No such file or directory in Unknown on line 0
    [PHP Modules]
    bcmath
    bz2
    ctype
    curl
    date
    dom
    filter
    ftp
    gd
    gettext
    hash
    iconv
    json
    libxml
    mbstring
    mcrypt
    mhash
    mysql
    mysqli
    pcre
    PDO
    pdo_sqlite
    posix
    Reflection
    session
    SimpleXML
    soap
    sockets
    SPL
    SQLite
    standard
    tokenizer
    xml
    xmlreader
    xmlwriter
    Zend Optimizer
    zip
    zlib
    
    [Zend Modules]
    Zend Extension Manager
    Zend Optimizer
    
    [root@166 ~]# 

    OK ftp 加载成功

    再次验证 cat /www/phpinfo.php

    <?php

    phpinfo();

    ?>

    安装ZendOptimizer-3.3.9(可选)

    wget http://files6.directadmin.com/services/custombuild/ZendOptimizer-3.2.6-linux-glibc23-x86_64.tar.gz
    wget http://files6.directadmin.com/services/custombuild/ZendOptimizer-3.2.6-linux-glibc21-i386.tar.gz

    解压安装:

    cd /usr/local/src/ZendOptimizer-3.2.6-linux-glibc23-x86_64/
    sh install.sh

    一下安装来至网络:(因为写文档时我已经搭建完成这个是整理档案)

  • 相关阅读:
    SVG路径字符串格式
    PHP pdf转化为图片(PNG)
    将博客搬至CSDN
    SAC学习笔记(一)——SAC安装
    《把时间当作朋友》读书笔记(十四)--积累(二)
    《把时间当作朋友》读书笔记(十四)--积累(一)
    《把时间当作朋友》读书笔记(十三)-- 应用(二)
    《把时间当作朋友》读书笔记(十二)-- 应用(一)
    《把时间当作朋友》读书笔记(十一)-- 交流
    Wixtools打包工具实战总结
  • 原文地址:https://www.cnblogs.com/patf/p/3382325.html
Copyright © 2011-2022 走看看