课程大纲:
1. 下载discuz! 
mkdir /data/www
cd /data/www
wget  http://download.comsenz.com/DiscuzX/3.2/Discuz_X3.2_SC_GBK.zip
unzip Discuz_X3.2_SC_GBK.zip
mv upload/*  .

2. 配置第一个虚拟主机
删除httpd.conf中的这行前面的警号
#Include conf/extra/httpd-vhosts.conf
vim /usr/local/apache2/conf/extra/httpd-vhosts.conf

加入如下配置:
<VirtualHost *:80>
    DocumentRoot "/data/www"
    ServerName www.123.com
</VirtualHost>

3. 配置mysql,给Discuz!增加一个账户
给mysql root账户设置密码,然后命令行进入mysql,创建新的库,并创建一个新的帐号对该库有所有权限:
> create database discuz;
> grant all on dicuz.* to 'aming'@'localhost' identified by '123456aminglinux';
> quit

4. 安装Discuz!
先绑定hosts  
192.168.11.190  www.123.com
浏览器输入: 
www.123.com/install/
根据提示,修改对应目录的权限
cd /data/www
chown daemon:daemon  data  uc_server/data  uc_client/data config   // 让这几个目录支持apache运行帐号可写

5. 为某个虚拟主机配置用户认证
http://www.lishiming.net/thread-554-1-1.html

6. 配置域名跳转
    <IfModule mod_rewrite.c>
        RewriteEngine on
        RewriteCond %{HTTP_HOST} ^www.domain1.com$
        RewriteRule ^/(.*)$ http://www.domain2.com/$1 [R=301,L]
    </IfModule>
如果是多个域名,可以这样设置:
    <IfModule mod_rewrite.c>
        RewriteEngine on
        RewriteCond %{HTTP_HOST} ^www.domain.com [OR]
        RewriteCond %{HTTP_HOST} ^www.domain1.com$
        RewriteRule ^/(.*)$ http://www.domain2.com/$1 [R=301,L]
    </IfModule>
或者:    <IfModule mod_rewrite.c>
        RewriteEngine on
        RewriteCond %{HTTP_HOST} !^www.domain2.com$
        RewriteRule ^/(.*)$ http://www.domain2.com/$1 [R=301,L]
    </IfModule>

7. 配置apache的访问日志

ErrorLog "|/usr/local/apache/bin/rotatelogs -l /usr/local/apache/logs/oem.discuz.qq.com-error_%Y%m%d.log 86400"
    SetEnvIf Request_URI ".*\.gif$" image-request
    SetEnvIf Request_URI ".*\.jpg$" image-request
    SetEnvIf Request_URI ".*\.png$" image-request
    SetEnvIf Request_URI ".*\.bmp$" image-request
    SetEnvIf Request_URI ".*\.swf$" image-request
    SetEnvIf Request_URI ".*\.js$" image-request
    SetEnvIf Request_URI ".*\.css$" image-request
    CustomLog "|/usr/local/apache/bin/rotatelogs -l /usr/local/apache/logs/oem.discuz.qq.com-access_%Y%m%d.log 86400" combined env=!image-request

8. 配置静态文件缓存
<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 hour"
    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>
或者使用mod_headers模块实现
<ifmodule mod_headers.c>  
# htm,html,txt类的文件缓存一个小时  
<filesmatch "\.(html|htm|txt)$">  
header set cache-control "max-age=3600"  
</filesmatch>  
# css, js, swf类的文件缓存一个星期  
<filesmatch "\.(css|js|swf)$">  
header set cache-control "max-age=604800"  
</filesmatch>  
# jpg,gif,jpeg,png,ico,flv,pdf等文件缓存一年  
<filesmatch "\.(ico|gif|jpg|jpeg|png|flv|pdf)$">  
header set cache-control "max-age=29030400"  
</filesmatch>  
</ifmodule>

9. 配置防盗链
SetEnvIfNoCase Referer "^http://.*\.yourdomin\.com" local_ref
SetEnvIfNoCase Referer ".*\.yourdomin\.com" local_ref
SetEnvIfNoCase Referer "^$" local_ref
<filesmatch "\.(txt|doc|mp3|zip|rar|jpg|gif)"> 
Order Allow,Deny 
Allow from env=local_ref 
</filesmatch>

10. 访问控制
<Directory /data/www/>
            Order deny,allow
            Deny from all
            Allow from 127.0.0.1
</Directory>

针对请求的uri去限制
    <filesmatch "(.*)admin(.*)">
            Order deny,allow
            Deny from all
            Allow from 127.0.0.1
    </filesmatch>

某个某陆下禁止解析php
<Directory /data/www/path>
    php_admin_flag engine off             
    <filesmatch "(.*)php">
            Order deny,allow
            Deny from all
    </filesmatch> 
</Directory>

11. apache rewrite相关
apache 限制指定user_agent  http://www.lishiming.net/thread-1033-1-1.html
apache 限制某些目录不能访问通过rewrite实现  http://www.lishiming.net/thread-3587-1-1.html
apache rewrite 出现死循环  http://www.lishiming.net/thread-1043-1-1.html

discuz伪静态配置:
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^/topic-(.+)\.html$ /portal.php?mod=topic&topic=$1&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^/article-([0-9]+)-([0-9]+)\.html$ /portal.php?mod=view&aid=$1&page=$2&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^/forum-(\w+)-([0-9]+)\.html$ /forum.php?mod=forumdisplay&fid=$1&page=$2&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^/thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$ /forum.php?mod=viewthread&tid=$1&extra=page\%3D$3&page=$2&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^/group-([0-9]+)-([0-9]+)\.html$ /forum.php?mod=group&fid=$1&page=$2&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^/space-(username|uid)-(.+)\.html$ /home.php?mod=space&$1=$2&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^/blog-([0-9]+)-([0-9]+)\.html$ /home.php?mod=space&uid=$1&do=blog&id=$2&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^/archiver/(fid|tid)-([0-9]+)\.html$ /archiver/index.php?action=$1&value=$2&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^/([a-z]+[a-z0-9_]*)-([a-z0-9_\-]+)\.html$ /plugin.php?id=$1:$2&%1

扩展学习:
apache 日志中记录代理IP以及真实客户端IP  http://www.lishiming.net/thread-960-1-1.html
apache只记录指定URI的日志  http://www.lishiming.net/thread-981-1-1.html
apache日志记录客户端请求的域名  http://www.lishiming.net/thread-1037-1-1.html
apache 日志切割问题  http://www.lishiming.net/thread-566-1-1.html
apache的order allow deny  http://www.lishiming.net/thread-832-1-1.html
apache 针对访问uri 限制ip  http://www.lishiming.net/thread-5365-1-1.html
几种限制ip的方法 http://www.lishiming.net/thread-6519-1-1.html
apache开启压缩  http://www.aminglinux.com/bbs/thread-5528-1-1.html
apache2.2到2.4配置文件变更  http://www.aminglinux.com/bbs/thread-7292-1-1.html
apache配置所有的虚拟主机都指向第一个   http://www.aminglinux.com/bbs/thread-491-1-1.html
apache虚拟主机开启php的短标签   http://www.aminglinux.com/bbs/thread-5370-1-1.html
apache options参数  http://www.aminglinux.com/bbs/thread-1051-1-1.html
apache 禁止trace或track防止xss攻击  http://www.aminglinux.com/bbs/thread-1045-1-1.html
apache 配置https 支持ssl  http://www.aminglinux.com/bbs/thread-1029-1-1.html
apache的proxy代理总访问后端web的第一个虚拟主机 http://www.aminglinux.com/bbs/thread-941-1-1.html
apache 自定义header  http://www.aminglinux.com/bbs/thread-830-1-1.html
apache的keepalive和keepalivetimeout  http://www.aminglinux.com/bbs/thread-556-1-1.html

LAMP第二部分apache配置的更多相关文章

  1. centos LAMP第二部分apache配置 下载discuz!配置第一个虚拟主机 安装Discuz! 用户认证 配置域名跳转 配置apache的访问日志 配置静态文件缓存 配置防盗链 访问控制 apache rewrite 配置开机启动apache tcpdump 第二十节课

    centos    LAMP第二部分apache配置  下载discuz!配置第一个虚拟主机 安装Discuz! 用户认证 配置域名跳转  配置apache的访问日志  配置静态文件缓存  配置防盗链 ...

  2. LAMP第二部分apache的配置

    1. 下载discuz! mkdir /data/wwwcd /data/wwwmv /root/Discuz_X3.2_SC_GBK.zip .wget http://download.comsen ...

  3. LAMP 2.3 Apache配置防盗链

    如果你的站点是一个图片站,有很多非常漂亮的美女图片,那我相信,时间久了会有很多人来你网站借图片,有的人直接下载走了,还有的人直接取走图片的地址,比如你的网站域名是 www.123.com,图片地址为 ...

  4. LAMP 2.2 Apache配置静态缓存

    这里的静态文件指的是图片.js.css 等文件,用户访问一个站点,其实大多数元素都是图片.js.css 等,这些静态文件其实是会被客户端的浏览器缓存到本地电脑上的,目的就是为了下次再请求时不再去服务器 ...

  5. docker版LAMP(PHP+MYSQL+APACHE)配置

    最近在搭测试环境,一开始就在vagant和docker之间来回折腾.两者其实都非常适合用来搭开发环境:但最终让我决定用Docker的原因是因为Vagant在hyper-v下出现了一些奇怪的问题,所以D ...

  6. CentOS 7.0 安装配置LAMP服务器方法(Apache+PHP+MariaDB)(转)

    转自:http://www.jb51.net/os/188488.html 作者:佚名 字体:[增加 减小] 来源:osyunwei  准备篇: CentOS 7.0系统安装配置图解教程 http:/ ...

  7. 阿里云服务器 ECS 部署lamp:centos+apache+mysql+php安装配置方法 (centos7)

    阿里云服务器 ECS 部署lamp:centos+apache+mysql+php安装配置方法 (centos7) 1.效果图 1 2. 部署步骤 1 1. mysql安装附加(centos7) 7 ...

  8. CentOS 6.3安装配置LAMP服务器(Linux+Apache+MySQL+PHP5)

    服务器系统环境:CentOS 6.3 客户端系统环境:Windows 7 ultimate(x86)sp1 简体中文旗舰版 ※  本文档描述了如何在Linux服务器配置Apache.Mysql.PHP ...

  9. lamp apache配置虚拟主机

    You don't have permission to access /index.php on this server

随机推荐

  1. test only

    Test TinyMCE only , Test Link

  2. 日志的艺术(The art of logging)

    程序员学习每一门语言都是从打印“hello world”开始的,日志也是新手程序员学习.调试程序的一大利器.当项目上线之后,也会有各种各样的日志,比如记录用户的行为.服务器的状态.异常情况等等.打印日 ...

  3. lazy ideas in programming(编程中的惰性思想)

    lazy形容词,懒惰的,毫无疑问是一个贬义词.但是,对于计算机领域,lazy却是非常重要的优化思想:把任务推迟到必须的时刻,好处是避免重复计算,甚至不计算.本文的目的是抛砖引玉,总结一些编程中的laz ...

  4. selenium实现自动下载文件

    #coding:utf-8'''说明:导出'''from selenium import webdriverfrom public.highlightElement import highlightf ...

  5. NB-IoT物联网,来了

    日前,深圳移动联合华为公司在深圳市福田.前海及盐田区域部署NB-IoT/LTE融合站点130余个,完成NB-IoT系统关键技术验证和组网技术验证,已初步形成NB-IoT试商用条件.深圳移动后续将在深圳 ...

  6. Model中设置表单验证方法

    Model类里面定义$_validate属性支持的验证因子格式: 格式:array(验证字段,验证规则,错误提示,验证条件,附加规则,验证时间). 验证条件: (1)Model::EXISTS_TO_ ...

  7. 自动化运维工具——ansible详解(二)

    Ansible playbook 简介 playbook 是 ansible 用于配置,部署,和管理被控节点的剧本. 通过 playbook 的详细描述,执行其中的一系列 tasks ,可以让远端主机 ...

  8. Java设计模式之单例模式详解

    在Java开发过程中,很多场景下都会碰到或要用到单例模式,在设计模式里也是经常作为指导学习的热门模式之一,相信每位开发同事都用到过.我们总是沿着前辈的足迹去做设定好的思路,往往没去探究为何这么做,所以 ...

  9. NFS介绍和安装

    NFS简单介绍 NFS 是Network File System的缩写,即网络文件系统. 一种使用于分散式文件系统的协定,由Sun公司开发,于1984年向外发布.功能是通过网络让不同的机器.不同的操作 ...

  10. J2EE十三个规范小结

    J2ee是我们步入java学习的一个開始.它将开启这趟奇幻之旅,Java是一种简单的,跨平台的,面向对象的,分布式的.解释的.健壮的安全的.结构的中立的,可移植的.性能非常优异的多线程的,动态的语言. ...