详解LAMP源码编译安装

实战:LAMP源码编译安装

家住海边喜欢浪:zhang789.blog.51cto.com

目录

  • 详解LAMP源码编译安装

    • LAMP简介
    • 一、准备工作
    • 二、编译安装 Apache
    • 三、编译安装 MySQL
    • 四、编译安装 PHP
  • 测试LAMP搭建开源数据web管理程序phpMyadmin

详解LAMP源码编译安装

LAMP简介

LAMP是当下非常流行的一套Web架构,我们可以在GNU/Linux下通过其他人打包的程序包来进行安装; 但是在生产环境中,很多时候都需要我们自己定制安装AMP,编译安装LAMP有以下几个优点

根据生产环境灵活定制程序 
优化编译参数,提高性能 
解决不必要的软件依赖

一、准备工作

卸载yum或rpm安装的amp软件

1、在编译安装lamp之前,首先先卸载已存在的rpm包。

[root@localhost ~]# yum -y remove httpd[root@localhost ~]# yum -y remove mysql-server mysql[root@localhost ~]# yum -y remove php[root@localhost ~]# yum -y remove php-mysql

2、禁用SeLinux

selinux可能会致使编译安装失败,我们先禁用它。

[root@localhost ~]# sed -i ‘s/SELINUX=enforcing/SELINUX=disabled/g‘ /etc/selinux/config  #永久禁用,需要重启生效。或[root@localhost ~]# setenforce 0  #临时禁用,不需要重启(推荐)。

3、yum安装必要工具

[root@localhost ~]# yum -y groupinstall "Development tools" "Server Platform Development"

4、下载所需源码

Apache=http://httpd.apache.org/                                     httpd主程序包MySQL=http://dev.mysql.com/downloads/mysql/         mysql主程序包PHP=http://php.net/downloads.php                        php主程序包apr=http://apr.apache.org/                              apr是httpd的依赖包apr-util=http://apr.apache.org/                         apr-util是httpd的第二个依赖包pcre=http://pcre.org/                                   pcre是httpd的三个依赖包

下载的源码包统一放在 /usr/local/src/ 目录下。

[[email protected] ~]# ll /usr/local/src/总用量 54444-rwxr-xr-x 1 root root  1031613 2月  28 2016 apr-1.5.2.tar.gz-rwxr-xr-x 1 root root   694427 2月  28 2016 apr-util-1.5.4.tar.bz2-rwxr-xr-x 1 root root  5101005 2月  28 2016 httpd-2.4.16.tar.bz2-rwxr-xr-x 1 root root 33278710 2月  28 2016 mysql-5.6.26.tar.gz-rwxr-xr-x 1 root root  1557603 2月  28 2016 pcre-8.37.tar.bz2-rwxr-xr-x 1 root root 14077633 2月  28 2016 php-5.6.13.tar.bz2

二、编译安装 Apache

Apache官方说:

与Apache 2.2.x相比,Apache 2.4.x提供了很多性能方面的提升,包括支持更大流量、更好地支持云计算、利用更少的内存处理更多的并发等。除此之外,还包括性能提升、内存利用、异步I/O的支持、动态反向代理设置、与时间驱动的Web服务器相当或更好的性能、更强大的处理资源分配能力,更便捷的缓存支持以及可定制的高速服务器和代理等。其它的功能还包括更简单的错误分析、更灵活的设置项、更强大的验证机制和更完整的文档。

Apache服务器项目管理委员会和Apache基金会主席Jim Jagielski表示,他们希望终端用户能真正地看到性能进步,Apache 2.4.x比许多以速度见长的Web服务器更快,例如 Nginx。 
apache-2.2与新出的apache-2.4安装不同的地方在于,2.4版的已经不自带apr库,所以在安装apache-2.4之前,需要下载apr。

所需源码包

apr-1.5.2.tar.gzapr-util-1.5.4.tar.bz2pcre-8.37.tar.bz2httpd-2.4.16.tar.bz2

安装Apache依赖库

1、安装 apr
[[email protected] ~]# cd /usr/local/src/[[email protected] src]# tar xf apr-1.5.2.tar.gz[[email protected] src]# cd apr-1.5.2[[email protected] apr-1.5.2]# ./configure --prefix=/usr/local/apr[[email protected] apr-1.5.2]# make && make install
2、安装 apr-util
[[email protected] ~]# cd /usr/local/src/[root[email protected] src]# tar xf apr-util-1.5.4.tar.bz2 [[email protected] src]# cd apr-util-1.5.4[[email protected] apr-util-1.5.4]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr[[email protected] apr-util-1.5.4]# make && make install
3、安装 pcre
[[email protected] apr-util-1.5.4]# cd /usr/local/src/[[email protected] src]# tar xf pcre-8.37.tar.bz2 [[email protected] src]# cd pcre-8.37[[email protected] pcre-8.37]# ./configure --prefix=/usr/local/pcre[[email protected] pcre-8.37]# make && make install
4、安装 Apache2.4.16
[[email protected] src]# tar xf httpd-2.4.16.tar.bz2 [[email protected] src]# cd httpd-2.4.16[[email protected] httpd-2.4.16]# ./configure --prefix=/usr/local/apache2 --sysconfdir=/etc/httpd --enable-so --enable-rewrite --enable-ssl --with-pcre=/usr/local/pcre --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util[[email protected] httpd-2.4.16]# make && make install

编译参数解释: 
--prefix=/usr/local/apache :指定安装目录 
--sysconfdir=/etc/httpd:配置文件安装路径 
--with-apr=/usr/local/apr: apr库 
--with-apr-util=/usr/local/apr-util :apr-util库 
--with-pcre=/usr/local/pcre : pcre库 
--enable-so : 允许运行时加载DSO模块(注意:so模块需静态编译) 
--enable-ssl=shared: 将ssl模块编译为DSO 
--enable-headers=shared : 将headers模块编译为DSO 
--enable-rewrite=shared : 将rewrite模块编译为DSO

5、初始化配置Apache
[[email protected] httpd-2.4.16]# /bin/cp /usr/local/apache2/bin/apachectl /etc/init.d/apache2[[email protected] httpd-2.4.16]# groupadd apache #添加apache用户组及用户[[email protected] httpd-2.4.16]# useradd -g apache -s /usr/sbin/nologin apache[[email protected] httpd-2.4.16]# chown -R apache:apache /usr/local/apache2[[email protected] httpd-2.4.16]# chmod +x /etc/init.d/apache2[[email protected] httpd-2.4.16]# chkconfig --add apache2    #增加执行权限[[email protected] httpd-2.4.16]# chkconfig --level 2345 apache2 on   #设置开机启动[[email protected] httpd-2.4.16]# chkconfig --list apache2    #查看是否设置成功httpd           0:关闭    1:关闭    2:启用    3:启用    4:启用    5:启用    6:关闭
6、修改init命令文件
主要是修改文件中pidfile参数的值(进程文件指向)[[email protected] ~]# vim /etc/init.d/httpd#!/bin/sh# chkconfig: 2345 64 36             #这个是启动级别的服务,2345是指那些级别启动,64是开启顺序,应该在network服务的后面,36是关闭顺序,应该在network的前面,这里并不是注释#默认network的是:2345 10 90# description: Apache2.4.16 start script            #描述字段,有了这两个字段,就可以用chkconfig命令控制

pidfile=${PIDFILE-/var/run/${prog}.pid}修改为pidfile=${PIDFILE-/usr/local/apache/logs/${prog}.pid}[[email protected] httpd-2.4.16]# hostname mageedu.com[[email protected] httpd-2.4.16]# echo "172.16.13.162 mageedu.com" >> /etc/hosts   //启动不会报错[[email protected] httpd-2.4.16]# /etc/init.d/apache2 start

三、编译安装 MySQL

所需源码包:

cmake-2.8.8.tar.gzmysql-5.6.26.tar.gz
安装cmake

MySQL从5.5版本开始,通过./configure进行编译配置方式已经被取消,取而代之的是cmake工具。

因此,我们首先要在系统中源码编译安装cmake工具。

[[email protected] ~]# cd /usr/local/src/cmake-2.8.8[[email protected] cmake-2.8.8]# ./configure[[email protected] cmake-2.8.8]# make && make install
编译安装配置MySQL

1、切换至 MySQL源码 解压目录

[root@localhost ~]# cd /usr/local/src/

2、创建所需data目录

[root@localhost src]# mkdir -pv /data/mysql

3、创建mysql用户和mysql组

[root@localhost src]# groupadd -r mysql[root@localhost src]# useradd -g mysql -r -s /sbin/nologin mysql

4、cmake编译安装

[[email protected] src]# tar xf mysql-5.6.26.tar.gz [[email protected] src]# cd mysql-5.6.26[[email protected] mysql-5.6.26]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_DATADIR=/data/mysql -DMYSQL-USER=mysql[[email protected] src]# make && make install

5、初始化MySQL配置

