1.1安装MySQL
下载并上传至虚拟机
解压
移动到/usr/local/mysql目录下
安装执行脚本
修改配置文件
修改启动脚本
启动mysql
查看进程
查看端口
1.2安装Apache
下载并上传至/usr/local/src
解压
切换目录
进行编译
先安装 yum -y install gcc
进行make安装
安装apr-utils
进行编译
安装httpd
进行编译
先安装yum -y install pcre-devel
查看加载模块
1.3安装PHP
下载上传
解压
编译
./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-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
使用php mcrypt 前必须先安装Libmcrypt
查看模块进程
拷贝
1.4http解析php
测试配置文件
重新加载apache
查看进程
Windows
添加192.168.100.66
2.1httpd的默认虚拟主机
编辑文件
备份文件
编辑文件
创建文件并编辑
重启apache
测试访问虚拟机
编辑111.com
再次访问
2.2用户认证
<Directory /usr/local/apache2.4/docs/abc.com>
AllowOverride AuthConfig
AuthName "abc.com user auth"
AuthType Basic
AuthUserFile /usr/local/apache2.4/docs/.htpasswd
require valid-user
</Directory>
编辑文件
检查错误,重新启动
创建用户名和密码(密码:0)
访问失败
添加用户名和密码访问成功
Window访问添加配置文件
访问需要认证
单个文件做认证
<FilesMatch admin.php>
AllowOverride AuthConfig
AuthName "abc.com user auth"
AuthType Basic
AuthUserFile /usr/local/apache2.4/docs/.htpasswd
require valid-user
</FilesMatch>
编辑文件
重新加载
重新生成密码(密码:1)
重新访问不需认证
不需要账号密码
加以证明
加用户名和密码才能成功
密码:1 用户名:ytl
2.3域名跳转
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST} !^111.com$
RewriteRule ^/(.*)$ http://111.com/$1 [R=301,L]
</IfModule>
编辑文件
创建网站
重新加载
查看加载模块
测试跳转到指定网址111.com
2.4访问日志
查看访问日志
修改日志显示方式
通过浏览器访问查看有无新的日志
2.5访问日志不记录静态文件
SetEnvIf Request_URI ".*\.gif$" img
SetEnvIf Request_URI ".*\.jpg$" img
SetEnvIf Request_URI ".*\.png$" img
SetEnvIf Request_URI ".*\.bmp$" img
SetEnvIf Request_URI ".*\.swf$" img
SetEnvIf Request_URI ".*\.js$" img
SetEnvIf Request_URI ".*\.css$" img
CustomLog "logs/www.111.com-access_log" combined env=!img
ErrorLog "logs/111.com-error_log"
不加内容
创建文件导入图片
正常访问
访问日志
编辑文件
重新加载
查看日志文件(静态文件访问成功但是没有新的日志出现)
(静态文件)
(状态码没有生成)
访问其他文件
2.6访问日志切割
查看当前系统时间
增加日志切割
CustomLog "|/usr/local/apache2.4/bin/rotatelogs -l logs/www.111.com-access_%Y%m%d.log 86400" combined env=!img
重新加载
访问www.111.com
生成新文件
检查是否有apache自带的切割工具
查看日志文件
访问生成新的日志
2.7静态元素过期时间
修改图片格式查看状态码
再次修改(第一次200 第二次304)
<IfModule mod_expires.c>
ExpiresActive on
ExpiresByType image/gif "access plus 1 days"
ExpiresByType image/jpeg "access plus 24 hours"
ExpiresByType image/png "access plus 24 hours"
ExpiresByType text/css "now plus 2 hours"
ExpiresByType application/x-javascript "now plus 2 hours"
ExpiresByType application/javascript "now plus 2 hours"
ExpiresByType application/x-shockwave-flash "now plus 2 hours"
ExpiresDefault "now plus 0 min"
</IfModule>
编辑文件
修改主配置文件
重新加载
对比可以看到最大有效期限
2.8配置防盗链
<Directory /usr/local/apache2.4/docs/www.111.com>
SetEnvIfNoCase Referer "http://www.111.com" local_ref
SetEnvIfNoCase Referer "http://111.com" local_ref
SetEnvIfNoCase Referer "^$" local_ref
<filesmatch "\.(txt|doc|mp3|zip|rar|jpg|gif)">
Order Allow,Deny
Allow from env=local_ref
</filesmatch>
</Directory>
编辑文件
重新加载
访问
查看日志
2.9访问控制白名单IP
所有都能访问
编辑文件
<Directory /usr/local/apache2.4/docs/www.111.com/admin/>
Order deny,allow
Deny from all
Allow from 127.0.0.1
</Directory>
重新加载
创建文件并测试(访问失败)
(访问成功)
访问控制-FilesMatch
更改配置文件
重新加载
访问测试(admin.php文件可以正常访问(限制IP))
2.10访问控制-禁止php解析
编辑文件
重新加载
创建目录并测试
(直接显示源码)
修改文件(在此之前可以直接下载123.php文件)
允许本地访问
2.11 访问控制-user_agent
编辑文件
访问不了
通过网页可以访问
修改文件
正常访问
访问失败
改回curl
Curl -A “yy” 指定user_agent
3.1PHP基础配置
查看php.ini文件
编辑文件使用phpinfo()函数
消除警告
3.2日志相关配置
Phpinfo被禁用(查看不了)
如果没有可以使用
查看日志(记录错误信息)
函数出错
网页无法访问
日志提示错误
3.3配置open_basedir
限制访问权限
Open_basefir=/usr/local/apache2.4/docs/www.111.com/admin:/tmp
admin正常访问,upload无法访问
正常访问
3.4虚拟主机配置open_basedir
修改配置文件
重新加载
进行测试
无法访问其他页面
- PHP动态扩展模块安装
下载
http://pecl.php.net/get/redis-2.2.5.tgz
解压
执行文件
生成configure文件
进行编译
查看模块
修改配置文件
查看模块