Centos 7 安装LAMP环境(源码安装)

一、LAMP环境的介绍

1.LAMP组件介绍

在安装LAMP之前,对LAMP进行了解是肯定的了, 首先就说说其含义

  • LAMP指的是linux,Apache,Mysql以及Php的简称,通过大量的生产环境的实践证明,在网络应用和开发环境方面,LAMP组合是非常棒的黄金搭档,它们的结合提供了非常强大功能

  • linux作为底层的操作系统,提供灵活且可定制性的应用平台,为其他组件稳定高效的运行在其之上提供了保障

  • Apache作为Web服务器,提供了功能强大,稳定且支撑能力突出的web平台,为网站提供了强力支柱

  • Mysql也是一款非常优秀的数据库,从其产生的从多衍生数据库就可见证明其强大

  • Php是一种开发源代码的多用途脚本语言,可嵌入html中,适用于web开发,且其编写的数据可访问mysql数据库及linux提供的动态内容

二、Apache源码安装

(1)安装gcc、gcc-c++编译器 

# yum install gcc  gcc-c++

(2)安装Apache及其相关依赖包

下载 httpd-2.4.18.tar.gz, apr-1.5.2.tar.gz,apr-util-1.5.4.tar.gz,pcre-8.37.tar.gz 这几个包,放至/usr/local/src路径中;全部解压

[root@LB01 ~]#tar -zxvf httpd-2.4.18.tar.gz 
[root@LB01 ~]#tar -zxvf apr-1.5.2.tar.gz
[root@LB01 ~]#tar -zxvf apr-util-1.5.4.tar.gz
[root@LB01 ~]#tar -zxvf pcre-8.37.tar.gz

此处需要把解压后的apr-1.5.2,apr-util 方件拷贝到http-2.4.18/srclib/中,如下操作

[root@LB01 ~]#mv apr-1.5.2 /httpd-2.4.18/srclib/apr
[root@LB01 ~]#mv apr-util /httpd-2.4.18/srclib/apr-util

安装apr

[root@LB01 ~]# cd /usr/local/src/httpd-2.4.18/srclib/apr
[root@LB01 ~]# vim configure  查找在目录apr下进入configure配置文件将$RM "cfgfile"这一行用#注销
[root@LB01 ~]# ./configure --prefix=/usr/local/apr
[root@LB01 ~]# make && make install

安装apr-util

[root@LB01 ~]# cd /usr/local/src/httpd-2.4.18/srclib/apr-util
[root@LB01 ~]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/bin/apr-1-config
[root@LB01 ~]# make && make install

安装pcre

[root@LB01 ~]# cd /usr/local/src/pcre-8.37
[root@LB01 ~]# ./configure --prefix=/usr/local/pcre
[root@LB01 ~]# make && make install

安装Apache

[root@LB01 ~]# yum -y install zlib  zlib-devel
[root@LB01 ~]# cd /usr/local/src/http-2.4.18
[root@LB01 ~]# ./configure --prefix=/usr/local/apache2 --sysconfdir=/etc/httpd --with-z=/usr/local/zlib/ --enable-so --enable-deflate=shared --enable-expires=shared --enable-rewrite=shared --enable-static-support --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-pcre=/usr/local/pcre
#./configure \ #执行当前目录下软件自带的配置命令
#--prefix=/usr/local/apache2 \ #指定Apache软件安装的位置
#--sysconfdir=/etc/httpd \ #指定Apache服务器配置文件存放位置
# --with-z=/usr/local/zlib/ \ #指定zlib库文件的位置
# --enable-so \ #以动态共享对象(DSO)编译
# --enable-deflate=shared \ #缩小传输编码的支持
# --enable-expires=shared \ #期满头控制
# --enable-rewrite=shared \ #基于规则的URL操控
# --enable-static-support \ #建立一个静态链接版本的支持
#--with-apr=/usr/local/apr \ #加入apr依赖包安装路径
#--with-apr-util=/usr/local/apr-util \ #加入apr-util依赖包安装路径
#--with-pcre=/usr/local/pcre \ #加入pcre依赖包安装路径
[root@LB01 ~]# make && make install

(3)配置Apache服务

启动apache服务

[root@LB01 ~] # vim /etc/httpd/http.conf 配置文件中添加一行内容;
# ServerName localhost:80
[root@LB01 ~] # /usr/local/apache2/bin/apachectl start

