阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

详解LAMP源码编译安装

114次阅读
没有评论

共计 10074 个字符,预计需要花费 26 分钟才能阅读完成。

目录
详解 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.gz
apr-util-1.5.4.tar.bz2
pcre-8.37.tar.bz2
httpd-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

详解 LAMP 源码编译安装

三、编译安装 MySQL
所需源码包:
cmake-2.8.8.tar.gz
mysql-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/mysql
log-error = /data/mysql/error.log
pid-file = /data/mysql/mysql.pid
user = mysql
tmpdir = /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 源码编译安装

测试 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/

详解 LAMP 源码编译安装

下面关于 LAMP 相关 的内容你可能也喜欢

LAMP 平台安装 Xcache 和 Memcached 加速网站运行  http://www.linuxidc.com/Linux/2015-06/118835.htm 

CentOS 7 下搭建 LAMP 平台环境  http://www.linuxidc.com/Linux/2015-06/118818.htm

CentOS 6.5 系统安装配置 LAMP(Apache+PHP5+MySQL)服务器环境 http://www.linuxidc.com/Linux/2014-12/111030.htm

Ubuntu 14.04 配置 LAMP+phpMyAdmin PHP(5.5.9)开发环境  http://www.linuxidc.com/Linux/2014-10/107924.htm

Ubuntu 14.10 下安装 LAMP 服务图文详解  http://www.linuxidc.com/Linux/2014-12/110082.htm

LAMP 结合 NFS 构建小型博客站点  http://www.linuxidc.com/Linux/2015-08/121029.htm

CentOS7 下安装部署 LAMP 环境  http://www.linuxidc.com/Linux/2016-04/130653.htm

本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-10/136156.htm

正文完
星哥说事-微信公众号
post-qrcode
 
星锅
版权声明:本站原创文章,由 星锅 2022-01-21发表,共计10074字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中