Multe configurații de server web se confruntă cu probleme legate de permisiunile de fișiere. De multe ori face serverul inaccesibil vizitatorilor și se manifestă sub forma unei erori 403. De obicei, mesajul de eroare este ceva de genul „Interzis: nu aveți permisiunea de a accesa / pe acest server”. Această eroare poate restricționa, de asemenea, accesul la alte rute de pe server, cum ar fi /directory.
Probleme similare pot apărea și din cauza problemelor din fișierul de configurare Apache sau chiar din cauza unei corupții .htaccess fişier. Acest ghid oferă soluții pas cu pas pentru toate aceste probleme. Încercați-le pe rând, începând de la prima soluție.
Ce cauzează această eroare Apache 403?
Aceasta este o eroare 403 destul de comună la capătul lui Apache cauzată de o multitudine de probleme. Cu toate acestea, în majoritatea cazurilor, această eroare apare din cauza lipsei permisiunilor adecvate necesare pentru a accesa public un site. În afară de aceasta, site-urile WordPress se confruntă adesea cu această problemă din cauza unei probleme .htaccess fişier.
Mai mult, de la versiunea 2.4 a Apache, au existat unele modificări în modul de funcționare a directivelor. Acest lucru poate restricționa, de asemenea, accesul public la site-ul dvs. web și poate duce la o eroare interzisă 403.
1. Remediați permisiunile de fișier pentru a evita eroarea
Majoritatea oamenilor se confruntă cu această eroare comună 403 din cauza lipsei permisiunilor adecvate. Dacă administratorul site-ului uită să permită accesul la citire în lumea exterioară, atunci utilizatorii finali nu vor putea accesa resursa solicitată. Aceasta este adesea cauza principală a acestei erori.
În schimb, dacă sunteți administrator de site, trebuie să vă asigurați că fișierele destinate accesului public au permisiuni de citire adecvate. Altfel, dacă vă confruntați cu această eroare pe un site public, informați administratorul site-ului pentru a rezolva această problemă.
Setarea permisiunilor corecte pentru fișierele accesibile publicului poate fi un pic dificilă. De aceea, administratorii ar trebui să înceapă cu permisiuni absolut zero și să le adauge după cum este necesar. Este o idee bună să aveți foldere cu modul permisiune de 755 și fișiere cu 644.
Pentru un site web simplu, directoarele trebuie să aibă a executa permisiunea și fișierele ar trebui să aibă citit permisiune. Asigurați-vă că nu dați permisiunea de executare pentru fișiere. Utilizatorii rău intenționați pot obține acces nedorit la serverele publice prin intermediul acestor fișiere. Modul permisiune pentru Citit, Scrie și A executa accesul este 4, 2 și, respectiv, 1.
Deci, un mod de permisiune de 755 pe directoare înseamnă că numai proprietarul are acces complet la conținutul directorului. Utilizatorii grupului și alții pot citi și executa numai. În mod similar, modul de permisiune 644 pentru fișiere oferă acces de citire și scriere proprietarului și acces de citire numai tuturor celorlalți.
Pentru a rezolva această eroare, remediați permisiunile directorului webroot. Comanda de mai jos folosește utilitarul chmod pentru a seta permisiunile de director la 755.
sudo find / var / www / html -type d -exec chmod 755 {} \;
Această comandă presupune că utilizați rădăcina implicită a documentului Apache pentru a vă păstra site-ul web. Dacă utilizați un alt director, înlocuiți numele directorului în consecință. Utilizați comanda de mai jos pentru a schimba toate permisiunile fișierului la 644.
sudo find / var / www / html -type f -exec chmod 644 {} \;
Comanda de mai sus folosește utilitarul find pentru a localiza fișiere individuale și setează permisiunea corectă prin chmod. Sfarsitul {} \ deține căile de fișiere returnate de comanda find, si punct şi virgulă (;) marchează sfârșitul iterației. În cele din urmă, reporniți serverul Apache pentru ca modificările dvs. să poată avea efect.
sudo systemctl reporniți apache2.service
Această comandă repornește serverul Apache pe Ubuntu. Cu toate acestea, multe distribuții bazate pe RPM, cum ar fi RHEL sau CentOS, instalează Apache ca httpd. Pentru astfel de sisteme, utilizați în schimb următoarea comandă:
sudo systemctl reporniți httpd
2. Remediați fișierul .htaccess pentru site-ul dvs. WordPress
.htaccess fișierul servește ca un fișier de configurare distribuit și îi spune lui Apache cum să gestioneze lucruri cum ar fi modificările de configurare pe director. Uneori, acest fișier se poate deteriora și poate duce la eroarea „nu aveți permisiunea de a accesa pe acest server”.
Din fericire, dacă asta cauzează eroarea 403 pe serverul dvs., puteți remedia cu ușurință acest lucru, creând un nou fișier .htaccess. Pentru a crea un nou fișier .htaccess pentru site-ul dvs. web, mai întâi, conectați-vă la tabloul de bord WordPress. Apoi, faceți clic pe Setări> Legături permanente.
Nu trebuie să faceți modificări suplimentare aici. Doar faceți clic pe Salvează modificările butonul și WordPress vor genera un fișier .htaccess proaspăt pentru dvs.
Deci, oricând vă confruntați cu problema de mai sus, încercați să creați un nou fișier .htaccess. Metoda .htaccess funcționează de obicei bine pentru site-urile web WordPress.
3. Configurați Directivele în fișierul de configurare Apache
Apache 2.4 folosește un nou modul de configurare numit mod_authz_host. Acest modul expune mai multe directive noi. Pe scurt, aceasta implementează următoarele reguli:
- Solicitați toate acordate: Permiteți toate cererile
- Solicitați toate refuzate: Refuză toate cererile
- Necesită gazdă safe.com: Permiteți solicitările numai de la safe.com
Dacă utilizați Apache 2.4, asigurați-vă că fișierul dvs. principal de configurare conține următorul bloc de cod. Puteți verifica conținutul acestui fișier folosind un editor de text simplu, cum ar fi Vim. Adăugați acest bloc în fișierul de configurare dacă lipsesc. Atunci poti salvați și ieșiți din Vim.
vim /etc/apache2/apache2.conf
Opțiuni FollowSymLinks
AllowOverride Nici unul
Solicitați toate refuzate
AllowOverride Nici unul
Solicitați toate acordate
Opțiuni Indexuri FollowSymLinks
AllowOverride Nici unul
Solicitați toate acordate
Mai mult, dacă rulați un server web bazat pe RHEL, trebuie să facilitați accesul la /var/www din fișierul de configurare Apache. Deci, asigurați-vă că /etc/httpd/conf/httpd.conf fișierul conține următorul bloc de cod.
vim /etc/httpd/conf/httpd.conf
AllowOverride Nici unul
Solicitați toate acordate
În cele din urmă, reporniți serverul Apache folosind una dintre următoarele comenzi.
# pentru Ubuntu și Debian
sudo systemctl reporniți apache2.service
# pentru RHEL și CentOS
sudo systemctl reporniți httpd
Remediați eroarea de autorizare a serverului Apache
Mulți oameni se confruntă cu problema de mai sus atunci când accesează site-uri web publice sau își configurează propriile site-uri. Acest ghid a acoperit mai multe remedieri pentru această problemă. Resetarea permisiunii sistemului de fișiere pentru Apache ar trebui să fie prima soluție. Dacă eroarea persistă chiar și după modificarea permisiunilor, încercați să creați una nouă .htaccess fișierul și asigurați-vă că directivele sunt setate corect în fișierul de configurare Apache.
Există mult mai multe probleme care pot duce la o eroare la nivel de server similară cu aceasta. Trebuie să fiți abil la soluționarea problemelor legate de serverele Linux pentru a vă pune serverul în funcțiune în astfel de situații.
Recuperați și rulați serverul Linux în câteva minute cu aceste sfaturi inteligente de depanare.
Citiți în continuare
- Linux
- Server Apache
- Server Web
- Linux
- Depanare
- Erori Linux
Rubaiat este un absolvent CS cu o pasiune puternică pentru open-source. Pe lângă faptul că este un veteran Unix, el este, de asemenea, interesat de securitatea rețelelor, criptografie și programare funcțională. Este un colecționar avid de cărți second-hand și are o admirație nesfârșită pentru rockul clasic.
Aboneaza-te la newsletter-ul nostru
Alăturați-vă newsletter-ului pentru sfaturi tehnice, recenzii, cărți electronice gratuite și oferte exclusive!
Încă un pas…!
Vă rugăm să confirmați adresa de e-mail în e-mailul pe care tocmai vi l-am trimis.