Apache2 随机停止工作,错误 403

Apache2 随机停止工作,错误 403

我刚刚在我工作的地方安装了个人 Ubuntu 服务器,用于测试我们的 php 网站。这是最新的 12.04 LTS,安装了 LAMP 和 Samba。我将其设置为使用 /home/administrateur/www 目录作为 DocumentRoot 默认目录。

我这样做了:在管理员组中添加了 www-data 用户,并递归地授予了 admin/ 上的 ug+rwx 权限。

我将 /etc/apache2/sites-available/default 中的默认根目录更改为 /home/administrateur/www

到目前为止,一切都很好……但是 apache 每天都会重新启动一次或多次,然后,我无法访问网站并出现 403 错误。通常可以通过我们的本地网络访问的 www/ 文件夹不再可访问。但是当我使用 putty 连接到服务器时,一切又恢复正常了。这真的很奇怪。

今天早上我的错误日志如下:

PHP 已弃用:/etc/php5/apache2/conf.d/ming.ini 第 1 行中第 0 行未知中的以“#”开头的注释已弃用
[2014 年 3 月 2 日星期日 06:51:47] [通知] Apache/2.2.22 (Ubuntu) PHP/5.3.10-1ubuntu3.9 已配置 Suhosin-Patch — 恢复正常运行
[2014 年 3 月 3 日星期一 09:10:45] [crit] [客户端 192.168.30.15] (13)权限被拒绝:/home/administrateur/.htaccess pcfg_openfile:无法检查 htaccess 文件,请确保其可读
[2014 年 3 月 3 日星期一 09:10:45] [crit] [客户端 192.168.30.15] (13)权限被拒绝:/home/administrateur/.htaccess pcfg_openfile:无法检查 htaccess 文件,请确保其可读
[2014 年 3 月 3 日星期一 09:10:45] [crit] [客户端 192.168.30.15] (13)权限被拒绝:/home/administrateur/.htaccess pcfg_openfile:无法检查 htaccess 文件,请确保其可读
[2014 年 3 月 3 日星期一 09:47:55] [错误] [客户端 192.168.30.15] 文件不存在:/home/administrateur/www/favicon.ico
[2014 年 3 月 3 日星期一 09:47:55] [错误] [客户端 192.168.30.15] 文件不存在:/home/administrateur/www/favicon.ico
[2014 年 3 月 3 日星期一 09:50:51] [通知] 已请求优雅重启,正在重启
PHP 已弃用:/etc/php5/apache2/conf.d/ming.ini 第 1 行中第 0 行未知中的以“#”开头的注释已弃用
[2014 年 3 月 3 日星期一 09:50:52] [通知] Apache/2.2.22 (Ubuntu) PHP/5.3.10-1ubuntu3.9 已配置 Suhosin-Patch — 恢复正常运行
[2014 年 3 月 3 日星期一 09:52:09] [错误] [客户端 192.168.30.15] 文件不存在:/home/administrateur/www/atd13/wp-content/themes/atd13/img/slideshare-logo-24.png,引用者:http://test.atd13.nm/
[2014 年 3 月 3 日星期一 09:52:09] [错误] [客户端 192.168.30.15] 文件不存在:/home/administrateur/www/atd13/wp-content/themes/atd13/img/twitter-logo-24.png,引用者:http://test.atd13.nm/
[2014 年 3 月 3 日星期一 09:52:09] [错误] [客户端 192.168.30.15] 文件不存在:/home/administrateur/www/atd13/wp-content/themes/atd13/img/fb-logo-24.png,引用者:http://test.atd13.nm/
[2014 年 3 月 3 日星期一 09:53:00] [错误] [客户端 192.168.30.15] 文件不存在:/home/administrateur/www/atd13/wp-content/themes/atd13/img/fb-logo-24.png,引用者:http://test.atd13.nm/
[2014 年 3 月 3 日星期一 09:53:00] [错误] [客户端 192.168.30.15] 文件不存在:/home/administrateur/www/atd13/wp-content/themes/atd13/img/twitter-logo-24.png,引用者:http://test.atd13.nm/
[2014 年 3 月 3 日星期一 09:53:00] [错误] [客户端 192.168.30.15] 文件不存在:/home/administrateur/www/atd13/wp-content/themes/atd13/img/slideshare-logo-24.png,引用者:http://test.atd13.nm/
[2014 年 3 月 3 日星期一 09:53:42] [错误] [客户端 192.168.30.15] 文件不存在:/home/administrateur/www/atd13/wp-content/themes/atd13/img/fb-logo-24.png,引用者:http://test.atd13.nm/
[2014 年 3 月 3 日星期一 09:53:42] [错误] [客户端 192.168.30.15] 文件不存在:/home/administrateur/www/atd13/wp-content/themes/atd13/img/twitter-logo-24.png,引用者:http://test.atd13.nm/
[2014 年 3 月 3 日星期一 09:53:42] [错误] [客户端 192.168.30.15] 文件不存在:/home/administrateur/www/atd13/wp-content/themes/atd13/img/slideshare-logo-24.png,引用者:http://test.atd13.nm/
[2014 年 3 月 3 日星期一 11:48:39] [错误] [客户端 192.168.30.51] donn\xc3\xa9es WordPress 数据库错误您的 SQL 语法有误;请查看与您的 MySQL 服务器版本相对应的手册,了解正确的语法以使用 nea$
[2014 年 3 月 3 日星期一 11:48:46] [错误] [客户端 192.168.30.51] donn\xc3\xa9es WordPress 数据库错误您的 SQL 语法有误;请查看与您的 MySQL 服务器版本相对应的手册,了解正确的语法以使用 nea$
[2014 年 3 月 3 日星期一 11:49:03] [错误] [客户端 192.168.30.51] donn\xc3\xa9es WordPress 数据库错误您的 SQL 语法有误;请查看与您的 MySQL 服务器版本相对应的手册,了解正确的语法以使用 nea$
[2014 年 3 月 3 日星期一 16:39:10] [错误] [客户端 192.168.30.15] 文件不存在:/home/administrateur/www/censier/favicon.ico
[2014 年 3 月 3 日星期一 16:39:10] [错误] [客户端 192.168.30.15] 文件不存在:/home/administrateur/www/censier/favicon.ico
[2014 年 3 月 4 日星期二 06:34:26] [通知] 已请求优雅重启,正在重启
警告:DocumentRoot [/home/administrateur/www] 不存在
警告:DocumentRoot [/home/administrateur/www/adrexo] 不存在
警告:DocumentRoot [/home/administrateur/www/atd13] 不存在
警告:DocumentRoot [/home/administrateur/www/adrexo-blog] 不存在
警告:DocumentRoot [/home/administrateur/www/censier] 不存在
警告:DocumentRoot [/home/administrateur/www/friendship] 不存在
警告:DocumentRoot [/home/administrateur/www/nouvelle-marque] 不存在
警告:DocumentRoot [/home/administrateur/www/philanthropie] 不存在
警告:DocumentRoot [/home/administrateur/www/wordpress] 不存在
PHP 已弃用:/etc/php5/apache2/conf.d/ming.ini 第 1 行中第 0 行未知中的以“#”开头的注释已弃用
[2014 年 3 月 4 日星期二 06:34:26] [通知] Apache/2.2.22 (Ubuntu) PHP/5.3.10-1ubuntu3.10 已配置 Suhosin-Patch — 恢复正常运行
[2014 年 3 月 4 日星期二 09:10:09] [crit] [客户端 192.168.30.15] (13)权限被拒绝:/home/administrateur/.htaccess pcfg_openfile:无法检查 htaccess 文件,请确保其可读
[2014 年 3 月 4 日星期二 09:10:09] [crit] [客户端 192.168.30.15] (13)权限被拒绝:/home/administrateur/.htaccess pcfg_openfile:无法检查 htaccess 文件,请确保其可读
[2014 年 3 月 4 日星期二 09:10:09] [crit] [客户端 192.168.30.15] (13)权限被拒绝:/home/administrateur/.htaccess pcfg_openfile:无法检查 htaccess 文件,请确保其可读

