lamp
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
./configure --prefix=/usr/local/apache2.4 --enable-so --with-pcre --with-included-apr --enable-modules=most --enable-mpms-shared=all --with-mpm=prefork


查看加载模块

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文件

进行编译


查看模块

修改配置文件


查看模块

