「Raspberry Pi」タグアーカイブ

Raspberry Pi で WordPress を動かす

やったことのメモ。七転八倒。疲れた。

  1. Apache2 のインストール 
  2. PHP7.1 のインストール 
  3. MariaDB のインストール
  4. データベース設定 
  5. WordPress のダウンロード・解凍 
  6. WordPress の設定
  7. ルーターの設定

まずはここまで。順に説明していく。

1.Apache2 のインストール

これは簡単。

sudo apt-get -y install apache2

2.PHP7.1 のインストール

これはちょっと面倒。まず、リポジトリを追加する。 /etc/apt/sources.list に以下を追記する。

deb http://repozytorium.mati75.eu/raspbian jessie-backports main contrib non-free

続いて dirmngr をインストールする。実はこれ、次の手順(リポジトリのキーの設定)をやったら怒られたので、慌てて追加した手順。

sudo apt-get install dirmngr

準備できたので、リポジトリのキーを設定する。

sudo gpg --keyserver pgpkeys.mit.edu --recv-key CCD91D6111A06851
sudo gpg --armor --export CCD91D6111A06851 | sudo apt-key add -

やっと PHP7.1 のインストール。

sudo apt-get install php7.1

更に追加のモジュールをインストール。

sudo apt-get install php7.1-cli php7.1-gd php7.1-mysqlnd php7.1-pgsql php7.1-mcrypt php7.1-dev

3.MariaDB のインストール

これ、引っかかったヤツですね。前のエントリを見てもらうとわかりますが、一度バックアップから戻りました。 MySQL をインストールしても MariaDB がインストールされます。メッセージはなし。メッセージぐらい出して欲しいよね。

sudo apt-get -y install mysql-server php7.1-mysql

MySQL をインストールしてるけど、入るのは MariaDB 。

4. データベース設定

MariaDB は癖があって、ルートの扱いが雑。ルートパスワードは””( null )。データベース作成まで一気に行きます。

sudo mysql -u root -p
(MariaDB) CREATE DATABASE <データベース名>;
(MariaDB) GRANT ALL PRIVILEGES ON <データベース名>.* TO <ユーザー名> IDENTIFIED BY <パスワード>;
(MariaDB) exit

< データベース名 > 、 < ユーザー名 > 、 < パスワード > この 3 つは後で使うので忘れないようにメモしておきましょう。

5.WordPress のダウンロード・解凍

6.WordPress の設定

ここからはいつものパターン。 Raspberry Pi だからといって特に変更はない。所定のパッケージをダウンロードして解凍。上でメモした < データベース名 > 、 < ユーザー名 > 、 < パスワード > を php-config.php に書き込んで … という手順。ここはネット上にたくさんあるので省略。 Apache2 のデフォルトフォルダは、 /var/www/html/ なので、ここに展開する。

7. ルータの設定

これはルータによって微妙に違うと思う。

私のルータの場合

要するにポート 80 番を今回の場合 Raspberry Pi の IP アドレスからだけ通す設定にした。

まだ何にも記事を書いていないけど、 WordPress が立ち上がってくれた。これをあらかじめ用意したドメインで運用することにする。ところで、 DynamicDNS って数が減りましたね。以前はけっこうあったと思うんですが …  今回は MyDNS さんにお願いしています。 Mac の場合(というか私の環境では)、 wget を使って BASIC 認証で IP アドレスの通知を行うと、 IP6 の方を通知してしまう。これでちょっとはまった。

www.mydns.jp への通知だとそうなってしまうので、 ips4.mydns.jp/ips6.mydns.jp と言う具合に 2 回に分けて IP4/IP6 を明示して通知するようにした。後は、 launchd に登録して終わり。しかし、 plist は書きにくい。専用のソフトを探している。 Xcode のヤツは使いにくくていかん。情報があったらお願いしたい。今回は mi.app で行った。

【失敗】 Raspberry Pi を外部 HDD から起動する

バックアップをしっかり取っておけばいざというときに対応できるとは言うものの、システムが SD カード上にあるというのは、書き換え限度があると言われる SD カードを考えると不安になります。そこで外部 HDD からの起動を考えたのですが、うまくいきませんでした。

バックアップする記事を書きながら、 SD カードは不安だよなぁ。と思い、つらつらと Web を見ていたら外部ディスクからの起動の記事がいくつか目に入ります。私の持っている Raspberry Pi 3 model B+ は USB 起動ができると書かれていました。やってみましょうと言うことで、実際に HDD から起動させてみようと思います。

まずは設定を確認、

sudo vcgencmd otp_dump | grep 17:

返ってくる値を確認すると 17:3020000a となっており、 USB 起動モードが ON になっているのがわかります。用意したのが HDD でしたので、

program_usb_boot_timeout=1

でウェイクアップタイムを 2 秒から 5 秒に延ばします。後で書きますが、この設定でもうまく起動しませんでした。

ともかく、設定を反映させてから(設定は完全に Raspberry Pi が電源 OFF になってから再起動すると反映されるようです)、ハードディスクに SD カードの内容をそっくりコピーします。アクセサリの SD Card Copier が GUI でコピーできるのでわかりやすいですね。

さて、実験スタートでしたが起動しません。ハードディスクのスピンアップが間に合わないのか、うまく起動してくれないのです。タイムアウトを 5 秒に延ばしていますので、これ以上伸ばすことはできなさげです。あっさり実験は失敗になりました。

