Apache'nin metni göstermek yerine cgi çalıştırmasını nasıl sağlarım?


12

Ubuntu 11.04 üzerine bugzilla 4 yüklemeye çalışıyorum

Httpd.conf'uma aşağıdakileri ekledim

<Directory “/var/www/dev.spincentre/bugzilla”>
   AddHandler cgi-script .cgi
   Options +Indexes +ExecCGI
   DirectoryIndex index.cgi
   AllowOverride Limit
</Directory>

Ancak URL'ye gittiğimde, apache komut dosyasını yürütmek yerine index.cgi metnini gösterir. Nasıl düzeltilir?

Yanıtlar:


18

Mod_cgi modülünü yüklediniz mi? / Etc / apache2 / mods özellikli / dizininin sembolik olup olmadığını görebilirsiniz cgi.load. Böyle bir sembolik bağlantı yoksa, çalıştırarak oluşturabilirsiniz.

sudo a2enmod cgi

ve ardından Apache'yi yeniden başlatın:

sudo service apache2 restart

Ne man a2enmodyaptığını görmek için koşabilirsiniz a2enmod.


Eski sunuculardan geçiş sürecinde Ubuntu 14.04'te de benzer bir sorun yaşadım. Cgi eski sunucu ile varsayılan olarak devre dışı olacağını düşündüm. Bu düzeltildi !. Plz bunları stackoverflow.com/questions/15199198/… adresinde de tavsiye eder . Teşekkür ederim!
user3215

Symlink var ama cgi hala çalışmıyor.
Whitecat

1

Apache 2.4 yüklerken çözmek için bir dizi sorun vardı ve aynı zamanda cgi çalıştırmak yerine gösteren metin ile aynı sorunu vardı. Çözüm yukarıdakiyle aynı değildir, apache 2.2 için çözüm

önce 2.4 gz dosyasını indirip açacaksınız. Derlemeye çalışırsanız, artık dahil olmadığı için APR bulunamadığından şikayet edecektir. Apr ve apr-util dosyalarını apache'den indirmeniz ve apache'yi derlediğiniz dizine srclib adlı alt dizine açmanız gerekir, böylece yolunuz ./httpd/srclib/apr ve ./httpd/srclib/apr olur -util. ayrıca dizin adından sürüm numaralarını da kaldırmanız gerekir.

/ path / httpd dizininize cd ve ile derleyin

$ ./configure - dahil-nisan-ile

Yapılandırmanız varsayılan olarak PREFIX = / usr / local / apache2 olacaktır

$ make

$ make install

$ vi PREFIX / conf / httpd.conf

Çalıştırmak için httpd.conf dosyanızı düzenlemeniz gerekir

Benim durumumda aşağıdakileri yaptım:

değiştir Dinle 80 Dinle 127.0.0.1:80

satırı etkinleştirin: LoadModule cgid_module modules / mod_cgid.so

SeverName olarak değiştirildi: ServerName 127.0.0.1:80

DocumentRoot ve Directory'deki yolları sistemime uyacak şekilde değiştirdi

ScriptAlias ​​içindeki yolu değiştirdi

Scriptsock cgisock satırını etkinleştirdi

ScriptAlias'ın ardından dizindeki yolu sistemime uyacak şekilde değiştirdi

AddHandler cgi-script .cgi satırını etkinleştirdi

değişiklikleri kaydetti ve apache'yi şununla başlattı:

$ / usr / local / apache2 / bin / apachectl -k başlangıç

Umarım bu, bununla mücadele eden herkese yardımcı olur;)


Paylaştığınız için teşekkürler, takip etmekte sorun yaşıyorum, bunu biraz daha iyi organize eder misiniz?
user230910
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.