文章来源:知了堂冯老师原创
第10章 LAMP服务搭建
一. LAMP简介
指一组通常一起使用的来运行动态网站或者服务器,是基于Linu小,Apache,mysql和php的开放资源网络开发平台,Linux是开放操作系统,Apache是网站服务器,mysql是带有基于网络管理附加工具的关系型数据库,PHP是流行的脚本语言(是采用Apache网站服务器+mysql数据库+PHP语言引擎开发的)
二. 实验环境
外网一台客户机搭建dns,apache,mysql,php和论坛,分担不同的角色,dns实现域名解析,apache实现网站代理,mysql实现用户管理和数据存储,php实现网页登录,最后论坛实现用户注册并登录,这样内网就可以访问外网搭建的论坛,确保了用户信息的安全性。
搭建dns 搭建apache 搭建mysql 搭建php 搭建论坛
三. 实验安装包
1.Centos_6.5_Final或者red hat_6.5_Final
2.bind-9.8.2-0.17.rc1.el6_4.6.x86_64.rpm
3.bind-chroot-9.8.2-0.17.rc1.el6_4.6.x86_64.rpm
4.bind-libs-9.8.2-0.17.rc1.el6_4.6.x86_64.rpm
5.bind-utils-9.8.2-0.17.rc1.el6_4.6.x86_64.rpm
6.httpd-2.2.17.tar.gz
7.cmake-2.8.6.tar.gz
8.mysql-5.5.22.tar.gz
9.libmcrypt-2.5.8.tar.gz
10.mhash-0.9.9.9.tar.gz
11.mcrypt-2.6.8.tar.gz
12.php-5.3.28.tar.gz
13.ZendGuardLoader-php-5.3-linux-glibc23-x86_64
14.phpMyAdmin-4.2.5-all-languages.tar.gz
15.Discuz_7.2_FULL_SC_UTF8.zip
四. 实验拓扑图
五. 实验的步骤
1.配置本地yum源
2.安装bind包,搭建dns,实现域名解析
3.安装httpd包,搭建apache,提供网站代理
4.安装cmake和mysql包,实现用户管理和数据存储
5.安装libmcrypt,mhash,mcrypt,phpZendGuardLoader,phpMyAdmin,实现解析,并登陆
6.安装Discuz包,完成网站搭建并注册,实现个人服务和管理
六. 实验代码
6.1配yum源
#mkdir –p /media/cdrom //在media下创建一个cdrom目录,通畅情况下在media目录下,也可以在其它目录下
#mount /dev/cdrom /media/cdrom //挂载镜像
#vim /etc/yum. repos.d/local.repo //编写配置文档
[local] //源路径的文件名称
name=server //源的名称,可以是任意名称
baseurl=file:///media/cdrom //源路径
enabled=1 //使yum源生效
gpgcheck=0 //是否使用gpg验证RPM包的
否认性
#cd /etc/yum.repos.d //进入源目录下
#mkdir a //新建一个目录
#mv C* a //将/etc/yum.repos.d生成的四个Centos文件移动到a中
6.2搭建dns
6.2.1安装dns
#cd /media //进入media目录
#ls //查看是否有镜像
#cd CentOS_6.5_Final //进入镜像目录
#ls //查看镜像是否有安装包
#cd Packages/ //进入安装包目录
#ls //列出安装包
#rpm –ivh bind-utils-9.8.2-0.17.rc1.el6_4.6.x86_64.rpm //安装与bind相应的包
#rpm –ivh bind-chroot-9.8.2-0.17.rc1.el6_4.6.x86_64.rpm
#rpm –ivh bind-libs-9.8.2-0.17.rc1.el6_4.6.x86_64.rpm
#rpm –ivh bind-utils-9.8.2-0.17.rc1.el6_4.6.x86_64.rpm
6.2.2建立配置文件
#vim /etc/named.conf //进入配置文件
Options {
directory"/var/named"; //指定服务的工作目录,同时指定配置文件的路径
};
zone "http://benet.com"IN { //新建域
type master; //主服务器域类型
file "benet.com.zone"; //指定文件,是正向解析文件
};
6.2.3建立区域数据文件
#vim /var/named/ benet.com.zone. //编辑区域文件
$TTL 86400 //生存时间记录字段,它以秒为单位定义该资源记录中的信息存放在高速缓存中的时间长度
@ SOA benet.com. admin.benet.com. (
//SOA记录,特殊字符@,就是ORIGIN的意思,admin是指定这个区域的授权主机和管理者信箱。
2011030301 //更新序列号
4H //刷新时间
30M //重试延迟
12H //失效时间
1D //无效解析记录的生存周期
)
@ IN NS ns1.benet.com.
www IN A 192.168.1.2
ns1 IN A 192.168.1.2
6.2.4验证
#nslookup ns1.benet.com
6.3搭建Apache
1.下载源码软件包,卸载rpm安装的httpd软件包
#rpm -qa httpd //查看是否系统安装了httpd
#rpm -e httpd –nodeps //如果安装了httpd,就卸载httpd,包括它们的依赖关系
2.源码编译及安装
#tar zxf httpd-2.2.17.tar.gz -C /usr/src/ //将httpd包解压到/usr/src/目录下
#cd /usr/src/httpd-2.2.17//
#./configure
--prefix=/usr/local/httpd
--enable-so
--enable-rewrite
--enable-charset-lite
--enable-cgi
//定义路径.启用动态加载模块支持启用网页地址重写.字符集支持
#make //进行源代码编译
#make install //因为源代码要写入系统,是源代码执行安装
3.优化执行路径
#ln -s /usr/local/httpd/bin/* /usr/local/bin //进行软连接
#ls -l /usr/local/bin/httpd /usr/local/bin/apachectl //查看http服务器包含的执行程序, 查看httpd服务器包含的网页文档根目录
#httpd -v = /usr/local/httpd/bin/httpd-v //用于查看优化后的程序版本
4.添加httpd系统服务
# cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd //将apachectl脚本复制为/etc/init.d/httpd
# vi /etc/init.d/httpd
#!/bin/bash
# chkconfig: 35 85 15
# description: Startup script for the Apache HTTP Server
# chkconfig --add httpd //添加http服务
# chkconfig --list httpd //c查看http的服务
5.web站点部署过程
确定网站名称、ip地址
确定网站名称及IP地址,并在DNS中设置
配置主配置文件
#vim /usr/local/httpd/conf/httpd.conf
ServerName http://test.benet.com //如有冲突可修改端口
#/usr/local/httpd/bin/apachectl –t //进行语法检查
启动httpd服务
#/etc/init.d/httpd start //启动httpd服务
#netstat -anpt |grep httpd //过滤httpd的服务端口
部署网页文档
#vim /usr/local/httpd/htdocs/index.html
客户机访问测试,查看日志
#tail /usr/local/httpd/logs/access_log
6.进入网页测试搭建的Apache服务器是否成功(再不修改网页文档的情况下,网页上会显示IT work,就表示Apache搭建成功)
6.4安装mysql数据库
# rpm -q mysql-server mysql //查看系统是否安装了mysql服务
# yum -y remove mysql //如果安装了mysql,就卸载mysql
# yum -y install ncurses-devel
6.4.1解压cmake源码包编译安装
#cd /usr/src
# tar zxf cmake-2.8.6.tar.gz //解压到/usr/src目录下
# cd cmake-2.8.6 //进入到/usr/src下的cmake的解压文件
# ./configure //定义路径
# gmake
mysql> EXIT
6.5安装ph#rpm -qa |grep "^php" //过滤系统中是否安装了php
6.5.1安装扩展工具库
#tar zxf libmcrypt-2.5.8.tar.gz -C /usr/src/ //解压libmcrypt
#cd /usr/src/libmcrypt-2.5.8/ //进入解压文件
#./configure //编译
#make ?php
phpinfo( );
?>
网页访问http://ns1.benet.com/test1.php
测试PHP网页能否访问MySQL数据库
#vim /usr/local/httpd/htdocs/test2.php
?php
$link=mysql_connect('localhost','root','123456');
if($kink) echo "恭喜你,数据库连接成功了!!";
mysql_close();
?>
网页访问http://ns1.benet.com/test2.php
6.6部署phpMyAdmin系统
6.6.1解包复制到网站目录
#mkdir -p /usr/local/httpd/htdocs/phpMyAdmin
#tar zxf phpMyAdmin-4.2.5-all-languages.tar.gz
#cp phpMyAdmin-4.2.5-all-languages/ /usr/local/httpd/htdocs/phpMyAdmin
6.6.2建立配置文件 config.inc.php
#cd /usr/local/httpd/htdocs/phpMyAdmin/
#cp config.sample.inc.php config.inc.php
# vi config.inc.php
$cfg['blowfish_secret'] = 'pwd@123';
网页测试:http://ns1.benet.com/phpMyAdmin(用修改的密码登录)
6.7建论坛
6.7.1创建新数据库,并授权
mysql> CREATE DATABASE bbsdb; //(登录进phpMyAdmin中创建数据库)
Query OK, 1 row affected (0.01 sec)
mysql> GRANT all ON bbsdb.* TO 'runbbs'@'localhost' IDENTIFIED BY ‘adm123'; //创建用户
Query OK, 0 rows affected (0.01 sec)
6.7.2解压论坛包
[root@www ~]# unzip Discuz_7.2_FULL_SC_UTF8.zip -d DiscuzPkg //解压论坛包
[root@www ~]# ls -lh DiscuzPkg/ // 显示论坛包解压的文件
drwxr-xr-x 2 root root 4.0K 2010-01-06 readme
drwxr-xr-x 18 root root 4.0K 2010-01-06 upload
drwxr-xr-x 2 root root 4.0K 2010-01-06 utilities
6.7.3部署
mv DiscuzPkg/upload/ /usr/local/httpd/htdocs/bbs //将解压论坛包目录下的upload文件移到/usr/local/httpd/htdocs/bbs下
6.7.4确认http运行用户
[root@www ~]# grep "^User" /usr/local/httpd/conf/httpd.conf //确定http运行用户
User daemon
[root@www ~]# cd /usr/local/httpd/htdocs/bbs
[root@www bbs]# chown -R daemon templates/ attachments/ forumdata/ //赋予权限
[root@www bbs]# chown -R daemon uc_client/data/cache/ config.inc.php //赋予权限
6.7.5确认读写权限
[root@www bbs]# ls -ld templates/ attachments/ forumdata/ //确认是否有读写权限
drwxr-xr-x 2 daemon root 4096 2010-01-06 attachments/
drwxr-xr-x 9 daemon root 4096 2010-01-06 forumdata/
drwxr-xr-x 11 daemon root 4096 2010-01-06 templates/
(登录网站并注册)
6.7.6安装后转移
[root@www ~]# cd /usr/local/httpd/htdocs/bbs //进入目录
[root@www bbs]# mv install/ install.lock //usr/local/httpd/htdocs/bbs/
目录下的文件
[root@www bbs]# chmod 600 install.lock/ //赋予权限
[root@www bbs]# ls -ld install.lock/ //确认是否赋予了权限
-------------------------------------------end-----------------------------------------------
信安干货,请关注专栏:https://zhuanlan.zhihu.com/c_1142392164838404096
转载请注明来自网盾网络安全培训,本文标题:《【学员笔记】LINUX随堂笔记(九):LAMP服务搭建》
- 上一篇: CTF靶场系列-xxe_lab
- 下一篇: 基于无线路由器僵尸网络攻击游戏服务器
- 关于我们