Bagaimana cara saya membuat apache menjalankan cgi alih-alih menunjukkan teks?

12

Saya mencoba menginstal bugzilla 4 di ubuntu 11.04

Saya telah menambahkan yang berikut ini ke httpd.conf saya

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

Tetapi ketika saya membuka URL, apache menunjukkan teks index.cgi alih-alih mengeksekusi skrip. Adakah cara untuk memperbaikinya?

FigBug
sumber

Jawaban:

18

Apakah Anda memuat modul mod_cgi? Anda dapat melihat apakah direktori / etc / apache2 / mods-enabled / memiliki symlink cgi.load. Jika tidak ada symlink seperti itu, Anda dapat membuatnya dengan menjalankan

sudo a2enmod cgi

dan kemudian restart Apache:

sudo service apache2 restart

Anda dapat berlari man a2enmoduntuk melihat apa yang a2enmodterjadi.

elmicha
sumber
Saya punya masalah serupa di Ubuntu 14.04 dalam proses migrasi dari server lama. Saya tidak pernah berpikir cgi akan dinonaktifkan secara default yang tidak dengan server lama. Ini memperbaikinya !. Tolong rekomendasikan mereka sama di stackoverflow.com/questions/15199198/… . Terima kasih!
user3215
Saya memiliki symlink tetapi cgi masih belum berjalan.
Whitecat
1

Saat memasang apache 2.4, saya memiliki sejumlah masalah yang harus dipecahkan dan juga memiliki masalah yang sama dengan tampilan teks alih-alih menjalankan cgi. Solusinya tidak sama dengan di atas, yang merupakan solusi untuk apache 2.2

pertama Anda akan mengunduh file 2,4 gz dan membongkar. Jika Anda mencoba mengompilasinya akan mengeluh bahwa April tidak ditemukan, karena tidak lagi disertakan. Anda perlu mengunduh apr dan apr-util file dari apache dan membukanya di direktori tempat Anda mengompilasi apache ke dalam sub direktori yang disebut srclib, jadi path Anda adalah ./httpd/srclib/apr dan ./httpd/srclib/apr -sampai. Anda juga harus menghapus nomor versi apa pun dari nama direktori.

cd ke direktori / path / httpd Anda dan kompilasi dengan

$ ./configure --dengan disertakan-April

Konfigurasi Anda akan default ke PREFIX = / usr / local / apache2

$ buat

$ make install

$ vi PREFIX / conf / httpd.conf

Anda perlu mengedit file httpd.conf Anda untuk menjalankan cgi

Dalam kasus saya, saya melakukan hal berikut:

ubah Dengarkan 80 untuk Mendengarkan 127.0.0.1:80

aktifkan baris: LoadModule cgid_module modules / mod_cgid.so

mengubah SeverName menjadi: ServerName 127.0.0.1:80

mengubah jalur di DocumentRoot dan Direktori agar sesuai dengan sistem saya

mengubah jalur di ScriptAlias

mengaktifkan baris Scriptsock cgisock

mengubah jalur di Direktori setelah ScriptAlias ​​sesuai dengan sistem saya

mengaktifkan baris AddHandler cgi-script .cgi

menyimpan perubahan dan memulai apache dengan:

$ / usr / local / apache2 / bin / apachectl -k mulai

Semoga ini bisa membantu siapa pun yang berjuang dengan ini;)

Peter Trevathan
sumber
Terima kasih sudah berbagi, saya kesulitan mengikuti, maukah Anda mengatur ini sedikit lebih baik?
user230910