查看编译参数

# 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. Ubuntu18.04系统执行语句时出现错误Failed to load module "canberra-gtk-module"

    Ubuntu18.04系统执行gnuradio-companion时,命令行提示错误Failed to load module "canberra-gtk-module",虽然看起 ...

  2. git fetch, merge, pull, push需要注意的地方

    在git操作中,我们经常会用到fetch, merge, pull和push等命令,以下是一些我们需要注意的地方. 给大家准备了参考资料: 1. Whatʼs a Fast Forward Merge ...

  3. JS 数组相关的操作函数

    // 1.数组拼接 concat() var a = [1, 2]; var b = [3, 4]; console.log(a.concat(b)); // [1, 2, 3, 4] // 2.数组 ...

  4. poj3417 Network/闇の連鎖[树上差分]

    首先隔断一条树边,不计附加边这个树肯定是断成两块了,然后就看附加边有没有连着的两个点在不同的块内. 方法1:BIT乱搞(个人思路) 假设考虑到$x$节点隔断和他父亲的边,要看$x$子树内有没有点连着附 ...

  5. tbdr+mrt

    有关mrt的在tbdr的架构下的内存排布 system memory肯定是dither 我对这里把握比较大 rt0 rgba8 rt1 r8 这样像素排列是rgba8r8rgba8r8rgba8r8. ...

  6. ubuntu设置窗口最大化

    三行命令搞定Ubuntu 16.04下安装VMware Tools!!!!!!!!! 由于下载的是ubuntu-16.04.3-desktop-amd64,需要安装vmware tools,以往提取的 ...

  7. [Python自学] day-16 (JS、作用域、DOM、事件)

    一.JS中的三种函数 1.普通函数 function func(){ console.log("Hello World"); } func() 2.匿名函数 setInterval ...

  8. query mousedown()方法 语法

    query mousedown()方法 语法 作用:当鼠标指针移动到元素上方,并按下鼠标按键时,会发生 mousedown 事件.与 click 事件不同,mousedown 事件仅需要按键被按下,而 ...

  9. 从Ubuntu 18.04 LTS升级到Ubuntu 18.10版本的方法

    从Ubuntu 18.04 LTS升级到Ubuntu 18.10版本的方法 2018-10-18 21:08:39作者:ywnz稿源:云网牛站 本文提供从Ubuntu 18.04 LTS(Bionic ...

  10. 对象中 new this

    构造函数 new后面调用函数,我们称为构造函数(首字母大写) Object() 我们把他视为一个构造函数,构造函数的本质就是一个函数,只不过构造函数的目的是为了创建新对象,为新对象进行初始化(设置对象 ...