注册为服务

[root@LB01 ~]# cp /usr/local/apache2/bin/apachectl /etc/rc.d/init.d/httpd
[root@LB01 ~]# service httpd start

查看Apache服务端口情况

[root@LB01 ~]# netstat -na |grep 80

加入到chkconfig

[root@LB01 ~]# vim /etc/init.d/httpd 添加注释内容
# chkconfig: 345 61 61
# description:Apache httpd
[root@LB01 ~]# chkconfig --add httpd
[root@LB01 ~]# chkconfig httpd on 

(4)网页测试

输入网址http://ip即可查看网页内容;如果正常显示 It works! 表示apache已经启动。

三、源码安装Mysql

1.下载mysql及相关软件包

从mysql 5.5版本开始,mysql源码安装开始使用cmake了
下载cmake http://cmake.org/files/
下载ncurses http://ftp.gnu.org/gnu/ncurses/
下载bison http://ftp.gnu.org/gnu/bison

2.安装mysql及其依赖包

安装cmake

[root@LB01 ~]# tar -zxvf cmake-3.4.1.tar.gz
[root@LB01 ~]# ./configure
[root@LB01 ~]# make ; make install

安装bison

[root@LB01 ~]# tar -zxvf bison-3.0.tar.gz
[root@LB01 ~]# ./configure
[root@LB01 ~]#  make ; make install

安装ncurses

[root@LB01 ~]# tar -zxvf ncurses-6.0.tar.gz
[root@LB01 ~]# ./configure 
[root@LB01 ~]# make ; make install

安装mysql

[root@LB01 ~]# tar -zxvf mysql-5.5.46.tar.gz
[root@LB01 ~]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock -DMYSQL_TCP_PORT=3306 -DENABLED_LOCAL_INFILE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci
[root@LB01 ~]# make ; make install
安装详解
# -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ #安装路径
# -DMYSQL_DATADIR=/usr/local/mysql/data \ #数据文件存放位置
# -DSYSCONFDIR=/etc \ #my.cnf路径
# -DWITH_MYISAM_STORAGE_ENGINE=1 \ #支持MyIASM引擎
# -DWITH_INNOBASE_STORAGE_ENGINE=1 \ #支持InnoDB引擎
# -DWITH_MEMORY_STORAGE_ENGINE=1 \ #支持Memory引擎
# -DWITH_READLINE=1 \ #快捷键功能(我没用过)
# -DMYSQL_UNIX_ADDR=/tmp/mysqld.sock \ #连接数据库socket路径
# -DMYSQL_TCP_PORT=3306 \ #端口
# -DENABLED_LOCAL_INFILE=1 \ #允许从本地导入数据
# -DWITH_PARTITION_STORAGE_ENGINE=1 \ #安装支持数据库分区
# -DEXTRA_CHARSETS=all \ #安装所有的字符集
# -DDEFAULT_CHARSET=utf8 \ #默认字符
# -DDEFAULT_COLLATION=utf8_general_ci \ #校验字符

3.配置Mysql服务

[root@LB01 ~]# groupadd mysql 创建mysql组
[root@LB01 ~]# useradd -r -g mysql mysql 创建mysql用户并添加到mysql组
[root@LB01 ~]# chown -R mysql:mysql /usr/local/mysql 修改目录所有者和所有组
[root@LB01 ~]# chmod 777 scripts/mysql_install_db
[root@LB01 ~]# scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql
[root@LB01 ~]# cp /usr/local/mysql/support-files/my-medium.cnf /etc/my.cnf 
修改配置文件信息
[root@LB01 ~]# vi  /etc/my.cnf 修改配置文件信息
[mysqld]
datadir=/usr/local/mysql/data
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

注册为服务,添加到chkconfig中启动;

[root@LB01 ~]# cp   /usr/local/mysql/support-files/mysql.server   /etc/rc.d/init.d/mysqld
[root@LB01 ~]# chkconfig --add mysqld 将mysqld服务添加到chkconfig中
[root@LB01 ~]# chkconfig mysqld on 重启系统后服务自动运行
[root@LB01 ~]# vim /etc/profile 添加环境变量;
PATH=/usr/local/mysql/bin:$PATH
[root@LB01 ~]# source /etc/profile 使修改的环境变量立即生效
[root@LB01 ~]# service mysqld start 启动mysql服务
[root@LB01 ~]# netstat -tulnp |grep 3306 检查mysql服务是否启动
[root@LB01 ~]# ps aux |grep mysql 查看mysql进程
[root@LB01 ~]# mysql -uroot 登录到mysql,首次登陆无密码
[root@LB01 ~]# mysql> SET PASSWORD = PASSWORD('123456'); 设置mysql密码
[root@LB01 ~]# mysql -uroot -p123456
[root@LB01 ~]# mysql > GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION; 设置root用户远程访问

