LAMP环境搭建与配置(一)

11.1 LAMP架构介绍

LAMP指的Linux(操作系统)、ApacheHTTP 服务器,MySQL(有时也指MariaDB,数据库软件) 和PHP(有时也是指Perl或Python) 的第一个字母,一般用来建立web应用平台。


11.2 MySQL、MariaDB介绍

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件。
MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。
由于其社区版的性能卓越,搭配 PHP 和 Apache 可组成良好的开发环境。

MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。在存储引擎方面,使用XtraDB(英语:XtraDB)来代替MySQL的InnoDB。 MariaDB由MySQL的创始人Michael Widenius(英语:Michael Widenius)主导开发,他早前曾以10亿美元的价格,将自己创建的公司MySQL AB卖给了SUN,此后,随着SUN被甲骨文收购,MySQL的所有权也落入Oracle的手中。MariaDB名称来自Michael Widenius的女儿Maria的名字。
MariaDB基于事务的Maria存储引擎,替换了MySQL的MyISAM存储引擎,它使用了Percona的 XtraDB,InnoDB的变体,分支的开发者希望提供访问即将到来的MySQL 5.4 InnoDB性能。这个版本还包括了 PrimeBase XT (PBXT) 和 FederatedX存储引擎。


11.3/11.4/11.5 MySQL安装

1、下载MySQL源码包。

5a3f375251e3f67d8ed198e6344bedeca09.jpg

2、初始化。

解压刚才下载的MySQL源码包。

#tar -xvzf mysql-5.6.39-linux-glibc2.12-x86_64.tar.gz

10b516af4e80ab4b9862c779ef3e6e203f7.jpg

如出现错误:FATAL ERROR: please install the following Perl modules before executing ./scripts/mysql_install_db:
Data::Dumper

是因为没有安装Perl模块,解决方法是安装autoconf库:yum -y install autoconf

上面的命令执行完毕后,再输入命令echo $?查看输出结果是否为0。

3e09a0bbe12e0bd2bf6eae8ec525c6798bb.jpg

3、配置MySQL。

复制配置文件。

bd0903f53001d7a84192fe67f717a0321be.jpg

然后修改配置文件如下图:

87501552608beb8b41a309d583b0b213884.jpg

然后复制启动脚本文件并修改其属性:

369d681715757bb56c768582838aea82686.jpg

再修改启动脚本:

#vim /etc/init.d/mysqld

更改内容为datadir=/data/mysql。再把启动脚本加入系统服务项,设定开机启动并启动MySQL:

778ca4dade57490d0eb305452f96aa5828a.jpg


11.6 MariaDB安装

下载MariaDB源码包并解压:

fc4201bd1f11675a8a64a6a5297eafe80f1.jpg

90340193778799a3a1dd870b7c40ffdc173.jpg

7aa4417e0aae207930d2df87bb323b5fd42.jpg

编辑文件

 /usr/local/mariadb/my.cnf这个只需要增加如下一行即可。

34fe3e21bbe8b7032d3222db7d736ab603b.jpg

更改启动脚本:#vim /etc/init.d/mariadb

82af3d0b345dfb25709cd87b6daf4b5d180.jpg

88c7b7bed4d4e99a2e3eeaf827bc991d6f7.jpg

启动mariadb服务

87df050b6b13e25309d09b92aa57e4f0ec6.jpg

然后查看是否启动成功

e289393e0868d3bea3a9abdcdc891ac7760.jpg

至此,MariaDB安装完毕。


11.7/11.8/11.9 Apache安装

这里我们要安装的是2.4版本的,还需手动编译安装apr和apr-util包。

下载安装包,并解压 

aa88ea2aae9fddd82b40705ba8fa0c899e3.jpg

apr(apr和apr-util)可以理解成一个通用的函数库,主要为上层应用提供支持。在这里,httpd是依赖apr和apr-util的,如果不安装这两个,httpd就无法工作,我们先安装apr和apr-util:

60e01245d4df62e571d5668263ffa2d0330.jpg

9c544922a737e90410860a169ef49160ef5.jpg

55614b71edbfe80ba6c169e0a44777ce8e6.jpg

6402a2b674db0b1119ec7bd27b6bce4eeda.jpg

如果在安装apr-util时报错的话,要先安装以下包,然后再安装

#yum install -y expat-devel

22e0ab863f35af2d776c677ae40c0c6e951.jpg

安装好了apr和apr-util后,我们再来安装httpd:

61b21b62594793db1d7a5836f762c76df59.jpg

此时会报错,我们要安装以下包:#yum install -y pcre pcre-devel

再编译安装:

ebcdf2d716768b5f15364b36294b6a60f10.jpg

94412b0152b8ed6592426bdf2eb1c2ca129.jpg

11f0f2ac8c662ccd22c4e0c3ca38ba3bb39.jpg

3daf1b9d15522a09c342450f6cc470faf7e.jpg

安装完成后,可以查看httpd的目录结构以及modules目录下面的模块文件:

17e117c44a48fe6ce7ab6ac3f9542e31aaa.jpg

7cb9429096657f4a403aa8c2db19bae65cb.jpg

查看加载了哪些模块:

63c23f919ad7554e13e966ff0e39df1bce8.jpg

 


11.10/11.11/11.12 安装PHP5

下载PHP安装包

60130b79e63658b8d7f2f82128d9ed3d384.jpg

