---恢复内容开始---

1、LAMP源码编译的基础环境

  安装组建包:yum groupinstall "Development Tools" "Development Libraries" -y

  安装编译包:yum install gcc gcc-c++ openssl-devel -y

  下载源码包:

   apr-1.6.3.tar.gz

   mysql-5.6.38-linux-glibc2.12-x86_64.tar.gz

   apr-util-1.6.1.tar.bz2

   pcre-8.41.tar.bz2

   httpd-2.4.29.tar.bz2

   php-7.1.11.tar.bz2

2、编译安装(按顺序安装)

  • tar xf apr-1.6.3.tar.gz -C /usr/local/src/
  • tar xf apr-util-1.5.4.tar.bz2 -C /usr/local/src/

  • tar xf pcre-8.41.tar.bz2 -C /usr/local/src/

   cd /usr/local/src/

  •    安装apr

   cd apr-1.6.3/

   ./configure --prefix=/usr/local/apr  //检查环境并指定安装目录

   make -j 2                            //让几个cpu同时运行,这里是2,加快速度

   make install                    //安装

   echo $?                  //检查是否正常,返回结果为0则正常

   //安装apr-util

    

   cd ../apr-util-1.5.4/

   

   ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/ && make -j 2 && make install

                          //检测时指定apr的目录,一天命令完成安装

  •    安装pcre

   cd ../pcre-8.41/

   ./configure --prefix=/usr/local/pcre && make && make install

  •    安装httpd

   tar xf httpd-2.4.29.tar.bz2 -C /usr/local/src/      //解压安装包

   cd /usr/local/src/httpd-2.4.29

   

在安装包目录下  vim include/ap_release.h .  (优化)

    搜索:BASEVENDOR   修改其八项隐藏curl -I http://地址  中的Server内容

   ./configure --prefix=/usr/local/apache2.4 --enable-so --enable-rewrite --enable-ssl --with-pcre=/usr/local/pcre --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-modules=most --enable-mpms-shared=all --with-mpm=event

        //--enable是启用一些模块,可选。--with为必须参数

   make -j 2

   make install

   cp /usr/local/apache2.4/bin/apachectl /etc/init.d/apache2.4

         //将启动文件脚本复制到系统启动目录里面命名为aqache2.4 

   vim /etc/init.d/apache2.4     //修改配置文件

        #chkconfig:2345 64      36     //添加,启动级别

        # description:  Apache2.4.29 start script       //描述性信息

        :wq

        /etc/init.d/apache2.4 start              //启动   显示的不是报错信息,是域名没有改的提醒

   vim /usr/local/apache2.4/conf/httpd.conf      //修改域名

        //搜索ServerName

        #ServerName www.example.com:80    改为    ServerName 127.0.0.1:80

        :wq

   ps aux|grep apache                  //查看进程

   useradd -M -s /sbin/nologin apache        //为apache创建一个用户

   vim /usr/local/apache2.4/conf/httpd.conf     //修改配置文件

      User daemon    改为  User apache

      Group daemon    改为  Group apache

   chown -R apache.apache /usr/local/apache2.4/    //修改目录组权限,有root改为apache

   /etc/init.d/apache2.4 restart                   //重启apache

  •     安装mysql

    tar xf mysql-5.6.26.tar.gz -C /usr/local/src/       //解压

    cd /usr/local/src/

    id mysql            //查看有没有mysql用户

    useradd -M -s /sbin/nologin mysql       //创建mysql用户

    yum install cmake ncurses-devel -y      //安装必备依赖包

    yum remove mysql* -y  

    yum remove mysql -y            //删除所有与mysql相关的东西,确保系统干净

    //编译      

    

cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/mysql/data \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DSYSCONFDIR=/etc \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DWITH_LIBWRAP=0 \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DWITH_SSL=system \
-DWITH_ZLIB=system \
-DWITH_BOOST=/home/alex/Downloads/boost_1_59_0 \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci

cmake 编译选项含意:

