安全地清除 ownCloud Apache .htaccess 警告
僅對 ownCloud 的 Web 根目錄設定 AllowOverride All,驗證活動的 Apache 虛擬主機,然後安全地重新載入以恢復 .htaccess 規則。
對於託管在 Apache 上的 ownCloud Classic 安裝,若要解決「AllowOverride All」或「.htaccess 不起作用」的警告,請在活動虛擬主機中 ownCloud Web 根目錄的AllowOverride All對應 Apache<Directory>設定區塊中進行設定。測試 Apache 配置,重新載入服務,並刷新 ownCloud 的管理概覽。請勿為整個檔案系統啟用覆蓋。

Apache 的AllowOverride指令控制哪些設定.htaccess可以套用到檔案中。如果停用 ownCloud 目錄的覆蓋,Apache 可以忽略 ownCloud 提供的.htaccess檔案中的規則。這可能會影響重寫規則和安全性規則,因此 ownCloud 目前的 10.16 版本手冊AllowOverride All在其 Apache 設定範例中包含了相關說明。
該指令僅在 Apache 配置段中有效<Directory>。它不能位於 `<head>` 標籤內.htaccess、` <Location><body>` 標籤區塊或 URL 路徑中。 Apache 也提醒管理員不要在全域<Directory "/">設定區塊中啟用覆蓋設定;而應將設定範圍限定在 ownCloud 安裝目錄。請參閱ownCloud 10.16 Apache 安裝指南和 ApacheAllowOverride參考文件。
/var/www/owncloud。使用 Apache 提供的檔案系統路徑,而不是瀏覽器 URL,例如/owncloud。/etc/apache2/sites-available/owncloud.conf;其他發行版使用的路徑可能不同。在 Debian 或 Ubuntu 系統上,sudo apachectl -S它會列出 Apache 的虛擬主機及其設定檔。這有助於避免在 HTTPS 虛擬主機繼續為 ownCloud 提供服務時,誤編輯未使用的預設網站。
開啟目前虛擬主機設定文件,找到現有的 ownCloud<Directory>部分。新增或修改其中的對應行。對於標準安裝/var/www/owncloud,相關部分可能如下所示:
DocumentRoot /var/www/owncloud
<Directory /var/www/owncloud/>
Options +FollowSymLinks -Indexes
AllowOverride All
Require all granted
</Directory>
請將此設定合併到您現有的配置中,而不是用這個簡短的範例取代整個虛擬主機。如果您的 ownCloud 目錄位於其他位置,請將兩條路徑都替換為實際路徑。 Apache 要求目錄路徑與它用於檔案的檔案系統路徑相符。
All允許檔案中允許的任何指令.htaccess覆蓋此目錄中的伺服器設定。權限範圍很廣,因此請將此權限區塊限制在 ownCloud 網站根目錄。不要為了消除警告而更改此權限區塊,例如AllowOverride None用於其他網站或無關網站。//var/www
在 Debian 或 Ubuntu 系統上,ownCloudmod_rewrite會根據需要提供 Apache 設定文件。如果 Apache 未啟用,請使用下列命令啟用:
sudo a2enmod rewrite
然後,在套用配置之前,請先檢查配置:
sudo apachectl -t
僅當 Apache 報告錯誤時才繼續Syntax OK。重新載入 Apache 以便其讀取更新後的虛擬主機:
sudo systemctl reload apache2
對於使用httpd服務名稱的發行版,請改用該發行版的設定測試和重新載入指令。返回 ownCloud 的「設定」>「管理」>「概覽」並重新整理頁面。如果 Apache 正在讀取已編輯的虛擬主機並處理 ownCloud 的配置,則警告應該會消失.htaccess。



sudo apachectl -S並確認修改後的檔案與 ownCloud 使用的主機名稱和連接埠相符。AllowOverride All不符合的程式碼區塊中的一行無效。<Directory /path/to/owncloud/>節,並且路徑與安裝目錄相符。 Apache 會忽略AllowOverride`in`.htaccess和 ` <Location>.`。occ maintenance:update:htaccess。例如,以 Web 伺服器使用者身分從 ownCloud 目錄執行該文件sudo -u www-data php occ maintenance:update:htaccess。 Web 伺服器使用者必須具有寫入.htaccess此更新所提供檔案的權限。請勿將該檔案設定為全域可寫入;請根據您的安裝指南更正其所有權或權限。.htaccess如果缺少相應的模組或指令本身不被允許,則該指令仍然可能失敗。請使用錯誤日誌來確定具體的模組或規則。ownCloud 文件中說明的無需 index.php 的 URL 設定也需要 `<path>` mod_rewrite、mod_env`<path>` 和可寫根目錄.htaccess;這是一個相關的重寫配置,並非將重寫範圍擴展到 ownCloud 目錄之外的理由。如果您的設定使用 PHP-FPM,請遵循 ownCloud 針對該安裝的最新指南,而不是修改 PHP 處理程序來解決 Apache 重寫警告。如果警告指出資料目錄可能公開可訪問,請驗證資料目錄是否位於 Web 根目錄之外,或者是否受到明確的 Apache 規則保護;.htaccess僅清除警告並不能證明私有檔案無法直接要求。
有關已記錄的行為和平台限制,請參閱 ownCloud 的無 index.php URL 指南及其OCC 命令參考。
僅對 ownCloud 的 Web 根目錄設定 AllowOverride All,驗證活動的 Apache 虛擬主機,然後安全地重新載入以恢復 .htaccess 規則。
啟用 ownCloud 的企業審計應用程序,將 admin_audit 事件路由到受保護的日誌文件,並確認正在記錄真實使用者的操作。
讓 Keycloak 的 realm 頒發者、Web 用戶端和使用者聲明保持一致,以便 ownCloud Infinite Scale 能夠可靠地在 Web 和行動用戶端上登入使用者。
使用 ownCloud 的 occ 指令傳輸擁有的檔案和要傳出的共享,以了解哪些內容會保留下來,並在刪除舊帳戶之前驗證存取權限。
了解何時需要關注 ownCloud 10 資料庫索引,如何安全地應用受支援的架構更新,以及何時查詢調優或資料庫變更是更好的解決方案。
透過外部儲存將 Windows 或 Samba 網路共用連接到 ownCloud,驗證憑證,並安全地排查無法存取的資料夾問題。
刪除一個帳戶或所有使用者的所有已儲存的 ownCloud Server Classic 檔案版本,並區分完全清除和基於保留期限的過期。
以正確的順序檢查伺服器 URL、手機網路、HTTPS 端點和伺服器日誌,即可追蹤 ownCloud 行動連線被拒絕的原因。
將按需作業運行替換為 systemd 定時器,該定時器每 15 分鐘執行一次 ownCloud 支援的 occ system:cron 命令。
透過 Apache、Nginx 或反向代理程式追蹤 WebDAV 請求,然後使用經過驗證的 PROPFIND 測試確認 ownCloud 同步功能正常。