这是我的 /etc/apache2/sites-available/default

        服务器管理员[电子邮件保护]

DocumentRoot /home/administrateur/www
        
                选项 FollowSymLinks
                允许覆盖全部
        
        
                选项索引 FollowSymLinks MultiViews
                允许覆盖全部
                命令允许、拒绝
                允许来自所有人
        

        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
        
                AllowOverride 无
                选项 +ExecCGI -MultiViews +SymLinksIfOwnerMatch
                命令允许、拒绝
                允许所有人
        

        错误日志 ${APACHE_LOG_DIR}/error.log

        # 可能的值包括:debug、info、notice、warn、error、crit、
        # 警报,紧急。
        日志级别警告

        CustomLog ${APACHE_LOG_DIR}/access.log 合并

    别名 /doc/“/usr/share/doc/”
    
        选项索引多视图FollowSymLinks
        AllowOverride 无
        命令拒绝、允许
        全部拒绝
        允许来自 127.0.0.0/255.0.0.0 ::1/128
    


这是我的 apache2.conf

#
# 基于 Rob McCool 最初编写的 NCSA 服务器配置文件。
#
# 这是 Apache 服务器的主配置文件。它包含
# 配置指令,为服务器提供指令。
# 有关以下详细信息,请参阅 http://httpd.apache.org/docs/2.2/
# 指令。
#
# 请勿在不理解的情况下简单地阅读此处的说明
# 它们的作用。它们在这里只是作为提示或提醒。如果你不确定
# 查阅在线文档。你已被警告。  
#
# 配置指令分为三个基本部分:
# 1. 控制 Apache 服务器进程作为
# 整体(“全球环境”)。
# 2. 定义“主”或“默认”服务器参数的指令,
# 响应虚拟主机未处理的请求。
# 这些指令还为设置提供了默认值
所有虚拟主机的数量。
# 3. 虚拟主机的设置,允许将 Web 请求发送到
# 不同的 IP 地址或主机名,并由
# 相同的 Apache 服务器进程。
#
# 配置和日志文件名:如果你为许多指定的文件名
# 服务器的控制文件以“/”(或 Win32 的“drive:/”)开头,
# 服务器将使用该显式路径。如果文件名不以
# 使用“/”,ServerRoot 的值被添加到前面——所以是“foo.log”
# 将 ServerRoot 设置为“/etc/apache2”将被解释为
# 服务器为“/etc/apache2/foo.log”。
#

