搭建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测试环境.下面就是详细 ...
随机推荐
- [设计模式] 7 桥接模式 bridge
#include<iostream> using namespace std; class AbstractionImp { public: virtual ~AbstractionImp ...
- 01-04-02【Nhibernate (版本3.3.1.4000) 出入江湖】HQL查询
public IList<Customer> GetAllHql() { IList<Customer> result = null; ISession session = _ ...
- 将LINUX变成路由器
将LINUX变成路由器 2009-06-04 22:38:45 标签:LINUX 路由器 休闲 职场 版权声明:原创作品,如需转载,请与作者联系.否则将追究法律责任. LINUX系统是一个强大 ...
- POJ 1928
#include <iostream> #include <algorithm> #define MAXN 3000 using namespace std; struct n ...
- POJ 1775
#include <iostream> using namespace std; ,,,,,,,,,}; bool boo; void DFS(int time,int sum); int ...
- 深入浅出Java并发包—指令重排序
前面大致提到了JDK中的一些个原子类,也提到原子类是并发的基础,更提到所谓的线程安全,其实这些类或者并发包中的这么一些类,都是为了保证系统在运行时是线程安全的,那到底怎么样才算是线程安全呢? Java ...
- maven2 + tomcat6 + eclipse集成配置
转载:http://wenku.baidu.com/view/d64147c676eeaeaad1f330d4.html?re=view /*maven2 + tomcat6 + eclipse集成配 ...
- 喵星人教你记 HTTP 状态码
记忆HTTP状态码是有一些困难的,因为状态码很多且很难记忆.GirlieMac,也就是Tomomi Imura利用她巧妙的构思,PS了一系列的HTTP状态信息.在你看过这些图片之后,你绝对可以记住一些 ...
- 248. Strobogrammatic Number III
题目: A strobogrammatic number is a number that looks the same when rotated 180 degrees (looked at ups ...
- C++:String类
String类 1.使用String类必须在程序的开始包括头文件string,即要有如下语句:#include<string> 2.string类字符串对象的使用方法与其他对象一样stri ...