Imagerを使ったRaspbbery Piの環境構築

Raspberry Piのインストール手順がImagerというアプリを使ってインストールできるようになったらしいので、久々にラズパイを使ってみた。

Imagerのインストール

公式サイトから WindowsやMacなどOSを選択してダウンロードできる。
https://www.raspberrypi.org/software/
このブログ記載時のバージョンは1.5だった。

Imagerを起動するとOSとSDカードを選択する画面が表示される。

今回はサーバとして使いたいのでLiteを選択した。
あとはSDカードを選択してWRITEを押せばOSのインストールが始まる。
自分の環境では5分程度だった。

事前準備

サーバをして利用するため、モニタ、キーボードには接続しない為、WiFiなどの設定を予め行う。
OSインストール後にアンマウントされているので再度MicroSDカードを差し直す。

SSHの有効化

SSHで繋げるため、ターミナルから以下のコマンドでファイルを作る。
> touch /Volumes/boot/ssh

WiFiの有効化

WiFiの設定をSDカードに書き込む。
> vi /Volumes/boot/wpa_supplicant.conf
ファイルの設定内容は以下のように記載。
> country=JP
> ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
> update_config=1
> network={
> ssid=”SSID”
> psk=”平文のパスワード”
> }
セキュリティを高めるならパスワードはあどでハッシュ化する。

Raspberry Piの起動

ラズパイの電源を入れてしばらく待つ。
Pingで接続ができるか確認する。
> ping raspberrypi.local

SSHへの接続は以下のコマンド
> ssh [email protected]
パスワードはraspberry

初期設定

raspi-config

まず以下のコマンドで初期設定を実施。
> sudo raspi-config
1. SDカードの空き領域を使えるようにする。
Advance Options => A1 Expand Filesystem
2.言語の設定
Localisation Options => Locale => ja_JP.UTF-8 UTF-8
3.タイムゾーンの設定
Localisation Options => TimeZone => Asia => Tokyo
4.Update

設定後に再起動
> sudo reboot

IPアドレスの固定

設定ファイルを開く。
> sudo nano /etc/dhcpcd.conf
最後に以下のように追加。
> interface wlan0
> static ip_address=192.168.0.100/24
> static routers=192.168.0.1
> static domain_name_servers=192.168.0.1
再起動後にifconfigコマンドで設定したIPアドレスになっていれば成功。

Raspberry Pi3の初期設定

再インストールをしたので設定をメモしておく。

初期設定
まずは設定を変更する。
sudo raspi-config
設定画面が表示されるので以下を対応する。
4 Localisation Options
I2 Change TimezoneをAsia – Tokyoにする。
HHKを使っているためキー配置を変える必要があるので下記を設定する。
I3 Change Keyboard LayoutでGeneric 102-key (Intl) PC – Other – Japanese – Japanese (Macintosh)を選択する。(以降はデフォルト)

5. Interfacing Options
P2 SSHでSSHを有効にする。

7.Advanced Options
A1 Expand Filesystemを有効にする。
CUIで使う場合はメモリを節約するため、A3 Memory Splitを16にする。

設定を反映するためここで再起度する。

Wi-Fi設定
まずinterfacesの設定から。

sudo vi /etc/network/interfaces
下記を追加
auto wlan0
allow-hotplug wlan0
iface wlan0 inet manual
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

次にWi-Fiの接続情報の設定をする。
パスワードは暗号化した方がよいが今回は家のLANしか使わないのでそこまでしない。
sudo vi /etc/wpa_supplicant/wpa_supplicant.conf
追加する内容
country=JP
network={
ssid="[SSID]"
psk=[PASS]
key_mgmt=WPA-PSK
}

IPを固定する場合は下記を設定する。
sudo vi /etc/dhcpcd.conf
最後に追加
interface wlan0
static ip_address=192.168.0.100/24
static routers=192.168.0.1
static domain_name_servers=8.8.8.8

ネットワークインターフェイスを再起動する。

sudo ifdown wlan0
sudo ifup wlan0
iwconfig wlan0

今回は試していないがSDカード作成時にWi-Fiの設定をできる模様。
参考サイト

RaspberryPi3にDockerでLAMP環境を構築

RaspberryPi3にDocker(Docker Compose)でLAMP環境を作るまでのメモ。
Dockerのインストール方法はメモしてないがhypriotではなく標準のDockerを入れた。

Docker Composeのプロジェクト構成は下記のような感じ
/home/pi/docker_lamp
├─ conf -> Webアプリの設定ファイル
│ ├─ Dockerfile
│ └─ php.ini
├─ db -> MySQL関連
│ ├─ Dockerfile
│ ├─ my.cnf
│ └─ mysql_data
├─ html -> DocumentRoot
└─ docker-compose.yml

conf/Dockerfileの内容

FROM php:7-apache

RUN apt-get update && \
apt-get -y install mysql-client && \
docker-php-ext-install pdo_mysql mysqli mbstring

COPY ./php.ini /usr/local/etc/php/

conf/php.iniの内容

[Date]
date.timezone = “Asia/Tokyo”

[mbstring]
mbstring.internal_encoding = UTF-8
mbstring.language = Japanese

db/Dockerfileの内容
※MySQLの公式ではエラーになるのでhypriotを使う

FROM hypriot/rpi-mysql:latest

COPY ./my.cnf /etc/mysql/conf.d/my.cnf

db/my.cnfの内容

[mysqld]
character-set-server=utf8
datadir = /var/lib/mysql

docker-compose.ymlの内容

version: ‘3’
services:
app:
depends_on:
– db
build: ./conf
ports:
– 80:80
volumes:
– ./html:/var/www/html
links:
– db
db:
build: ./db
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: database
ports:
– 3306:3306
volumes:
– ./db/mysql_data:/var/lib/mysql

docker-composeでビルドして起動。
docker-compose build
docker-compose up -d

htmlにindex.phpを用意してブラウザで開いた際にページが表示されればインストール成功。

参考サイト
Docker for MacとDocker ComposeでささっとLAMP環境を作る
Docker Hubのオフィシャルイメージを使ったLAMP環境(Apache+PHP+MySQL)構築