NAS、Webサーバー、cgiの復元
本命はNASでこれは簡単だった。Webサーバーとそこでcgiを動かすのは重要ではないが手間取った。
↓ここからはチャッピーが作ったまとめなので、細かいところは違っているところもある。流れはだいたいこんなかんじで概ね合っている。
↓ここからはチャッピーが作ったまとめなので、細かいところは違っているところもある。流れはだいたいこんなかんじで概ね合っている。
1. 準備
- 新しいSDカードに Raspberry Pi OS Desktop(Bookworm)をインストール
- SSH と VNC を有効化
- VNC は sudo raspi-config で有効化
2. WindowsからのSSH接続設定
2.1 既存ホストキーのリセット
>ssh-keygen -R raspberrypi3
- 古いホスト名の情報を削除
- 接続時に「Are you sure …?」と聞かれたら yes
2.2 パスワード認証で接続
>ssh [email protected]
パスワードでログインできることを確認
3. 旧環境データの復元
3.1 tar.gz をコピー
>mkdir -p /home/pi/restore >cp /media/oldSD/backup.tar.gz /home/pi/restore/ >cd /home/pi/restore
3.2 展開
>tar xzf backup.tar.gz
上書きリスクに注意
4. Samba 共有復元
4.1 設定コピー
>sudo cp /home/pi/restore/etc/samba/smb.conf /etc/samba/smb.conf
4.2 Samba インストールと起動
>sudo apt update >sudo apt install samba >sudo systemctl enable smbd nmbd >sudo systemctl start smbd nmbd >sudo systemctl status smbd nmbd
4.3 共有フォルダ復元
>sudo cp -r /home/pi/restore/home/pi/共有フォルダ /home/pi/ >sudo chown -R pi:pi /home/pi/共有フォルダ
5. Webサーバー(Nginx + CGI)復元
5.1 Nginx インストール
>sudo apt update >sudo apt install nginx >sudo systemctl enable nginx >sudo systemctl start nginx >sudo systemctl status nginx
5.2 CGI実行環境(Perl + fcgiwrap)
>sudo apt install perl fcgiwrap >sudo systemctl enable fcgiwrap >sudo systemctl start fcgiwrap
5.3 Webデータ復元
>sudo cp -r /home/pi/restore/var/www/html/* /var/www/html/ >sudo chown -R www-data:www-data /var/www/html
5.4 Nginx で CGI 設定
/etc/nginx/sites-available/default の server { … } 内に追加:
location /cgi-bin/ {
root /var/www/html;
fastcgi_pass unix:/var/run/fcgiwrap.socket;
include /etc/nginx/fastcgi_params;
fastcgi_param SCRIPT_FILENAME /var/www/html$fastcgi_script_name;
}
設定反映:
>sudo nginx -t >sudo systemctl restart nginx
5.5 CGIスクリプト権限
>sudo chmod +x /var/www/html/cgi-bin/*.pl >sudo chown -R www-data:www-data /var/www/html/cgi-bin
6. VNC / GUI 確認
VNCサーバー有効化済みか確認:
>sudo systemctl status vncserver-x11-serviced
ディスプレイが接続されていなくても VNC で接続可能
解像度が必要なら /boot/config.txt で固定
解像度が必要なら /boot/config.txt で固定
7. 動作確認
- Samba共有 → Windowsなどからアクセス
- Web → http://<PiのIP>/
- CGI → /cgi-bin/*.pl がブラウザで実行されるか確認
- VNC → GUI操作可能か確認
8. 注意事項
- tar.gz 展開時は既存ファイルを上書きする可能性あり
- 所有者 / パーミッションの確認は必須
- Nginx + CGI の場合、 fcgiwrap が必須
- Sambaの自動起動が有効になっているか確認
これで 旧環境を新SDでほぼ完全に復元 できます。