用意したハードディスクは、 USB 給電型で、 Raspberry Pi から給電しています。そうではなく、独自に電源を持っていて USB 信号が OFF になってもハードディスクが回り続けるようなものならうまく行くのかなと思います。また、ハードディスクケースによっては相性の問題が出る場合があるという話もあります。原因不明ですが、とりあえず実験は失敗でした。別のハードディスクでもやってみて、うまくいくかどうか確認してみたいと思います。


わかってる、わかってる。ホテルの部屋で生まれて……ちくしょう、ホテルの部屋で死ぬんだ。

ユージン・オニール

Raspberry Pi をバックアップする

色々試しているので、現在の状況を再現するのに時間がかかりそう。なので、 PeppermintOS に続いてバックアップする方法を考えてみた。

【 STEP-25 】 Raspbian のイメージを外部ストレージに圧縮/展開して随時リカバリー | FABSHOP.JP - デジタルでものづくり! ファブショップ !」こちらを参照した。

crontab に登録することを考えて、次のようなコマンドにした。うまく動くかな?

dd if=/dev/mmcblk0 bs=1M | gzip -c > /mnt/exthdd/`date "+%Y-%m-%d"`.raspbian.gz

私のシステムの場合、 /dev/mmcblk0 にシステムが、 /mnt/exthdd に外付け HDD がつながっている。これをルートで crontab に登録する。頻度は一月に1回。頻度が低すぎるかなぁ。もし変更があったら、随時バックアップすることにする。手動で実際に行ってみたら、20分ほどの時間がかかって、 3.3GB の gzip ファイルができあがった。 crontab の設定は毎月 1 日の深夜 1:00 。来月うまく作成されていれば OK ということになりますね。

うまくいくかな。


あなたの周りを変えようとしてもほとんど意味がありません。まず最初に自分の信念を変えなさい。そうすれば、あなたの周りのあらゆることがそれに応じて変わります。

ブライアン・アダムス

Raspberry Pi で Update できない(解決)

Raspberry Pi をインストールして、最初にやったのが、 Update です。 apt-get ですね。

$ sudo apt-get update

だったのですが、ここでエラーを吐き出してうまくいきませんでした。もったいつけても仕方ないので、私の答えを書きます。

$ sudo apt-get dist-upgrade

この後、通常通りに Update/Upgrade でうまくいきました。

ちなみに、実行後に「 cat /etc/debian_version 」でバージョンを確認したら 9.6 と出ました。参考まで。


悪しき作家とは、読者に理解できない自己の内部での文脈を考慮に入れながら書く連中である。

カミュ

Raspberry Pi

また新しいおもちゃを手に入れました。 Raspberry Pi と言うのを聞いたことがあると思います。ただいまセットアップ中です。

「 Amazon | ABOX Raspberry Pi 3 Model b+ ラズベリーパイ 3 b + MicroSDHC カード 16G/NOOBS システムプリインストール / カードリーダ / 簡単に取り付けクリアケース / 5V/3A スイッチ付電源 / 高品質 HDMI ケーブルライン / ヒートシンク / 日本語取扱説明書 【2018年最新型】 | ABOX | ベアボーン PC 通販」購入したのはこちらです。

基本的に、 SSH 接続で使うつもりですが HDMI モニターをつないで普通に使えますね。よくできてます。セットアップも自動で色々やってくれます。 Wi-Fi 環境に接続するのも自動でスキャンしてくれてパスワードを入れるだけでした。もっとも、 Wi-Fi 環境は mac アドレス規制をかけていますので、こちらの設定が間に合わないぐらいでした。自動的に Update パッケージも見に行ってくれています。日本語に設定しましたので、そのデータを読みに行ったときにはフリーズしたかと思いましたが、じっと待っていたら動き出してくれました。あれ、心臓に悪い。

さて、現在は無事 SSH 接続で秘密鍵もインストール。外部ディスクを認識させたところです。共有設定をしていませんので、外部ディスクはただのディスクですが、共有設定すれば、サーバーとして動いてくれるはずです。別にサーバー必要ないんですけどね(笑


そして、チャーチルもドゴールもクレーマーも、経済は政治行動への動機付けになるし、政治行動に対する制約にもなる、という考えをまるで問題にしないか、軽視するに違いない。私がこの問題に経済という要素を持ち込もうとするたびに、クレーマーは、経済封鎖や経済制裁によって軍事降伏や政治降伏を勝ち取ろうとする試みがことごとく失敗に終わった事実を、あざけるような口調で指摘した───ナポレオンの大陸封鎖、南北戦争当時の北部連合による南部連合の封鎖、第一次大戦当時のドイツに対する封鎖をわざわざ引き合いに出すまでもあるまい、というのであった。経済力の強弱でさえほとんど問題にならない、とも彼は言った。工業原料もなきに等しかったが、 4 年間も持ちこたえる事が出来た。この場合にも、両国が敗北を喫したのは戦場での戦いに敗れたからである。したがって政治家は、経済など一顧だにせずに政策を立案し、遂行すべきである、少なくとも経済の役割を───芝居にたとえて言えば、通行人の役割程度に───限定すべきである、というのがクレーマーの結論だった。 

P ・ F ・ドラッカー