[[email protected] src]# ln -s /usr/local/mysql/bin/* /bin/[[email protected] src]# chmod +x /usr/local/mysql/scripts/mysql_install_db[[email protected] src]# /usr/local/mysql/scripts/mysql_install_db \--defaults-file=/etc/my.cnf  \--basedir=/usr/local/mysql/ \--datadir=/data/mysql \--user=mysql
配置开机自动启动
[root@localhost src]# /bin/cp support-files/mysql.server /etc/init.d/mysqld[root@localhost src]# chmod +x /etc/init.d/mysqld[root@localhost src]# chkconfig --add mysqld[root@localhost src]# chkconfig --level 2345 mysqld on[root@localhost src]# chkconfig --list mysqld #查看是否已应用上
修改配置文件
[[email protected] src]# /bin/cp support-files/my-default.cnf /etc/my.cnf[[email protected] src]# vim /etc/my.cnf在[mysqld]节点中添加:datadir = /data/mysqllog-error = /data/mysql/error.logpid-file = /data/mysql/mysql.piduser = mysqltmpdir = /tmp
启动MySQL
[[email protected] src]# service mysqld start  # 或 /etc/init.d/mysqld start[[email protected] src]# /usr/local/mysql/bin/mysqladmin -u root -p password "123456"

四、编译安装 PHP

安装PHP依赖库

yum install -y libxml2 libxml2-devel bzip2-devel

1、安装 libmcrypt

[root@localhost PHP]# cd /usr/local/src/PHP[root@localhost PHP]# tar -xzvf ./libmcrypt-2.5.8.tar.gz[root@localhost PHP]# cd ./libmcrypt-2.5.8[root@localhost PHP]# ./configure --prefix=/usr[root@localhost PHP]# make && make install

2、安装 mhash

[[email protected] PHP]# cd /usr/local/src/PHP[[email protected] PHP]# tar -xzvf ./mhash-0.9.9.9.tar.gz[[email protected] PHP]# cd ./mhash-0.9.9.9[[email protected] PHP]# ./configure --prefix=/usr[[email protected] PHP]# make && make install

3、安装 mcrypt

[root@localhost PHP]# /sbin/ldconfig  #搜索出可共享的动态链接库[root@localhost PHP]# cd /usr/local/src/PHP[root@localhost PHP]# tar -xzvf ./mcrypt-2.6.8.tar.gz[root@localhost PHP]# cd ./mcrypt-2.6.8[root@localhost PHP]# ./configure[root@localhost PHP]# make && make install

4、安装 libiconv

[root@localhost PHP]# cd /usr/local/src/PHP[root@localhost PHP]# tar -xzvf ./libiconv-1.14.tar.gz[root@localhost PHP]# cd ./libiconv-1.14[root@localhost PHP]# ./configure --prefix=/usr/local/libiconv[root@localhost PHP]# make && make install

安装 PHP

[[email protected] PHP]# tar -xzvf ./php-5.6.13.tar.gz[[email protected] PHP]# cd php-5.6.13/[[email protected] php-5.6.13]# ./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-openssl --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-mbstring --with-freetype-dir --with-jpeg-dir --with-png-dir --with-mcrypt --with-zlib --with-libxml-dir=/usr --enable-xml  --enable-sockets --with-apxs2=/usr/local/apache2/bin/apxs --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-bz2  --enable-maintainer-zts[[email protected] php-5.6.13]# make && make install

编译参数解释: 
--prefix=/usr/local/php : 设置安装路径 
--with-apxs2=/usr/local/apache2/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-gd : GD支持 
--with-mhash : mhash支持 
--enable-mbstring : 启用支持多字节字符串 
--with-mcrypt : 编译mcrypt加密支持 
--enable-zip : 启用zip 读/写支持 
--with-iconv=/usr/local/libiconv : iconv支持 
--with-curl : CRUL支持 
--with-mysql=/usr/local/mysql : 启用mysql支持 
--with-pdo-mysql=/usr/local/mysql : 启用pdo-mysql支持 
--without-pear : 不安装PEAR

复制配置文件php.ini

[[email protected] php-5.6.13]# cp /usr/local/src/php-5.6.13/php.ini-production /etc/php.ini

整合Apache

1、在/etc/httpd/conf/httpd.conf文件中加入PHP文件类型解析(加在文件最后即可)

[root@localhost ~]# sed -i ‘378aAddType application/x-httpd-php .php‘ /etc/httpd/httpd.conf[root@localhost ~]# sed -i ‘379aAddtype application/x-httpd-php-source .phps‘ /etc/httpd/httpd.conf[root@localhost ~]# sed -i ‘s/DirectoryIndex.*index.*/DirectoryIndex index.php index.html/g‘ /etc/httpd/httpd.conf

2、重启Apache

[root@localhost ~]# service httpd restart  # 或 /etc/init.d/httpd restart

3、添加测试页面

[root@localhost php-5.6.13]# cat /usr/local/apache2/htdocs/index.php <?php    phpinfo()?>

测试LAMP搭建开源数据web管理程序phpMyadmin

[[email protected] src]# tar xf phpMyAdmin-3.5.8.2-all-languages.tar.gz[[email protected] src]# ln -s /usr/local/src/phpMyAdmin-3.5.8.2 /usr/local/apache2/htdocs/pma/[[email protected] htdocs]# chmod 755 pma[[email protected] htdocs]# cd pma[[email protected] pma]# cp -f config.sample.inc.php config.inc.php[[email protected] htdocs]# chown -R apache:apache pma/

