インストール
事前にisc dhcp serverをインストール&設定しておく。
apache2も。
$ sudo apt-get -y install isc-dhcp-server
$ sudo apt-get -y install apache2
ここを参考に設定(2014年の記事だけどいけた)
dhcpstatusでIPアドレスリース状況を確認する(dhcpstatusのCPU100%対策) - ままれのblog
RaspberryPiはDHCPサーバを兼ねているので、dhcpstatusを使...
上記記事+追加設定
dhcpstatus.conf 置き場はここ
慣れてたhttpdとディレクトリ構成が違ったので手間取った。
pi@raspberrypi:/etc/apache2/sites-available $ more dhcpstatus.conf
Alias /dhcpstatus/ /var/www/dhcpstatus/
<Directory /var/www/dhcpstatus/>
DirectoryIndex dhcpstatus.cgi
AllowOverride None
Options ExecCGI
Order allow,deny
Allow from all
</Directory>
有効化する必要あり
pi@raspberrypi:/etc/apache2/sites-available $ sudo $ sudo a2enmod cgid
pi@raspberrypi:/etc/apache2/sites-available $ sudo a2ensite dhcpstatus.conf
Enabling site dhcpstatus.
To activate the new configuration, you need to run:
systemctl reload apache2
pi@raspberrypi:/etc/apache2 $ sudo systemctl reload apache2
エラー対応
Can’t locate timelocal.pl
Can't locate timelocal.pl in @INC (@INC contains: /usr/local/dhcpstatus /etc/perl /usr/local/lib/arm-linux-gnueabihf/perl/5.28.1 /usr/local/share/perl/5.28.1 /usr/lib/arm-linux-gnueabihf/perl5/5.28 /usr/share/perl5 /usr/lib/arm-linux-gnueabihf/perl/5.28 /usr/share/perl/5.28 /usr/local/lib/site_perl /usr/lib/arm-linux-gnueabihf/perl-base) at /usr/local/dhcpstatus/dhcpstatus/Lease.pm line 59
ここを参考に
古いCGIが動かない・500エラーでの対応方法 jcode.pl timelocal.pl perl5 以降の場合 | Web Juice
新しいサーバーに移設した際に、CGIが動作しない。 perl4のサーバーから、perl5.xx のサーバーへ移動した際に、エラーで動作しなくなりました。 ※パーミッションに関しては、各サーバーにてご確認ください。(サーバー環境としてCGIが...
該当行を以下に置換
use Time::Local;
Can’t locate CGI.pm
Can't locate CGI.pm in @INC (you may need to install the CGI module) (@INC contains: /usr/local/dhcpstatus /etc/perl /usr/local/lib/arm-linux-gnueabihf/perl/5.28.1 /usr/local/share/perl/5.28.1 /usr/lib/arm-linux-gnueabihf/perl5/5.28 /usr/share/perl5 /usr/lib/arm-linux-gnueabihf/perl/5.28 /usr/share/perl/5.28 /usr/local/lib/site_perl /usr/lib/arm-linux-gnueabihf/perl-base) at /usr/local/dhcpstatus/dhcpstatus/display_html.pm line 27.
BEGIN failed--compilation aborted at /usr/local/dhcpstatus/dhcpstatus/display_html.pm line 27.
Compilation failed in require at /usr/local/dhcpstatus/dhcpstatus/dhcpstatus_cgi.pm line 27.
BEGIN failed--compilation aborted at /usr/local/dhcpstatus/dhcpstatus/dhcpstatus_cgi.pm line 27.
Compilation failed in require at /var/www/dhcpstatus/dhcpstatus.cgi line 28.
BEGIN failed--compilation aborted at /var/www/dhcpstatus/dhcpstatus.cgi line 28.
ライブラリのインストールで対応
$ sudo apt install libcgi-session-perl
最終ディレクトリ構成(確認用)
pi@raspberrypi:/var/www/dhcpstatus $ ls -al
合計 12
drwxr-xr-x 2 www-data www-data 4096 6月 28 01:55 .
drwxr-xr-x 6 www-data www-data 4096 6月 28 03:07 ..
-rwxr-xr-x 1 www-data www-data 1369 8月 12 2001 dhcpstatus.cgi
pi@raspberrypi:/usr/local/dhcpstatus $ ls -al
合計 16
drwxr-xr-x 3 root root 4096 6月 28 03:32 .
drwxr-xr-x 11 root root 4096 6月 28 01:52 ..
drwxr-xr-x 2 root root 4096 6月 28 03:22 dhcpstatus
-rw-r--r-- 1 root root 1927 6月 28 03:31 dhcpstatus.ini
コメント