zoukankan      html  css  js  c++  java
  • CentOS 6.x 编译安装LAMP

    本实验所用软件包下载地址:https://yz231.lanzous.com/iKELOfp77hg

    一、环境准备

    操作系统:centos6.x-x86_64
    关闭selinux和iptables

    1.安装编译工具 gcc、gcc-c++、make
    yum -y install gcc gcc-c++ make
    

    #若不能联网使用光盘作为yum源

    2.关闭系统RPM安装包apache、mysql等服务

    #为了防止rpm安装的软件和接下来安装的源码软件包冲突

    #rpm -q apache;mysql
    service httpd stop
    service mysqld stop
    

    禁止开机自启

    chkconfig httpd off
    chkconfig mysqld off
    
    3.关闭selinux和iptables
    #vim /etc/selinux/config
    SELINUX=disabled
    #重启生效
    iptables -F
    chkconfig iptables off
    
    4.将源码包上传到服务器,使用脚本解压缩
    mkdir /lamp
    

    unzip LAMP-php7.zip
    #vim tar.sh
    
    #!/bin/env bash
    cd /lamp/LAMP-php7
    /bin/ls *.tar.gz > ls.list
    for TAR in `cat ls.list`
    do
        /bin/tar -xf $TAR
    done
    /bin/rm ls.list
    #保存退出,使用 bash tar.sh 执行该脚本对源码包进行解压缩
    
    5.查看磁盘空间是否充足
    df -hT
    

    6.源码软件包安装报错确认和解决方案

    echo $?             #安装每个步骤后执行查看是否成功
    ./configure         #此步骤报错多是依赖关系没解决或是编译工具未安装(注意关键词)
    make                #此步骤多是编译时选项参数书写错误、不存在、漏写等
    ./configure --help  #检查上一个步骤
    

    二、编译安装

    1.安装libxml2
    libxml2是一个xml c语言的解析器,支持c语言、c++、PHP等语言的绑定,能在多种平台上运行。
    
    #安装依赖
    yum install -y libxml2-devel python-devel
    #切换到libxml2目录
    cd libxml2-2.9.1
    #生成Makefile,并指定安装目录
    ./configure --prefix=/usr/local/libxml2/
    #编译并安装
    make
    make install
    echo $?
    
    2.安装libmcrypt
    cd /lamp/LAMP-php7/libmcrypt-2.5.8
    ./configure --prefix=/usr/local/libmcrypt
    make
    make install
    

    安装libltdl,也在libmcrypt中,非新软件

    cd /lamp/LAMP-php7/libmcrypt-2.5.8/libltdl
    ./configure --enable-ltdl-install  #--enable-ltdl-install 配置ltdl库的安装
    make && make install
    
    3.安装mhash
    mhash是基于离散数学原理的不可逆向的php加密方式扩展库,在默认情况下不开启;mhash可用于创建校验数值,消息摘要,消息认证码,以及无需原文的关键信息保存等。
    
    cd /lamp/LAMP-php7/mhash-0.9.9.9
    ./configure
    make && make install
    
    4.安装mcrypt

    是php里重要的加密支持扩展库

    cd /lamp/LAMP-php7/mcrypt-2.6.8
    export LD_LIBRARY_PATH=/usr/local/libmcrypt/lib/:/usr/local/lib
    #变量:LD_LIBRARY_PATH用于指定libmcrypt和mhash库的位置
    ./configure --with-libmcrypt-prefix=/usr/local/libmcrypt
    make && make install
    
    5.安装zlib

    zlib是提供数据压缩用的函式库

    cd /lamp/LAMP-php7/zlib-1.2.3
    ./configure
    #修改配置文件,否则无法正常安装
    #vim Markfile
    CFLAGS=-O3 -DUSE_MMAP -fPIC
    

    make && make install
    
    6.安装libpng
    libpng软件包含libpng库,用于解码png图片
    
    cd /lamp/LAMP-php7/libpng-1.2.31
    ./configure --prefix=/usr/local/libpng
    make && make install
    
    7.安装jpeg6
    jpeg6提供用于解码.jpg和.jpeg图片的库文件
    
    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
    #此软件默认不会自动创建所需目录,需要手工建立
    
    yum -y install libtool*
    cd /lamp/LAMP-php7/jpeg-6b/
    cp -a /usr/share/libtool/config/config.sub ./
    cp -a /usr/share/libtool/config/config.guess ./
    #覆盖原有文件
    ./configure --prefix=/usr/local/jpeg6/ --enable-shared --enable-static
    #--enable-shared 和--enable-static分别是建立共享库和静态库使用的libtool
    make && make install
    
    8.安装freetype
    freetype库是一个开源的、高质量可移植的字体引擎
    
    cd /lamp/LAMP-php7/freetype-2.3.5
    ./configure --prefix=/usr/local/freetype
    make && make install
    
    9.安装apache

    (1)源码包2.4.*版本中默认没有集成apr的依赖包,所以需要提前解决依赖问题

    cp -a /lamp/LAMP-php7/apr-1.4.6 /lamp/LAMP-php7/httpd-2.4.7/srclib/apr
    cp -a /lamp/LAMP-php7/apr-util-1.4.1 /lamp/LAMP-php7/httpd-2.4.7/srclib/apr-util
    

    (2)apache默认需要依赖pcre软件,但由于apache版本版本较高,则系统欲安装的pcre无法使用,所以需要人为手动安装

    cd /lamp/LAMP-php7/pcre-8.34
    ./configure
    make && make install
    

    (3)apache的加密传输模块 mod_ssl,需要安装此软件实现

    yum install openssl-devel
    

    (4)httpd软件安装

    cd /lamp/LAMP-php7/httpd-2.4.7
    ./configure --prefix=/usr/local/apache2 --sysconfdir=/usr/local/apache2/etc --with-included-apr --enable-so --enable-deflate=shared --enable-expires=shared --enable-rewrite=shared --enable-ssl
    
    make && make install
    

    (5)修改主配置文件 httpd.conf

    #vim /usr/local/apache2/etc/httpd.conf
    #搜索ServerName,取消注释并修改为:
    ServerName localhost:80
    

    (6)启动apache
    测试

    /usr/local/apache2/bin/apachectl start
     
    netstat -tlun |grep :80
    


    10.安装ncurses
    ncurses提供字符终端处理库,包括面板和菜单
    
    yum install -y ncurses-devel
    
    cd /lamp/LAMP-php7/ncurses-5.9
    ./configure --with-shared --without-debug --without-ada --enable-overwrite
    make && make install
    

    #若不安装ncurses编译mysql时会出错

    11.安装cmake和bison

    mysql5.5之后,不再使用./configure工具,而使用cmake工具代替
    bison是一个自用软件,用于自动生成语法分析程序

    yum install -y cmake bison
    
    12.安装mysql

    #为mysql创建运行用户

    useradd -r -s /sbin/nologin mysql
    
    cd /lamp/LAMP-php7/mysql-5.5.48
    cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNODASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_USER=mysql -DMYSQL_TPC_PORT=3306
    
    make && make install
    

    (1)修改mysql目录的用户归属

    cd /usr/local/mysql/
    chown -R root .
    chown -R mysql data
    

    (2)生成配置文件,并初始化授权表

    cp -a /lamp/LAMP-php7/mysql-5.5.48/support-files/my-medium.cnf /etc/my.cnf
    #覆盖掉自带文件
    #创建数据库授权表,初始化数据库,并添加第一个用户
    cd /usr/local/mysql
    ./scripts/mysql_install_db --user=mysql
    

    (3)启动mysql服务

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

    (4)设定mysql密码

    /usr/local/mysql/bin/mysqladmin -uroot password 123456
    

    (5)登录验证

    /usr/local/mysql/bin/mysql -uroot -p
    

    13.安装PHP
    cd /lamp/LAMP-php7/php-7.0.7
    
    ./configure --prefix=/usr/local/php/ --with-config-file-path=/usr/local/php/etc/ --with-apxs2=/usr/local/apache2/bin/apxs --with-libxml-dir=/usr/local/libxml2/ --with-jpeg-dir=/usr/local/jpeg6/ --with-png-dir=/usr/local/libpng/ --with-freetype-dir=/usr/local/freetype/ --with-mcrypt=/usr/local/libmcrypt/ --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-soap --enable-mbstring=all --enable-sockets --with-pdo-mysql=/usr/local/mysql --with-gd --without-pear
    
    make && make install
    

    #PHP安装后需要调整相应配置
    (1)生成php配置文件

    mkdir /usr/local/php/etc
    cp /lamp/LAMP-php7/php-7.0.7/php.ini-production /usr/local/php/etc/php.ini
    

    (2)修改apache配置文件,使其识别*.php文件,并通过php模块进行页面解析

    vim /usr/local/apache2/etc/httpd.conf
        AddType application/x-httpd-php .php .phtml
        AddType application/x-httpd-php-source .phps
    #检查语法配置
    /usr/local/apache2/bin/apachectl -t
    #查看模块
    /usr/local/apache2/bin/apachectl -M
     
    #重启apache
    /usr/local/apache2/bin/apachectl restart
    

    提示:

    vim /usr/local/apache2/etc/httpd.conf
    #将ServerName www.xx.com:80 取消注释并修改为 ServerName localhost:80
    

    (3)测试php页面是否能用正常解析

    #vim /usr/local/apache2/htdocs/test.php
    <?php
            phpinfo();
    ?>
    

    浏览器访问:http://apache server ip/test.php

    14.为PHP安装openssl模块
    openssl是一个强大的安全套接字密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及 SSL 协议
    
    cd /lamp/LAMP-php7/php-7.0.7/ext/openssl/
    mv config0.m4 config.m4
    /usr/local/php/bin/phpize
    ./configure  --with-openssl --with-php-config=/usr/local/php/bin/php-config
    make && make install
    
    15.为PHP安装memcache模块
    memcache是一个高性能的分布式的内存对象缓存系统,它能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果
    
    cd /lamp/LAMP-php7/pecl-memcache-php7
    /usr/local/php/bin/phpize
    ./configure --with-php-config=/usr/local/php/bin/php-config
    make && make install
    
    16.修改PHP配置文件,使其识别并调用openssl和memcache模块
    vim /usr/local/php/etc/php.ini
    #添加:
    extension_dir="/usr/local/php/lib/php/extensions/no-debug-zts-20151012/"
    extension="openssl.so";
    extension="memcache.so";
    

    重启apache,刷新web界面查看两个模块是否增加

    17.安装memcached服务
    yum -y install libevent-devel
    cd /lamp/LAMP-php7/memcached-1.4.17
    ./configure --prefix=/usr/local/memcache
    make && make install
    #添加memcache用户,此用户不用密码,不设置密码
    useradd -r -s /sbin/nologin memcache
    #启动memcache服务,并设置为后台运行
    /usr/local/memcache/bin/memcached -umemcache &
    #检查是否启动成功,并监听了11211端口
    netstat -napt |grep :11211
    

    18.安装phpMyAdmin
    cp -a /lamp/LAMP-php7/phpMyAdmin-4.1.4-all-languages /usr/local/apache2/htdocs/phpmyadmin
    cd /usr/local/apache2/htdocs/phpmyadmin/
    cp -a config.sample.inc.php config.inc.php
    vim config.inc.php
    #设置auth_type为http,即设置为HTTP身份认证模式
    

    浏览器访问:http://apache server ip/phpmyadmin/index.php

    19.设置apache、mysql、memcache开机自启
    #通过自带脚本/etc/rc.local设置开机自动加载
    #vim /etc/rc.local
    #添加
    /usr/local/apache2/bin/apachectl start
    /usr/local/mysql/bin/mysqld_safe --user=mysql &
    /usr/local/memcache/bin/memcached -umemcache &
    #重启验证
    
    20.项目部署

    把php项目拷贝到网站默认目录下:/usr/local/apache2/htdocs/
    #注意事项:注意目录的权限和归属,防止权限过大或权限过小

    作者:ccku
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。如有问题或建议,请多多赐教,非常感谢。
  • 相关阅读:
    关于ListView
    Camera2
    线程池
    运输层
    计算机网络体系结构
    USACO 2016 US Open Contest Gold T2: Closing the Farm
    USACO 2016 US Open Contest Gold T1: Splitting the Field
    USACO 2016 February Contest Gold T3: Fenced In
    USACO 2016 February Contest Gold T2: Circular Barn Revisited
    USACO 2016 February Contest Gold: T1 Circular Barn
  • 原文地址:https://www.cnblogs.com/ccku/p/13510385.html
Copyright © 2011-2022 走看看