Raspian 10(Buster)
Apache 2.4.38
lighttpd 1.4.53
我之前安装了 lighttpd,它运行起来没有问题。今天我安装了 apache,这样我就可以运行 ownCloud 了。我顺利完成了 apache、owncloud 和 owncloud 依赖项的安装过程。初始安装后,我能够通过 192.168.1.10/owncloud (/var/www/html/owncloud) 访问 owncloud 管理设置页面,但遇到了 PHP 错误。我意识到 lighttpd 正在使用 127.0.0.1 环回上的端口 80,并阻止 apache 正确加载。所以我将 lighttpd 切换到端口 8080。重新启动服务后,它正常运行。我重新启动了 apache,此时我无法通过 80 上的 apache 访问任何文件。
未找到。在此服务器上未找到请求的 URL。Apache/2.4.38 (Raspbian) 服务器位于 192.168.1.10 端口 80
我对 apache 运行检查以确保其配置正确。
systemctl status apache2
结果很好,apache2ctl -t
返回 OK。所以一切看起来都很好。所以我将 apache 日志报告更改为调试并查看日志文件:
访问日志:
192.168.1.20 - - [05/May/2020:18:38:35 -0900] "GET /index.php HTTP/1.1" 404 496 "http://192.168.1.10/"
错误日志:
[Tue May 05 18:38:35.852298 2020] [core:info] [pid 703:tid 2882475040] [client 192.168.1.20:55977] AH00128: File does not exist: /var/www/owncloud/index.php, referer: http://192.168.1.10/
仍然没有什么明显的发现。我重启了。文档根目录下也没有加载 I'm alive!。我查看了所有的 apache 配置文件,但什么也没看到,而且我搜索了很多次。我知道这是一个简单的问题,但就是搞不清楚。
我知道我忽略了一些基本的东西,但我无论如何也发现不了。任何帮助我都感激不尽!
编辑:尾部输出:
#</Directory>
# AccessFileName: The name of the file to look for in each directory
# for additional configuration directives. See also the AllowOverride
# directive.
#
AccessFileName .htaccess
#
# The following lines prevent .htaccess and .htpasswd files from being
# viewed by Web clients.
#
<FilesMatch "^\.ht">
Require all denied
</FilesMatch>
#
# The following directives define some format nicknames for use with
# a CustomLog directive.
#
# These deviate from the Common Log Format definitions in that they use %O
# (the actual bytes sent including headers) instead of %b (the size of the
# requested file), because the latter makes it impossible to detect partial
# requests.
#
# Note that the use of %{X-Forwarded-For}i instead of %h is not recommended.
# Use mod_remoteip instead.
#
LogFormat "%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\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %O" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent
# Include of directories ignores editors' and dpkg's backup files,
# see README.Debian for details.
# Include generic snippets of statements
IncludeOptional conf-enabled/*.conf
答案1
以下是我的 vhost 文件的样子:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
<Directory /var/www/html>
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Require all granted
</Directory>
</VirtualHost>
答案2
我解决了这个问题。不确定问题是什么,但这是一个非常基本的问题,要么在配置文件中,要么在所有权/权限中。我通过在另一台机器上安装另一个 Apache 实例,然后复制配置和索引文件来解决这个问题。我不知道根本原因是什么,但是……现在一切都解决了。
答案3
这是我所做的:
21 wget "https://download.owncloud.org/community/owncloud-10.4.1.tar.bz2"
22 tar -xvjf owncloud-10.4.1.tar.bz2
23 rm /var/www/html/index.html
24 mv owncloud/* /var/www/html
25 apt search php apache2
26 apt install libapache2-mod-php
27 service apache2 restart
28 apt install php7.3-zip php7.3-xml php7.3-intl php7.3-zip php7.3-gd php7.3-curl php7.3-mysql php7.3-mbstring
29 service apache2 restart
使用默认设置,apache2 立即启动 owncloud。我想,你最好:rm -r /var/www/html/*
,,,。也许你需要对 php 做同样的事情。apt purge apache2
rm -r /etc/apache2
apt install php7.3-zip php7.3-xml php7.3-intl php7.3-zip php7.3-gd php7.3-curl php7.3-mysql php7.3-mbstring libapache2-mod-php apache2