以下から、Raspberry Pi OS Liteをインストールするためにインストーラをダウンロードする。
https://www.raspberrypi.org/software/
Download for Windowsをクリック。
imager_1.5.exe
がダウンロードされるので、インストールする。
Raspberry Pi Imager v1.4を起動する。
Raspberry Pi OS(Other)を選択。
Raspberry Pi OS Lite(32-bit)を選択。
SD CardをPCに認識させたうえで、”CHOOSE SD CARD”をクリック。
インストール先のSD Cardを選択する。
“WRITE”をクリック。
そのディスクの中身は消されちゃうけどよい?聞かれるので、”YES”をクリック。
終わるまで待ち。
「SDカードをリーダーから外ずせるよ」、と言われるのでSD-Cardを取り外して”CONTINUE”をクリック。
Raspberry Pi zero WHに
・SD-Cardを挿入
・ディスプレイをHDMIケーブルで接続
・USBキーボードを接続
・電源用USBケーブルを接続
して電源を投入する。
ログイン画面が出たら、
user: pi
password: raspberry
を入力する。
Raspiの設定を行う。
1 2 |
$ sudo raspi-config |
キーボード設定
SSH有効化
WIFIアクセスポイント設定
1 2 |
$ sudo nano /etc/wpa_supplicant/wpa_supplicant.conf |
最後尾にWIFIの設定(アクセスポイント名・パスワード)を書く。
1 2 3 4 5 |
network={ ssid="access-point" psk="password" } |
リブートをする
1 2 |
$ sudo reboot |
リブートを完了したら、ログインして、
1 2 |
$ ifconfig |
でwlan0
のinet:
の項目にご自宅のネットワークアドレスが書かれていれば、無線LANが使える状態です。
もし、見覚えのないアドレスや、inet:
自体がない場合は、WIFIの設定が失敗しています。
もう一度見直してみてください。
以降は、SSHを使ってPCから操作をします。
ここでは、teratermを使用します。
さきほどのログインの時に使ったユーザー名とパスワードを入力。
インストールを円滑に行うためにアプリ取得先のサーバーを追加します。
1 2 |
$ sudo nano /etc/apt/sources.list |
最後尾に以下を追加する。
1 2 3 |
deb http://ftp.jaist.ac.jp/raspbian/ buster main contrib non-free rpi deb http://ftp.tsukuba.wide.ad.jp/Linux/raspbian/raspbian/ buster main contrib non-free rpi |
パッケージリストの更新を行う。
1 2 |
$ sudo apt-get update |
好きなテキストエディタがあればインストールする。
例えば、emacsの場合は以下を入力。nanoでよいならば必要ありません。
1 2 |
$ sudo apt-get -y install emacs |
WEBサーバーをインストールする。
1 2 |
$ sudo apt-get -y install apache2 |
PHPをインストール・有効化する。
1 2 3 4 |
$ sudo apt-get -y install php7.3 php7.3-fpm php7.3-mysql php7.3-gd php7.3-mbstring php7.3-zip php7.3-xml $ sudo a2enmod proxy_fcgi setenvif $ sudo a2enconf php7.3-fpm |
PHPの設定を変更する。
1 2 |
$ sudo nano /etc/php/7.3/fpm/php.ini |
大きいファイルアップロードするので以下の2つを変更する。
1 2 3 |
upload_max_filesize = 4000M post_max_size = 4000M |
WEBアカウントがUSBメモリをmountできるように以下の設定をする。
1 2 |
$ sudo nano /etc/fstab |
ファイルの最後尾に以下を追加する。
1 2 |
/dev/sda1 /sda1 auto users,noauto,rw,uid=www-data,gid=www-data 0 0 |
USBがマウントするフォルダを作成する。
1 2 |
sudo mkdir /sda1 |
WEBアカウントがGPIOを制御できるように以下の設定をする。
1 2 |
$ sudo gpasswd -a www-data gpio |
WEBアカウントがraspiの電源を落とせるように以下の設定をする。
1 2 |
$ sudo visudo |
最後尾に以下を追加する。
1 2 |
www-data ALL= NOPASSWD: /sbin/shutdown |
※ 保存する際に、.tmpファイルを保存するような表示になるが、保存すると目的のファイル(/etc/sudoers)が変更されます。
elFinderをダウンロード・展開・WEBへコピーする。
※このバージョンがダウンロードできない場合は、
https://studio-42.github.io/elFinder/
から最新のバージョン番号に書き換えたうえで実行してください。
1 2 3 4 5 |
$ wget https://github.com/Studio-42/elFinder/archive/2.1.57.zip $ unzip 2.1.57.zip $ sudo cp -R elFinder-2.1.57/. /var/www/html/ $ sudo cp /var/www/html/php/connector.minimal.php-dist /var/www/html/php/connector.minimal.php |
elFinderのセットアップをする。
1 2 |
$ sudo nano /var/www/html/php/connector.minimal.php |
以下を変更する。★の行を追加する。(★は目印なだけなので書いてはダメ)
1 2 3 4 5 6 7 8 9 10 |
function access($attr, $path, $data, $volume, $isDir, $relpath) { ★ /* $basename = basename($path); return $basename[0] === '.' // if file/folder begins with '.' (dot) && strlen($relpath) !== 1 // but with out volume root ? !($attr == 'read' || $attr == 'write') // set read+write to false, other (locked+hidden) set to true : null; // else elFinder decide it itself ★ */ } |
★の”pathと””uploadAllow”と書かれた行を書き換える。(★は目印なだけなので書いてはダメ)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
$opts = array( // 'debug' => true, 'roots' => array( // Items volume array( 'driver' => 'LocalFileSystem', // driver for accessing file system (REQUIRED) ★ 'path' => '/sda1', // path to files (REQUIRED) 'URL' => dirname($_SERVER['PHP_SELF']) . '/../files/', // URL to files (REQUIRED) 'trashHash' => 't1_Lw', // elFinder's hash of trash folder 'winHashFix' => DIRECTORY_SEPARATOR !== '/', // to make hash same to Linux one on windows to\ o 'uploadDeny' => array('all'), // All Mimetypes not allowed to upload ★ 'uploadAllow' => array('all'), 'uploadOrder' => array('deny', 'allow'), // allowed Mimetype `image` and `text/plain` on\ ly 'accessControl' => 'access' // disable and hide dot starting files (OPTIONA\ L) ), |
WEBサーバーを再起動する。(手順の最後にリブートするのでしなくてもOK)
1 2 |
$ sudo service apache2 restart |
Remote USB Selectorのソフトウェアをインストールする
1 2 3 4 5 6 7 |
$ rm main.zip $ wget https://github.com/suzgaku/remote_usb_selector/archive/main.zip $ unzip -o main.zip $ cd ./remote_usb_selector-main $ sudo ./install.sh $ cd |
起動時にスクリプトが読まれるように登録する。
1 2 |
$ sudo nano /etc/rc.local |
“exit 0″の直前に以下を追加する。
1 2 3 |
remote_usbsel.sh remote_usbsel_update.sh |
リブートする。
1 2 |
$ sudo reboot |