2021年10月16日の投稿[2件]
Tweet ⌚ 2021年10月16日(土) 16:54:27 情報 <2516文字>
Raspberry Pi 4 で素早く Apache2 サーバを建ててゆるい設定をするメモ

常時接続が当たり前の昨今に於いてお家で Raspberry Pi 4 を Web サーバにする需要が多いと聞きますが…わりと Apache2 の設定って難解で面倒なんですよね その辺をぐぐってみてもバージョン違いや実装の違いでいまいち思ったように設定できないって困ったことはありませんか? 私はあります(汗って事なんで…セキュリティ的な云々は後回しにして手っ取り早く簡単に設定できる方法を模索してみます
そんなラズパイへの Apache2 のインストール自体はコマンド一発で簡単にできます
sudo apt install apache2
これで Apache2 がインストールされサーバが動き出します
試しに PC などのブラウザのアドレス欄に ホスト名.local と入れて確認してみましょう ちなみに標準状態のラズパイのホスト名は raspberrypi なんで raspberrypi.local になります

我が家のラズパイはホスト名を pi4 にしてるんでアレだけど…概ねこんな感じになると思います
これは Apache2 のテスト用に用意されたページで /var/www/html にある index.html を表示しています この /var/www/html をドキュメントルートと呼びます 基本的にこのフォルダにホームページ用のデータを置いていきます
:
初期状態の Apache2 は各種機能が制限されているっていうか CGI が動かなかったりとか物足りない感じなんでその辺をどうにかします

そんな Apache2 の設定ファイルは /etc/apache2 にあります この中の apache2.conf を編集したくなる感じですが…世間的にはよっぽどの事がない限りこのファイルはイジらないほうがいいって事らしいんで別の手法で設定します

/etc/apache2 を眺めてると… conf-available と conf-enabled の対になったフォルダに mods-available と mods-enabled の対と sites-available と sites-enabled の対になったフォルダがあるのに気づきます
これがラズパイの Apache2 の設定ファイル&モジュール管理の基本となります このフォルダ内にファイルを作ったりして設定を進めます

そのそれぞれ対になった *-available と *-enabled 関係ですが… available は編集中のものを含め全ての候補となるファイルが入っています 対する enabled には Apache2 を起動する際に実際に読み込まれるファイルのシンボリック・リンクが入ります
※いろいろ設定した後の内容なんで…インストール直後のものとは違いがあります(汗
それぞれ対になってる conf と mods と sites の意味ですが… conf にはアクセス制御系の設定が mods には拡張モジュールが sites にはバーチャルホスト系の設定が入ります
そしてその 有効/無効 にするための専用のコマンドが用意されています
conf の有効化には a2enconf で無効化には a2disconf を使います
mods の有効化には a2enmod で無効化には a2dismod を使います
sites の有効化には a2ensite で無効化には a2dissite を使います
:
では試しに CGI を有効化する設定をしてみましょう
CGI を使うにはそれ用のモジュールが必要らしいんで sudo a2enmod cgid で有効化します
一応 sudo systemctl restart apache2 で Apache2 を再起動します
これで /usr/lib/cgi-bin に配置した CGI 的なプログラムが動作可能になりますが…どうせならドキュメントルートである /var/www/html でも CGI を使えるようにしましょう
sudo nano /etc/apache2/conf-available/cgi.conf で新規ファイルとして編集して…
<Directory "/var/www/html">
Options +ExecCGI
AddHandler cgi-script .cgi .pl .py .rb
AllowOverride All
</Directory>
上記の 5 行を追加して保存します 今回は cgi.conf としましたが他の名前にしても大丈夫です
保存したら sudo a2enconf cgi でその設定ファイルを有効化します
最後に sudo systemctl restart apache2 で Apache2 を再起動します
これで /var/www/html でも CGI が使用可能になりました
:
CGI の設定とは少し違いますが…上記の cgi.conf に書き込んだ AllowOverride All って設定があります これは .htaccess を使用可能にする設定です
.htaccess が使えれば Apache2 の再起動をすることなく設定を即座に反映させることができるようになります その分ページ表示されるまで余計な処理が増えて重くなるらしいんだけど…めったにアクセスの無い個人ページならまぁ問題にならないでしょう(滅
.htaccess についての詳しい説明は…いろいろ多岐にわたる内容すぎて書ききれないんで省略します 気になる方はぐぐってみると良いでしょう(瀧汗
:
そうそう Perl で書かれた CGI で「CGI モジュールが必要」ってのをちょくちょく見かけるんで…そんな Perl のモジュールインストールメモをひとつ
Perl のモジュール管理(?)に CPAN (Comprehensive Perl Archive Network) を使うって話を度々目にすることがあったのも時既に過去の話だったのかなって遠い目をする話じゃなくて(汗そんな Perl モジュールの中で必須とする数個のインストールのためだけに CPAN を入れるのもめんどっちぃなぁって事なんで…普段使ってる sudo apt install でその辺をどうにかするメモ
結論から云うと CGI モジュールは sudo apt install libcgi-session-perl で入ります その他の有名どころのモジュールもだいたい sudo apt install で入れることができます
上記のCGI モジュールは心もち特殊な例なんでアレだけど…他の多くは sudo apt install lib(モジュール名)-perl でイケる事が多いです
例.GD モジュール→ sudo apt install libgd-perl NKF モジュール→ sudo apt install libnkf-perl などなど
確証はないけど…知っておくと損はないかもです
そんなこんなな長々とお疲れさまでした! #[Raspberry Pi] #Apache #CGI
●ラズパイの頻度低めだけど知っておきたい設定メモ Vol.3
●ラズパイの頻度低めだけど知っておきたい設定メモ Vol.2
●ラズパイの頻度低めだけど知っておきたい設定メモ Vol.1
●ラズパイで Apache2 サーバを建ててゆるい設定をする
●モニタ無しでラズパイを VNC 接続できるとこまでセットアップ
Tweet ⌚ 2021年10月16日(土) 09:49:15 情報 <3321文字>
ラズパイの頻度低めだけど知っておきたい設定メモ Vol.1
・有線 LAN 接続時の固定 IP な設定
・ホストネームの変更
・ファイルマネージャを root 権限で使う
・Raspberry Pi の基盤穴サイズ
:
----- 有線 LAN 接続時の固定 IP な設定 -----
/etc/dhcpcd.conf を編集
# Example static IP configuration:
#interface eth0
#static ip_address=192.168.0.10/24
#static ip6_address=fd51:42f8:caae:d92e::ff/64
#static routers=192.168.0.1
#static domain_name_servers=192.168.0.1 8.8.8.8 fd51:42f8:caae:d92e::1
この部分で設定する 必要な行の先頭の # (コメント記号)を消して有効にして必要な内容に書き換える
以下は設定例(IP アドレスが 192.168.0.80 でゲートウェイ(ホームルータ)アドレスが 192.168.0.100 で Google のパブリック DNS を使用の場合)
# Example static IP configuration:
interface eth0
static ip_address=192.168.0.80/24
#static ip6_address=fd51:42f8:caae:d92e::ff/64
static routers=192.168.0.100
static domain_name_servers=8.8.8.8 8.8.4.4
ファイル保存後に OS を再起動することにより有効になる
:
----- ホストネームの変更 -----
/etc/hostname を編集
標準状態で raspberrypi が設定されているのでそれを適宜書き換える
sudo nano /etc/hosts で編集
最終行の 127.0.1.1 raspberrypi の raspberrypi の部分を上記と同じものに書き換える
ファイル保存後に OS を再起動することにより有効になる
:
----- ファイルマネージャを root 権限で使う -----
重要なファイル類の操作や編集を GUI でどうにかしたい時に便利かもしれないけど危険かも知れない(汗
ターミナル内で sudo pcmanfm としてもいいんだけど…何かと面倒なんでアプリケーションランチャーに登録しておく
DESKTOP ファイルとか云うものを作成する ※既にあるファイルマネージャのものをコピーして編集する
sudo cp /usr/share/applications/pcmanfm.desktop /usr/share/applications/pcmanfm_sudo.desktop
sudo nano /usr/share/applications/pcmanfm_sudo.desktop
Icon=system-file-manager を Icon=user-desktop に変更する ※アイコンは何でもいいんだけど…個人的にこの辺が判りやすいアイコンだったんでこのようにした
Name=File Manager PCManFM を Name=File Manager sudo に変更する
Name[ja]=ファイルマネージャ PCManFM を Name[ja]=ファイルマネージャ sudo に変更する
GenericName[ja]=ファイルマネージャ を GenericName[ja]=ファイルマネージャ sudo に変更する
Exec=pcmanfm %U を Exec=sudo pcmanfm %U に変更してファイルを保存する
デスクトップの「ランチャアイコン上」で右クリックしてメニューを出しアプリケーション・ランチャー Settings をクリック
何故か「システムツール」に入っているファイルマネージャ sudo を選び 追加(A) ボタンを押す
新しい「ランチャアイコン」が追加された
root 権限なんで(概ね)どのフォルダ/ファイルでも操作できる その際にツールバーの左端に「現在あなたは管理者権限で操作しています」を表す ⚠ マークが表示されています
そしてもちろん右クリックでメニューを出して各種操作もできる
メニュー操作により root 権限が必要なファイルの編集もできる
ただしシステムに関連した重要なファイルの変更などで取り返しのつかない事態に陥る危険性もあります 使用には細心の注意が必要です!
:
----- Raspberry Pi の基盤穴サイズ -----
Raspberry Pi の基盤穴サイズっていうか…適合するボルト径ですかね
M2.5 ってやつがピッタリ合うようです M3 だと微妙に太くて通らないようです
設定って話じゃないけど…ちょっと気になったんでメモしておきます
今回はここまで! 長々とお疲れさまでした! #[Raspberry Pi] #コマンドヘルプ
●ラズパイの頻度低めだけど知っておきたい設定メモ Vol.3
●ラズパイの頻度低めだけど知っておきたい設定メモ Vol.2
●ラズパイの頻度低めだけど知っておきたい設定メモ Vol.1
●ラズパイで Apache2 サーバを建ててゆるい設定をする
●モニタ無しでラズパイを VNC 接続できるとこまでセットアップ