查看编译参数

# httpd
cat /app/httpd24/build/config.nice # mysql
cat /app/mysql/docs/INFO_BIN # php
php -i |grep configure

httpd源码安装

# 安装依赖包
# 安装apr包,注意版本,过高有可能报错
./configure --prefix=/usr/local/apr
make
make install
yum install -y expat-devel
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
make
make install # yum安装pcre,zlib包
yum install -y pcre pcre-devel zlib zlib-devel # 安装httpd
./configure \
--prefix=/app/httpd24 \ #安装目录
--sysconf=/app/httpd24/conf \ #配置目录
--with-zlib \ #使用zlib库
--with-pcre \ #使用pcre库
--with-apr=/usr/local/apr \ #指定apr安装目录
--with-apr-util=/usr/local/apr-util \ #指定apr-util安装目录
--enable-so \ #启用DSO动态加载模块支持,需要什么功能模块可动态加载
--enable-ssl \ #SSL/TLS support (mod_ssl)
--enable-cgi \ #支持CGI脚本功能
--enable-rewrite \ #启用网页地址重写功能,实现伪静态
--enable-modules=most \ #指定安装DSO动态库用来通信
--with-mpm=prefork|worker|event \ #指定服务器默认支持的一种MPM模块
--enable-mpms-shared=all #当前平台选择MPM加载动态模块并以DSO动态库方式进行创建
make
make install

mysqld源码安装

InnoDB, MyISAM, MERGE, MEMORY, CSV引擎是强制编译的,不需要显示安装。

yum -y install cmake ncurses ncurses-devel bison bison-devel

groupadd mysql
useradd -g mysql mysql cd mysql-5.7.
cmake -DCMAKE_INSTALL_PREFIX=/app/mysql \ # 安装目录
-DSYSCONFDIR=/app/mysql \ #配置文件目录
-DMYSQL_DATADIR=/app/mysql \ #数据文件存放目录
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \ #socket目录
-DMYSQL_TCP_PORT= \ #监听端口
-DWITH_BOOST=/usr/local/src/boost \ #boost源码目录
-DDEFAULT_CHARSET=utf8 \ #默认字符集为utf8
-DDEFAULT_COLLATION=utf8_general_ci \ #默认字符校对
-DWITH_EXTRA_CHARSETS=all \ #支持所有的扩展字符
-DWITH_INNOBASE_STORAGE_ENGINE= \
-DWITH_MEMORY_STORAGE_ENGINE= \
-DWITH_MYISAM_STORAGE_ENGINE= \
-DWITH_ARCHIVE_STORAGE_ENGINE= \
-DWITH_PARTITION_STORAGE_ENGINE= \
-DWITH_READLINE= \ #快捷键功能
-DENABLED_LOCAL_INFILE= \ #
-DWITH_DEBUG= #禁用调试模式
make
make install chown -R mysql.mysql /application/mysql

php源码安装

待更新。。。

Linux LAMP源码安装的更多相关文章

  1. Linux中源码安装编译Vim

    Linux中源码安装编译Vim Linux下学习工作少不了编辑器,Vim能使你的工作效率成倍的提高.在Ubuntu上安装vim使用命令直接安装很简单.但有时还是需要自己手动编译安装.例如: vim中的 ...

  2. linux下源码安装netcat

    linux下源码安装netcat http://blog.chinaunix.net/uid-20783755-id-4211230.html 1,下载netcat源码,netcat-0.7.1-13 ...

  3. linux 手动源码安装lnmp(亲测)

    linux 手动源码安装lnmp笔记(亲测)<pre>先安装这2个yum install gccyum install g++</pre><pre>先在linux ...

  4. CentOS7(Linux)源码安装Redis

    介绍 项目中经常需要用到Redis做缓存数据库,可是还有小伙伴不会在Linux上安装Redis,毕竟我们开发的项目都是要在服务器上运行的,今天就来讲讲如何在CentOS7环境使用源码进行安装Redis ...

  5. Linux MySQL源码安装缺少ncurses-devel包

    在Red Hat Enterprise Linux Server release 5.7 上用源码安装MySQL-5.6.23时,遇到了" remove CMakeCache.txt and ...

  6. linux(centos)源码安装git

    最近使用一个开源库,部署的的时候需要用git克隆依赖库.刚好系统没安装git.就尝试了源码安装git. 源码下载地址:http://codemonkey.org.uk/projects/git-sna ...

  7. linux下源码安装软件

    在linux下的很多软件都是通过源码包方式发布的,这样做对于最终用户而言,虽然相对于二进制软件包,配置和编译起来繁琐点,但是它的可移植性却好得多,针对不同的体系结构,软件开发者往往仅需发布同一份源码包 ...

  8. Linux系统源码安装过程中的prefix选项

    在linux和unix环境中,源码安装是最常用的软件安装方式,一些软件除了提供源码外,也提供各种发行版的二进制安装包(如基于redhat包管理工具的rpm包),但强烈建议使用源码安装方式.原因是:(1 ...

  9. Linux 下源码安装大杂烩

    本文仅以记录平常源码安装部分软件是需注意的关键点. 有时为了方便,如在 Ubuntu 系统中,采用 sudo apt-get install soft-version 来安装某一版本的软件显得更为便捷 ...

随机推荐

  1. Keepalived + Haproxy + PXC 理论篇

    最终模型: 将Kp1 + Kp2 分别和Ha1和Ha2部署在一起,同时绑定VIP ip,对外提供访问,同时监控本机的Haproxy的可用性 通过Ha1 + Ha2 为PXC提供负载均衡,分发请求到后端 ...

  2. vim复制到剪切板

    作者:whinc链接:https://www.zhihu.com/question/19863631/answer/89354508来源:知乎 转载文章 Vim 中的复制.删除的内容都会被存放到默认( ...

  3. GitHub的本地与远程

    首先要有一个github账户(这不是废话吗) 在linux中先安装git arch linux : pacman -S git 在终端里输入 ssh-keygen ##一直默认就可以了 将公钥加入到G ...

  4. usb发送字节

  5. css3正方体

    使用animation和调整页面角度做出来 <html lang="zh"> <head> <meta charset="UTF-8&quo ...

  6. HZOJ 20190719 那一天我们许下约定(dp+组合数)

    这个题目背景真的是让我想起了当年... 不说了,言归正传,这题,一眼看去30分暴力还是很好拿的,但我因为考试时的心态问题没有处理好细节爆了零. 30分暴力的普遍思路的复杂度应该是$O(nmd)$的,但 ...

  7. [spring cloud] [error] java.lang.IllegalStateException: Only one connection receive subscriber allowed.

    前言 最近在开发api-gateway的时候遇到了一个问题,网上能够找到的解决方案也很少,之后由公司的大佬解决了这个问题.写下这篇文章记录一下解决方案.希望可以帮助到更多的人. 环境 java版本:8 ...

  8. 火焰图分析CPU性能问题

    1.找出应用程序或内核消耗CPU的PID 2.执行perf record 命令,记录该PID的行为 perf record -a -g -p 14851 -- sleep 30 --30秒后退出 3. ...

  9. Vue_(组件通讯)动态组件

    动态组件 传送门 在一个元素上挂载多个组件,根据不同状态进行切换的时候,可以使用动态组件 动态组件的使用:需要使用内置组件<component></component>,根据 ...

  10. Mybatis 实体类使用@Accessors(chain = true)注解时,对应的mapper xml 报错

    去掉这个注解就行了 应该是 mybatis 会调用实体类的 getter  setter 方法, 返回值可能会有所影响