-DCMAKE_INSTALL_PREFIX=dir_name 设置mysql安装目录
-DMYSQL_UNIX_ADDR=file_name 设置监听套接字路径,这必须是一个绝对路径名。默认为/tmp/mysql.sock
-DDEFAULT_CHARSET=charset_name 设置服务器的字符集。
缺省情况下,MySQL使用latin1的(CP1252西欧)字符集。cmake/character_sets.cmake文件包含允许的字符集名称列表。
-DDEFAULT_COLLATION=collation_name 设置服务器的排序规则。
-DWITH_INNOBASE_STORAGE_ENGINE=1 
-DWITH_ARCHIVE_STORAGE_ENGINE=1
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1
存储引擎选项:

MyISAM,MERGE,MEMORY,和CSV引擎是默认编译到服务器中,并不需要明确地安装。

静态编译一个存储引擎到服务器,使用-DWITH_engine_STORAGE_ENGINE= 1

可用的存储引擎值有:ARCHIVE, BLACKHOLE, EXAMPLE, FEDERATED, INNOBASE (InnoDB), PARTITION (partitioning support), 和PERFSCHEMA (Performance Schema)

-DMYSQL_DATADIR=dir_name 设置mysql数据库文件目录
-DMYSQL_TCP_PORT=port_num 设置mysql服务器监听端口,默认为3306
-DENABLE_DOWNLOADS=bool 是否要下载可选的文件。例如,启用此选项(设置为1),cmake将下载谷歌所使用的测试套件运行单元测试。

  //安装

    make -j 2 && make install

     chown -R mysql.mysql /usr/local/mysql/        //更改组权限

     cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf          //复制配置文件并覆盖

     cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld      //复制启动脚本并重命名为mysqld

     vim /etc/init.d/mysqld               //修改启动脚本配置

            basedir=/usr/local/mysql

            datadir=/usr/local/mysql/data

            :wq

     chkconfig mysqld on        //加入开机自启动

     //mysql初始化

     /usr/local/mysql/scripts/mysql_install_db --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/ --user=mysql

     ln -sv /usr/local/mysql/bin/* /bin/     //创建软连接,将mysql的命令放到/bin/目录下

     /etc/init.d/mysqld start            //启动mysql

     ps aux|grep mysql                 //查看进程

     mysql_secure_installation            //安全初始化

     mysql -u root -p                  //登录

  •       安装PHP

      yum install libxml2-devel -y          //安装依赖组建包

      tar xf php-7.1.11.tar.bz2 -C /usr/local/src/      //解压

      ./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql/ --with-apxs2=/usr/local/apache2.4/bin/apxs --with-config-file-path=/usr/local/php                        //编译

      make -j 2 && make install               //安装

       cp php.ini-production /usr/local/php/php.ini      //复制配置文件重命名为php.ini

       ll /usr/local/apache2.4/modules/libphp7.so

       ll /usr/local/apache2.4/modules/httpd.exp         //查看apanhe是否支持php,若有这个文件则支持

       vim /usr/local/apache2.4/conf/httpd.conf          //修改apache配置文件支持php

            

              <IfModule dir_module>

                  DirectoryIndex index.html index.php index.htm

              </IfMod>

              AddType application/x-compress .Z

            AddType application/x-gzip .gz .tgz

            AddType application/x-httpd-php .php

            AddType application/x-httpd-source .phps

              :wq

       vim /usr/local/apache2.4/htdocs/index.php            //建立一个php文件

       /etc/init.d/apache2.4 restart                    //重启apache

    访问ip/index.php失败,查看端口是否启动

        netstat -tlunp |grep 80

     关闭防火墙

        firewall-cmd --stat

        systemctl stop firewall

      安装elinks

        yum install elinks

        elinks 192.168.31.60/index.php

      






















---恢复内容结束---


















LAMP源码编译的更多相关文章

  1. Httpd服务进阶知识-LAMP源码编译安装

    Httpd服务进阶知识-LAMP源码编译安装 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 想必大家都知道,动态资源交给fastcgi程序处理,静态资源依旧由httpd服务器处理  ...

  2. LAMP源码编译安装

    php加速器 XCache 快速而且稳定的PHP opcode缓存,经过严格测试且被大量用于生产环境. 项目地址:http://xcache.lighttpd.net/,收录EPEL源 实现XCach ...

  3. Web应用之LAMP源码环境部署

    一.LAMP环境的介绍 1.LAMP环境的重要性 思索许久,最终还是决定写一篇详细的LAMP的源码编译安装的实验文档,一来是为了给自己一个交代,把技术进行系统的归纳,将技术以极致的形式呈现出来,做为一 ...

  4. 1-web应用之LAMP源码环境搭建

    目录 一.LAMP环境的介绍     1.LAMP环境的重要性     2.LAMP组件介绍 二.Apache源码安装     1.下载Apache以及相关依赖包     2.安装Apache以及相关 ...

  5. 源码编译安装LAMP环境及配置基于域名访问的多虚拟主机

    实验环境及软件版本: CentOS版本: 6.6(2.6.32.-504.el6.x86_64) apache版本: apache2.2.27 mysql版本:  Mysql-5.6.23 php版本 ...

  6. CentOS6.5下搭建LAMP环境(源码编译方式)

    CentOS 6.5安装配置LAMP服务器(Apache+PHP5+MySQL) 学习PHP脚本编程语言之前,必须先搭建并熟悉开发环境,开发环境有很多种,例如LAMP ,WAMP,MAMP等.这里我介 ...

  7. LAMP环境源码编译安装过程

    LAMP环境源码编译安装过程 一.Apache的安装 1.1.apache软件包及依赖包准备 httpd-2.4.29.tar.bz2       apr-1.6.3.tar.gz      apr- ...

  8. centos7源码编译安装lamp/lnmp

    centos7源码编译安装lamp/lnmp 进程:是包工头(相当于是个门,只管开门关门,不管门内的事儿) 线程:是各种工种(cpu调度的是线程) 进程 是一件事情, 线程 是 同一个时间范围内 同时 ...

  9. LAMP架构—源码编译安装 (爱情受过伤,为爱跳过鸭绿江)

    LAMP架构--源码编译安装 1.LAMP架构概述 2.编译安装Apache httpd 服务 3.编译安装mysql 服务 4.编译安装PHP 解析服务 5.利用LAMP搭建论坛 1.LAMP架构概 ...

随机推荐

  1. centos7中 yum的安装

    自己误将yum卸载, 在重装时由于依赖问题一直报错: error: Failed dependencies:     /usr/bin/python is needed by yum-3.4.3-16 ...

  2. 查询linux版本信息

    uname -a (Linux查看版本当前操作系统内核信息) cat /proc/version (Linux查看当前操作系统版本信息) cat /etc/redhat-release (Linux查 ...

  3. java内部类概念

    一.成员内部类作为外部类的成员存在的类,则称之为成员内部类 public class OuterClass{ public class InnerClass{ } } 成员内部类样例 成员内部类具有如 ...

  4. Gin_入门

    1. 创建路由 1.1 Restful风格的API gin支持Restful风格的API 即Representational State Transfer的缩写.直接翻译的意思是"表现层状态 ...

  5. EF CodeFirst简介、默认约定、数据库初始化策略

    CodeFirst 工作流程 创建或修改领域类-->使用数据注解或者Fluent API来配置领域类-->使用自动数据库迁移技术或者基于代码的数据库迁移技术来创建数据库. CodeFirs ...

  6. manifold learning

    MDS, multidimensional scaling, 线性降维方法, 目的就是使得降维之后的点两两之间的距离尽量不变(也就是和在原是空间中对应的两个点之间的距离要差不多).只是 MDS 是针对 ...

  7. vue.js + element中el-select实现拼音匹配,分词、缩写、多音字匹配能力

    1.既然要用到拼音搜索,我们就需要一个拼音库,在这里我推荐一个第三方包:https://github.com/xmflswood/pinyin-match,在这里首先对这个包的开发者表示万分的感谢. ...

  8. STL-C - 稳定排序

    C - 稳定排序 大家都知道,快速排序是不稳定的排序方法.如果对于数组中出现的任意a[i],a[j](i<j),其中a[i]==a[j],在进行排序以后a[i]一定出现在a[j]之前,则认为该排 ...

  9. MVC5+EF6 入门完整教程3 :EF完整开发流程

    https://www.cnblogs.com/miro/p/4053473.html 学完本篇文章,你将会掌握基于EF数据模型的完整开发流程. 本次将会完成EF数据模型的搭建和使用. 基于这个模型, ...

  10. C#中使用IndexOf()判断字符串在字符串数组中第一次出现的索引位置

    ] {"}; "; //判断字符串的前几位在另一个字符串数组中第一次出现的索引位置 index = Array.IndexOf(s, s1.Substring(, ));