Category: Apache / Nginx

RHEL / CentOS 建立 Apache 虚拟主机

要在一部主机上面存放多个网站, 可以透过 Apache 的 Virtual Host 实现。以下会示范在 RHEL 及 CentOS 建立 Apache Virtual Host 的方法。 在开始前, 先要建立存放网站的目录, 即 Document Root, 在 CentOS 下 Apache 的默认目录是 /var/www/html, 以下会以 website01.com 及 …

RHEL / CentOS 安装 mod_security

mod_security 是 Apache 的保安模组,可以预防多种针对网页的攻击,例如执行远端程式码, SQL Injection,路径扫瞄等。以下是在 RHEL 及 CentOS 安装 mod_security 的方法: 1. 安装 mod_security 所需套件: # yum install gcc make httpd-devel libxml2 pcre-devel libxml2-devel curl-devel git 2. 下载 …

Apache 限制上传档案大小

在 Apache 里面有一个选项是 LimitRequestBody,这个选项可以限制用户送出的 HTTP 请求内容。这个选项可以在 .htaccess 或 httpd.conf 里使用,而如果在 httpd.conf 内使用,分别可以用在 virtualhost 或目录属性设定。而 LimitRequestBody 的设定值是介乎 0 (无限制) 至 2147483647 (2GB)。 例如要在目录 /home/httpd/html/www.mydomain.com/uploads 设定上传限制为 100K,可以在 .htaccess 或 httpd.conf 加入以下语句: …

.htaccess 转址

.htaccess 可以改变 Apache 对目录的设定, 其中一个十分常用的地方是转址, 以下是 .htaccess 常用转址例子: 301 永久转址: 302 临时转址 将档案转到指定档案位置 将没有 www 的网址转到 www 开头网址: 将 www 开头的网址转到没有 www 网址: 将所有不是 new-domain.com 转到 new-domain.com

[Perl Script] – 自动删除 Apache 旧记录档

上一篇文章 Apache Log Rotate 设定 讲述了 Apache 轮替记录档的方法, 但如果旧日志一直不理的话, 同样占据碟碟空间, 因为 Apache 不会删除旧记录档, 而且将新记录写入新建立的档案, 以下 Perl Script 可以自动删除旧记录档, 只要设定好记录档目录, 名称后, 放到 crontab 执行便可以了。 这个 Perl Script 会扫瞄记录档目录, 并查看档案名称为是 access …

Apache Log Rotate 设定

Apache log 里面包含有很多有用资讯, 包括侦测攻击行为及正常存取量等, 但如果一直不理会记录档的话, 会占用很多硬盘空间, 所以设定 log rotate 是必须的, Apache 内建 rotatelogs 工具可以做 log rotate, 实现方法如下: 1. 开启 httpd.conf, 找到 CustomLog 及 ErrorLog 的设定行. 2. 例如原来 CustomLog 及 …

Apache 2.4 安装 mod_evasive

在 Apache 2.4 编译 mod_evasive 时遇到以下错误: mod_evasive20.c: In function ‘access_checker’: mod_evasive20.c:142: error: ‘conn_rec’ has no member named ‘remote_ip’ mod_evasive20.c:146: error: ‘conn_rec’ has no member named ‘remote_ip’ mod_evasive20.c:158: error: ‘conn_rec’ …