四、源码安装PHP

1.下载PHP以及相关库软件

从php5.4开始,需要自己下载安装libXpm-dev了,但是由于包的依赖性原因,我就选择了yum方式来进行安装,通过网络yum源直接下载并进行安装了
下载php以及相关的库文件 
gd库以及php功能特性扩展库文件
libgd-2.1.1.tar.gz gd库文件(使php支持以下功能)
jpegsrc.v7.tar.gz jpeg库文件(使php支持jpeg格式图片)
zlib-1.2.7.tar.gz 数据压缩函数库(使php支持数据压缩功能)
freetype-2.6.tar.gz freetype库文件(使php支持多种字体格式文件)
libpng-1.2.56.tar.gz libpng库文件(使php支持png格式图片)

如果编译时显示缺少库环境,没有现有的gz包时,先查找再安装

[root@LB01 ~]# yum list | grep -i jpeg

2.安装PHP库环境

安装libXpm

[root@LB01 ~]# yum -y install libXpm
[root@LB01 ~]# yum -y install libXpm-devel
安装完后libXpm配置文件默认在这个目录/usr/lib64/下

安装autoconf-2.69.tar.gz

[root@LB01 ~]# tar -zxvf autoconf-2.69.tar.gz
[root@LB01 ~]# cd autoconf-2.69
[root@LB01 ~]# ./configure
[root@LB01 ~]# make ; make install

安装 libxml2-2.7.8.tar.gz

[root@LB01 ~]# tar -zxvf libmcrypt-2.5.8.tar.gz
[root@LB01 ~]# cd libmcrypt-2.5.8
[root@LB01 ~]# ./configure --prefix=/usr/local/libmcrypt
[root@LB01 ~]# make ; make install

安装zlib-1.2.7.tar.gz

[root@LB01 ~]# tar -zxvf zlib-1.2.7.tar.gz
[root@LB01 ~]# cd zlib-1.2.7
[root@LB01 ~]# ./configure --prefix=/usr/local/zlib
[root@LB01 ~]# make ; make install

安装 libpng-1.2.56.tar.gz

[root@LB01 ~]# tar -zxvf libpng-1.2.56.tar.gz
[root@LB01 ~]# cd libpng-1.2.56
[root@LB01 ~]# ./configure --prefix=/usr/local/libpng
[root@LB01 ~]# make ; make install

安装jpegsrc.v7.tar.gz

[root@LB01 ~]# tar -zxvf jpegsrc.v7.tar.gz
[root@LB01 ~]# cd jpeg-7/
[root@LB01 ~]# mkdir /usr/local/jpeg6 建立jpeg6软件安装目录
[root@LB01 ~]# mkdir /usr/local/jpeg6/bin 建立存放命令的目录
[root@LB01 ~]# mkdir /usr/local/jpeg6/lib 创建jpeg6库文件所在目录
[root@LB01 ~]# mkdir /usr/local/jpeg6/include 建立存放头文件目录
[root@LB01 ~]# mkdir -p /usr/local/jpeg6/man/man1 建立存放手册目录
[root@LB01 ~]# ./configure --prefix=/usr/local/jpeg6/ --enable-shared --enable-static
[root@LB01 ~]# make ; make install
安装解释
--prefix=/usr/local/jpeg6/ 
--enable-shared 建立共享库使用的GNUd libtool
--enable-static 建立静态库使用的GNUlibtool

安装freetype-2.6.tar.gz

