搭建LAMP测试环境
LAMP:Linux+Apache+Mysql+Php,组合统称为LAMP,关于其中的独立个体,这里就不多介绍了。
1、首先准备一下软件包,如下:
mysql-5.0.22.tar.gz
httpd-2.2.17.tar.gz
php-5.3.5.tar.gz
以上是LAMP搭建必备的安装包,可以去各个官方网站上下载,至于这里为什么选择源代码安装,当然rpm包也可以安装,选择源代码安装的目的就为了让我们更详细的了解LAMP其中复杂的配置过程。这三个安装包没有先后的安装顺序,先将以上三个包上出至Linux下的/usr/local/src目录下,并给予可执行权限。
2、安装mysql,在之前的博文中已经详细介绍了mysql rpm包的安装方法,这里要介绍mysql的源代码编译安装方式,进入已经部署好饿的Centos linux学习环境,通过命令ps -ef | grep mysql来查看是否有运行的mysql进程,然后可以通过一些命令来查找mysql是否已经安装,具体如下:
》groupadd mysql
》 useradd mysql -g mysql //创建mysql用户,并将用户指定至mysql组
》 tar -zxvf mysql-5.0.22.tar.gz //解压到mysql-5.0.22目录下
》./configure --prefix=/usr/local/mysql //这里是配置mysql的安装目录
》make
》make install //安装
》cp support-files/my-medium.cnf /etc/my.cnf //待安装完成之后,将当前目录下的配置文件拷贝到系统配置文件下,并更名为my.cnf
》cd /usr/local/mysql //切换到mysql安装目录下
》chown -R mysql . //将该目录的用户权限全部更改为mysql用户
》chgrp -R mysql . //将该目录的用户组全部更改为mysql用户组
》bin/mysql_install_db --user=mysql //将mysql目录的数据使用权限指定为mysql
》chown -R mysql var
》bin/mysqld_safe --user=mysql & //指定mysql用户启动mysql
》bin/mysqladmin -u root password 新密码 //执行这个命令用于设置或者更改数据库的密码
》cp /usr/local/src/mysql-5.0.22/support-files/mysql.server /etc/rc.d/init.d/mysql //这里将mysql的启动文件拷贝到系统的启动目录下
》chmod +x /etc/rc.d/init.d/mysql //给系统目录的mysql命令以可执行权限
》chkconfig --add mysql //将mysql启动添加到系统自启动列表下
当然这里还有另外一些方法来设置mysql自动启动,以上就是mysql源代码编译安装全过程,为了验证mysql安装是否成功,需要执行如下命令:
》/usr/local/mysql/bin/mysqld_safe --user=mysql & //启动mysql数据库服务
》/usr/local/mysql/bin/mysql -uroot -proot //进入并访问mysql数据,如果进入mysql数据库命令行,说明mysql数据库安装成功。
如图所示:

3、安装apache,命令行如下:
》tar -zxvf httpd-2.2.4.tar.gz
》cd httpd-2.2.4
》./configure --prefix=/usr/local/apache --with-mysql=/usr/local/mysql --enable-module=so --enable-shared=max //配置与mysql的关联,并启动动态连接库
》make
》make install
启动apache服务,如下图所示:

设置apache自动随操作系统启动,命令如下:
》echo "/usr/local/apache/bin/apachectl start" >> /etc/rc.local //将apache的启动程序命令放置系统启动文件下,当然mysql也可以这么设置
4、安装php,命令行如下:
》tar -zxvf php-5.2.2.tar.gz
》cd php-5.2.2
》./configure --prefix=/usr/local/php/ --with-mysql=/usr/local/mysql --with-apxs2=/usr/local/apache/bin/apxs --enable-sockets //这里是配置php与apache、mysql的关联
》make
》make install
》cp php.ini-development /usr/local/php/lib/php.ini //这里需要注意的是,在新版的php配置文件将php.ini-dist更改成php.ini-development
》vi /usr/local/php/lib/php.ini //这里需要将register_globals=Off更改on模式,还有时间格式改为本地
上述就是PHP的安装过程。
5、测试
安装完成以上个包之后,需要更改apache的配置文件,来达到解析php文件的目的
》vi /usr/local/apache/conf/httpd.conf
通过“/”来查找到AddType application/x-gzip .tgz,这里需要注意的是,不是带有的注意标记的#,在找到AddType application/x-gzip .tgz的后面添加如图所示文件:

添加文件为AddType application/x-httpd-php .php .phtml,表示apache服务中可以解析php格式文件
接下来要检查apache目录下生成的php动态连接库文件,在目录/usr/local/apache/modules,找到是否存在 libphp5.so文件
一系列安装结束之后,通过一个简单的php测试页面来测试LAMP环境搭建成功与否。
vi /usr/local/apache/htdocs/index.php
内容为:
<?php
phpinfo();
?>
启动httpd
在浏览器上输入:http://ip/index.php,显示如下页面,表明成功;

