<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
	<title><![CDATA[ タグ「Apache」を含む投稿［2件］ - でんげき☆ Network Service ]]></title>
	<link>https://room.dengeki.jp/tegalog.cgi</link>
	<description><![CDATA[ Raspberry Pi 4 で運用実験中 ]]></description>
	<language>ja</language>
	<copyright>Copyright 2025</copyright>
	<lastBuildDate>Thu, 05 Jun 2025 14:05:45 +0900</lastBuildDate>
	<generator><![CDATA[ <!-- てがろぐ Version: -->Powered by <a href="https://www.nishishi.com/cgi/tegalog/" rel="noreferrer" target="_top">てがろぐ</a> Ver 4.4.5 ]]></generator>
	<!-- BEGIN ENTRIES -->
	<!-- One Entry Data for RSS Feed -->
<item>
	<title><![CDATA[ ラズパイの Apache で CPU 情報を取得する vcg… ]]></title>
	<description><![CDATA[ ラズパイの Apache で CPU 情報を取得する vcgencmd が CGI で動かない問題を解決する<br /><img class="embeddedimage " width="240" height="240" src="https://room.dengeki.jp/images/20211205061157-admin.png" alt="20211205061157-admin.png"><br />　<br />Raspberry Pi 4 (ラズパイ) に CPU のクロック周波数や温度やらを取得する vcgencmd なるコマンドが用意されています<br />CPU などなどのクロック周波数を表示<br /><span class="decorationC" style="color:green;">for src in arm core h264 isp v3d uart pwm emmc pixel vec hdmi dpi ; do echo -e &quot;$src:\t$(vcgencmd measure_clock $src)&quot; ; done</span><br />CPU の温度を表示<br /><span class="decorationC" style="color:green;">vcgencmd measure_temp</span><br />利用可能・不可能なコーデックの表示<br /><span class="decorationC" style="color:green;">for codec in H264 MPG2 WVC1 MPG4 MJPG WMV9 ; do &nbsp;echo -e &quot;$codec:\t$(vcgencmd codec_enabled $codec)&quot; ; done</span><br /><br /><img class="embeddedimage " width="736" height="479" src="https://room.dengeki.jp/images/20211205053433-admin.png" alt="20211205053433-admin.png"><br />実行例<br /><br />その他にもいろいろあるんで…詳しくは <a class="url labeledlink" href="https://elinux.org/RPI_vcgencmd_usage" rel="noopener noreferrer" target="_blank">解説ページをご覧ください</a> って感じの vcgencmd コマンドなんですが Apache 上の CGI として実行させようとすると失敗するんでその辺をどうにかしてみます<br /><br />まぁ結論から云ってしまうと…グループ video に Apache が実行するユーザである www-data が入っていないから動かないって事らしいです<br /><span class="decorationC" style="color:green;">cat /etc/group | grep video</span><br /><b class="decorationB"><span class="decorationC" style="color:red;">video</span>:x:44:pi</b><br /><br />ちなみに Apache が実行するユーザは /etc/apache2/envvars で指定しているようです<br />export APACHE_RUN_USER=www-data<br />export APACHE_RUN_GROUP=www-data<br /><br />試しにコマンドラインでユーザを www-data に切り替えて確認してみましょう<br /><span class="decorationC" style="color:green;">sudo su -s /bin/bash www-data</span><br /><span class="decorationC" style="color:green;">vcgencmd measure_temp</span><br /><b class="decorationB">VCHI initialization failed</b><br />やはり使えないみたいですね…<br /><br />それじゃグループ video にユーザ www-data を追加していきましょう　まぁコマンド一発なんですが<br /><span class="decorationC" style="color:green;">sudo usermod -aG video www-data</span><br />これで追加できます　確認すると…<br /><span class="decorationC" style="color:green;">cat /etc/group | grep video</span><br /><b class="decorationB"><span class="decorationC" style="color:red;">video</span>:x:44:pi,www-data</b><br />グループ video にユーザ www-data が追加されました<br /><br />それでは再びユーザを www-data に切り替えて確認してみましょう<br /><span class="decorationC" style="color:green;">sudo su -s /bin/bash www-data</span><br /><span class="decorationC" style="color:green;">vcgencmd measure_temp</span><br /><b class="decorationB">temp=28.2&apos;C</b><br />ちゃんと使えるようになりました<br /><br />　　：<br /><br />しかし Apache 上の CGI として vcgencmd コマンドを実行しても「VCHI initialization failed」のエラーが出続けます　なんで？？<br />いろいろと試していて…まぁはっきりとした理由は不明なんですが Apache を再起動させたらこの問題が解決しました<br /><span class="decorationC" style="color:green;">sudo systemctl restart apache2</span><br />これで Apache 上の CGI として vcgencmd コマンドが使えるようになりました　何か別の所に問題があるかもだけど…我が家の環境ではこの手法で解決できました<br /><br /><img class="embeddedimage " width="736" height="479" src="https://room.dengeki.jp/images/202112050534331-admin.png" alt="202112050534331-admin.png"><br />そんな操作の過程のスクリーンショットをぺたり　<del class="decorationD"><small class="decorationT">改竄の余地のないよう作業の過程を全て収録してあります</small></del><br /><br />※参考資料　グループからユーザを削除するには…<br />トラブルの解決中っていうか…いろいろやってて勢い余って必要のないユーザをグループに追加しちゃった！(&gt;_&lt;)ｑって時なんかにグループからユーザを削除する場合には以下のようにします<br />例えばグループ <span class="decorationC" style="color:red;">video</span> に追加されたユーザ <span class="decorationC" style="color:blue;">www-data</span> を削除する場合は<br /><span class="decorationC" style="color:green;">sudo gpasswd -d <span class="decorationC" style="color:blue;">www-data</span> <span class="decorationC" style="color:red;">video</span></span><br />こんな感じに操作します　先ほどの <span class="decorationC" style="color:green;">usermod</span> の場合とユーザ名とグループ名の指定が逆になってるので注意が必要です　なんなら <span class="decorationC" style="color:green;">gpasswd -a</span> でグループにユーザを追加することができるらしいんですが…どっちを使うといいんだろうね<br /><br />　　：<br /><br />さてさてそんな vcgencmd を使ってこんな感じで動かしています<br />&nbsp;<img class="embeddedimage" src="https://yqn.f5.si/pic/pi4.png" alt="(キャプション自動取得対象外)">　その都度都度で PNG 画像を生成しています<br />Web サーバの処理やら画像の生成などで一時的にクロック高めな感じですがアイドル時は 600MHz くらいになってるようです<br />そんなこんなで何かの都合でラズパイを再セットアップした際に悩まないようなメモでした <a href="https://room.dengeki.jp/tegalog.cgi?tag=%52%61%73%70%62%65%72%72%79%20%50%69" class="taglink" title="Raspberry Pi">#&#91;Raspberry Pi&#93;</a> <a href="https://room.dengeki.jp/tegalog.cgi?tag=%41%70%61%63%68%65" class="taglink" title="Apache">#Apache</a> <a href="https://room.dengeki.jp/tegalog.cgi?tag=%e3%82%b3%e3%83%9e%e3%83%b3%e3%83%89%e3%83%98%e3%83%ab%e3%83%97" class="taglink" title="コマンドヘルプ">#コマンドヘルプ</a> <a href="https://room.dengeki.jp/tegalog.cgi?tag=%43%47%49" class="taglink" title="CGI">#CGI</a> -- Posted by 猫山ぽるか 〔2063文字〕 No.11 ]]></description>
	<link>https://room.dengeki.jp/tegalog.cgi?postid=11</link>
	<guid>https://room.dengeki.jp/tegalog.cgi?postid=11</guid>
	<category>info</category>
	<pubDate>Sun, 05 Dec 2021 05:34:33 +0900</pubDate>
</item>
<!-- One Entry Data for RSS Feed -->
<item>
	<title><![CDATA[ Raspberry Pi 4 で素早く Apache2 サー… ]]></title>
	<description><![CDATA[ Raspberry Pi 4 で素早く Apache2 サーバを建ててゆるい設定をするメモ<br /><img class="embeddedimage " width="200" height="200" src="https://room.dengeki.jp/images/20211203173447-admin.png" alt="20211203173447-admin.png"><br />　<br />常時接続が当たり前の昨今に於いてお家で Raspberry Pi 4 を Web サーバにする需要が多いと聞きますが…わりと Apache2 の設定って難解で面倒なんですよね　その辺をぐぐってみてもバージョン違いや実装の違いでいまいち思ったように設定できないって困ったことはありませんか？　私はあります（汗って事なんで…セキュリティ的な云々は後回しにして手っ取り早く簡単に設定できる方法を模索してみます<br /><br />そんなラズパイへの Apache2 のインストール自体はコマンド一発で簡単にできます<br /><span class="decorationC" style="color:green;">sudo apt install apache2</span><br />これで Apache2 がインストールされサーバが動き出します<br />試しに PC などのブラウザのアドレス欄に <span class="decorationC" style="color:green;">ホスト名.local</span> と入れて確認してみましょう　ちなみに標準状態のラズパイのホスト名は raspberrypi なんで <span class="decorationC" style="color:green;">raspberrypi.local</span> になります<br /><br /><img class="embeddedimage " width="1011" height="677" src="https://room.dengeki.jp/images/20211016095920-admin.png" alt="20211016095920-admin.png"><br />我が家のラズパイはホスト名を <span class="decorationC" style="color:green;">pi4</span> にしてるんでアレだけど…概ねこんな感じになると思います<br />これは Apache2 のテスト用に用意されたページで <span class="decorationC" style="color:red;">/var/www/html</span> にある <span class="decorationC" style="color:red;">index.html</span> を表示しています　この <span class="decorationC" style="color:red;">/var/www/html</span> をドキュメントルートと呼びます　基本的にこのフォルダにホームページ用のデータを置いていきます<br /><br />　　：<br /><br />初期状態の Apache2 は各種機能が制限されているっていうか CGI が動かなかったりとか物足りない感じなんでその辺をどうにかします<br /><img class="embeddedimage " width="1186" height="749" src="https://room.dengeki.jp/images/20211016101700-admin.png" alt="20211016101700-admin.png"><br />そんな Apache2 の設定ファイルは <span class="decorationC" style="color:red;">/etc/apache2</span> にあります　この中の <span class="decorationC" style="color:red;">apache2.conf</span> を編集したくなる感じですが…世間的にはよっぽどの事がない限りこのファイルはイジらないほうがいいって事らしいんで別の手法で設定します<br /><br /><img class="embeddedimage " width="1186" height="749" src="https://room.dengeki.jp/images/20211016102522-admin.png" alt="20211016102522-admin.png"><br /><span class="decorationC" style="color:red;">/etc/apache2</span> を眺めてると… <span class="decorationC" style="color:red;">conf-available</span> と <span class="decorationC" style="color:red;">conf-enabled</span> の対になったフォルダに <span class="decorationC" style="color:red;">mods-available</span> と <span class="decorationC" style="color:red;">mods-enabled</span> の対と <span class="decorationC" style="color:red;">sites-available</span> と <span class="decorationC" style="color:red;">sites-enabled</span> の対になったフォルダがあるのに気づきます<br />これがラズパイの Apache2 の設定ファイル＆モジュール管理の基本となります　このフォルダ内にファイルを作ったりして設定を進めます<br /><br /><img class="embeddedimage " width="1186" height="749" src="https://room.dengeki.jp/images/20211016103332-admin.png" alt="20211016103332-admin.png"><br />そのそれぞれ対になった <span class="decorationC" style="color:red;">*-available</span> と <span class="decorationC" style="color:red;">*-enabled</span> 関係ですが… available は編集中のものを含め全ての候補となるファイルが入っています　対する enabled には Apache2 を起動する際に実際に読み込まれるファイルのシンボリック・リンクが入ります<br />※いろいろ設定した後の内容なんで…インストール直後のものとは違いがあります（汗<br /><br />それぞれ対になってる conf と mods と sites の意味ですが… conf にはアクセス制御系の設定が mods には拡張モジュールが sites にはバーチャルホスト系の設定が入ります<br />そしてその 有効/無効 にするための専用のコマンドが用意されています<br />conf の有効化には <span class="decorationC" style="color:green;">a2enconf</span> で無効化には <span class="decorationC" style="color:green;">a2disconf</span> を使います<br />mods の有効化には <span class="decorationC" style="color:green;">a2enmod</span> で無効化には <span class="decorationC" style="color:green;">a2dismod</span> を使います<br />sites の有効化には <span class="decorationC" style="color:green;">a2ensite</span> で無効化には <span class="decorationC" style="color:green;">a2dissite</span> を使います<br /><br />　　：<br /><br />では試しに CGI を有効化する設定をしてみましょう<br />CGI を使うにはそれ用のモジュールが必要らしいんで <span class="decorationC" style="color:green;">sudo a2enmod cgid</span> で有効化します<br />一応 <span class="decorationC" style="color:green;">sudo systemctl restart apache2</span> で Apache2 を再起動します<br /><br />これで <span class="decorationC" style="color:red;">/usr/lib/cgi-bin</span> に配置した CGI 的なプログラムが<a class="url labeledlink" href="https://room.dengeki.jp/cgi-bin/gd.cgi?hogehoge" rel="noopener noreferrer" target="_blank">動</a><a class="url labeledlink" href="https://room.dengeki.ne.jp/cgi-bin/gd.cgi?hogehoge" rel="noopener noreferrer" target="_blank">作</a><a class="url labeledlink" href="https://yqn.f5.si/cgi-bin/gd.cgi?hogehoge" rel="noopener noreferrer" target="_blank">可能</a>になりますが…どうせならドキュメントルートである <span class="decorationC" style="color:red;">/var/www/html</span> でも CGI を使えるようにしましょう<br /><br /><span class="decorationC" style="color:green;">sudo nano /etc/apache2/conf-available/cgi.conf</span> で新規ファイルとして編集して…<br /><span class="decorationC" style="color:red;">&lt;Directory &quot;/var/www/html&quot;&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;Options +ExecCGI<br />&nbsp;&nbsp;&nbsp;&nbsp;AddHandler cgi-script .cgi .pl .py .rb<br />&nbsp;&nbsp;&nbsp;&nbsp;AllowOverride All<br />&lt;/Directory&gt;</span><br />上記の 5 行を追加して保存します　今回は cgi.conf としましたが他の名前にしても大丈夫です<br /><br />保存したら <span class="decorationC" style="color:green;">sudo a2enconf cgi</span> でその設定ファイルを有効化します<br />最後に <span class="decorationC" style="color:green;">sudo systemctl restart apache2</span> で Apache2 を再起動します<br />これで <span class="decorationC" style="color:red;">/var/www/html</span> でも CGI が使用可能になりました<br /><br />　　：<br /><br />CGI の設定とは少し違いますが…上記の <span class="decorationC" style="color:green;">cgi.conf</span> に書き込んだ <span class="decorationC" style="color:green;">AllowOverride All</span> って設定があります　これは &nbsp;<span class="decorationC" style="color:green;">.htaccess</span> を使用可能にする設定です<br /><span class="decorationC" style="color:green;">.htaccess</span> が使えれば Apache2 の再起動をすることなく設定を即座に反映させることができるようになります　その分ページ表示されるまで余計な処理が増えて重くなるらしいんだけど…めったにアクセスの無い個人ページならまぁ問題にならないでしょう（滅<br /><span class="decorationC" style="color:green;">.htaccess</span> についての詳しい説明は…いろいろ多岐にわたる内容すぎて書ききれないんで省略します　気になる方は<a class="url labeledlink" href="https://www.google.com/search?q=.htaccess" rel="noopener noreferrer" target="_blank">ぐぐってみる</a>と良いでしょう（瀧汗<br /><br />　　：<br /><br />そうそう Perl で書かれた CGI で「CGI モジュールが必要」ってのをちょくちょく見かけるんで…そんな Perl のモジュールインストールメモをひとつ<br />Perl のモジュール管理(？)に CPAN (Comprehensive Perl Archive Network) を使うって話を度々目にすることがあったのも時既に過去の話だったのかなって遠い目をする話じゃなくて（汗そんな Perl モジュールの中で必須とする数個のインストールのためだけに CPAN を入れるのもめんどっちぃなぁって事なんで…普段使ってる <span class="decorationC" style="color:green;">sudo apt install</span> でその辺をどうにかするメモ<br /><br />結論から云うと CGI モジュールは <span class="decorationC" style="color:green;">sudo apt install libcgi-session-perl</span> で入ります　その他の有名どころのモジュールもだいたい <span class="decorationC" style="color:green;">sudo apt install</span> で入れることができます<br />上記のCGI モジュールは心もち特殊な例なんでアレだけど…他の多くは <span class="decorationC" style="color:green;">sudo apt install lib<span class="decorationC" style="color:red;">(モジュール名)</span>-perl</span> でイケる事が多いです<br /><br />例．GD モジュール→ <span class="decorationC" style="color:green;">sudo apt install lib<span class="decorationC" style="color:red;">gd</span>-perl</span> 　NKF モジュール→ <span class="decorationC" style="color:green;">sudo apt install lib<span class="decorationC" style="color:red;">nkf</span>-perl</span> などなど<br />確証はないけど…知っておくと損はないかもです<br /><br />そんなこんなな長々とお疲れさまでした！ <a href="https://room.dengeki.jp/tegalog.cgi?tag=%52%61%73%70%62%65%72%72%79%20%50%69" class="taglink" title="Raspberry Pi">#&#91;Raspberry Pi&#93;</a> <a href="https://room.dengeki.jp/tegalog.cgi?tag=%41%70%61%63%68%65" class="taglink" title="Apache">#Apache</a> <a href="https://room.dengeki.jp/tegalog.cgi?tag=%43%47%49" class="taglink" title="CGI">#CGI</a><br /><small class="decorationS"><br />　　●<span class="decorationM" style="background-color:lightcyan;"><a href="https://room.dengeki.jp/tegalog.cgi?postid=6" class="postidlink">ラズパイの頻度低めだけど知っておきたい設定メモ Vol.3</a></span><br />　　●<span class="decorationM" style="background-color:lightcyan;"><a href="https://room.dengeki.jp/tegalog.cgi?postid=5" class="postidlink">ラズパイの頻度低めだけど知っておきたい設定メモ Vol.2</a></span><br />　　●<span class="decorationM" style="background-color:lightcyan;"><a href="https://room.dengeki.jp/tegalog.cgi?postid=4" class="postidlink">ラズパイの頻度低めだけど知っておきたい設定メモ Vol.1</a></span><br />　　●<span class="decorationM" style="background-color:lightpink;"><a href="https://room.dengeki.jp/tegalog.cgi?postid=3" class="postidlink">ラズパイで Apache2 サーバを建ててゆるい設定をする</a></span><br />　　●<span class="decorationM" style="background-color:lightcyan;"><a href="https://room.dengeki.jp/tegalog.cgi?postid=2" class="postidlink">モニタ無しでラズパイを VNC 接続できるとこまでセットアップ</a></span><br /></small> -- Posted by 猫山ぽるか 〔3321文字〕 No.3 ]]></description>
	<link>https://room.dengeki.jp/tegalog.cgi?postid=3</link>
	<guid>https://room.dengeki.jp/tegalog.cgi?postid=3</guid>
	<category>info</category>
	<pubDate>Sat, 16 Oct 2021 09:49:15 +0900</pubDate>
</item>

	<!-- END ENTRIES -->
</channel>
</rss>

