Perl i Apache2 problemu.
#1

[Mods należy przenieść mój wątek, jeśli jestem w złym dziale]   Hi forumers. Początkujący tutaj.   Mam problemy próbuje wdrożyć internetowej Perl opartych na Ubuntu 11.10 pulpit z lampką stosie i zainstalowany mod_perl (świeża instalacja, nic na nim).   Patrząc przez niezliczonych stron internetowych i książek wiem, że muszę utworzyć folder cgi-bin i umieścić pliki strony internetowej w środku, ale wciąż napotykają I 404 Not Found, gdy próbuje przejść do niego na mojej wewnętrznej sieci LAN. Próbowałem wielu rzeczy; dodając linie do httpd.conf, przesuwając korzeń cgi-bin wokół, ale nic nie wydaje się działać.   I zostały zweryfikowane z właścicielami kodu źródłowego, że strona Perl shoudl być "plug and play", czyli wszystko, co musisz zrobić, aby uzyskać podstawowe wystąpienie uruchomione jest, aby trzymać go w cgi-bin, ale nie wydaje się być sprawa dla mnie. PHP działa dziwnie, ale Perl odmawia.   Co chciałbym wiedzieć przede wszystkim: co jest najprostszym sposobem realizacji perla na apache? Nieco bardziej szczegółowe etapy będą mile widziane, bo widziałem zbyt wiele niejasnych tutoriale.   To jest mój pierwszy raz próbują uporać się z dynamicznych stron internetowych, zazwyczaj mam tylko statyczne strony WWW na serwerze Apache (lol)   Czy ktoś może doradzić? Dzięki.
Reply
#2

davidktw napisał: mod_perl nie wymagają modułów perla się w danym katalogu. Nie powinno PHP ( mod_php ) wymaga . Korzystanie mod_perl nie jest taka sama, jak wywoływanie zewnętrznego CGI Perl tłumacza , aby uruchomić kod . Widzę , dzięki. Gdzie należy umieścić moduły Perl wtedy? / Var / www zrobi ? Zacytować:
Reply
#3

dla mod_perla instalacji platformy Ubuntu będzie łatwiej uruchomić pakietów z Internetu Index of / dist
Reply
#4

kcongxi napisał: dla mod_perla instalacji platformy Ubuntu będzie łatwiej uruchomić pakietów z Internetu Index of / dist Ciekawy , nie wiem, co u TS pyta ?
Reply
#5

Wystarczy karmić Państwu więcej informacji. Zawsze ogon dostępu i dzienniki błędów, aby uzyskać więcej informacji o tym, co poszło nie tak Kod: tail -f / var / log / apache2 / * Co używasz teraz jest po prostu normalne CGI, to nie modperl, które wspomniałem przed chwilą. W istocie, wszystkie Apache serwer WWW zrobić, to widelec inny proces i uruchomić plik binarny podane w skorupkach. Dla skryptów, powłoka wykona odpowiednie tłumacza lub binarny, który będzie przeczytać w pliku skryptu. Dam ci kilka przykładów, w celu wykazania Dostęp przy użyciu http: //YOUR_HOST_IP/cgi-bin/test.sh Kod: #! / Usr / bin / env sh echo "Content-Type: text / plain \ n" echo "Hello World" Dostęp przy użyciu http: //YOUR_HOST_IP/cgi-bin/test.awk Kod: #! / Usr / bin / awk -f ZACZYNAĆ { print "Content-Type: text / plain \ n"; print "Hello World"; } Można nawet rzucać w skompilowanego kodu C, gdzie kod jest w takich Dostęp przy użyciu http: // YOUR_HOST_IP / cgi-bin / test Kod: #include <stdio.h> int main (int argc, char ** argv) { printf ( "Content-Type: text / plain \ n \ n"); printf ( "Hello World \ n"); return 0; } Skompilować powyżej przy użyciu "gcc -o testową test.c"
Reply
#6

Faktycznie , mam Apache2 przez lampę tasksel , ale dam tego spróbować. Sporządziła ona wewnętrzny błąd serwera nawet po usunięciu mod_perl , myślę, że będę ponownie zainstalować system operacyjny i spróbuj .
Reply
#7

Zelretch napisał: Faktycznie , mam Apache2 przez lampę tasksel , ale dam tego spróbować. Sporządziła ona wewnętrzny błąd serwera nawet po usunięciu mod_perl , myślę, że będę ponownie zainstalować system operacyjny i spróbuj . Nie ma potrzeby , aby usunąć modperl , ty nawet nie jest używany. Twój wewnętrzny błąd serwera jest fakt, że skrypt nie jest wykonywalny lub prawej zgody. Apache powinien być uruchamiany za pomocą poniższego użytkownika i grupę w Ubuntu domyślnie Kod: uid = 33 (www -data ) gid = 33 ( www-data ) grupy = 33 (www -data ) Upewnij się, że skrypt jest wykonywalny Kod: ls /usr/lib/cgi-bin/test.pl -rwxr - xr- x 1 root root 100 23 kwietnia 21:23 test.pl Należy pamiętać, że mój skrypt jest właścicielem root . Ale ja zrobiłem to tak , że inni mogą czytać i wykonywać je . Jeśli skrypt jest własnością www -data : www -data , Następnie skrypt prostu trzeba mieć pozwolenie " 0700 " . Mam nadzieję, że masz za co próbuję powiedzieć.
Reply
#8

Hej, dzięki. Udało mi się uzyskać podstawowe ramy uruchomiony. Teraz moje ostatnie pytanie brzmi: Jakie uprawnienia należy ustawić za rzeczy wewnątrz cgi-bin ? Ponieważ niektóre funkcje są wyłączone z powodu błędu : Nie można zapisać do katalogu , który Jestem, zakładając jest cgi -bin .
Reply
#9

Zelretch napisał: Hej, dzięki. Udało mi się uzyskać podstawowe ramy uruchomiony. Teraz moje ostatnie pytanie brzmi: Jakie uprawnienia należy ustawić za rzeczy wewnątrz cgi-bin ? Ponieważ niektóre funkcje są wyłączone z powodu błędu : Nie można zapisać do katalogu , który Jestem, zakładając jest cgi -bin . Dobrze dla ciebie. Nie należy pisać do katalogu cgi -bin . Co próbujesz zrobić ? W katalogu cgi- bin będzie musiał być wykonywalny tylko przez proces Apache'a. Skrypty będą musiały być wykonywalny i czytelne przez proces Apache'a. Myślę skrypt Perl próbuje prawej coś do lokalnego prawa systemu plików ? Jeśli tak , trzeba będzie dokonać katalog docelowy zapisu przez proces Apache'a. Ciekawy , jesteś dobrze werset System Linux / Unix ? Trzeba wołowiny na tym obszarze w górę.
Reply
#10

I zwykle nie bałagan dużo wokół ubuntu poza podstawową pliku porcji. Wszystko inne to zrobić w systemie Windows ... Staram się wyjść na zewnątrz moich zwykłych granicach. Chyba trzeba pracować na tym też. Jeśli nie piszę do katalogu cgi -bin , to gdzie powinien skrypty Perl być zbawiony? Sprawdzanie dzienników błędów , widzę dużo błędów Permission denied . Patrząc przez oficjalnych forach wsparcia Zgaduję uprawnienia należy zmienić folder, w którym przechowywane są skrypty .
Reply


Forum Jump:

Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5


Users browsing this thread: 1 Guest(s)