2017年12月14日木曜日

An installation of lighttpd(1.4.48) on Raspberry Pi Stretch

僕は、相も変わらず、lighttpdを使っているわけで、、、
apt-getでインストールすると 1.4.45
でも、最新は、1.4.48

今回は、クリーンインストールするので、、、

wget https://download.lighttpd.net/lighttpd/releases-1.4.x/lighttpd-1.4.48.tar

tar xvf lighttpd-1.4.48.tar
cd lighttpd-1.4.48.tar
./configure
make -j4
sudo make install

で、、、?

/etc/lighttpdが無い、、、躊躇せず

sudo make clean
sudo apt-get install lighttpd
sudo make install
lighttpd -v
lighttpd/1.4.48 - a light and fast webserver

よしよし、、、

cd /etc/lighttpd/conf-enabled
sudo ln -s ../conf-available/10-cgi.conf 10-cgi.conf
sudo cp ../conf-available/10-cgi.conf ../conf-available/10-cgi.conf.org

sudo vi ../conf-available/10-cgi.conf
cat ../conf-available/10-cgi.conf
# /usr/share/doc/lighttpd/cgi.txt

server.modules += ( "mod_cgi" )

$HTTP["url"] =~ "^/cgi-bin/" {
        cgi.assign = ( "" => "" )
}
$HTTP["url"] =~ "^/api/" {
        cgi.assign = ( "" => "" )
}
## Warning this represents a security risk, as it allow to execute any file
## with a .pl/.py even outside of /usr/lib/cgi-bin.
#
#cgi.assign      = (
#       ".pl"  => "/usr/bin/perl",
#       ".py"  => "/usr/bin/python",
#)

sudo systemctl restart lighttpd
cd /var/www/html
sudo mkdir api
cd api

sudo vi q1.c
cat q1.c
#include <stdio.h>
#include <stdlib.h>

void main(void);

void main(void)
{
  char *s_dt;
  long m,n;

  printf(" Content-Type:text/html;charset=utf-8\n\n");
  printf("<html><title>Test C-Language CGI</title><body>\n");
  printf("<H3>Result</H3>\n");
  s_dt = getenv("QUERY_STRING");
  printf("<P>%s\n", s_dt);

  if(s_dt== NULL)
    printf("<P>no argument.");
  else if(sscanf(s_dt,"m=%ld&n=%ld",&m,&n)!=2)
    printf("<P>not numeric.");
  else
    printf("<P>result %ld x %ld = %ld.",m,n,m*n);

  printf("</body></html>\n");

  return;
}

sudo gcc q1.c -o q1

で、、、他のマシンのChromeで
http://192.168.11.166/api/q1?m=10&n=20
とすると、、、画面に、以下のように表示されて、めでたしめでたし(^^)

Result

m=10&n=20
result 10 x 20 = 200.

という事で、、、呪文を唱えた感じだけど、、、

Peace!!

0 件のコメント:

コメントを投稿