时间: 10-14

详解LAMP源码编译安装的相关文章

LAMP源码编译安装配置

系统环境CentOS6.5 一.编译安装Apache 关闭selinux和防火墙 1.解决依赖关系 [[email protected] ~]# yum install gcc gcc-c++ openssl openssl-devel 编译安装apr(The mission of the Apache Portable Runtime (APR) project is to create and maintain software libraries that provide a predic

LAMP纯源码编译安装日志

一.LAMP构架的安装与经验技巧(源码安装好处.是便于管理,可以选定参数,可以使用新版本) 相关软件列表: # ls /soft/ | grep -E "*.gz|*.zip|*.xz|*.bz2"    apr-1.4.5.tar.gz    apr-util-1.3.12.tar.gz    autoconf-2.61.tar.gz    freetype-2.3.12.tar.gz    httpd-2.4.18.tar.bz2    jpegsrc.v6b.tar.gz    

源码编译安装lnmp环境

一.源码编译安装步骤 首先说明源码安装的好处   速度快,可自定义路径 主要有三步:1.配置 进入源码安装包  ./configure --prefix=/uer/local/nginx  可指定参数--prefix为安装路径2.编译 相当于rpm包  make3.安装 make install 如果安装出错,先清楚一下 make clean,然后重新配置编译安装 二.安装nginx 1.安装可能需要的依赖环境, yum -y install libxml2-devel gd-devel lib

yum方式软件管理及进阶源码编译安装

1. yum简介2. yum组成结构3. yum配置使用4. yum命令详解5. yum源变量6. yum仓库创建7.进阶源码编译安装 1. yum简介YUM: Yellowdog Updater Modifed, 是由Duke University团队修改Yellow Dog Linux的Yellow Dog Updater开发而来的,是一个基于RPM包管理器的字符前端软件管理器(依赖于RPM包).能够从指定的服务器自动下载RPM包并且安装,可以处理RPM包的依赖关系,并且一次安装所有依赖的软

马哥linux学习笔记:源码编译安装

由于rpm包在作者制作封装的时候已经把程序的一些特性固定了,如果我们根据自己的需求,需要运用程序的一些没有普适性相关特性,就需要下载程序的源码手动编译安装了,这里只是简单的介绍一下C代码的程序包编译安装方法. 为了能更直观的看到源码编译安装的过程,我演示一下在centos7.2环境中编译安装httpd2.2: 首先,编译的前提是得有称手的工具及环境了,编译c源代码就需要用到开发工具,make,gcc了,环境就需要开发库跟头文件了,如果系统中没有这些,就需要yum安装了. 这里我运行yum gro

烂泥:mysql5.0数据库源码编译安装

本文首发于烂泥行天下. 本次实验的mysql.OS相关信息如下: Mysql:5.0.96 OS:centos 32 bit 最近公司要上新的业务,指明数据库使用的是mysql5.0版本.如果是使用rpm包安装的话,那就很简单了.直接使用yum安装即可,命令如下: yum –y install mysql mysql-server Yum方式安装完毕后,直接启动mysql数据库服务即可.如下图: 这样基本上就可以了. 但是这样安装mysql数据库,没有进行定制.比如mysql数据库的数据文件存储

软件包管理之源码编译安装

编译步骤: 1.#cd SOURCE_CODE 2../configure 作用: 检测编译环境 提供给用户编译配置(通过脚本选项) --help 帮助信息 --prefix=/usr/local/name 安装路径 二进制 /usr/local/name/bin /usr/local/name/libexec不允许自动执行,只能被其他程序调用执行 配置文件 /usr/local/name/conf 库文件 /usr/local/name/lib 帮助文档 /usr/local/name/sha

Linux软件包管理04-压缩归档及源码编译安装

一.压缩.解压缩命令 1.压缩格式:gz, bz2, xz, zip, Z 2.压缩算法:算法不同,压缩比也会不同: 3.原始的压缩命令:compress: FILENAME.Z 解压缩:uncompress 4.压缩成.gz格式的文件(仅压缩文件) a)gzip /PATH/TO/SOMEFILE:压缩完成后会删除原文件,如:gzip /tmp/file* -d:解压缩,相当于gunzip命令: -#:指定压缩比,范围是1-9,默认是6: b)gunzip: 解压缩: gunzip /PATH

多实例Mysql5.5.x源码编译安装

多实例Mysql5.5.x源码编译安装 1.  建立Mysql账号 [[email protected] ~]# groupadd mysql [[email protected] ~]# useradd -s /sbin/nologin -g mysql -M mysql useradd参数说明: -s/sbin/nologin 表示禁止该用户登录 -gmysql 指定属于mysql组 -M表示不创建用户家目录 检查创建的用户: [[email protected] ~]# tail -1 /