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

修改配置文件

 

 

 

 

 

重新加载

 

 

 

进行测试

 

 

 

 

 

 

无法访问其他页面

  

 

 

   

 

 

 

  1. PHP动态扩展模块安装

下载

 

 

 

 

 

 

 

 

 

http://pecl.php.net/get/redis-2.2.5.tgz

解压

 

 

 

执行文件

 

 

 

生成configure文件

 

 

 

进行编译

 

 

 

 

 

 

查看模块

 

 

 

修改配置文件

 

 

 

 

 

 

查看模块

 

 

 

 

 

 

 

posted @ 2021-01-26 11:57  金·天  阅读(109)  评论(0编辑  收藏  举报