• Flarum
  • Flarum Dizinleri Özelleştirme

Varsayılan olarak Flarum’un dizin yapısı, yalnızca herkesin erişebileceği dosyaları içeren bir public dizini içerir. Bu, tüm hassas kaynak kodu dosyalarının web kökünden tamamen erişilemez olmasını sağlayan en iyi güvenlik yoludur.

Bu yöntemleri niçin kullanıyoruz:

  • Flarum’u bir alt dizinde (siteniz.com/forum gibi) barındırmak istiyorsanız,
  • Paylaşımlı hosting kullanıyorsanız.

⚠️ 1. yada 2. yöntemi uygulayınız!!!

1. Flarum’un dökümantasyonunda yazılan yöntem ile

Barındırıcınız web kökünüz üzerinde size kontrol vermiyorsa (public_html veya htdocs gibi), public dizini olmadan Flarum’u kurabilirsiniz.

public dizinindeki (.htaccess dahil) tüm dosyaları, Flarum’u kurmak istediğiniz dizine taşıyın. Yani bir public dizinin bir üst dizinine.

Daha sonra hassas kaynakları korumak için;

.htaccess kullanıyor iseniz aşağıdaki satırların önündeki # işaretini kaldırın.

RewriteRule /\.git / [F,L]
RewriteRule ^auth\.json$ / [F,L]
RewriteRule ^composer\.(lock|json)$ / [F,L]
RewriteRule ^config.php$ / [F,L]
RewriteRule ^flarum$ / [F,L]
RewriteRule ^storage/(.*)?$ / [F,L]
RewriteRule ^vendor/(.*)?$ / [F,L]

Nginx kullanıyorsanız, .nginx.conf dosyasındaki aşağıdaki satırların önündeki # işaretini kaldırın.

location ~* ^/(\.git|composer\.(json|lock)|auth\.json|config\.php|flarum|storage|vendor) {
    deny all;
    return 404;
}

Ayrıca index.php dosyasını düzenlemeniz ve aşağıdaki satırı değiştirmeniz gerekecektir:

$site = require './site.php';

Son olarak, site.php dosyasını düzenleyin ve aşağıdaki satırlardaki yolları yeni dizin yapınızı yansıtacak şekilde güncelleyin:

'base' => __DIR__,
'public' => __DIR__,
'storage' => __DIR__.'/storage',

2. Laravel server.php dosyası yöntemi ile

Flarum kurulu ana dizine server.php dosyasını yükleyin.

.htaccess dosyasına bunları ekleyin:

<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
    Options -MultiViews
</IfModule>

RewriteEngine On
#If you use SSL:
#RewriteCond %{HTTPS} !=on
#RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

RewriteCond %{REQUEST_FILENAME} -d [OR]
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^ ^$1 [N]

RewriteCond %{REQUEST_URI} (\.\w+$) [NC]
RewriteRule ^(.*)$ public/$1

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ server.php
</IfModule>
server.php İndir
server.zip
554B

Kaynaklar:

https://docs.flarum.org/install.html#customizing-paths
https://github.com/laravel/laravel/blob/8.x/server.php

durpoy Ben de böyle çevirirdim bunu zaten, ellerine sağlık. Daha anlaşılır olması açısından belki yollar yerine bağlantı denilebilir ama tam karşılığı değil.

    tolgaaaltas dizin kelimesi daha mantıklı geldi. Bu arada google çeviri kullandım. Yabancı diller konusunda çok kötüyüm. Çeviri den sonra okudum ve elimden geldikçe duzelttim.

    3 ay sonra
    4 ay sonra

    ⚠️ Yeni

    • server.php dosyası Laravel v8′e güncellendi
    Hadımköy Kombi Servisi Minecraft Türk Sunucular