### 第 1 节:全球环境
#
# 本节中的指令影响 Apache 的整体运行,
# 例如它可以处理的并发请求数,或者它在哪里
#可以找到它的配置文件。
#

#
# ServerRoot:服务器的目录树的顶部
# 配置、错误和日志文件被保留。
#
# 注意!如果您打算将其放在 NFS(或其他网络)上
# 已安装的文件系统,请阅读 LockFile 文档(可用
# 在 );
# 你会省去很多麻烦。
#
# 不要在目录路径末尾添加斜线。
#
#ServerRoot “/etc/apache2”

#
# 接受序列化锁文件必须存储在本地磁盘上。
#
锁定文件 ${APACHE_LOCK_DIR}/accept.lock

#
# PidFile:服务器应记录其进程的文件
#启动时的识别号。
# 这需要在 /etc/apache2/envvars 中进行设置
#
Pid文件 ${APACHE_PID_FILE}

#
# 超时:接收和发送超时前的秒数。
#
超时 300

#
# KeepAlive: 是否允许持续连接(超过
# 每个连接一个请求)。设置为“Off”以停用。
#
保持活动状态

#
# MaxKeepAliveRequests:允许的最大请求数
# 在持久连接期间。设置为 0 以允许无限制数量。
# 为了获得最佳性能,我们建议您将此数字保留为较高值。
#
最大KeepAliveRequests 100

#
# KeepAliveTimeout: 等待下一个请求的秒数
# 同一连接上的同一客户端。
#
KeepAliveTimeout 5

##
## 服务器池大小规定(MPM 特定)
##

# 预分叉 MPM
# StartServers:要启动的服务器进程数
# MinSpareServers:保持备用的最小服务器进程数
# MaxSpareServers:保持备用的最大服务器进程数
# MaxClients: 允许启动的最大服务器进程数
# MaxRequestsPerChild:服务器进程处理的最大请求数

    启动服务器 5
    最小备用服务器数 5
    最大备用服务器数 10
    最大客户数 150
    每个孩子的最大请求数 0


