Giriş dizinimde nasıl web sayfası oluştururum ve web sunucusunun bunları web tarayıcımda sunmasını nasıl sağlarım?


9

Son zamanlarda Debian Squeeze (komut kullanarak taskselve seçme [ ] Web server) Apache web tarayıcısı yükledim . Şimdi bunun üzerinden başlatmak için olsun sudo /etc/init.d/apache2 startve sonra ben benim tarayıcı ve anahtarına gidin http://localhostve " Çalışıyor! " Sayfa gösterileri Ben yüklenmiş ve başarıyla web sunucusu başlamıştır belirten yukarı.

Şimdi " Çalışıyor! " Sayfasının HTML dosyasının olduğunu biliyorum /var/wwwve yeni sayfalar oluşturursam, bunları bu dizine doldurmam gerektiğine inanıyorum. Sayfa oluşturmak kolay olurdu, ancak bunu yaparken sudo, /var/wwwdizin altında her dosya oluşturduğumda / düzenlediğimde komutu vermeliyim.

Örneğin, HOME'umda nasıl bir dizin oluşturabileceğimi ~/html/test/index.htmlve http://localhost/html/testtarayıcı adresime adresi girdiğimde bu sayfanın görüntülenmesini istiyorum.

Yanıtlar:


6

Ulrich'in dediği gibi, userdirmodülü etkinleştirerek bunu yapabilirsiniz .

Debian'da bu, a2enmodApache modüllerini etkinleştiren veya devre dışı bırakan yardımcı program kullanılarak yapılabilir . Bkz man a2enmod.

Bu durumda, sadece koşmanız gerekir

sudo a2enmod userdir

ve değişikliğin etkili olması için Apache sunucusunu yeniden başlatın. Userdir modülünün temel Apache'de olduğunu unutmayın, bu yüzden fazladan bir şey yüklemenize gerek yoktur. Başvuru için userdir yapılandırması /etc/apache2/mods-available/userdir.conf.

Tüm a2enmodburada yapıyor sembolik bir bağlantı yaratıyor /etc/apache2/mods-enableddosyalara dizinde /etc/apache2/mods-available/{userdir.conf/userdir.load}. Bunu manuel olarak da yapabilirsiniz. yani

faheem@orwell:/etc/apache2/mods-enabled$ ls -la userdir.*
lrwxrwxrwx 1 root root 30 Feb  6 03:11 userdir.conf -> ../mods-available/userdir.conf
lrwxrwxrwx 1 root root 30 Feb  6 03:11 userdir.load -> ../mods-available/userdir.load

Sonra altında kullanılabilir hale getirmek istediğiniz herhangi bir web şeyler koymak ~/public_htmlve sonra erişilebilir olmalıdır http://servername/~username.


1
Ulrich bununla hemen hemen aynı şekilde cevaplasa da, cevap olarak işaretledim, çünkü daha ayrıntılı.
Eric

6

Muhtemelen mod_userdir arıyorsunuz : "Bu modül, kullanıcıya özgü dizinlere http://example.com/~user/ sözdizimi kullanılarak erişilmesine izin verir ."

Config ile uğraşmaktan korkmayın, sadece config dosyalarını yedekleyin ve güvenlik duvarınızın apache'nizi dış dünyaya engellediğinden emin olun.


2
Teşekkürler @Ulrich Schwarz, sanırım ihtiyacım olan bu. Peki, bunu nasıl ayarlarım? Henüz Apache'ye çok aşina değilim (sadece şimdi yükledim) ve önerinizi nasıl yapacağımı bilmiyorum.
Eric

2

Şahsen sembolik linkler kullandım , projeye bağlı olarak ya /var/www/da /var/wwwkendisinin benim ana dizinindeki klasörlerden birine bağlanması (örneğin:) ~/projects/www. Bu şekilde "~" karakterinden kurtulabilirim. Bazen başka bir görüntüleyiciye bir şey göstermek istediğimde de benim için yararlıdır (gibi bir şeyle http://253.153.87.231/page.html) ve klavyeye aşina değil, bu yüzden klavyeden "~" simgesini bulamadı (- gibi "herhangi bir" etiketli anahtarı aramak gibi) .

Faheem ve Ulrich muhtemelen zaten zaten en iyi ve en çok tavsiye edilen cevabı mağara ederler (en azından güvenlik söz konusu olduğunda).


Yapmak istediğim şey bu, iyi çalışıyor mu? Bu bağlantıları oluşturmak için sözdizimini verebilir misiniz?
Menasheh

0

Şimdi bunu web kökünü değiştirerek yapabilirsiniz, ancak gerçekten istemiyorsunuz ve işte nedeni:

Bir saldırgan Apache'de veya kodunuzda bir güvenlik açığı bulursa, Web köküne erişebilir. Tüm eşyalarınız burada ...

Web kökü genellikle korunur ve saldırganların patlamasını önleyen denetimlerle. Eviniz, muhtemelen çok güvenli değil.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.