解压源码包

#tar xjvf php-5.6.32.tar.bz2

配置编译参数

[root@zhangjin-120:/usr/local/src]#cd php-5.6.32/
[root@zhangjin-120:/usr/local/src/php-5.6.32]#./configure \
 --prefix=/usr/local/php \
 --with-apxs2=/usr/local/apache2.4/bin/apxs \
 --with-config-file-path=/usr/local/php/etc \
 --with-mysql=/usr/local/mysql \
 --with-libxml-dir \
 --with-gd \
 --with-jpeg-dir \
 --with-png-dir \
 --with-freetype-dir \
 --with-iconv-dir \
 --with-zlib-dir \
 --with-bz2 \
 --with-openssl \
 --with-mcrypt \
 --enable-soap \
 --enable-gd-native-ttf \
 --enable-mbstring \
 --enable-sockets \
 --enable-exif

编译错误的解决方法:

1、configure: error: xml2-config not found. Please check your libxml2 installation.

解决方法:

#yum install -y libxml2-devel

2、configure: error: Cannot find OpenSSL's <evp.h>

解决方法:

#yum install -y openssl openssl-devel

3、checking for BZip2 in default path... not found

configure: error: Please reinstall the BZip2 distribution

解决方法:

#yum install -y bzip2 bzip2-devel

4、configure: error: png.h not found.

解决方法:

#yum install -y libpng libpng-devel

5、configure: error: freetype-config not found.

解决方法:#yum install -y freetype freetype-devel

6、configure: error: mcrypt.h not found. Please reinstall libmcrypt.

解决方法:#yum install -y epel-release

#yum install -y libmcrypt-devel

看到这一步,就说明PHP配置编译参数成功:

953cdd8266bf6dfc033599c8ed3597c9197.jpg

然后进行编译和安装:

#make

#make install

最后,我们再复制配置文件:

[root@zhangjin-120:/usr/local/src/php-5.6.32]#cp php.ini-production /usr/local/php/etc/php.ini


11.13 安装PHP7

下载源码包

fbf8d1dd2c4771bc08765ea08ab56da255b.jpg

解压源码包

#tar jxvf php-7.1.6.tar.bz2

进入php-7.1.6目录

cd php-7.1.6

然后配置编译参数

[root@zhangjin-120:/usr/local/src/php-7.1.6]#./configure --prefix=/usr/local/php7 \
 --with-apxs2=/usr/local/apache2.4/bin/apxs \
 --with-config-file-path=/usr/local/php7/etc \
 --with-pdo-mysql=/usr/local/mysql \
 --with-mysqli=/usr/local/mysql/bin/mysql_config \
 --with-libxml-dir \
 --with-gd \
 --with-jpeg-dir \
 --with-png-dir \
 --with-freetype-dir \
 --with-iconv-dir \
 --with-zlib-dir \
 --with-bz2 \
 --with-openssl \
 --with-mcrypt \
 --enable-soap \
 --enable-gd-native-ttf \
 --enable-mbstring \
 --enable-sockets \
 --enable-exif

再编译安装

#make

#make install

复制配置文件:

 


11.14/11.15 Apache和PHP结合

1、配置httpd支持PHP

编辑httpd的主配置文件

[root@zhangjin-120:~]#vim /usr/local/apache2.4/conf/httpd.conf

然后将193行的#去掉

9c7d40611bdf92aa191d90969d7d200e856.jpg

再修改如下内容:

9d611449b57adeca178cbc0a7e6bd400e0c.jpg

将202行的denied修改为granted。修改的目的是,允许所有请求,如果不设置这一行,则我们访问的时候会报403错误码。

aa31f41a752ac18802edc229d3ce4ef7e4f.jpg

再搜索376行,并在下面增加一行:

1fa989cd207d28a29ba70083eefe5258003.jpg

再将下面的内容修改为:

458e9641a94569a32233bf0b92096a84ec3.jpg

 

2、测试LAMP是否成功

http、MySQL和PHP安装后,需要先检验httpd的配置文件是否正确,只有正确配置才可以正确解析PHP文件。

检验httpd的配置文件是否正确

[root@zhangjin-120:~]#/usr/local/apache2.4/bin/apachectl -t
Syntax OK

然后启动httpd服务

[root@zhangjin-120:~]#/usr/local/apache2.4/bin/apachectl start
/usr/local/apache2.4/bin/apachectl: 行 79: 54904 段错误               (吐核)$HTTPD -k $ARGV

可以看到,报错了,报错的原因是我们安装了2个PHP版本,解决的办法如下图所示:

a41949ecf44493771fdfe069fa663068285.jpg

然后我们再启动httpd服务

[root@zhangjin-120:~]#/usr/local/apache2.4/bin/apachectl start

然后查看是否启动成功:

5afa54511ccbe619717b0474651e497da02.jpg

可以看到,httpd服务已经成功启动。

我们也可以使用curl命令进行简单的测试:

330c24dc86d60b8273f7d571386c88f1b4d.jpg

显示这一行则说明测试成功。

 

测试是否正确解析PHP

编写一个测试脚本:

9632df1e79126741e5ead4a31ffedad28e9.jpg

保存脚本的,再用curl命令进行测试:

1e819789415435036e238196ec4f9104a60.jpg

如果能显示以上信息则说明PHP解析正确。

转载于:https://my.oschina.net/u/3992198/blog/2966560

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值