# 工作者 MPM
# StartServers:初始启动的服务器进程数
# MinSpareThreads:保持备用的最小工作线程数
# MaxSpareThreads:保持备用的最大工作线程数
#ThreadLimit: ThreadsPerChild 可以在一段时间内更改为此最大值
# 优雅重启。ThreadLimit 只能通过停止来更改
# 并启动 Apache。
# ThreadsPerChild:每个服务器进程中的工作线程数
# MaxClients:最大同时客户端连接数
# MaxRequestsPerChild:服务器进程处理的最大请求数

    启动服务器 2
    最小备用线程数 25
    最大备用线程数 75
    线程限制 64
    每个子线程数 25
    最大客户数 150
    每个孩子的最大请求数 0


# 事件 MPM
# StartServers:初始启动的服务器进程数
# MinSpareThreads:保持备用的最小工作线程数
# MaxSpareThreads:保持备用的最大工作线程数
# ThreadsPerChild:每个服务器进程中的工作线程数
# MaxClients:最大同时客户端连接数
# MaxRequestsPerChild:服务器进程处理的最大请求数

    启动服务器 2
    最小备用线程数 25
    最大备用线程数 75
    线程限制 64
    每个子线程数 25
    最大客户数 150
    每个孩子的最大请求数 0


# 这些需要在 /etc/apache2/envvars 中设置
用户 ${APACHE_RUN_USER}
组 ${APACHE_RUN_GROUP}

#
# AccessFileName:在每个目录中查找的文件的名称
# 附加配置指令。另请参阅 AllowOverride
# 指令。
#

访问文件名 .htaccess

#
# 以下几行阻止 .htaccess 和 .htpasswd 文件被
# 由 Web 客户端查看。
#

    命令允许、拒绝
    全部拒绝
    满足所有


#
# DefaultType 是服务器将用于文档的默认 MIME 类型
# 如果无法通过其他方式确定,例如根据文件扩展名。
# 如果你的服务器主要包含文本或 HTML 文档,则“text/plain”是
# 一个好值。如果你的大部分内容是二进制的,比如应用程序
# 或者图像,你可能想使用“application/octet-stream”来
# 防止浏览器尝试将二进制文件显示为
# 文本。
#
# 也可以省略任何默认的 MIME 类型,并让
# 客户端浏览器会猜测适当的操作。通常
# 浏览器将根据文件的扩展名来决定。在某些情况下
# 在没有好的假设的情况下,让默认的 MIME 类型
# 建议取消设置,而不是强制浏览器接受
# 不正确的元数据。
#
默认类型 无


#
# HostnameLookups:记录客户端的名称或仅记录其 IP 地址
# 例如,www.apache.org(打开)或 204.62.129.132(关闭)。
# 默认关闭,因为如果人们
# 必须故意打开此功能,因为启用它意味着
# 每个客户端请求将至少导致一个查找请求
# 名称服务器。
#
HostnameLookups 关闭

# ErrorLog:错误日志文件的位置。
# 如果你没有在中指定 ErrorLog 指令
# 容器,与该虚拟主机相关的错误消息将是
# 记录在这里。如果你*确实*为一个错误日志文件定义一个
# 容器,该主机的错误将记录在那里而不是这里。
#
错误日志 ${APACHE_LOG_DIR}/error.log

#
# LogLevel:控制记录到 error_log 的消息数量。
# 可能的值包括:debug、info、notice、warn、error、crit、
# 警报,紧急。
#
日志级别警告

