Raspberry Pi ヘッドレスインストール~SSHとPHPインストールまで
この記事で説明すること
Raspberry Pi3 または Zeroに対応した、ディスプレイなしでのRasbianをインストールと、
その後のSSHの有効化とPHPのインストールを説明します。
最低限必要なもの
■マイクロSDカード
8GB以上のマイクロSDカード(理想的にはTOSHIBA製、できれば16GB以上の方が後々余裕がある)
Raspberry Piで使用するマイクロSDカードには相性問題があるので、過去に使えたという報告があるものはこちらで一覧できます。
■給電用のマイクロUSB充電器
Noobsをダウンロードする
今回は操作が簡単なビギナー向けOSインストーラーのNoobsをインストールします。
まず以下よりダウンロードしてください。
今回は左側のDownload ZIPをクリックしてダウンロードします。
その後ダウンロードして展開したら、その内容物をマイクロSDカードへとコピペします。
単純にコピペすればOKです。
VNCの設定をする
今回はディスプレイなしでインストールしますので、その準備作業をします。
あらかじめWifiアクセスポイントで利用するSSIDとパスワードを控えておいてください。
VNCの有効化
SDカードのルートディレクトリに、recovery.cmdlineというファイルがあると思います。
それをエディタなどで開き、中身を以下のように変更します。
変更前
runinstaller quiet ramdisk_size=32768 root=/dev/ram0 init=/init vt.cur_default=1 elevator=deadline
変更後
runinstaller vncinstall ramdisk_size=32768 root=/dev/ram0 init=/init vt.cur_default=1 elevator=deadline
以上にようにすればOKです。
wpa_supplicant.confを作る
以下のサイトでSSIDとパスフレーズをハッシュ化します。
wpa_supplicant.conf作成
パスフレーズの入力は不安でしょうが、すべてブラウザ側で処理されるのでパスフレーズが漏れることはありません。
一度「名前をつけて保存」して、ダウンロードしてからローカルで実行しても大丈夫です。
SSIDとパスフレーズを入力して、一度「追加」を押してから、「wpa_supplicant.conf作成」を押してダウンロードします。
ダウンロードしたら、そのファイルをSDカードのルートディレクトリにコピーします。
SSHを有効にする
SDカードのディレクトリから、os¥Raspbian_Full¥partition_setup.sh
をエディタで開きます。
ファイルの終端のほど近くの場所に以下のように付け加えてください。
echo "ssh" >/tmp/1/ssh
umount /tmp/1
umount /tmp/2
保存して、閉じてください。
VNCをダウンロード
今回はVNC Viewerを使用しました。
https://www.realvnc.com/en/connect/download/viewer/
Windowsでも使えますし、Macならそのアイコンをクリックしてもらえればダウンロードに進むことができます。
ダウンロードしたらインストールしますが、インストール自体はシンプルに進めていけばいいだけです。
Raspberry Piを起動しVNCを実行する
まずSDカードをセットしてください。その後にマイクロUSBケーブルを接続します。
これでRaspberry Piは起動しました。
IPアドレスを知る
VNCでアクセスするため、まずIPアドレスを調べます。
Macは(自分は未確認ですが)ターミナルからssh pi@raspberrypi.local
と打てばSSHで繋がるようです。パスワードを求められたらraspberry
と入力してください。
ip addr
と入力し、二つあるinet
のうち下側のinet
の右隣のIPアドレス(192.168.xx.xx)がRaspberry PiのIPアドレスです。
Windowsの場合はコマンドプロンプトからarp -a
と入力すると、DHCPの払い出し状況を確認できます。
その中からb8-27-ebで始まる物理アドレスがあると思うので、それを使用します。
192.168.1.214 b8-27-eb-xx-xx-xx 動的
IPアドレスが分かったら、PC側からVNC Viewrを開き、アドレスバーにIPアドレスとポート番号5900をあわせて記述すればアクセスできます。
例えば自分の場合は192.168.1.214:5900
とアドレスバーに入力してアクセスできました。
画面のようにアクセスできれば、あとは指示に従ってインストールすればOKです。
下の方にある言語のプルダウンから日本語に設定し、
Rasbianのチェックボックスにチェックを入れてから、左上のインストールをクリックしてください。
これでRasbianのインストールが始まります。
その後は?
VNC自体はNoobsに適用されたものなので、OSであるRasbianの設定ではありません。
Rasbianがインストールされた後はRasbian側に改めてVNCの設定をする必要があります。
ただすでにSSHは有効化されているので、PuttyやTeraTermなどでIPを指定しSSHアクセスすることができます。
なお初期設定のアカウント名はpi、パスワードはraspberryです。
パスワードはpasswdコマンドで変更できるので、必ず変更しておいてください
passwd
Changing password for pi.
SSHの設定
もしもヘッドレスインストールを実施した場合はすでにSSHが有効化されていますが、
SSHをあらためて設定する場合はメニューバー左端のラズベリーアイコンをクリックします。
プルダウンメニューから [設定]-[Raspberry Piの設定]をクリックします。
SSHとVNCを有効化すればOKです。
PHPのインストール
aptでPHP7.2をインストールします。
https://packages.sury.org/php/ のリポジトリ追加
以下のコマンドを実行してください。
sudo apt-get -y install apt-transport-https lsb-release ca-certificates
sudo wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
sudo sh -c 'echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'
続いてaptの更新をします。
sudo apt update
sudo apt upgrade
PHP7とその関連物をインストールします。
sudo apt install php7.2 php7.2-common php7.2-cli php7.2-fpm php7.2-mbstring php7.2-sqlite3 php7.2-sqlite php7.2-json php7.2-xml php7.2-curl
最後に、ちゃんとインストールされたか確認します。
php -v
PHPのバージョン情報が出てくれば正常にインストールされています。
終わりに
やや散漫とした説明ですが、ヘッドレスインストールの方法とPHPのインストールまで備忘録的まとめました。
お役に立てれば光栄です。
参考
ヘッドレスインストールの参考にさせていただきました。
Raspberry Pi Zero Wにヘッドレスインストールする
Raspberry Piの無線LANをmicroSDで簡単に設定するためのツールを作った
Raspberry Pi ヘッドレス・インストールについて
RaspberryPi Raspbian ヘッドレスインストール
PHPのインストールについて参考にさせてもらいました。
Raspberry Pi 3BにPHP7.2とnode.jsとcloud9をインストール