Web安全-LAMP平台搭建
实验题:
制作本地YUM源
- 1.放入系统光盘,重新挂载到
/media- 手动
挂载光盘到指定目录umount /dev/sr0mount /dev/sr0 /mediamount -o ro /dev/sr0 /mnt
- 开机
自动挂载echo "mount -o ro /dev/sr0 /mnt">>/etc/rc.localecho "dev/sr0 /mntiso9660 defaults,ro 0 0">>/etc/fstab
- 手动
-
将原有的
yum源文件剪切备份到别处
mkdir /root/repo-bak
mv /etc/yum.repos.d/* /root/repo-back -
创建自己的
yum源文件
vim /etc/yum.repos.d/test.repo# 有时候打补丁,安装模块都用得到[test]一个文件可以包含多个yum源地址,使用标签[]进行区分name=test 源名称baseurl = file:///media yum源路径enable=1 # 开启该源gpgcheck=1 关闭公钥验证
-
如果以前使用过其他
yum源,需要清除缓存yum clean allyum make cacheyum list查看当前可用yum源中的软件列表(被刷屏说明正常)yum list installed
LAMP
LAMP 平台搭建
LAMP部署实验
LAMP= Linux + Apache + MySQL + PHP
- Linux 操作系统
Apache HTTP服务,又名apache httpd提供静态页面MySQL数据库, 开源免费的关系型数据库,适用于中小型网站MariaDB可以视作MySQL 姐妹版,使用方式,配置文件高度相似
LANMP集成环境安装工具phpstudy/小皮宝塔(BT)
- Apache环境实验
- 搭建
动态网站架构,安装论坛系统。注意配置项与单独服务部署略有不同。
- 搭建
实验过程1:安装apache软件实现httpd的80端口访问
-
①卸载冲突软件
rpm -e httpd httpd-manual webalizer subversion mod_python mod_ssl mod_perl system-config-httpd php php-cli php-ldap php-common mysql dovecot --nodeps
-
②编译安装
tar zxf httpd-2.2.15.tar.gz -C /usr/src/cd /usr/src/httpd-2.2.15/./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-charsetlite --enable-cgimake && make install
-
③优化执行路径
ln -s /usr/local/httpd/bin/* /usr/local/bin/
-
④修改主配置文件默认站点名称
vim /usr/local/httpd/conf/httpd.confServerName www.rfx.com
-
⑤开启服务
apachectl startnetstat -anpt | grep 80
-
浏览器输入
localhost查看,当前显示如下表示正常启动

实验过程2:安装mysql服务,测试3306端口可用,可登录mysql
-
①确认系统没有
rpm安装的mysql组件,如果有请卸载rpm -q mysql-server mysql
-
②开始安装
mysql-5.5的编译环境,首先在光盘安装包目录安装ncurses-develrpm -ivh ncurses-devel-5.7-3.20090208.el6.x86_64.rpm
-
③然后安装
cmake工具tar zxf cmake-2.8.6.tar.gzcd cmake-2.8.6./configuregmake && gmake install
-
④创建
mysql所用的程序账户groupadd -g 1500 mysqluseradd -u 49 -M -s /sbin/nologin -g mysql mysql
-
⑤解压缩
mysql编译包tar zxf mysql-5.5.22.tar.gz -C /usr/srccd /usr/src/mysql-5.5.22/
-
⑥配置
mysql安装信息cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DSYSCONFDIR=/etc -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all- 如果报错
Curses library not found异常 删除解压目录的CMakeCache.txt然后yum安装ncursesdevel - 如果不能访问外部
yum源,挂载老师给的centOS iso,安装ncurses系列软件包(需要卸载之前的)
-
⑦编译 && 编译安装
mysqlmake && make install
-
⑧修改
mysql安装目录的归属chown -R mysql:mysql /usr/local/mysql
-
⑨根据实际情况复制配置文件样板,我们以中型数据库为例
cp /usr/src/mysql-5.5.22/support-files/my-medium.cnf /etc/my.cnf
-
⑩初始化数据库信息
/usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data- 优化命令执行路径
ln -s /usr/local/mysql/bin/* /usr/local/bin/
- 添加开机启动和系统服务
cp /usr/src/mysql-5.5.22/support-files/mysql.server /etc/init.d/mysqldchmod +x /etc/init.d/mysqldchkconfig --add mysqldsystemctl start mysqld
- 优化命令执行路径
- 登录
mysqlmysql -u root
- 退出数据库
quit
- 效果如下

实验过程3:安装PHP支持环境
-
①卸载相关软件
rpm -e php php-cli php-ldap php-common php-mysql --nodeps
-
②安装3个PHP需要的加密环境
-
(一)
tar zxf libmcrypt-2.5.8.tar.gz -C /usr/src/cd /usr/src/libmcrypt-2.5.8/./configuremake && make installln -s /usr/local/lib/libmcrypt.* /usr/lib/
-
(二)
tar zxf mhash-0.9.9.9.tar.gz -C /usr/src/cd /usr/src/mhash-0.9.9.9/./configuremake && make installln -s /usr/local/lib/libmhash* /usr/lib/
-
(三)
tar zxf mcrypt-2.6.8.tar.gz -C /usr/src/cd /usr/src/mcrypt-2.6.8/export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH./configuremake && make install
-
-
③安装PHP环境
yum -y install libxml2*
-
④安装PHP软件
tar zxf php-5.3.28.tar.gz -C /usr/src/cd /usr/src/php-5.3.28/
./configure --prefix=/usr/local/php5 --with-mcrypt --with-apxs2=/usr/local/httpd/bin/apxs --with-mysql=/usr/local/mysql --with-config-filepath=/usr/local/php5 --enable-mbstringmake && make install
-
⑤复制
PHP主配置文件cp /usr/src/php-5.3.28/php.ini-development /usr/local/php5/php.ini
-
⑥检查
apache中是否被写入PHP信息vim /usr/local/httpd/conf/httpd.conf
-
⑦配置文件中是否存在
LoadModule php5_module con modules/libphp5.so
-
⑧在
AddType出添加一行AddType application/x-httpd-php.php
-
⑨重启
httpd服务apachectl restart- 执行后报错如下:
httpd: Syntax error on line 54 of /usr/local/httpd/conf/httpd.conf: LoadModule takes two arguments, a module name and the name of a shared object file to load it fromvim /usr/local/httpd/conf/httpd.conf注释掉54行代码
-
⑩添加
php主页DirectoryIndex index.html index.php- 编写
PHP测试页面vim /usr/local/httpd/htdocs/test1.php
-
内容为
-
php脚本 -l
<?php phpinfo(); ?> 验证成功访问http://192.168.3.1/test1.php 编写数据库测试文件 vim /usr/local/httpd/htdocs/test2.php 内容 <?php $link=mysql_connect('localhost','bbsadmin',''); if($link) echo "gongxini,chengle!!"; mysql_close(); ?> -
验证成功访问
http://192.168.3.1/test2.phpln -s /usr/local/php5/bin/php /usr/bin/
-
添加链接到
/usr/binphp -v如果显示版本信息则安装成功安装论坛 //安装包为ISO文件下发
见右侧
-
虚拟机拖拽传送命令rz -E
-
LAMP一键安装会带有phpmyadmin一个图形化管理页面,有漏洞-
mysql登录命令 -
mysql -u root
-
-
设置数据库用户的密码
mysql -u root [-p] password
-
再输入新密码
- 否则密码会以
明文显示在命令行和history
- 否则密码会以
-
查看所有数据库
show databases// 不区分大小写
-
为了方便阅读代码,通常用大写表示命令,其他用小写。
- 以“
;”结尾表示命令输入结束。
- 以“
-
进入某个数据库
use数据库;
-
查看
所有表show tables;
-
显示表的结构
describe// 等价缩写命令desc。输出每列的列名,数据类型,长度,默认值等。
-
数据库的创建和删除 -
创建数据库CREATE DATABASE 数据库名;
-
创建表
CREATE TABLE users (
id int not null,
names char(16) not null.pwd char(48) default ''
)
删除表插入记录修改记录删除记录
添加用户修改用户权限设置用户权限
- 给用户
haonan开启dao.users表的select权限GRANT权限列表ON数据库名.表名TO用户名@来源地址[ IDENTIFIED BY '密码' ]GRANTselectONdao.usersTOhaonan’@‘localhost’ IDENTIFIEDBY '123.com'- 给用户
bbsadmin开启bbsdb库下面全部表的全部权限 GRANT all ON bbsdb.* TO 'bbsadmin'@'localhost' IDENTIFIED BY '123.com'

