Tag: Apache
当开启 Apache 的 access_log 查看里面的内容,查询记录内简中会看到一堆 “internal dummy connection” 的记录: ::1 – – “OPTIONS * HTTP/1.0” 200 – “-” “Apache/2.4.6 (CentOS) OpenSSL/1.0.1e-fips PHP/5.4.16 (internal dummy connection)” 根据 Apache 官方的说明, 这是 …
Apache 设定了 DirectoryIndex 后, Apache 会自动开启目录下的相应页面, 例如: DirectoryIndex index.html index.htm index.php 如果没有 DirectoryIndex 设定的页面, 会显示 403 Forbidden 或者显示所有档案。 用 YUM 安装好 httpd 后, 如果网页根目录没有 DirectoryIndex, 默认会出现一个 “Testing 123” 的页面, …
WordPress 是目前最受欢迎的 CMS, 而针对 WordPress 的攻击也很多, 本文会讲述使用 Fail2ban 拦截对 WordPress 的暴力入侵。 如果未安装 Fail2ban, 先安装 Fail2ban, 可以参考本站另一篇文章: 拦截暴力入侵的 IP — Fail2Ban 安装好 Fail2ban 后, 在 Fail2ban 的 filter 目录建立 wordpress …
当系统的 Load Average 很高时, 可能面临当机的风险, 遇到这个问题可以用 Shell Script 定时检查系统的 Load Average, 当发现 Load Average 到达某一个设定好的数值时, 便自动执行一些指令, 例如重启服务, kill process 或向系统管理员发出电邮通知等。 以下 Shell Script 会透过定时读取 /proc/loadavg 的数值, 当发现 Load Average …
如果主机出现问题时, 可能负载过高或者服务当掉, 最理想的做法还是要找出原因, 很多时只要修改一些设定便可以。 早前遇到一位客户, 他安装在 VPS 的 Apache 会无故当掉, 间隔由几小时到一天不等, 检查后 Load Average 一点也不高, 当掉后只要重新启动 Apache 便没问题, 初部估计可能是 mpm_prefork 的设定问题。 由于修改后要观察一段时间, 这段时间 Apache 也可能当掉, 便写了这支 Shell Script, 会自动检查 …
很多主机基于保安理由, 将 PHP 执行时的错误讯息隐藏, 当 PHP 程式执行时遇到错误, 即使是 run time error 这类错误, 都只会显示空白内容。 原因是在 php.ini 设定了这两行: display_errors = Off error_reporting = Off 上面两个设定, 只要其中其中一个设定成 Off, 都不会显示错误讯息, 这样对于程式除错很麻烦, 要暂时显示 PHP …
PHP 的 disable_functions 选项可以停用某些特定的 PHP 函式, 主要是基于安全理由, 将一些对系统有威胁的函式停用, 但 disable_functions 必须透过 php.ini 设定, 因为如果可以在 httpd.conf 或 .htaccess 设定, 使用者便很容易将停用的函式开启。 之前遇到一个情况, 要将个别 VirtualHost 的 mail() 函式停用, 但主机内其他 VirtualHost 仍要继续开启 mail()。虽然 …
在 Linux 安装 Apache 及 PHP 后, 可以按需要设定个别 VirtualHost 或目录停用 VirtualHost, 例如一个只用作储存上载图片的目录, 不需要执行 PHP 的权限, 以下的设定方法。 VirtualHost 停用 PHP: 首先开启储存 VirtualHost 的档案, RHEL 及 CentOS 是 /etc/httpd/conf/httpd.conf, 而 Debian …
很久以前的 PHP 默认开启 Register Globals 选项, 这样写程式就很方便, 但这个方便也带来安全性问题, 所以后来 PHP 默认会将 Register Globals 关闭, 对于一些要开启 Register Globals 的程式, 在不修改程式码的情况下, 还可以透过修改 php.ini 或 .htaccess 的方法解决。 但在 PHP 5.4 开始, PHP …
Apache 默认会将 Log 记录档储存到文字档,一般会在 logs/ 目录,或者 /var/log/httpd/ 目录。将 Apache Log 储存到 MySQL 除了可以方便过滤记录档内资讯外,也可以实现多个 Apache Log 集中管理。 以前试过自己写 Shell Script 将 Log 插入 MySQL,但原来已经有 Apache Module 可以做这件事,十分方便。以下是 Apache 设定将 Log …