主 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 應該位於虛擬主機中

<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 的檔案 開啟該檔案並在其中鍵入「這是一個測試」並儲存。

現在確保 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,那麼您網路上的任何其他電腦都可以使用http://192.168.0.20If訪問owncloud您希望可以從網絡訪問它,您必須在路由器中打開正確的端口,我不會在這裡介紹

相關內容