Acasă
» ADMIN. REȚEA
»
Remediați în siguranță avertismentul ownCloud Apache AllowOverride All
Remediați în siguranță avertismentul ownCloud Apache AllowOverride All
Dacă ownCloud raportează că setarea Apache AllowOverride Alllipsește, adăugați-o în <Directory>blocul Apache care corespunde căii de instalare ownCloud, testați configurația și reîncărcați Apache. Într-o instalare tipică de Debian sau Ubuntu, setarea aparține gazdei virtuale ownCloud active sau blocului de director corespunzător din configurația Apache. Nu activați suprascrierile pe întregul server doar pentru a șterge un singur avertisment.
În ownCloud Server (Classic), Apache trebuie să aibă permisiunea de a citi regulile de instalare .htaccess. Aceste reguli acceptă rescrierea URL-urilor și ajută la protejarea căilor sensibile. Prin urmare, o regulă lipsă sau ineficientă poate afecta atât URL-urile curate, cât și verificarea de securitate pentru directorul de date. Acest ghid se aplică serverului ownCloud care utilizează serverul HTTP Apache; nu se aplică Nginx, ownCloud Infinite Scale sau unei configurații de găzduire în care configurația Apache este controlată de un furnizor.
Asigurați-vă mod_rewritecă este activat dacă configurația dvs. o necesită
Confirmă că avertismentul a dispărut
Reîncărcați prezentarea generală de administrare a ownCloud după testarea adresei URL afectate
Ce înseamnă avertismentul
Directiva Apache AllowOverridedecide dacă directivele din .htaccessfișiere au voie să afecteze cererile. Apache onorează doar AllowOverrideinteriorul unei <Directory>secțiuni; plasarea liniei la nivelul superior al unei gazde virtuale sau într-un bloc fără legătură nu o va activa pentru fișierele ownCloud. O <Directory>regulă mai largă, o regulă mai specifică sau o altă gazdă virtuală activată poate însemna, de asemenea, că setarea pe care ați editat-o nu este cea care deservește cererea.
Ghidul actual de instalare ownCloud pentru Server 10.16 apare AllowOverride Allîn blocul de director pentru rădăcina documentului ownCloud. „Toate” permite clasele de suprascriere acceptate de modulele Apache în acel domeniu de aplicare. Păstrați această permisiune limitată la directorul ownCloud, în loc să modificați politica globală a sistemului de fișiere Apache. Manualul Apache descrie, de asemenea, permisiuni AllowOverrideListpentru administratorii care doresc să permită doar anumite directive, dar o listă restrânsă necesită teste atente de compatibilitate cu versiunea ownCloud și .htaccessregulile sale livrate.
Un exemplu de gazdă virtuală plasează AllowOverride Allîn interiorul blocului de director for /var/www/owncloud.
Înainte de a schimba Apache
Confirmați că produsul este ownCloud Server (Classic) și identificați calea exactă a sistemului de fișiere pentru rădăcina sa web. O adresă URL, cum ar fi, /cloudpoate fi mapată printr-un Apache Aliascătre un director diferit de pe disc.
Găsiți gazda virtuală activă și fișierul de configurare. Pe Debian sau Ubuntu, locațiile comune includ /etc/apache2/sites-available/și /etc/apache2/apache2.conf. Pe sistemele din familia RHEL, configurația Apache se află de obicei sub /etc/httpd/. Panourile și containerele de găzduire pot utiliza alte căi.
Faceți o copie de rezervă a fișierului înainte de editare și păstrați toate directivele TLS, proxy, control al accesului și ownCloud existente.
Verificați dacă o altă AllowOverride Noneregulă de director se aplică aceleiași căi. Nu editați un fișier de site implicit care nu este activat pentru numele de gazdă ownCloud.
Repararea unui server Apache autogestionat
1. Editați configurația activă
Pe Debian sau Ubuntu, deschideți gazda virtuală care deservește numele de gazdă ownCloud, de exemplu:
În acel fișier, găsiți sau adăugați o <Directory>secțiune pentru directorul de instalare ownCloud. Acest exemplu minimal arată plasarea relevantă; păstrați orice directive suplimentare deja necesare de serverul dvs.:
<Directory /var/www/owncloud/>
Options +FollowSymlinks
AllowOverride All
Require all granted
</Directory>
Înlocuiți /var/www/owncloud/cu calea reală. Dacă Apache mapează o adresă URL cu Alias, configurați directorul sistemului de fișiere care conține fișierele ownCloud, nu doar calea URL. Ghidul de instalare Apache al ownCloud include note suplimentare de configurare; utilizați exemplul care corespunde versiunii dvs. ownCloud și configurării PHP.
2. Verificați modulele și sintaxa
Pentru URL-uri curate fără index.php, documente ownCloud mod_rewriteși mod_envca cerințe preliminare. Pe Debian sau Ubuntu, activați modulul de rescriere dacă nu este deja activ:
sudo a2enmod rewrite
sudo apachectl -t
Testul de configurare ar trebui să se încheie cu Syntax OK. Dacă raportează o eroare, remediați eroarea respectivă înainte de reîncărcare. O verificare sintactică reușită dovedește că Apache își poate analiza configurația; nu dovedește că gazda virtuală corectă este activă sau că procesul care rulează a încărcat fișierul editat.
Testul de configurare Apache ar trebui să returneze Syntax OKînainte de a reîncărca serviciul.
3. Reîncărcați Apache și testați ownCloud
Pe Debian sau Ubuntu, reîncărcați Apache după ce verificarea sintaxei are succes:
sudo systemctl reload apache2
Pentru sistemele din familia RHEL, serviciul este denumit în mod obișnuit httpd, așadar folosiți numele serviciului corespunzător și comanda configuration-test a distribuției. Nu copiați comenzile specifice Debian pe un alt sistem fără a confirma aspectul serviciului său.
Deschideți numele de gazdă ownCloud într-un browser și testați o pagină care a necesitat anterior rescriere. Dacă serverul folosește un prefix de cale, cum ar fi /cloud, testați și adresa URL prefixată. O buclă de redirecționare, un răspuns 403 sau o eroare Apache 500 înseamnă că configurația necesită încă investigare; verificați jurnalul de erori Apache și jurnalul ownCloud, în loc să modificați în mod repetat directivele fără legătură.
Activați mod_rewritedoar când este necesar, apoi reîncărcați serviciul Apache după o verificare sintactică reușită.
Dacă avertismentul persistă
Simptom
Următoarea verificare
Avertismentul rămâne și după reîncărcare
Confirmați că gazda virtuală editată este activată și deservește numele de gazdă; inspectați apachectl -Sși verificați dacă există o regulă de director de nivel inferior sau mai specifică.
URL-urile curate includ în continuareindex.php
Verificați dacă mod_rewriteeste activată, dacă directorul ownCloud are permisiunea de suprascriere dorită și dacă baza de rescriere a ownCloud se potrivește cu calea URL.
Pagina de administrare spune că directorul de date ar putea fi accesibil publicului.
Verificați dacă directorul de date se află în afara rădăcinii web, acolo unde este posibil. În caz contrar, confirmați că directorul de date livrat .htaccessexistă, este lizibil și este respectat de Apache; nu considerați ștergerea avertismentului ca un substitut pentru protejarea directorului.
Apache returnează 500 sau raportează „nu este permis aici”
Citiți jurnalul de erori Apache. O directivă din [next] .htaccesspoate să nu fie permisă de clasele active de suprascriere sau un modul necesar poate să nu fie disponibil.
Rularea într-un container sau o gazdă gestionată
Verificați configurația Apache documentată a imaginii sau panoul de control al furnizorului. Un fișier Apache la nivel de gazdă poate să nu fie serverul care gestionează cererile.
Dacă ownCloud raportează că .htaccessfișierul său nu poate fi actualizat, verificați dreptul de proprietate și permisiunile de scriere în raport cu instrucțiunile de actualizare și securizare ale ownCloud înainte de a le modifica. Evitați să faceți întreaga instalare accesibilă serverului web ca o comandă rapidă. Documentația ownCloud menționează că detaliile de configurare variază în funcție de instalare și că PHP-FPM nu utilizează setările PHP din .htaccess; setările pentru acest caz aparțin din .user.ini. Această distincție PHP nu înlocuiește în sine necesitatea Apache de a procesa regulile de rescriere și acces ownCloud.
Listă de verificare
Calea <Directory>se potrivește exact cu fișierele ownCloud de pe disc.
Blocul corespunzător conține AllowOverride All, și nicio regulă activă în conflict nu are prioritate.
sudo apachectl -treturnează Syntax OK.
Apache a fost reîncărcat folosind numele de serviciu corect.
Pagina de conectare ownCloud și o adresă URL afectată anterior se încarcă prin HTTPS așa cum era de așteptat.
Prezentarea generală de administrare nu mai afișează același avertisment după reîmprospătare, iar directorul de date rămâne inaccesibil de pe web-ul public.
Un exemplu de pagină de conectare ownCloud la numele de gazdă configurat; confirmați starea actuală de avertizare în propria prezentare generală de Administrare.