里面分别显示php、apache和mysql的相关版本信息等内容。
搭建LAMP测试环境的更多相关文章
- 图文详解linux如何搭建lamp服务环境
企业网站建设必然离不开服务器运维,一个稳定高效的服务器环境是保证网站正常运行的重要前提.本文小编将会详细讲解Linux系统上如何搭建配置高效的lamp服务环境,并在lamp环境中搭建起企业自己的网站. ...
- Ubuntu16.04搭建LAMP开发环境
Ubuntu16.04搭建LAMP开发环境 虚拟机上安装好Ubuntu16.04后,是一台空白的Ubuntu.我的目的是搭建LAMP环境,顺便搭一个Python Django环境. 基本设置 1.配置 ...
- 使用XAMPP和DVWA在Windows7上搭建渗透测试环境
前言: XAMPP是一个Web应用程序运行环境集成软件包,包括MySQL.PHP.PerI和Apache的环境及Apache.MySQL.FilleZilla.Mercury和Tomecat等组件.D ...
- 使用WampServer和DVWA在Windows10上搭建渗透测试环境
前言: DVWA是一个具有脆弱性的Web测试应用,需要PHP和MySQL的环境支持.我们可以手动配置DVWA所需的运行环境,也可以使用WampServer进行搭建.WampServer是集成了Apac ...
- 使用Rancher搭建K8S测试环境
使用Rancher搭建K8S测试环境 http://blog.csdn.net/csdn_duomaomao/article/details/75316926 环境准备(4台主机,Ubuntu16.0 ...
- 利用Docker Compose快速搭建本地测试环境
前言 Compose是一个定义和运行多个Docker应用的工具,用一个YAML(dockder-compose.yml)文件就能配置我们的应用.然后用一个简单命令就能启动所有的服务.Compose编排 ...
- 一文教您如何通过 Docker 快速搭建各种测试环境(Mysql, Redis, Elasticsearch, MongoDB) | 建议收藏
欢迎关注个人微信公众号: 小哈学Java, 文末分享阿里 P8 高级架构师吐血总结的 <Java 核心知识整理&面试.pdf>资源链接!! 个人网站: https://www.ex ...
- Docker-教你如何通过 Docker 快速搭建各种测试环境
今天给大家分享的主题是,如何通过 Docker 快速搭建各种测试环境,本文列举的,也是作者在工作中经常用到的,其中包括 MySQL.Redis.Elasticsearch.MongoDB 安装步骤,通 ...
- 一文带你趟过mac搭建appium测试环境的遇到的坑
做UI自动化,最难的一步就是在环境搭建上,怎么去搭建一个UI自动化测试的环境,会难住很多人,在Mac上搭建appium如何搭建呢,本文带着大家去领略如何在mac上搭建appium测试环境.下面就是详细 ...
随机推荐
- 清除HTML中的特殊字符
/// <summary> /// 清楚HTML中的特殊字符 /// </summary> /// <param name=&q ...
- Taxi Trip Time Winners' Interview: 3rd place, BlueTaxi
Taxi Trip Time Winners' Interview: 3rd place, BlueTaxi This spring, Kaggle hosted two competitions w ...
- 01-06-01【Nhibernate (版本3.3.1.4000) 出入江湖】事务
Nhibernate事务的使用: public void Add(Customer customer) { ISession session = _sessionManager.GetSession( ...
- VS2010 MFC DataGrid绑定实例
VS2010环境下MFC使用DataGrid绑定数据源 参考:http://blog.csdn.net/fddqfddq/article/details/7874706 详细介绍如何在MFC中使用Da ...
- 深入浅出ES6(二):迭代器和for-of循环
作者 Jason Orendorff github主页 https://github.com/jorendorff 我们如何遍历数组中的元素?20年前JavaScript刚萌生时,你可能这样实现数 ...
- Ubuntu 装JDK
我是按照这篇文章安装jdk的: http://www.cnblogs.com/bluestorm/archive/2012/05/10/2493592.html 先去 Oracle下载Linux下 ...
- Perl 三种时间time,localtime,gmttime
#!/usr/bin/perl use warnings; use diagnostics; use strict; use POSIX; print "time: ", time ...
- JavaWeb项目开发案例精粹-第3章在线考试系统-004Service层
1. package com.sanqing.service; import java.util.List; import com.sanqing.po.Student; public interfa ...
- java:继承
一.继承: java只支持单继承,一个子类只能继承一个父类,使用继承是为了减少类的重复代码,且父类的构造函数不能被子类继承. 当两个类里面有相同的属性或方法,就应该考虑使用继承解决重复代码了. 继承的 ...
- Git教程之时光穿梭(3)
我们已经成功地添加并提交了一个readme.txt文件,现在我们继续修改readme.txt文件,改成如下内容: