1

Temat: Collectd i cgi.

Dzięki tutorialowi Cezrego udało mi się uruchomić collectd. Obrazki z wykresami generują się na stronce wywoływane skryptem dodanym do corn, co oczywiście w regularnych odstępach czasu obciąża router. Chciałbym aby generowały się w momencie otwierania strony, w związku z tym prosiłbym o przykładowy skrypt cgi, lub objaśnienie jak takowy napisać i jak to wszystko z sobą połączyć. Używam lighttpd, w katalogu głównym serwera znajduje się strona html, katalog z obrazkami i pusty sad katalog cgi-bin. Z góry dziękuję za pomoc.

2

Odp: Collectd i cgi.

cgi to zwykły skrypt. Więc napisz sobie w nim najpierw generowanie obrazka a później na samym końcu przy pomocy np. echo wyślij cały html strony która ten obrazem wyświetla.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

3

Odp: Collectd i cgi.

Skytpty CGI próbują zapisywać mi się na dysku. Może problemem jest to że zainstalowane mam CGI i FastCGI.

# opkg list_installed
badblocks - 1.42.4-1
base-files - 118.2-r42647
bc - 1.06.95-1
blkid - 2.21.2-1
block-mount - 0.2.0-9cj
bridge - 1.5-1
busybox - 1.19.4-6
bwmon-gargoyle - 1.6.2.2-1
chat - 2.4.5-10
collectd - 4.10.7-2
collectd-mod-conntrack - 4.10.7-2
collectd-mod-cpu - 4.10.7-2
collectd-mod-interface - 4.10.7-2
collectd-mod-memory - 4.10.7-2
collectd-mod-ping - 4.10.7-2
collectd-mod-rrdtool - 4.10.7-2
comgt - 0.32-21cj1
ddns-gargoyle - 1.6.2.2-1
disktype - 9-2
dnsmasq - 2.66-2
dosfsck - 3.0.9-1
dropbear - 2014.65-1
e2fsprogs - 1.42.4-1
ebtables - 2.0.10-4-1
ewget - 1.6.2.2-1
fdisk - 2.21.2-1
firewall - 2013-06-29
fuse-utils - 2.9.0-2
gargoyle - 1.6.2.2-6
gargoyle-firewall-util - 1.6.2.2-1
gargoyle-i18n - 0.2.1-1
glib2 - 2.34.3-1
gpkg - 1.6.2.2-1
haserl-i18n - 0.9.26-1
hotplug2 - 1.0-beta-4
httpd-gargoyle - 1.6.2.2-1
ip - 3.3.0-2
ipset - 6.11-2
iptables - 1.4.10-5
iptables-mod-bandwidth - 1.4.10-5
iptables-mod-conntrack-extra - 1.4.10-5
iptables-mod-extra - 1.4.10-5
iptables-mod-filter - 1.4.10-5
iptables-mod-imq - 1.4.10-5
iptables-mod-ipopt - 1.4.10-5
iptables-mod-iprange - 1.4.10-5
iptables-mod-ipset - 1.4.10-5
iptables-mod-nat-extra - 1.4.10-5
iptables-mod-timerange - 1.4.10-5
iptables-mod-webmon - 1.4.10-5
iptables-mod-weburl - 1.4.10-5
iw - 3.14-1
jshn - 2013-10-19-734d28eb1a46358743cf8837c91e5d46695c3b91
kernel - 3.3.8-1-3b70fc7d412617eb97c6bdc7d8fb7844
kmod-ath - 3.3.8+2014-05-22-1-3b70fc7d412617eb97c6bdc7d8fb7844
kmod-ath9k - 3.3.8+2014-05-22-1-3b70fc7d412617eb97c6bdc7d8fb7844
kmod-ath9k-common - 3.3.8+2014-05-22-1-3b70fc7d412617eb97c6bdc7d8fb7844
kmod-cfg80211 - 3.3.8+2014-05-22-1-3b70fc7d412617eb97c6bdc7d8fb7844
kmod-crypto-aes - 3.3.8-1-3b70fc7d412617eb97c6bdc7d8fb7844
kmod-crypto-arc4 - 3.3.8-1-3b70fc7d412617eb97c6bdc7d8fb7844
kmod-crypto-core - 3.3.8-1-3b70fc7d412617eb97c6bdc7d8fb7844
kmod-ebtables - 3.3.8-1-3b70fc7d412617eb97c6bdc7d8fb7844
kmod-fs-exportfs - 3.3.8-1-3b70fc7d412617eb97c6bdc7d8fb7844
kmod-fs-ext4 - 3.3.8-1-3b70fc7d412617eb97c6bdc7d8fb7844
kmod-fs-hfsplus - 3.3.8-1-3b70fc7d412617eb97c6bdc7d8fb7844
kmod-fs-msdos - 3.3.8-1-3b70fc7d412617eb97c6bdc7d8fb7844
kmod-fs-nfs - 3.3.8-1-3b70fc7d412617eb97c6bdc7d8fb7844
kmod-fs-nfs-common - 3.3.8-1-3b70fc7d412617eb97c6bdc7d8fb7844
kmod-fs-nfsd - 3.3.8-1-3b70fc7d412617eb97c6bdc7d8fb7844
kmod-fs-vfat - 3.3.8-1-3b70fc7d412617eb97c6bdc7d8fb7844
kmod-fuse - 3.3.8-1-3b70fc7d412617eb97c6bdc7d8fb7844
kmod-gpio-button-hotplug - 3.3.8-1-3b70fc7d412617eb97c6bdc7d8fb7844
kmod-gre - 3.3.8-1-3b70fc7d412617eb97c6bdc7d8fb7844
kmod-ipt-bandwidth - 3.3.8-1-3b70fc7d412617eb97c6bdc7d8fb7844
kmod-ipt-conntrack - 3.3.8-1-3b70fc7d412617eb97c6bdc7d8fb7844
kmod-ipt-conntrack-extra - 3.3.8-1-3b70fc7d412617eb97c6bdc7d8fb7844
kmod-ipt-core - 3.3.8-1-3b70fc7d412617eb97c6bdc7d8fb7844
kmod-ipt-extra - 3.3.8-1-3b70fc7d412617eb97c6bdc7d8fb7844
kmod-ipt-filter - 3.3.8-1-3b70fc7d412617eb97c6bdc7d8fb7844
kmod-ipt-imq - 3.3.8-1-3b70fc7d412617eb97c6bdc7d8fb7844
kmod-ipt-ipopt - 3.3.8-1-3b70fc7d412617eb97c6bdc7d8fb7844
kmod-ipt-iprange - 3.3.8-1-3b70fc7d412617eb97c6bdc7d8fb7844
kmod-ipt-ipset - 3.3.8+6.11-2-3b70fc7d412617eb97c6bdc7d8fb7844
kmod-ipt-nat - 3.3.8-1-3b70fc7d412617eb97c6bdc7d8fb7844
kmod-ipt-nat-extra - 3.3.8-1-3b70fc7d412617eb97c6bdc7d8fb7844
kmod-ipt-nathelper - 3.3.8-1-3b70fc7d412617eb97c6bdc7d8fb7844
kmod-ipt-nathelper-extra - 3.3.8-1-3b70fc7d412617eb97c6bdc7d8fb7844
kmod-ipt-timerange - 3.3.8-1-3b70fc7d412617eb97c6bdc7d8fb7844
kmod-ipt-webmon - 3.3.8-1-3b70fc7d412617eb97c6bdc7d8fb7844
kmod-ipt-weburl - 3.3.8-1-3b70fc7d412617eb97c6bdc7d8fb7844
kmod-ipv6 - 3.3.8-1-3b70fc7d412617eb97c6bdc7d8fb7844
kmod-leds-gpio - 3.3.8-1-3b70fc7d412617eb97c6bdc7d8fb7844
kmod-ledtrig-default-on - 3.3.8-1-3b70fc7d412617eb97c6bdc7d8fb7844
kmod-ledtrig-netdev - 3.3.8-1-3b70fc7d412617eb97c6bdc7d8fb7844
kmod-ledtrig-timer - 3.3.8-1-3b70fc7d412617eb97c6bdc7d8fb7844
kmod-ledtrig-usbdev - 3.3.8-1-3b70fc7d412617eb97c6bdc7d8fb7844
kmod-lib-crc-ccitt - 3.3.8-1-3b70fc7d412617eb97c6bdc7d8fb7844
kmod-lib-crc16 - 3.3.8-1-3b70fc7d412617eb97c6bdc7d8fb7844
kmod-lib-textsearch - 3.3.8-1-3b70fc7d412617eb97c6bdc7d8fb7844
kmod-mac80211 - 3.3.8+2014-05-22-1-3b70fc7d412617eb97c6bdc7d8fb7844
kmod-nfnetlink - 3.3.8-1-3b70fc7d412617eb97c6bdc7d8fb7844
kmod-nls-base - 3.3.8-1-3b70fc7d412617eb97c6bdc7d8fb7844
kmod-nls-cp1250 - 3.3.8-1-3b70fc7d412617eb97c6bdc7d8fb7844
kmod-nls-cp1251 - 3.3.8-1-3b70fc7d412617eb97c6bdc7d8fb7844
kmod-nls-cp437 - 3.3.8-1-3b70fc7d412617eb97c6bdc7d8fb7844
kmod-nls-cp775 - 3.3.8-1-3b70fc7d412617eb97c6bdc7d8fb7844
kmod-nls-cp850 - 3.3.8-1-3b70fc7d412617eb97c6bdc7d8fb7844
kmod-nls-cp852 - 3.3.8-1-3b70fc7d412617eb97c6bdc7d8fb7844
kmod-nls-cp866 - 3.3.8-1-3b70fc7d412617eb97c6bdc7d8fb7844
kmod-nls-iso8859-1 - 3.3.8-1-3b70fc7d412617eb97c6bdc7d8fb7844
kmod-nls-iso8859-13 - 3.3.8-1-3b70fc7d412617eb97c6bdc7d8fb7844
kmod-nls-iso8859-15 - 3.3.8-1-3b70fc7d412617eb97c6bdc7d8fb7844
kmod-nls-iso8859-2 - 3.3.8-1-3b70fc7d412617eb97c6bdc7d8fb7844
kmod-nls-koi8r - 3.3.8-1-3b70fc7d412617eb97c6bdc7d8fb7844
kmod-nls-utf8 - 3.3.8-1-3b70fc7d412617eb97c6bdc7d8fb7844
kmod-ppp - 3.3.8-1-3b70fc7d412617eb97c6bdc7d8fb7844
kmod-pppoe - 3.3.8-1-3b70fc7d412617eb97c6bdc7d8fb7844
kmod-pppox - 3.3.8-1-3b70fc7d412617eb97c6bdc7d8fb7844
kmod-pptp - 3.3.8-1-3b70fc7d412617eb97c6bdc7d8fb7844
kmod-sched - 3.3.8-1-3b70fc7d412617eb97c6bdc7d8fb7844
kmod-sched-core - 3.3.8-1-3b70fc7d412617eb97c6bdc7d8fb7844
kmod-scsi-core - 3.3.8-1-3b70fc7d412617eb97c6bdc7d8fb7844
kmod-tun - 3.3.8-1-3b70fc7d412617eb97c6bdc7d8fb7844
kmod-usb-acm - 3.3.8-1-3b70fc7d412617eb97c6bdc7d8fb7844
kmod-usb-core - 3.3.8-1-3b70fc7d412617eb97c6bdc7d8fb7844
kmod-usb-net - 3.3.8-1-3b70fc7d412617eb97c6bdc7d8fb7844
kmod-usb-net-cdc-ether - 3.3.8-1-3b70fc7d412617eb97c6bdc7d8fb7844
kmod-usb-net-cdc-ncm - 3.3.8-1-3b70fc7d412617eb97c6bdc7d8fb7844
kmod-usb-net-qmi-wwan - 3.3.8-1-3b70fc7d412617eb97c6bdc7d8fb7844
kmod-usb-net-rndis - 3.3.8-1-3b70fc7d412617eb97c6bdc7d8fb7844
kmod-usb-printer - 3.3.8-1-3b70fc7d412617eb97c6bdc7d8fb7844
kmod-usb-serial - 3.3.8-1-3b70fc7d412617eb97c6bdc7d8fb7844
kmod-usb-serial-ftdi - 3.3.8-1-3b70fc7d412617eb97c6bdc7d8fb7844
kmod-usb-serial-option - 3.3.8-1-3b70fc7d412617eb97c6bdc7d8fb7844
kmod-usb-serial-qualcomm - 3.3.8-1-3b70fc7d412617eb97c6bdc7d8fb7844
kmod-usb-serial-sierrawireless - 3.3.8-1-3b70fc7d412617eb97c6bdc7d8fb7844
kmod-usb-serial-wwan - 3.3.8-1-3b70fc7d412617eb97c6bdc7d8fb7844
kmod-usb-sierrawireless-directip - 3.3.8-10-3b70fc7d412617eb97c6bdc7d8fb7844
kmod-usb-storage - 3.3.8-1-3b70fc7d412617eb97c6bdc7d8fb7844
kmod-usb-storage-extras - 3.3.8-1-3b70fc7d412617eb97c6bdc7d8fb7844
kmod-usb-wdm - 3.3.8-1-3b70fc7d412617eb97c6bdc7d8fb7844
kmod-usb2 - 3.3.8-1-3b70fc7d412617eb97c6bdc7d8fb7844
kmod-wdt-ath79 - 3.3.8-1-3b70fc7d412617eb97c6bdc7d8fb7844
libart - 2.3.21-1
libbbtargz - 1.6.2.2-1
libblkid - 2.21.2-1
libblobmsg-json - 2013-10-19-734d28eb1a46358743cf8837c91e5d46695c3b91
libbz2 - 1.0.6-1
libc - 0.9.33.2-1
libcom_err - 1.42.4-1
libcyassl - 1.6.5-1
libericstools - 1.6.2.2-1
libevent - 1.4.14b-2
libext2fs - 1.42.4-1
libffi - 3.0.11-1
libfreetype - 2.4.8-1
libfuse - 2.9.0-2
libgcc - 4.6-linaro-1
libip4tc - 1.4.10-5
libip6tc - 1.4.10-5
libiptbwctl - 1.6.2.2-1
libjson-c - 0.11-2
libltdl - 2.4-1
liblzo - 2.04-1
libmnl - 1.0.1-1
libncurses - 5.7-5
libnet0 - 1.0.2a-8
libnfnetlink - 1.0.0-2
libnids - 1.18-1
libnl-tiny - 0.1-3
libopenssl - 1.0.1h-1
liboping - 1.6.2-1
libow - 2.8p13-1
libpcap - 1.1.1-2
libpcre - 8.11-2
libpcsclite - 1.8.2-1
libpng - 1.2.46-2
libpthread - 0.9.33.2-1
libreadline - 5.2-2
librpc - 0.9.32-rc2-0a2179bbc0844928f2a0ec01dba93d9b5d6d41a7
librrd - 1.2.30-3
librrd1 - 1.0.50-2
librt - 0.9.33.2-1
libubox - 2013-10-19-734d28eb1a46358743cf8837c91e5d46695c3b91
libubus - 2013-08-08-b20a8a01c7faea5bcc9d34d10dcf7736589021b8
libuci - 2013-06-11.1-1
libusb - 0.1.12-3
libusb-1.0 - 1.0.9-1
libuuid - 2.21.2-1
libwrap - 7.6-1
libxml2 - 2.7.8-2
libxtables - 1.4.10-5
lighttpd - 1.4.30-2
lighttpd-mod-cgi - 1.4.30-2
lighttpd-mod-fastcgi - 1.4.30-2
mc - 4.7.5.3-2
miniupnpd - 1.8.20130426-2
mtd - 18.1
netifd - 2013-07-16-2674941b06c1ec67f1aff1bff9212e1372106641
nfs-kernel-server - 1.2.6-1
nfs-kernel-server-utils - 1.2.6-1
nfs-utils - 1.2.6-1
ntfs-3g - 2011.4.12-1-fuseext
openssl-util - 1.0.1h-1
openvpn - 2.2.2-2
openvpn-easy-rsa - 2.2.2-2
oscam - 9986-1
owfs - 2.8p13-1
p910nd - 0.95-1
php5 - 5.4.5-3
php5-cgi - 5.4.5-3
php5-fastcgi - 5.4.5-3
plugin-gargoyle-i18n-English-EN - 1.0.0-1
plugin-gargoyle-i18n-Polish-PL - 1.0.0-1
plugin-gargoyle-initd - 20130903
plugin-gargoyle-logread - 20120724-4
plugin-gargoyle-openvpn - 1.6.2.2-1
plugin-gargoyle-ping-watchdog - 20131030
plugin-gargoyle-usb-printer - 1.6.2.2-1
plugin-gargoyle-usb-storage - 1.6.2.2-1
plugin-gargoyle-wifi-schedule - 1.1.2-2
portmap - 6.0-3
ppp - 2.4.5-10
ppp-mod-pppoe - 2.4.5-10
qos-gargoyle - 1.6.2.2-1
rrdtool - 1.2.30-3
samba36-server - 3.6.5-3
share-users - 1.6.2.2-1
swap-utils - 2.21.2-1
swconfig - 10
tc - 3.3.0-2
terminfo - 5.7-5
ubus - 2013-08-08-b20a8a01c7faea5bcc9d34d10dcf7736589021b8
ubusd - 2013-08-08-b20a8a01c7faea5bcc9d34d10dcf7736589021b8
uci - 2013-06-11.1-1
uqmi - 2013-06-23-35201737484008ac802649cbe9fb5f7ab38a4ad2
urlsnarf - 2.4b1-2
usb-modeswitch - 2.2.0-1
usb-modeswitch-data - 20140529-1
vsftpd - 3.0.2-2
webmon-gargoyle - 1.6.2.2-1
wireless-tools - 29-5
wol - 0.7.1-2
wpad-mini - 20131120-1
zip - 2.32-1
zlib - 1.2.7-1

Czy użycie tylko fastCGI będzie dobrym rozwązaniem?

# lighttpd configuration file
# 
## modules to load
# all other module should only be loaded if really neccesary
# - saves some time
# - saves memory
server.modules = ( 
#    "mod_rewrite", 
#    "mod_redirect", 
#    "mod_alias", 
#    "mod_auth", 
#    "mod_status", 
#    "mod_setenv",
    "mod_fastcgi",
#    "mod_proxy",
#    "mod_simple_vhost",
    "mod_cgi",
#    "mod_ssi",
#    "mod_usertrack",
#    "mod_expire",
#    "mod_webdav"
)

# force use of the "write" backend (closes: #2401)
server.network-backend = "write"

## a static document-root, for virtual-hosting take look at the 
## server.virtual-* options
server.document-root = "/tmp/usb_mount/dev_sda2/www/"
#server.document-root = "/tmp/"

## where to send error-messages to
server.errorlog = "/var/log/lighttpd/error.log"

## files to check for if .../ is requested
index-file.names = ( "index.php", "index.html", "default.html", "index.htm", "default.htm" )

## mimetype mapping
mimetype.assign = (  
    ".pdf"   => "application/pdf",
    ".class" => "application/octet-stream",
    ".pac"   => "application/x-ns-proxy-autoconfig",
    ".swf"   => "application/x-shockwave-flash",
    ".wav"   => "audio/x-wav",
    ".gif"   => "image/gif",
    ".jpg"   => "image/jpeg",
    ".jpeg"  => "image/jpeg",
    ".png"   => "image/png",
    ".svg"   => "image/svg+xml",
    ".css"   => "text/css",
    ".html"  => "text/html",
    ".htm"   => "text/html",
    ".js"    => "text/javascript",
    ".txt"   => "text/plain",
    ".dtd"   => "text/xml",
    ".xml"   => "text/xml"
 )

## Use the "Content-Type" extended attribute to obtain mime type if possible
#mimetypes.use-xattr = "enable"

## send a different Server: header
## be nice and keep it at lighttpd
#server.tag = "lighttpd"

$HTTP["url"] =~ "\.pdf$" {
    server.range-requests = "disable"
}

##
# which extensions should not be handle via static-file transfer
#
# .php, .pl, .fcgi are most often handled by mod_fastcgi or mod_cgi
static-file.exclude-extensions = ( ".php", ".pl", ".fcgi" )

######### Options that are good to be but not neccesary to be changed #######

## bind to port (default: 80)
#server.port = 81

## bind to localhost (default: all interfaces)
#server.bind = "localhost"

## error-handler for status 404
#server.error-handler-404 = "/error-handler.html"
#server.error-handler-404 = "/error-handler.php"

## to help the rc.scripts
server.pid-file = "/var/run/lighttpd.pid"


###### virtual hosts
##
##   If you want name-based virtual hosting add the next three settings and load
##   mod_simple_vhost
##
## document-root =
##   virtual-server-root + virtual-server-default-host + virtual-server-docroot or
##   virtual-server-root + http-host + virtual-server-docroot
##
#simple-vhost.server-root = "/home/weigon/wwwroot/servers/"
#simple-vhost.default-host = "grisu.home.kneschke.de"
#simple-vhost.document-root = "/pages/"


## 
## Format: <errorfile-prefix><status>.html
## -> ..../status-404.html for 'File not found'
#server.errorfile-prefix = "/www/error-"

## virtual directory listings
#server.dir-listing = "enable"

## send unhandled HTTP-header headers to error-log
#debug.dump-unknown-headers = "enable"

### only root can use these options
#
# chroot() to directory (default: no chroot() )
#server.chroot = "/"

## change uid to <uid> (default: don't care)
#server.username = "nobody"
#
server.upload-dirs = ( "/tmp" )

## change uid to <uid> (default: don't care)
#server.groupname = "nobody"

#### compress module
#compress.cache-dir          = "/dev/null/"
#compress.filetype           = ("text/plain", "text/html")

#### proxy module
## read proxy.txt for more info
#proxy.server = (
#    ".php" => (
#        "localhost" => (
#            "host" => "192.168.0.101",
#            "port" => 80
#        )
#    )
#)

#### fastcgi module
## read fastcgi.txt for more info
fastcgi.server = (
    ".php" => ((
    "host" => "127.0.0.1",
    "port" => 1026,
    ))
)

#### CGI module
#cgi.assign = ( ".pl"  => "/usr/bin/perl", ".cgi" => "/usr/bin/perl" )
cgi.assign = ( ".php" => "/usr/bin/php-cgi" )
#cgi.assign = ( ".php" => "/tmp/usb_mount/dev_sda2/www/cgi-bin" )

#### SSL engine
#ssl.engine = "enable"
#ssl.pemfile = "server.pem"

#### status module
#status.status-url = "/server-status"
#status.config-url = "/server-config"

#### auth module
## read authentification.txt for more info
#auth.backend = "plain"
#auth.backend.plain.userfile = "lighttpd.user"
#auth.backend.plain.groupfile = "lighttpd.group"
#auth.require = (
#    "/server-status" => ( 
#        "method"  => "digest",
#        "realm"   => "download archiv",
#        "require" => "group=www|user=jan|host=192.168.2.10"
#    ),
#    "/server-info" => ( 
#        "method"  => "digest",
#        "realm"   => "download archiv",
#        "require" => "group=www|user=jan|host=192.168.2.10"
#    )
#)

#### url handling modules (rewrite, redirect, access)
#url.rewrite = ( "^/$" => "/server-status" )
#url.redirect = ( "^/wishlist/(.+)" => "http://www.123.org/$1" )

#### both rewrite/redirect support back reference to regex conditional using %n
#$HTTP["host"] =~ "^www\.(.*)" {
#    url.redirect = ( "^/(.*)" => "http://%1/$1" )
#}

#### expire module
#expire.url = ( "/buggy/" => "access 2 hours", "/asdhas/" => "access plus 1 seconds 2 minutes")

#### ssi
#ssi.extension = ( ".shtml" )

#### setenv
#setenv.add-request-header  = ( "TRAV_ENV" => "mysql://user@host/db" )
#setenv.add-response-header = ( "X-Secret-Message" => "42" )

#### variable usage:
## variable name without "." is auto prefixed by "var." and becomes "var.bar"
#bar = 1
#var.mystring = "foo"

## integer add
#bar += 1
## string concat, with integer cast as string, result: "www.foo1.com"
#server.name = "www." + mystring + var.bar + ".com"
## array merge
#index-file.names = (foo + ".php") + index-file.names
#index-file.names += (foo + ".php")

#### include
#include /etc/lighttpd/lighttpd-inc.conf
## same as above if you run: "lighttpd -f /etc/lighttpd/lighttpd.conf"
#include "lighttpd-inc.conf"

#### include_shell
#include_shell "echo var.a=1"
## the above is same as:
#var.a=1

#### webdav
#$HTTP["url"] =~ "^/webdav($|/)" {
# webdav.activate = "enable"
# webdav.is-readonly = "enable"
# webdav.sqlite-db-name = "/var/run/lighttpd-webdav-lock.db"
#}

4

Odp: Collectd i cgi.

Mam rozumieć że piszesz w php?

cgi.assign = ( ".php" => "/usr/bin/php-cgi" )

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

