No.4, No.3, No.2, No.1[4件]
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文字>
完全モニタ無しで Raspberry Pi 4 を VNC 接続できるとこまでセットアップするメモ
※ Raspberry Pi OS が新しくなったんで…それに対応した新しい解説はこちら→ 続・モニタ無しでラズパイを VNC 接続できるとこまでセットアップする
:
某風の噂で「ラズパイ4ってモニタが無いと動かないらしいんだぜ?」って聞いたんだけど…いやいやそんなバカな話があるもんかガセネタにも程がある!って思ったんでここはひとつラズパイ4に一切モニタを繋がないで(ついでにキーボードもマウスも繋がないで)セットアップして VNC 接続して操作できる辺りまでどうにかしてみました
:
今回使用したのは Raspberry Pi OS with desktop です
モニタ無しって事はサーバ運用だろ? なんで GUI な環境がいるん?? そう思うかも知れないけど…ド初心者は何かとグラフィカルな操作を求めがちなんだよ察しろ!
ちなみにラズパイ起動用の microSD を作成するのには Raspberry Pi Imager を使うといいらしいんだけどなんか面倒くさかったんで Linux(Ubuntu) 付属の dd コマンドで済ませちゃいました(汗
sudo dd if=2021-05-07-raspios-buster-armhf.img of=/dev/sdX bs=4M conv=fsync status=progress
of=/dev/sdX の X は個々の環境によって違います あと conv=fsync は付けた方がいいらしいです
:
こうして出来た microSD を PC にマウントすると rootfs パーティションと boot パーティションが現れます ただし rootfs パーティションは ext4 ファイルシステムなんで Windows では読めないらしいんで現れないかも知れません
もうひとつの boot パーティションは FAT32 ファイルシステムなんで Windows でも問題なく読み書きできます そして起動前の操作はこの boot パーティションに対して行います
まぁその操作は SSH を使えるようにするおまじないみたいなもんですかね
先ほどの boot パーティションのルートフォルダにファイル名が「ssh」もしくは「ssh.txt」のファイルを新規作成するか…もしくは何処かからコピーするだけです 「ssh」もしくは「ssh.txt」のファイルの中身は何でも構いません 空のファイルでもいいです
これで前準備は完了です この microSD を Raspberry Pi 4 に挿して電源を供給します
赤色のパワー LED が点灯して…その横にある緑色のアクセス LED が不規則に点いたり消えたりして起動していきます
※起動の際に何かエラーがあるとこの緑色のアクセス LED が規則的に点滅して知らせてくれます
※点滅の回数などで何のエラーなのかある程度知ることが出来ます
※こちらのページ に詳しく書かれているんでもしもの時には参考になるかも??
起動が完了すると緑色のアクセス LED が殆ど点灯しなくなります その辺が起動の見極め時ですかね
そして PC から SSH 接続します Ubuntu(Linux) には標準で ssh が用意されているけど… Windows はどうなんだろう? そっちにも用意されているとは聞いたことがあるようなないような(汗
ssh pi@raspberrypi.local
LAN 内にラズパイが 1 台だけなら基本的にこの手法で繋がります
なおラズパイのネットワークへの接続は有線 LAN を使います
無線 LAN(WiFi) を使いたい場合は「wpa_supplicant.conf」でどうにかするらしいのですが…今回は有線 LAN のみを使ったんで詳細は不明です
余談ですが…我が家には既にラズパイ3が動いているんで上記の raspberrypi.local が使えませんでした
それなら IP アドレスで…と思うのですが DHCP による割り当てなんでアドレスが判りません(汗
まぁそんな時は arp -a とかすると活きた IP アドレスが列挙されるんでアタリを付けやすくなりますが
そうこう云いつつ SSH 接続を開始します
今回は ssh の -l オプションでユーザ pi を指定してるけど Windows の ssh はオプションの意味が違うらしい?
ここは ssh pi@192.168.0.34 とかの書き方のほうが判りやすくていいかもだけどどうなんだろう
初接続時のみ「未知の証明書なんだけど大丈夫? 接続していいの??」って聞かれるんで yes する
パスワードを聞かれます ラズパイの初期設定パスワードは raspberry なんでそれを入力する
接続できたら次の作業っていうか sudo raspi-config して設定ツールを起動する
キーボードの矢印キーで移動してエンターキーで決定ってスタイルです
Tab キーを使う場面もあります
3 Interface Options を選ぶ
P3 VNC を選ぶ
VNC サーバを有効にするけどいいの?と聞かれるんで <Yes> を選ぶ
設定完了
それじゃ早速 PC の VNC Viewer で接続してみましょう 我が家では Remmina を使ってみました
・・が繋がりません なんか「Unknown authentication scheme from VNC server: 13, 5, 6, 130, 192」ってエラーっぽい?
これはラズパイ側のセキュリティ設定との兼ね合いらしいんでその辺をどうにかします
先ほどの SSH でラズパイの設定ファイルを編集します
sudo nano /root/.vnc/config.d/vncserver-x11
テキストエディタに nano を使ったけど vi も使えます お好きな方でどうぞ
そして末尾に以下の 3 行を追加します
Authentication=VncAuth
Encryption=AlwaysOff
Password=
sudo systemctl restart vncserver-x11-serviced で VNC サーバを再起動する
再び PC の VNC Viewer で接続を試みる
パスワードを聞いてくるようになりました でもなんかエラーが出て繋がりません
再び SSH で sudo vncpasswd -service と入力する
パスワードを聞かれるのでお好みのパスワードを 2 回入力する
そして sudo systemctl restart vncserver-x11-serviced で VNC サーバを再起動する
またまた PC の VNC Viewer で接続を試みる 先ほど設定したパスワードを入力する
しかしまだ繋がらない(汗
これはラズパイ側のモニタ設定(?)が問題らしいのでその辺を解決する
sudo nano /boot/config.txt を編集する
#hdmi_force_hotplug=1 を探す
あった
先頭の # (コメント記号)を消して有効にする
これで設定は完了なんでラズパイを再起動する
sudo reboot
これで VNC Viewer での操作が可能になりました
なんかデフォルトのパスワードだと云々…のダイアログが出てるけどまぁ OK する
せっかくなんで初期設定も済ませちゃおっか
お国の設定は Japan にすると概ね日本語になるよ
ログインパスワードの再設定をする ラズパイ初期設定パスワード raspberry のままだと何かと不安なんでお好みのものに変更しておく
ラズパイにモニタを繋げている人向けの設定
黒枠があったりして見づらい時にはチェックを入れておくとどうにかしてくれるらしい?
WiFi の設定は使わなかったんで素通りした(汗
最後にソフトウエア等のアップデート 全自動でやってくれるから見てるだけなんだけど結構時間がかかります
:
そんな感じで作業完了してモニタ無しのラズパイを VNC Viewer で操作できるようになりました
そして某風の噂の「ラズパイ4ってモニタが無いと動かないらしいんだぜ?」って話は正しくないと判明しました
まぁ実際に長期の運用をしてみないとアレかもだけど…感触的には大丈夫っぽそうかな
そんなこんなな長々とお疲れさまでした! #[Raspberry Pi]
●ラズパイの頻度低めだけど知っておきたい設定メモ Vol.3
●ラズパイの頻度低めだけど知っておきたい設定メモ Vol.2
●ラズパイの頻度低めだけど知っておきたい設定メモ Vol.1
●ラズパイで Apache2 サーバを建ててゆるい設定をする
●モニタ無しでラズパイを VNC 接続できるとこまでセットアップ
Tweet ⌚ 2021年10月15日(金) 18:28:03 情報 <3954文字>
Tweet ⌚ 2021年10月15日(金) 15:18:30 メモ <46文字>
ラズパイの頻度低めだけど知っておきたい設定メモ 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 接続できるとこまでセットアップ