主 DocumentRoot 拒绝进入,我尝试了所有方法

主 DocumentRoot 拒绝进入,我尝试了所有方法

我现在很沮丧,因为我已经删除了所有默认虚拟主机并进行了所有必要的更改,但主 DocumentRoot 却拒绝离开

root@example:/etc/apache2# apache2ctl -S
VirtualHost configuration:
*:80                   dev.example.com (/etc/apache2/sites-enabled/dev.example.com.conf:1)
*:443                  dev.example.com (/etc/apache2/sites-enabled/dev.example.com.ssl.conf:2)
ServerRoot: "/etc/apache2"
Main DocumentRoot: "/var/www"
Main ErrorLog: "/var/log/apache2/error.log"
Mutex mpm-accept: using_defaults
Mutex watchdog-callback: using_defaults
Mutex rewrite-map: using_defaults
Mutex ssl-stapling: using_defaults
Mutex ssl-cache: using_defaults
Mutex default: dir="/var/lock/apache2" mechanism=fcntl
PidFile: "/var/run/apache2/apache2.pid"
Define: DUMP_VHOSTS
Define: DUMP_RUN_CFG
User: name="www-data" id=33
Group: name="www-data" id=33

我没有任何默认的东西

root@example:/etc/apache2# ls -lha sites-enabled/
total 8.0K
drwxr-xr-x 2 root root 4.0K May  5 15:12 .
drwxr-xr-x 9 root root 4.0K May  5 15:03 ..
lrwxrwxrwx 1 root root   48 May  5 15:01 dev.example.com.conf -> ../sites-available/dev.example.com.conf
lrwxrwxrwx 1 root root   52 May  5 15:12 dev.example.com.ssl.conf -> ../sites-available/dev.example.com.ssl.conf

我声明了我想要的 DocumentRoot 应该在 vhosts 中

<VirtualHost *:80>
    ServerAdmin [email protected]
    ServerName dev.dev.example.com
    Redirect permanent / https://dev.dev.example.com/


    <Directory />
        Options +FollowSymLinks
        AllowOverride All
    </Directory>

    DocumentRoot /var/www/owncloud
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

<VirtualHost *:443>
#               ServerAdmin webmaster@localhost
                ServerName dev.dev.example.com
                DocumentRoot /var/www/owncloud

                # Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
                # error, crit, alert, emerg.
                # It is also possible to configure the loglevel for particular
                # modules, e.g.
                #LogLevel info ssl:warn


                <Directory />
                    Options +FollowSymLinks
                    AllowOverride All
                </Directory>
...
...
...
</VirtualHost>

这是 owncloud.conf

Alias / "/var/www/owncloud/"
<Directory "/var/www/owncloud">
  Options +FollowSymLinks
  AllowOverride All

  <IfModule mod_dav.c>
        Dav off
  </IfModule>

  SetEnv HOME /var/www/owncloud
  SetEnv HTTP_HOME /var/www/owncloud
</Directory>

<Directory "/var/www/owncloud/data/">
  # just in case if .htaccess gets disabled
    Require all denied
</Directory>

那么我下一步该做什么呢,因为主 DocumentRoot 不会消失

答案1

首先,我们要确保您的网站可以正常运行,然后我们才能真正开始。以下是我希望您遵循的一些步骤,以便我们可以测试它。

首先进入/var/www/文件夹并将 owncloud 重命名为 owncloud-test。创建一个名为 owncloud 的新文件夹。打开该文件夹并创建一个名为 index.html 的文件。打开该文件并在其中输入“This is a test”并保存。

现在确保在 www 文件夹上正确设置权限,在终端中输入以下内容:

sudo chown -R www-data:www-data /var/www

完成后输入

sudo service apache2 restart

然后打开网络浏览器并转到

http://localhost

这将弹出一个白页,上面写着“这是一个测试”

如果没有,请告诉我该页面在浏览器中出现了什么错误,并检查 /var/log/apache2/error.log 并查看其中是否列出了错误。

如果它有效,请告诉我,我将尽力帮助您让 owncloud 正常工作。

此时沟通停止了,所以我只认为它起作用了,并解释如何放回原始的 owncloud,并确保文件夹的所有者是正确的,这样 owncloud 才能正常工作。

返回/var/www文件夹..删除我们刚刚创建的 owncloud 文件夹。将 owncloud-test 文件夹重命名为 owncloud。sudo chown -R www-data:www-data /var/www再次运行以确保重命名或更改任何内容时所有者没有发生变化。

现在你应该可以开始了……当你进入时,http://localhost它应该会启动 owncloud 登录屏幕。你应该能够通过任何连接到你网络的计算机通过你的计算机本地 IP 地址访问它,例如...如果你的计算机在网络上的本地地址是 192.168.0.20,那么你网络上的任何其他计算机都可以通过使用访问 owncloud。http://192.168.0.20如果你想要从网络访问它,你必须在你的路由器上打开适当的端口,这里我就不多说了

相关内容