5

Odp: Collectd i cgi.

W lighttpd zmieniłem:

cgi.assign = ( ".pl"  => "/usr/bin/perl", ".cgi" => "" )

W katalogu /www/cgi-bin utworzyłem plik test.cgi o zawartości:

#!/bin/sh
echo "Content-type: text/html"
echo ''

(w tym miejscu są skrypty tworzące obrazki)

cat << _EOF_
<html>
<head>
<meta http-equiv="refresh" content="0; url=/router.html">
</head>
<body></body>
</html>

Gdy wpiszę adres routera/cgi-bin/test.cgi wyświetla się strona z odświeżonymi obrazkami. Prawidłowo chyba należałoby wpisać adres z rozszerzeniem html?
W tym momencie załadowany mam moduł CGI. Czy nie można by zrezygnować z CGI na rzecz FastCGI - czytałem że ten lepiej się sprawdza?

6

Odp: Collectd i cgi.

Ale mylisz dwie rzeczy. cgi jako skrypt to po prostu skrypt. A po stronie serwera www masz różne technologie wywołania tego skryptu, albo "zwykłe" cgi albo fastcgi które działa lekko w inny sposób. Czy zrobisz tak czy inaczej to już od Ciebie zależy.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

7

Odp: Collectd i cgi.

A sam skrypt się czymś się wtedy różni? Mógłbyś podpowiedzieć co zrobić żeby wywołując plik z rozszerzeniem html wyświetlała się strona z odświeżonymi obrazkami? Czy lepiej będzie zapisywać te obrazki w ram niż usb?

8

Odp: Collectd i cgi.

Możesz zrobić stronę z rozszerzeniem html która defacto będzie skryptem smile

Lepiej w ramie.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

9 (edytowany przez kiton 2016-01-09 23:40:10)

Odp: Collectd i cgi.

Udało mi się znaleźć sposób powiązania strony ze skryptem cgi. Tuż za tagiem <body> wstawiłem <script src="/cgi-bin/test.cgi"></script>
Po umieszczeniu go tuż przed tagiem zamykającym </body> obrazki odświeżane są po wyświetleniu strony. Dziękuję za pomoc.