Linux'ta Apache 403 Yasak Hatası Nasıl Düzeltilir
Apache web sunucusu, kararlılığı ve güvenilirliği sayesinde en popüler ve yaygın olarak kullanılan açık kaynaklı web sunucularından biridir. Web sunucusu, özellikle web barındırma platformlarında büyük bir pazara hakimdir.
Ancak web sitenizi kurduktan sonra tarayıcınızda “Yasak – Bu sunucuya erişim izniniz yok” hatası alabilirsiniz. Bu oldukça yaygın bir hatadır ve kullanıcıların büyük bir kısmı sitelerini test ederken bu hatayla karşılaşmıştır. Peki nedir bu hata?
403 Yasak Hatası Nedir?
403 Yasak hatası olarak da adlandırılan Apache'nin 'Yasak Hatası', kısıtlanmış veya yasaklanmış bir web sitesine erişmeye çalıştığınızda bir web sayfasında görüntülenen bir hatadır. .
Web sunucusunun isteği anladığını ancak izin sorunları nedeniyle erişime yetki veremediğini belirten standartlaştırılmış bir HTTP durum kodudur.
Genellikle gösterildiği gibi tarayıcıya sıçrar.
Ayrıca hata, aşağıda belirtildiği gibi tarayıcıda çeşitli şekillerde ortaya çıkabilir:
- HTTP Hatası 403 – Yasak
- Yasak: Bu sunucudaki [dizine] erişim izniniz yok
- 403 yasak
- Erişim Reddedildi Erişim izniniz yok
- İdari kurallar tarafından yasaklanan 403 yasak istek
403 Yasak Hatasının Nedenleri Nelerdir?
'403 Yasak Hata' aşağıdaki ana nedenlerden dolayı ortaya çıkar:
1. Yanlış Dosya/Dizin İzinleri
Bu hata, webroot dizinindeki hatalı dosya/klasör izinleri nedeniyle tetiklenebilir. Varsayılan dosya izinleri, kullanıcılara web sitesi dosyalarına erişim sağlayacak şekilde ayarlanmamışsa, bu hatanın bir web tarayıcısında ortaya çıkma olasılığı yüksektir.
2. Apache Yapılandırma Dosyalarının Yanlış Yapılandırılması
Bu hata aynı zamanda Apache yapılandırma dosyalarından birinin yanlış yapılandırılmasıyla da ilişkilendirilebilir. Yapılandırma dosyasına eklenen yanlış bir parametre veya eksik yönergeler olabilir.
3. .htaccess Dosyasının Yanlış Yapılandırılması
Bu HTTP yanıt koduyla karşılaşmanın bir başka sık görülen nedeni de hasarlı veya yanlış yapılandırılmış bir .htaccess
dosyasıdır. Bu durum oluştuğunda, 403 Yasak hatası genellikle .htaccess dosyası değiştirildikten sonra ortaya çıkar.
Kullanıcılar genellikle yeni bir .htaccess dosyası oluşturarak veya yapılandırmalarını düzelterek bu sorunu çözebilirler.
Apache '403 Yasak Hatası'nın Düzeltilmesi
Bu hatayla karşılaştıysanız, bunu düzeltmek için uygulayabileceğiniz birkaç adımı burada bulabilirsiniz.
1. Webroot Dizininin Dosya İzinlerini ve Sahipliğini Ayarlayın
Yanlış dosya izinleri ve dizin sahipliğinin web sitesi dosyalarına erişimi kısıtladığı bilinmektedir. Bu nedenle, öncelikle dosya izinlerini gösterildiği gibi web kökü dizinine yinelemeli olarak atadığınızdan emin olun.
Web kökü dizini her zaman YÜRÜT izinlerine sahip olmalı ve index.html
dosyası da OKU izinlerine sahip olmalıdır.
cd /path/to/webroot/directory
sudo find . -type d -exec chmod 755 {} \;
sudo find . -type f -exec chmod 644 {} \;
Yukarıdaki bulma komutu, geçerli (.)
dizini içindeki tüm dizinleri (klasörleri) ve dosyaları bulmak ve izinlerini 755 (dizinler) ve 644 olarak ayarlamak için kullanılır. (dosyalar).
Ayrıca, gösterildiği gibi chown komutunu kullanarak dosya ve dizinlerin sahipliğini belirli bir kullanıcıya (tecmint) göre ayarlayın ve www-data
veya Apache
grubunu belirtin .
sudo chown -R tecmint:apache .
Son olarak, değişikliklerin etkili olması için Apache web sunucusunu yeniden yükleyin veya yeniden başlatın.
sudo systemctl restart apache2
OR
sudo systemctl restart httpd
Bu sorunu çözmezse bir sonraki adıma geçin:
2. Apache Ana Yapılandırma Dosyasındaki Yönergeleri Ayarlayın
Debian tabanlı Linux veya RHEL tabanlı dağıtımlar kullanıyorsanız, genellikle httpd.conf veya apache2.conf olarak adlandırılan ana Apache yapılandırma dosyasını açın.
sudo nano /etc/httpd/httpd.conf # For Apache on CentOS/Red Hat
sudo nano /etc/apache2/apache2.conf # For Apache on Debian/Ubuntu
Web sitenizin web belgesi köküne karşılık gelen
bölümünü bulun ve AllowOverride
yönergesinin "All"
olarak ayarlandığından emin olun. . Bu, .htaccess dosyalarının yapılandırma ayarlarını geçersiz kılmasına olanak tanır.
<Directory "/var/www/html">
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
/var/www/html yolunu, web sitenizin belge kökünün gerçek yoluyla eşleşecek şekilde değiştirin.
Kaydedip çıkın ve ardından Apache'yi yeniden başlatın.
sudo systemctl restart httpd # For Apache on CentOS/Red Hat
sudo systemctl restart apache2 # For Apache on Debian/Ubuntu
. .htaccess Dosya Yapılandırmasını Düzeltme
Web dizininizde bir .htaccess
dosyanız varsa yapılandırmasını kontrol edin. Yanlış yapılandırılmış bir yapılandırma ayarları veya herhangi bir sözdizimi hatası, kullanıcıların belirli web içeriğine erişmesini engelleyebilir.
Sorunu çözüp çözmediğini görmek için satırları yorumlayın veya dosyayı geçici olarak kaldırın.
Tüm bu adımları denedikten sonra hala hatayı alıyorsanız lütfen sanal ana bilgisayar dosyalarınızın yapılandırmasını kontrol edin.
Apache Sanal ana bilgisayar dosyasını nasıl yapılandırabileceğinizle ilgili ayrıntılı makalelerimiz var:
"Yasak - Bu sunucuya erişim izniniz yok" hatasının çözümü, dosya izinlerinin, sahipliğinin ve sunucu yapılandırmasının kontrol edilmesini ve ayarlanmasını içerir.
Umarım sağlanan adımlar 403 hatasını gidermenize yardımcı olmuştur.