详解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/ 目录下。
[root@localhost ~]# 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
[root@localhost ~]# cd /usr/local/src/[root@localhost src]# tar xf apr-1.5.2.tar.gz[root@localhost src]# cd apr-1.5.2[root@localhost apr-1.5.2]# ./configure --prefix=/usr/local/apr[root@localhost apr-1.5.2]# make && make install
2、安装 apr-util
[root@localhost ~]# cd /usr/local/src/[root@localhost src]# tar xf apr-util-1.5.4.tar.bz2 [root@localhost src]# cd apr-util-1.5.4[root@localhost apr-util-1.5.4]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr[root@localhost apr-util-1.5.4]# make && make install
3、安装 pcre
[root@localhost apr-util-1.5.4]# cd /usr/local/src/[root@localhost src]# tar xf pcre-8.37.tar.bz2 [root@localhost src]# cd pcre-8.37[root@localhost pcre-8.37]# ./configure --prefix=/usr/local/pcre[root@localhost pcre-8.37]# make && make install
4、安装 Apache2.4.16
[root@localhost src]# tar xf httpd-2.4.16.tar.bz2 [root@localhost src]# cd httpd-2.4.16[root@localhost 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[root@localhost 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
[root@localhost httpd-2.4.16]# /bin/cp /usr/local/apache2/bin/apachectl /etc/init.d/apache2[root@localhost httpd-2.4.16]# groupadd apache #添加apache用户组及用户[root@localhost httpd-2.4.16]# useradd -g apache -s /usr/sbin/nologin apache[root@localhost httpd-2.4.16]# chown -R apache:apache /usr/local/apache2[root@localhost httpd-2.4.16]# chmod +x /etc/init.d/apache2[root@localhost httpd-2.4.16]# chkconfig --add apache2 #增加执行权限[root@localhost httpd-2.4.16]# chkconfig --level 2345 apache2 on #设置开机启动[root@localhost httpd-2.4.16]# chkconfig --list apache2 #查看是否设置成功httpd 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭
6、修改init命令文件
主要是修改文件中pidfile参数的值(进程文件指向)[root@localhost ~]# 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}[root@localhost httpd-2.4.16]# hostname mageedu.com[root@localhost httpd-2.4.16]# echo "172.16.13.162 mageedu.com" >> /etc/hosts //启动不会报错[root@localhost 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工具。
[root@localhost ~]# cd /usr/local/src/cmake-2.8.8[root@localhost cmake-2.8.8]# ./configure[root@localhost 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编译安装
[root@localhost src]# tar xf mysql-5.6.26.tar.gz [root@localhost src]# cd mysql-5.6.26[root@localhost 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[root@localhost src]# make && make install
5、初始化MySQL配置
[root@localhost src]# ln -s /usr/local/mysql/bin/* /bin/[root@localhost src]# chmod +x /usr/local/mysql/scripts/mysql_install_db[root@localhost 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 #查看是否已应用上
修改配置文件
[root@localhost src]# /bin/cp support-files/my-default.cnf /etc/my.cnf[root@localhost src]# vim /etc/my.cnf在[mysqld]节点中添加:datadir = /data/mysqllog-error = /data/mysql/error.logpid-file = /data/mysql/mysql.piduser = mysqltmpdir = /tmp
启动MySQL
[root@localhost src]# service mysqld start # 或 /etc/init.d/mysqld start[root@localhost 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
[root@localhost PHP]# cd /usr/local/src/PHP[root@localhost PHP]# tar -xzvf ./mhash-0.9.9.9.tar.gz[root@localhost PHP]# cd ./mhash-0.9.9.9[root@localhost PHP]# ./configure --prefix=/usr[root@localhost 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
[root@localhost PHP]# tar -xzvf ./php-5.6.13.tar.gz[root@localhost PHP]# cd php-5.6.13/[root@localhost 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[root@localhost 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
[root@localhost 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
[root@localhost src]# tar xf phpMyAdmin-3.5.8.2-all-languages.tar.gz[root@localhost src]# ln -s /usr/local/src/phpMyAdmin-3.5.8.2 /usr/local/apache2/htdocs/pma/[root@localhost htdocs]# chmod 755 pma[root@localhost htdocs]# cd pma[root@localhost pma]# cp -f config.sample.inc.php config.inc.php[root@localhost htdocs]# chown -R apache:apache pma/
转载于:https://blog.51cto.com/zhang789/1862437
详解LAMP源码编译安装相关推荐
- LAMP详解及源码编译安装过程
LAMP 指的Linux (操作系统). ApacheHTTP 服务器, MySQL (数据库软件) 和PHP (有时也是指Perl 或 Python) 的第一个字母,一般用来建立的web 服务器 ...
- LAMP源码编译安装之Apache
LAMP源码编译安装之Apache 一.LAMP的基本架构概述 1.LAMP架构 2.各组件的主要作用如下 二.编译安装Apache httpd服务 1.关闭防火墙,将安装Apache所需软件包传到/ ...
- Linux系统中软件的“四”种安装原理详解:源码包安装、RPM二进制安装、YUM在线安装、脚本安装包...
一.Linux软件包分类 1.1 源码包 优点: 开源,如果有足够的能力,可以修改源代码: 可以自由选择所需的功能: 软件是编译安装,所以更加适合自己的系统,更加稳定.效率更高: 卸载方便: 缺点: ...
- LAMP源码编译安装配置+wordpress
什么是LAMP呢?LAMP就是Linux+apache+mysql+php,一组常用来搭建动态网站或者静态网站的开源软件,本身都是各自独立的程序,但是因为常被放在一起使用,拥有了越来越高的兼容度,共同 ...
- LAMP源码编译安装及一键部署LAMP架构
文章目录 一.什么是LAMP? 1.LAMP平台概述 2.构建LAMP平台顺序 3.编译安装的优点 4.各组件的主要作用 二.LAMP架构流向 三.编译安装Apache服务 1.先关闭防火墙 2.将软 ...
- php源码详解,PHP源码编译详解
编译php包:php-5.4.26.tar.bz2 解压php-5.4.26.tar.bz2后,进入php解压目录: ./configure --prefix=/usr/local/php --ena ...
- 我的LAMP源码编译安装linux+Apache+mysql+php
httpd-2.2.17.tar.gz mysql-5.1.51.tar.gz php-5.2.17.tar.gz mysql的安装 #安装需要的库 yum -y install ncurses nc ...
- Web服务 源码编译安装LAMP架构
Web服务 源码编译安装LAMP架构 一.LAMP架构 1.LAMP架构是什么 2.各组件的主要作用 二.编译安装Apache httpd服务 1.关闭防火墙,将安装Apache所需软件包传到/opt ...
- 源码编译安装LAMP
源码编译安装LAMP 前言 一.LAMP概述 (1)各组件的作用 (2)各组件安装顺序 (3)数据流向 二.编译安装apache httpd服务 (1)关闭防火墙,将安装apache的所需软件包上传到 ...
最新文章
- 并发编程专题——第二章(并发编程之Synchronized详解)
- 【编程题目】求二叉树中节点的最大距离
- 优雅的读懂支持向量机 SVM 算法
- 使用Java 8.0进行类型安全的依赖项注入
- 计算机可以调剂其他专业吗,机械能跨专业调剂计算机吗
- [转] 理解 JavaScript 中的 Array.prototype.slice.apply(arguments)
- 计算机组成原理——第一章
- java 实现MQTT客户端
- XJad(Java反编译工具)v2.2绿色版
- mysql替换占位符_【占位符替换】替换String中的占位符标志位{placeholder}
- php 检测硬盘,php测试硬盘读写速度脚本
- 解决百度云下载缓慢问题
- SQL Server 教程 之 一目了然
- Unity3d任务模型自动寻路(人员疏散)
- 单片机DAC输出方波简易实验
- vue2中的mixin
- SQL Server 登录出错 用户 ‘sa‘ 登录失败 (Microsoft SQL Server, Error: 18456)
- web开发下的HTTP编程及接口回调的使用
- 分享127个ASP源码,总有一款适合您
- 一个grpcServer实现多个proto文件