|
Lighthttpd i uruchamianie skryptów w perlu
szpuni - 03-06-2009 18:11
Witam.
Mam mały problem z lighthttpd. Mam skrypt w perlu jako index.html
Zainstalowałem sobie lighthttpd i nie mogę uruchomić tego skryptu.
Zawsze wyskakuje mi opcja że mogę ściągnąć ten plik ale nie mogę go odpalić w żadnym razie.
Uruchomiłem usługi: CGI, FastCGI.
Ma ktoś jakieś podpowiedzi w tym temacie bo akurat praktycznie nie znam tego serwera.
Dodam ze pliki html i php chodzą bez problemów. Jak powinienem to skonfigurować żeby to działało w domyślnym katalogu?
lis6502 - 03-06-2009 21:46
Zajrzyj. Pierwszy link.
szpuni - 04-06-2009 13:27
Dlaczego wszyscy na podobnych forach myślą, że wszyscy dookoła są tacy leniwi że nie szukają żadnych informacji.
Tą stronę widziałem już jakiś czas temu. W jakim pliku? Mam tego szukać na księżycu czy może ktoś łaskawie dałby trochę bardziej dogłębny opis.
Jeżeli to są manuale do lighthttpd to wcale się nie dziwię że ludzie używają apache. $HTTP["url"] =~ "/cgi-bin/" { cgi.assign = ( ".pl" => "/usr/bin/perl" ) }
To się dodaje gdzie? W 10.cgi? Moze w 10.fastcgi, a może w ustawieniach wirtualnego serwera? A może w lighthttpd.conf? Problem w tym że ja nie chcę używać wirtualnego serwera po domenie. Bo tutaj domeny nie będzie. W głównej ,,conf'' mam ,,wwwroot'' ustawione na /var/www. Tam też jest ten skrypt. łączenie do tego serwera będzie po wewnętrznym adresie IP, a nie po domenie. Jak dodałem adres IP do konfiguracji virtalnego hosta dostałem od razu błąd.
Ten lighthttpd ma już ustawionego virtualnego hosta ale w domyślnym katalogu muszę odpalić ten skrypt.
lis6502 - 04-06-2009 14:11
Jak dla mnie to w /etc/lighttpd/lighttpd.conf, przecież wynika z tekstu. Uprzedzając pytanie ,,w którym miejscu'':
# At the very least, mod_access and mod_accesslog should be enabled. # All other modules should only be loaded if necessary. # NOTE: the order of modules is important. server.modules = ( # "mod_rewrite", # "mod_redirect", # "mod_alias",
Gdzieś w tej okolicy.
Mam tego szukać na księżycu? Czy może ktoś łaskawie dałby trochę bardziej dogłębny opis.
# set Content-Encoding and reset Content-Type for browsers that # support decompressing on-thy-fly (requires mod_setenv) # $HTTP["url"] =~ "\.gz$" { # setenv.add-response-header = ("Content-Encoding" => "x-gzip") # mimetype.assign = (".gz" => "text/plain")
Brzmi znajomo? Bardziej łopatą chyba się nie da tego wyłożyć. ÂŻeby nie było że się z Ciebie natrząsam.
http://img512.imageshack.us/img512/7753/n00bg.th.png
szpuni - 04-06-2009 16:42
Dodanie tego jak mówisz wyrzuca błąd że mam duplikaty.
Plik do edytowania cgi to conf-enabled/10-cgi.conf, który u mnie teraz wygląda tak:
server.modules += ( "mod_cgi" )
alias.url += ( "/cgi-bin/" => "/var/www/cgi-bin/" )
$HTTP["host"] == "localhost" { alias.url += ( "/cgi-bin/" => "/var/www/cgi-bin/" )
$HTTP["url"] =~ "/cgi-bin/" { cgi.assign = ( ".pl" => "/usr/bin/perl" ) } }
$HTTP["url"] =~ "/cgi-bin/" { cgi.assign = ( ".pl" => "/usr/bin/perl" ) }
cgi.assign = ( ".pl" => "/usr/bin/perl", ".php" => "/usr/bin/php-cgi", ".py" => "/usr/bin/python", )
Tylko że jak wpiszę adres:
http://192.168.1.4
to wyskakuje:
err 403
Adres:
http://192.168.1.4/cgi-bin/
daje listowanie katalogu, w którym jest index.cgi. I wciąż nic się nie uruchamia. Po zmianie index.cgi na index.php wyświetla się strona ale niestety to nie perl tylko php.
lighthttpd.conf:
server.modules = ( "mod_cgi", "mod_access", "mod_alias", "mod_accesslog", "mod_rewrite", "mod_redirect", "mod_status", ) server.document-root = "/var/www/" server.errorlog = "/var/log/lighttpd/error.log" index-file.names = ( "index.php", "index.html", "index.htm", "default.htm" ) accesslog.filename = "/var/log/lighttpd/access.log" url.access-deny = ( "~", ".inc" ) server.pid-file = "/var/run/lighttpd.pid" dir-listing.encoding = "utf-8" server.dir-listing = "enable" server.username = "www-data" server.groupname = "www-data"
#### handle Debian Policy Manual, Section 11.5. urls #### and by default allow them only from localhost
$HTTP["remoteip"] =~ "127.0.0.1" { alias.url += ( "/doc/" => "/usr/share/doc/", "/images/" => "/usr/share/images/" ) $HTTP["url"] =~ "^/doc/|^/images/" { dir-listing.activate = "enable" } } include_shell "/usr/share/lighttpd/create-mime.assign.pl" include_shell "/usr/share/lighttpd/include-conf-enabled.pl"
To jest domyślny plik konfiguracyjny lighthttpd 1.4.13. Jedyne co tam zmieniłem to
server.modules
I co Ty na to?
lis6502 - 04-06-2009 16:59
A to skąd wytrzasnąłeś? Napisałem Ci przecież, że wpisujesz to w KONFIGU SERWERA. Tutek podziela moje zdanie.
chmod +x skypt.pl
Ostatni raz
szpuni - 04-06-2009 17:30
chmod +x skypt.pl
/var/www/cgi-bin# ls -l total 4 -rwxr-xr-x 1 www-data www-data 1480 2009-06-04 15:03 index.cgi
/etc/init.d/lighttpd restart Stopping web server: lighttpd. Starting web server: lighttpd2009-06-04 16:19:49: (configfile.c.869) opening configfile /etc/lighttpd/mime-types.conf failed: No such file or directory 2009-06-04 16:19:49: (configfile.c.827) source: /etc/lighttpd/lighttpd.conf line: 13 pos: 16 parser failed somehow near here: (EOL)
var.basedir = "/var/www/localhost"
To zostało zmienione na /var/www/:
server.username = "lighttpd" server.groupname = "lighttpd"
no i to oczywisce Nie to żebym jaja sobie robił ale twoja konfiguracja nie działa w ogóle. Brak pliku jak widzisz to jest katalog /etc/lighthttpd:
drwxr-xr-x 2 root root 4096 2009-06-04 15:29 conf-available drwxr-xr-x 2 root root 4096 2009-06-04 16:03 conf-enabled -rw-r--r-- 1 root root 717 2009-06-04 16:09 lighttpd.conf -rw-r--r-- 1 root root 245 2009-06-03 16:33 main
[Dodano: 2009-06-04, 17:01] Pokaz mi ten plik z ,,mime'' jak możesz. Jakiej wersji lighthttpd używasz? Może to starsza wersja albo po prostu pozmieniałeś cały konfig.
Jak już mówiłem nie znam lighthttpd w ogóle i dokumentacja jest bardzo niejasna jak dla mnie.
Popatrz na to:
dpkg-query -s lighttpd Package: lighttpd Status: install ok installed Priority: optional Section: web Installed-Size: 736 Maintainer: Debian lighttpd maintainers <pkg-lighttpd-maintainers@lists.alioth.debian.org> Architecture: i386 Version: 1.4.13-4etch11 Provides: httpd, httpd-cgi Depends: libattr1 (>= 2.4.4-1), libbz2-1.0, libc6 (>= 2.3.6-6), libldap2 (>= 2.1.17-1), libpcre3 (>= 4.5), libssl0.9.8 (>= 0.9.8c-1), zlib1g (>= 1:1.2.1), lsb-base (>= 3.0-3), mime-support Recommends: php4-cgi | php5-cgi Suggests: openssl, rrdtool, apache2-utils Conffiles: /etc/lighttpd/conf-available/10-auth.conf 421219cb4a04a693e191ff6a32fa432a /etc/lighttpd/conf-available/10-proxy.conf 7b4265f5aed9bd2a7622580016677911 /etc/lighttpd/conf-available/10-cgi.conf b4fd0fc7d486e32397b380ef85b55f33 /etc/lighttpd/conf-available/10-simple-vhost.conf cded76d5e184a21bbcf4b651f0ed745f /etc/lighttpd/conf-available/10-userdir.conf 761e9bd64422f802c248f69d1fc504a0 /etc/lighttpd/conf-available/10-ssi.conf a0b0b83fe6060ec23e2d4e4b57a89936 /etc/lighttpd/conf-available/10-fastcgi.conf aa35e498f47edf5af5836f635b31f3f9 /etc/lighttpd/conf-available/10-ssl.conf 168706fe944890fa44b74461403da731 /etc/lighttpd/conf-available/README c376c00aeaa5aa71fba021b15b1bf45e /etc/lighttpd/lighttpd.conf 92b4c405bb43e1bec0a9496247bb1035 /etc/init.d/lighttpd 86abe7ab5e4c3d091f2f6534fb0c9fe4 /etc/logrotate.d/lighttpd ebf0813469a57c2f16e1c17429befa08
To standardowa instalacja z paczki przez apt-get.
lis6502 - 04-06-2009 18:02
Wywal więc
include "mime-types.conf"
Tutaj
dopisz
"index.cgi"
Na stronę wchodź przez http://host/cgi-bin
sigo - 04-06-2009 18:02
Wątek jest strasznie pokręcony. Jeżeli podczas próby wyświetlenia pliku, przeglądarka próbuje Ci go pobrać, oznacza to, iż nie masz zdefiniowanych akcji dla konkretnych typów plików. Przykładowo txt domyślnie jest traktowane jako plain/text. Więcej informacji.
Nie jestem pewien w jaki sposób funkcjonuje lighttpd, ale w apache zachowanie dla konkretnych typów plików konfiguruje się odgórnie lub poprzez pliki .htaccess.
szpuni - 04-06-2009 18:13
Dostałem Piękne 403 znów. Chcesz zrzut ekranu? To że nie ma domyślnych akcji wiem od samego początku. Tylko jak te akcje skonfigurować tak żeby działały?
sigo - 04-06-2009 18:26
Podręcznik lighttpd?
szpuni - 04-06-2009 18:45
Właśnie znalazłem coś dziwnego.
Zmieniłem nazwę pliku z cgi na pl i skrypt się pojawił od razu.
Na konfiguracji mojej nie lisa6502. Znalazłem jakiś błąd na ten temat i skrypt pl od razu zaczął działać tylko dlaczego cgi wciąż nie chodzi.
lis6502 - 04-06-2009 19:08
Powiem Ci tak: jakbyś trzymał się mojego konfiga i przeczytał manuala wcześniej (jak i szczególy debianizacji tego serwera) to problemu nie byłoby.
szpuni - 04-06-2009 23:23
Debianizacji? Co przez to rozumiesz? Manuala mówisz? Strona:
man lighthttpd
LIGHTTPD(1) LIGHTTPD(1)
NAME lighttpd - a fast, secure and flexible webserver
SYNOPSIS lighttpd -D -f <configfile>
DESCRIPTION FILES /etc/lighttpd/lighttpd.conf
CONFORMING TO HTTP/1.0 HTTP/1.0 HTTP-Authentification - Basic, Digest FastCGI CGI/1.1
SEE ALSO spawn-fcgi(1)
AUTHOR jan@kneschke.de
O ten manual ci chodzi? No muszę przyznać, że jest wyczerpujący?
Jeżeli chodzi o to to faktycznie nie czytałem. Jutro dodam mime.types i zobaczymy czy Twój plik zadziała?
lis6502 - 04-06-2009 23:34
Debianizacji? co przez to rozumiesz?
Różnice między wersją ze strony projektu, a zmodyfikowaną pod debiana. /usr/share/doc/$paczka/README.debian
manuala mowisz? Strona
man lighthttpd
Oj skucha. Ale...
lis6502@Nexus /usr/share/doc/lighttpd-1.4.22-r1 $ ls -lR .: total 76 -rw-r--r-- 1 root root 67 2009-05-17 18:35 AUTHORS.bz2 -rw-r--r-- 1 root root 32857 2009-05-17 18:35 ChangeLog.bz2 -rw-r--r-- 1 root root 3469 2009-05-17 18:35 lighttpd.conf.distrib.bz2 -rw-r--r-- 1 root root 12369 2009-05-17 18:35 NEWS.bz2 -rw-r--r-- 1 root root 1755 2009-05-17 18:35 README.bz2 -rw-r--r-- 1 root root 496 2009-05-17 18:35 rrdtool-graph.sh.bz2 -rw-r--r-- 1 root root 731 2009-05-17 18:35 spawn-php.sh.bz2 drwxr-xr-x 2 root root 4096 2009-05-17 18:35 txt
./txt: total 160 -rw-r--r-- 1 root root 1382 2009-05-17 18:35 accesslog.txt.bz2 -rw-r--r-- 1 root root 492 2009-05-17 18:35 access.txt.bz2 -rw-r--r-- 1 root root 399 2009-05-17 18:35 alias.txt.bz2 -rw-r--r-- 1 root root 1895 2009-05-17 18:35 authentication.txt.bz2 -rw-r--r-- 1 root root 589 2009-05-17 18:35 cgi.txt.bz2 -rw-r--r-- 1 root root 2866 2009-05-17 18:35 cml.txt.bz2 -rw-r--r-- 1 root root 2400 2009-05-17 18:35 compress.txt.bz2 -rw-r--r-- 1 root root 4197 2009-05-17 18:35 configuration.txt.bz2 -rw-r--r-- 1 root root 995 2009-05-17 18:35 dirlisting.txt.bz2 -rw-r--r-- 1 root root 481 2009-05-17 18:35 evhost.txt.bz2 -rw-r--r-- 1 root root 587 2009-05-17 18:35 expire.txt.bz2 -rw-r--r-- 1 root root 1370 2009-05-17 18:35 extforward.txt.bz2 -rw-r--r-- 1 root root 587 2009-05-17 18:35 fastcgi-state.txt.bz2 -rw-r--r-- 1 root root 6361 2009-05-17 18:35 fastcgi.txt.bz2 -rw-r--r-- 1 root root 1796 2009-05-17 18:35 features.txt.bz2 -rw-r--r-- 1 root root 4342 2009-05-17 18:35 magnet.txt.bz2 -rw-r--r-- 1 root root 726 2009-05-17 18:35 mysqlvhost.txt.bz2 -rw-r--r-- 1 root root 3126 2009-05-17 18:35 performance.txt.bz2 -rw-r--r-- 1 root root 1807 2009-05-17 18:35 plugins.txt.bz2 -rw-r--r-- 1 root root 1339 2009-05-17 18:35 proxy.txt.bz2 -rw-r--r-- 1 root root 619 2009-05-17 18:35 redirect.txt.bz2 -rw-r--r-- 1 root root 1023 2009-05-17 18:35 rewrite.txt.bz2 -rw-r--r-- 1 root root 1167 2009-05-17 18:35 rrdtool.txt.bz2 -rw-r--r-- 1 root root 440 2009-05-17 18:35 scgi.txt.bz2 -rw-r--r-- 1 root root 1757 2009-05-17 18:35 secdownload.txt.bz2 -rw-r--r-- 1 root root 523 2009-05-17 18:35 security.txt.bz2 -rw-r--r-- 1 root root 404 2009-05-17 18:35 setenv.txt.bz2 -rw-r--r-- 1 root root 1078 2009-05-17 18:35 simple-vhost.txt.bz2 -rw-r--r-- 1 root root 259 2009-05-17 18:35 skeleton.txt.bz2 -rw-r--r-- 1 root root 849 2009-05-17 18:35 ssi.txt.bz2 -rw-r--r-- 1 root root 774 2009-05-17 18:35 ssl.txt.bz2 -rw-r--r-- 1 root root 1674 2009-05-17 18:35 state.txt.bz2 -rw-r--r-- 1 root root 1157 2009-05-17 18:35 status.txt.bz2 -rw-r--r-- 1 root root 658 2009-05-17 18:35 traffic-shaping.txt.bz2 -rw-r--r-- 1 root root 752 2009-05-17 18:35 trigger_b4_dl.txt.bz2 -rw-r--r-- 1 root root 920 2009-05-17 18:35 userdir.txt.bz2 -rw-r--r-- 1 root root 790 2009-05-17 18:35 webdav.txt.bz2
lis6502@Nexus /usr/share/doc/lighttpd-1.4.22-r1 $ cat /etc/lighttpd/mime-types.conf ############ # Default mime-types.conf for Gentoo. # include'd from lighttpd.conf. # $Header: /var/cvsroot/gentoo-x86/www-servers/lighttpd/files/conf/mime-types.conf,v 1.3 2009/04/03 18:46:54 bangert Exp $ ############
# {{{ mime types mimetype.assign = ( ".pdf" => "application/pdf", ".sig" => "application/pgp-signature", ".spl" => "application/futuresplash", ".class" => "application/octet-stream", ".ps" => "application/postscript", ".torrent" => "application/x-bittorrent", ".dvi" => "application/x-dvi", ".gz" => "application/x-gzip", ".pac" => "application/x-ns-proxy-autoconfig", ".swf" => "application/x-shockwave-flash", ".tar.gz" => "application/x-tgz", ".tgz" => "application/x-tgz", ".tar" => "application/x-tar", ".zip" => "application/zip", ".dmg" => "application/x-apple-diskimage", ".mp3" => "audio/mpeg", ".m3u" => "audio/x-mpegurl", ".wma" => "audio/x-ms-wma", ".wax" => "audio/x-ms-wax", ".ogg" => "application/ogg", ".wav" => "audio/x-wav", ".gif" => "image/gif", ".jpg" => "image/jpeg", ".jpeg" => "image/jpeg", ".png" => "image/png", ".xbm" => "image/x-xbitmap", ".xpm" => "image/x-xpixmap", ".xwd" => "image/x-xwindowdump", ".css" => "text/css", ".html" => "text/html", ".htm" => "text/html", ".js" => "text/javascript", ".asc" => "text/plain", ".c" => "text/plain", ".h" => "text/plain", ".cc" => "text/plain", ".cpp" => "text/plain", ".hh" => "text/plain", ".hpp" => "text/plain", ".conf" => "text/plain", ".log" => "text/plain", ".text" => "text/plain", ".txt" => "text/plain", ".diff" => "text/plain", ".patch" => "text/plain", ".ebuild" => "text/plain", ".eclass" => "text/plain", ".rtf" => "application/rtf", ".bmp" => "image/bmp", ".tif" => "image/tiff", ".tiff" => "image/tiff", ".ico" => "image/x-icon", ".dtd" => "text/xml", ".xml" => "text/xml", ".mpeg" => "video/mpeg", ".mpg" => "video/mpeg", ".mov" => "video/quicktime", ".qt" => "video/quicktime", ".avi" => "video/x-msvideo", ".asf" => "video/x-ms-asf", ".asx" => "video/x-ms-asf", ".wmv" => "video/x-ms-wmv", ".bz2" => "application/x-bzip", ".tbz" => "application/x-bzip-compressed-tar", ".tar.bz2" => "application/x-bzip-compressed-tar" ) # }}}
# vim: set ft=conf foldmethod=marker et :
Slonik - 11-06-2009 16:29
Witam Panie i Panowie.
W LightTPD pliki dopuszczające znajdują się w
/etc/lighttpd/conf-enabled
jednak umieszczane są tam dopiero po poprawieniu w
/etc/lighttpd/conf-available
i właśnie tam należy dokonywać zmian. Wpisywanie czegokolwiek z "palca" w tym katalogu nie ma sensu (jeśli istnieje w conf-available, lepiej tam zmienić i uruchomić jako usługę serwera - polecenie:
lighty-enabled-mod nazwa_usługi
Nastąpi automatyczne podlinkowanie i umieszczenie w katalogu:
/etc/lighttpd/conf-enabled
Informacja ta jest umieszczona na stronie startowej serwera lighttpd. Zmiana i podpięcie do tego katalogu skutkuje oczywiście po restarcie serwera.
Pozdrawiam.
Tomasz
szpuni - 11-06-2009 18:46
Te pliki właśnie wykorzystałem do uruchomienia tego serwera.
W końcu udało mi się skonfigurować to tak jak chciałem z użyciem właśnie lighty-enable-mod.
Pozdrawiam.
zanotowane.pldoc.pisz.plpdf.pisz.plminister.pev.pl
|