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 件のコメント:
コメントを投稿