[root@LB01 ~]# tar -zxvf freetype-2.6.tar.gz
[root@LB01 ~]# cd freetype-2.6
[root@LB01 ~]# ./configure --prefix=/usr/local/freetype
报错:make: Nothing to be done for `unix'.
处理办法:
builds/unix在freetype下载解压的目录下。
先进入 builds/unix目录,然后在里边运行./configure命令,运行该命令不会出现上边错误。
#cd  /usr/local/soft/freetype-2.5.3/builds/unix
# ./configure --prefix=/usr/local/freetype --enable-shared
[root@LB01 ~]#  make ; make install

安装gd-2.0.32.tar.gz

[root@LB01 ~]# tar -zxvf gd-2.0.32.tar.gz
[root@LB01 ~]# cd gd-2.0.32
[root@LB01 ~]# vim gd_png.c 将16行改为#include "/usr/local/libpng/include/png.h"
[root@LB01 ~]# ./configure --prefix=/usr/local/gd2/ --with-zlib=/usr/local/zlib/ --with-jpeg=/usr/local/jpeg6/ --with-png=/usr/local/libpng/ --with-freetype=/usr/local/freetype
安装解释
--prefix=/usr/local/gd2/ \ gd库文件安装目录
--with-zlib=/usr/local/zlib/ \ 指定zlib安装路径
--with-jpeg=/usr/local/jpeg6/ \ 指定jpeg6安装路径
--with-png=/usr/local/libpng/ \ 指定libpng安装路径
--with-freetype=/usr/local/freetype/ 指定freetype安装路径
[root@LB01 ~]#  make ; make install

安装PHP

[root@LB01 ~]# tar -zxvf php-5.6.9.tar.gz
[root@LB01 ~]# cd php-5.6.9
[root@LB01 ~]# ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql --with-libxml-dir=/usr/local/libxml2 --with-png-dir=/usr/local/libpng --with-jpeg-dir=/usr/local/jpeg6 --with-freetype-dir=/usr/local/freetype --with-gd=/usr/local/gd2 --with-zlib-dir=/usr/local/zlib --with-mcrypt=/usr/local/libmcrypt --with-xpm-dir=/usr/lib64/ --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-soap --enable-mbstring=all --enable-sockets
错误:configure: error: Unable to find libgd.(a|so) >= 2.1.0 anywhere under /usr/local/gd2
解决办法是由原来的--with-gd=/usr/local/gd2/改为 --with-gd 不指定路径了 可以编译通过 在phpinfo中可以打印出gd。
[root@LB01 ~]# make ; make install
安装详解
# /configure \ #执行当前目录下软件自带的配置命令
#--prefix=/usr/local/php/ \ #设置PHP5的安装路径
#--with-config-file-path=/usr/local/php/etc/ \ #指定PHP5配置文件存入的路径
#--with-apxs2=/usr/local/apache2/bin/apxs/ \ #指定PHP查找Apache2的位置
#--with-mysql=/usr/local/mysql/ \ #指定mysql的安装目录
#--with-libxml-dir=/usr/local/libxml2/ \ #指定php放置libxml2库的位置
#--with-png-dir=/usr/local/libpng/ \ #指定php放置libpng库的位置
#--with-jpeg-dir=/usr/local/jpeg6/ \ #指定php放置jpeg库的位置
#--with-freetype-dir=/usr/local/freetype/ \ #指定php放置freetype库的位置
#--with-gd=/usr/local/gd2/ \ #指定php放置gd库的位置
#--with-zlib-dir=/usr/local/zlib/ \ #指定php放置zlib库的位置
#--with-mcrypt=/usr/local/libmcrypt/ \ #指定php放置libcrypt库的位置
#--with-mysql=/usr/local/mysql/bin/mysql_config \ #变量激活新增加mysqli功能
#--enable-soap \ #变量激活soap和web services支持
#--enable-mbstring=all \ #使多字节字符串支持
#--enable-sockets \ #变量激活socket通信特性

3.配置PHP

想查看下php编译的相关信息

[root@LB01 ~]#  /usr/local/php/bin/php -i | head 想查看下php编译的相关信息
[root@LB01 ~]# cp php.ini-development /usr/local/php/etc/php.ini  创建php配置文件
[root@LB01 ~]# vim /etc/httpd/http.conf 在Apache主配置文件中添加php支持
AddType application/x-httpd-php .php .phtml
AddType application/x-httpd-php .php .php4 .php5
[root@LB01 ~]# /usr/local/apache2/htdocs/index.php 创建php测试文件
<?php
phpinfo();
?>
[root@LB01 ~]# service httpd restart 重启Apache,使设置生效

测试网页

输入网址http://ip/index.php,看到php的版本信息,表示测试成功。

posted @ 2020-03-12 15:10  区域管理员  阅读(399)  评论(0编辑  收藏  举报