#包含模块配置:
包括 mods-enabled/*.load
包括 mods-enabled/*.conf

# 包括所有用户配置:
包括 httpd.conf

# 包含端口列表
包括 ports.conf

#
# 以下指令定义了一些格式昵称,供使用
# CustomLog 指令(见下文)。
# 如果你使用反向代理,你可能需要将 %h 更改为 %{X-Forwarded-For}i
#
日志格式“%v:%p%h%l%u%t \“%r\”%>s%O \“%{Referer}i\” \“%{User-Agent}i\”” vhost_combined
LogFormat“%h%l%u%t \“%r\”%>s%O \“%{Referer}i\” \“%{User-Agent}i\””组合
LogFormat "%h %l %u %t \"%r\" %>s %O" 常见
LogFormat "%{Referer}i -> %U" 引用者
LogFormat "%{User-agent}i" 代理

# 目录的包含忽略编辑器和 dpkg 的备份文件,
# 请参阅 README.Debian 了解详情。

# 包含通用语句片段
包括 conf.d/

# 包括虚拟主机配置:
包括 sites-enabled/

# 修改重写

        重写引擎开启

ls -lah /home/administrateur/www/ 给我:

drwxrwx--- 21 管理员 管理员 4,0K 二月。 26 14:00。
drwxrwx--- 6 管理员 管理员 4,0K 3 月 4 日 10:08 ..
drwxrwx--- 7 管理员 管理员 4,0K 二月。 26 14:02 阿德雷克索
drwxrwx--- 6 管理员 管理员 4,0K 二月。 25 17:14 adrexo 博客
drwxrwx--- 6 管理员 管理员 4,0K 二月。 26 13:58 adrexo-博客公司
drwxrwx--- 5 管理员 管理员 4,0K 二月。 19 16:10 adrexo-blog_save
drwxrwx--- 5 管理员 管理员 4,0K 二月。 19 16:10 adrexo_保存
drwxrwx--- 5 管理员 管理员 4,0K 3 月 3 日 10:10 atd13
drwxrwx--- 5 管理员 管理员 4,0K 3 月 3 日 16:39 点
drwxrwx--- 5 管理员 管理员 4,0K 二月。 19 16:25 censier_test
drwxrwx--- 5 管理员 管理员 4,0K 二月。 19 16:10 红色十字
drwxrwx--- 6 管理员 管理员 4,0K 二月。 20 19:11 友谊
-rwxrwx--- 1 管理员 管理员 2月19日24 16:48 索引.php
drwxrwx--- 5 管理员 管理员 4,0K 2011年8月9日 nouvellemarque
drwxrwx--- 5 管理员 管理员 4,0K 二月。 18 18:47 新品牌
drwxrwx--- 5 管理员 管理员 4,0K 二月。 24 17:24 慈善事业
drwxrwx--- 5 管理员 管理员 4,0K 二月。 19 16:32 慈善_
drwxrwx--- 23 管理员 管理员 12K 2013年5月30日 prestashop
drwxrwx--- 5 管理员 管理员 4,0K 二月。 19 16:12 沙盒
drwxrwx--- 5 管理员 管理员 4,0K 2011 年 8 月 9 日 surlepont
drwxrwx--- 2 管理员 管理员 4,0K 二月。 18 15:38 vhosts 无法删除
drwxrwx--- 5 管理员 管理员 4,0K 二月。 24 17:44 WordPress

谢谢你的帮助

答案1

声音就像您可能在设置 Ubuntu 时选择加密您的主目录一样。

如果是这种情况,则只有在您登录机​​器​​后,您的主目录才可访问,而您注销后,它将很快无法访问。

对于必须随时提供文件的目录来说,这不是一个合适的设置;你应该加密整个硬盘而是使用启动时密码。(请注意,此功能在 12.04 LTS 中不可用,仅在 12.10 中可用。)

要恢复此,尝试一下ecryptfs-setup-private --undo,它将为您提供撤消加密主目录的过程。

答案2

日志条目给出了严重错误以及解决方案:

Permission denied: /home/administrateur/.htaccess pcfg_openfile: unable to check htaccess file, ensure it is readable

这看起来像是实际 .htaccess 文件上的错误权限,或者 apache 对您的主目录的权限不足,无法执行目录列表来检查这样的文件是否存在。

我认为您不希望 apache 在那里寻找 htaccess 文件,但是 apache 不仅在 www 子目录中检查 htaccess 文件是否存在,而且也在您的主目录中检查 htaccess 文件是否存在,这很奇怪,可能是因为您的 DocumentRoot 规范?

DocumentRoot /home/administrateur/www

应该

DocumentRoot "/home/administrateur/www"

相关内容