Skip to main content

WordPressの再インストール

SSL対応をするとWordPressがうまく動かないのでインストールをし直してみました。あちこちに埋め込まれたhttpをhttpsに書き換えるのが大変そうなので最初からインストールをすることにしました。
SAKURA Internetの「さくらのレンタルサーバ ライト」という特殊な環境なのでメモをしておきます。ダウンタイム半日コースです。個人のサイトならこんなのでいいでしょう。

まずは「ツール : エクスポート」でデータを出力します。そしてディレクトリ全部もダウンロードしてから中身を削除。

「ライト」コースなのでWordPressはSQLiteを使った手動インストールです。「WordPress SQLite さくらのレンタルサーバ ライト」で検索したサイトが参考になります。

ハマったところはダウンロードしたxmlファイルをインポートするところ。ファイルサイズが大きくてエラーになりました。さくらのレンタルサーバのコントロールパネルで「PHP設定」の部分に以下のものを追加して対応しました。

post_max_size = “25M”
upload_max_filesize = “25M”

今回は画像は少なかったのでちゃんと管理していなかったこともあり、後からアップロードし直してリンク貼り直しをしています。大量に画像のある場合は何か考えないといけないのかもしれません。

bitcoinのテスト

bitcoind が起動しなくなった。起動後数秒で落ちる。
このサーバは試しに動かしてるだけで採掘もできてないので残高0円だから困らないのだが、もし実際に使ってるとしたら非常にまずいよな。
ということでちょっとログを見てみた。
そこには落ちたログと一緒に「これこれのオプションつけて起動してインデックスの再作成してみたら?」って書いてあった。
その通りに起動してみたら無事に復活した。とりあえずログを見ましょうということか。
./bitcoin以下をバックアップしたいが、2017年10月の時点で150GBくらいあるので採掘をするのは大変そうだな。採掘成功すると数百万円になるだろうからバックアップを取ったりしたいものだ。ログは月に10GBくらい増加していくそうなので、これからサーバを作るとなると最低でも500GBは欲しいな。

openmediavault アップグレード

openmediavault Ver.2 から Ver.3 にアップグレードする方法。

まずは通常のウェブ画面にログインする。
「Services」の「SSH」をクリックする。
上から「Enable」「Permit root login」「Password authentication」をオンにする。「Port」を「22」にする。
「Save」ボタンを押す。「Apply」ボタンを押す。

次にSSHを使ってrootでサーバにログインする。
# omv-release-upgrade
のコマンドであとは画面にしたがって適当にYesを選択していけばファイルをダウンロードしてアップグレードしてくれる。
アップグレード後は再起動しましょう。
# shutdown -r now
時間は30分以上かかると思われるので余裕があるときに作業するのが良いでしょう。

2016年12月末にopenmediavaultのVer.3がリリースされました。
Ver.3になっても見た目はほとんど変わりません。まぁその方が楽でいいのですけどね。
Ver.2のユーザがVer.3にアップグレードする手順をメモしておきます。

WordPress

2000年代前半あたりまではHTMLを手で書いていたのものですが、色々と便利なものが出てきたのでCMSを使うようになりました。セキュリティ上、きちんとメンテナンスされているCMSを使ったほうが自作よりも運用が楽だということが一番の要因です。
当時は Movable Type も WordPress も重そうに見えたので、最初に試したのは「LightNEasy」。そのあとに「GetSimple CMS」を使ってみました。
安いレンタルサーバを使っているためにMySQLが使えなかったというのもWordPressを導入しなかった理由でした。
「GetSimple CMS」はなかなかいい感じでした。悪かったから乗り換えたわけではありません。もう少しブログっぽい構成にしようと思ったので「WordPress」も検討してみました。
最近は「WordPress」をMySQL無しで動かしている実績も多いようなので、なんとなく乗り換えてみました。特に意味はないんですが。
どのCMSを使うにしても最初はかなり手間がかかりますね。

WordPress
https://ja.wordpress.org/

GetSimple CMS
http://get-simple.info/

LightNEasy
http://u-tec.org/lne_closed/ (終了のお知らせ)

まずハマったのは家のサーバへのnginxとPHPのインストール。PHPが入っていなかったので手戻りが多かったのでした。
ローカルのサーバにはとりあえず全部入れておけばいいでしょう。

それからMacで作業するときは「._」のファイルの削除をしておかないとエラーが出る場合があります。
プラグインのアップデートの際にエラーになってました。

メモ
デフォルトのデータベースの場所
/wp-content/detabase/.ht.sqlite
「.ht.」で始まるあたりなかなか上手いこと考えてますね。
ローカルで作ったものをそのままアップロードすればいいのですが、サーバ情報(http://192.168.1.100/など)をアップロード先のものにしてから作業をしないとログインができなくなります。はまりました。
DBを書き換えてしまえばいいのかもしれません。

pi で遊んでみる (MRTG)

MRTG

pi に限らず普通にLinuxで使える話です。
MRTGをRaspberry pi上で動かし続けたのがSDカードの寿命を縮めたのかもしれないなと反省中。
もしかしたらSDカードの寿命を縮める処理かもしれません。5分毎に書き込むのは多い処理ですね。
他のちゃんとしたサーバで動かした方が良かったのかもしれない。

懲りずにもう一度構築してみました。書き込み先をRAMディスクにしてSDカードへの書き込みを減らしてみました。

http://netlog.jpn.org/r271-635/2013/04/raspberry_pi_mrtg.html

syslogにcron起動ごとのメッセージを書き込まないようにする。

 

バックアップは/run/shm/mrtg (/var/www/mrtg)以下をがさっと取っておけばいいようです。logファイルだけでもいい。/etc/mrtg.confもバックアップしましょう。

MRTGはルータ等の通信機器のログをグラフにするために作られています。そのため温度等他のものに流用しようとするといろいろと不具合があります。オプションをフル活用して対応します。
以下の様な設定でCPU温度と室温をグラフにしてみました。

ちゃっちゃっとファイル名とかパス名を編集するシェルスクリプトの小ネタ。
普段使わないからすぐ忘れる。

http://dharry.hatenablog.com/entry/20090211/1234290856

pi で遊んでみる (マウント)

各種ディスクのマウント

USBメモリ

USBメモリにコピーしたりバックアップしたり。ポピュラーな方法ですね。
手作業でやるなら、
$ tail dmesg
$ sudo mkdir /media/usb
$ sudo mount -t vfat /dev/sdb1 /media/usb/

Windowsファイル共有(sambaクライアント)

家の中のNASをマウントして使用する。
$ sudo mkdir /media/nas
$ sudo chmod 777 /media/nas
$ sudo mount -t cifs -o username=ahirustudio,password=password //192.168.0.100/share/raspi /media/nas

webdavによるクラウドサービスの利用(box.com)

box.com のサービスを使った方法で5GBまでなら無料らしいです。
英語斜め読みでもコマンド打っていけばなんとかつながるはずー。
https://www.box.com
http://www.sbprojects.com/projects/raspberrypi/webdav.php
うちではncftp(ncftpput)でサーバにあげたりしています。

逆にRaspberry piをファイルサーバにする方法もありますが、普通にNAS買ってきた方がいいですよ。

バックアップ

Linuxなのでddとrestoreでいいのでしょうが、SDカード運用の場合はちょっと?です。
OSが頻繁にアップデートするので、その度に作り直すのもそれはそれで勉強としては悪く無いかなと思っています。

俺バックアップ

以下のファイルをtarして保存。

/home/pi/bin
/home/pi/etc
/home/pi/var
/var/www
/etc/rc.local
/etc/mrtg.conf
/run/shm/mrtg/*

俺手作業リストア

rasp ダウンロード

http://www.raspberrypi.org/downloads

(Raspbian を使っている)

SDカード作成(Mac)

$ df -h
$ sudo diskutil unmount /dev/disk3s1
$ sudo dd bs=1m if=2013-02-09-wheezy-raspbian.img of=/dev/rdisk3
$ sudo diskutil eject /dev/disk3s1

Raspiをテレビにつないで起動。

Raspi configで各種設定。
startxしてWi-fi設定。
IPアドレスは以下。固定IPにした方がいいかも。うちではDHCPだけどMACアドレスで固定。
hostname -I

SSHで接続

あとはコピペでコマンド実行。

$ sudo apt-get update
$ sudo apt-get -y upgrade
$ sudo apt-get -y install davfs2 fswebcam imagemagick lighttpd bc mrtg vim ttf-mscorefonts-installer ncftp libi2c-dev

(10分以上かかるかも。途中でボタンを押す必要がある。)

エディタはnanoよりvimの方が慣れているのでcrontabのエディタを変更します。
raspberry pi は次のコマンドで変更するそうです。
$ sudo update-alternatives --config editor

ユーザ(pi)のディレクトリの整理

bin と etc と var を作っておく。

$ mkdir bin var etc

/var/www/ のオーナをpiに変更。

$ sudo chown pi:pi /var/www/ /var/www/*

vi /etc/rc.local

## RAM Disk
$ sudo RAMDISK="/run/shm/wk"
$ sudo mkdir  ${RAMDISK}
$ sudo chmod  777  ${RAMDISK}

$ sudo ln -s /run/shm/wk /var/www/wk

バックアップしたファイルを戻す。

pi で遊んでみる (GPIO)

DS18B20 温度センサーの追加。

ds18ledpicRaspberry Pi にはGPIOがあるのが特徴です。ここにいろいろなものを接続することができます。普通のPCではこれができません。
自作のものをつけるので基板が壊れる可能性があるのですが、Raspberry Piなら壊れても損害額は小さくなります。これがいいところですね。

今回は簡単に使えて、わかりやすいセンサーを試してみました。温度センサのDS18B20 (秋月で300円。高い方だな。) です。温度をデジタルの数値で返すセンサなので調整不要なところがいいですね。

ds18led今回はDS18B20とLEDをGPIOにつけるためにこんな風にハンダ付けしてまとめました。
本体から離すためにコードの先についているのが温度センサです。
LEDは二色のLEDを使っています。(手元に余っていたので)
図は Raspberry Pi の基板にさした状態を上から見た図です。写真の反対側から見たものになります。緑と赤のLEDがそれぞれGPIO17と27に繋がっています。
rootではないと作業が出来ない場合があるのでそのときはsudo -iでrootになってしまうのも手です。

LED点灯

LEDの点滅は以下のようにできます。

## Set up GPIO 17,27 and set to output
$ echo "17" > /sys/class/gpio/export
$ echo "27" > /sys/class/gpio/export
$ echo "out" > /sys/class/gpio/gpio17/direction
$ echo "out" > /sys/class/gpio/gpio27/direction

## Write output
$ echo "1" > /sys/class/gpio/gpio17/value
$ echo "1" > /sys/class/gpio/gpio27/value

## Write output
$ echo "0" > /sys/class/gpio/gpio17/value
$ echo "0" > /sys/class/gpio/gpio27/value

## Clean up
$ echo "17" > /sys/class/gpio/unexport
$ echo "27" > /sys/class/gpio/unexport

ledtest.sh (シェルスクリプト)

#!/bin/sh
## Set up GPIO 17,27 and set to output
echo "17" > /sys/class/gpio/export
echo "27" > /sys/class/gpio/export
echo "out" > /sys/class/gpio/gpio17/direction
echo "out" > /sys/class/gpio/gpio27/direction

## Write output...
echo "1" > /sys/class/gpio/gpio17/value
echo "0" > /sys/class/gpio/gpio27/value
sleep 2
echo "0" > /sys/class/gpio/gpio17/value
echo "1" > /sys/class/gpio/gpio27/value
sleep 2
echo "1" > /sys/class/gpio/gpio17/value
echo "1" > /sys/class/gpio/gpio27/value
sleep 2

## Write output 0 
echo "0" > /sys/class/gpio/gpio17/value
echo "0" > /sys/class/gpio/gpio27/value

## Clean up
echo "17" > /sys/class/gpio/unexport
echo "27" > /sys/class/gpio/unexport

これでLEDが点いたり付いたりします。
単純なことですが、これを普通のパソコンでやるのは難しいし、配線を間違えてマザーボードを壊す事などを考えるとこのRaspberry pi でこういうことが出来ることの便利さを感じます。
LEDの部分をブザーにしたら音が鳴ります。モータにしたら回転します。リレーにすれば家電が動きます。赤外線LEDをつければリモコンが動きます。
「ロボット」というものはこういうもので出来ているわけです。

まずはLEDを点滅できるというのをテストしてみました。
これだけでもサーバで何かをチェックして点灯させるという仕組みを作れば便利です。

gpiozero

最近はスクリプトはpythonで書くようなので、GPIO用のモジュールがすでにインストールされていました。
GPIO17のピンにつないだLEDを点滅させるのは以下のスクリプトを実行です。

from gpiozero import LED
from time import sleep

led = LED(17)

while True:
    led.on()
    sleep(1)
    led.off()
    sleep(1)

温度計 (DS18B20)

温度センサをつけると室温が測れるようになります。意外と自宅の室温のログを取る道具が無いものなので便利です。夏はサーバ周りの温度をチェックしていました。これで留守の間、エアコンを止めている間の温度がわかります。ペットを飼っている人にも便利でしょう。
今回は秋月で買ってきた温度センサを使ってみます。このセンサの使い方は英語ですが詳しく書いてあるものがありました。アメリカのパーツ屋さんの資料です。
http://learn.adafruit.com/downloads/pdf/adafruits-raspberry-pi-lesson-11-ds18b20-temperature-sensing.pdf

2016年3月に以前書いていた通りに作業をしようとしたらうまく認識してくれません。
少し試行錯誤してみました。

$ sudo echo dtoverlay=w1-gpio-pullup=on,gpiopin=4 >> /boot/config.txt
$ sudo modprobe w1-therm
$ ls /sys/bus/w1/devices/
28-000003b716fb  w1_bus_master1

次のようなコマンドで温度が表示されます。
これは摂氏(℃)で表示されるので使いやすいのですが、マイナスの値は使用できません。そのためマイナスの温度が無さそうな室温を測るのに使ってみました。

$ sudo modprobe w1-gpio
$ sudo modprobe w1-therm
$ ls /sys/bus/w1/devices/
28-000003b716fb  w1_bus_master1
$ cat /sys/bus/w1/devices/28-000003b716fb/w1_slave
71 01 4b 46 7f ff 0f 10 56 : crc=56 YES
71 01 4b 46 7f ff 0f 10 56 t=23062

結果の一行目がYESの時の二行目のt=の値が温度です。1000倍した値が出ています。
センサが一個だけならば cat /sys/bus/w1/devices/28-*/w1_slave でもいいですね。
テキストで値が取れればあとは適当に編集すればいろいろと使えます。

CPU温度

CPUの中に温度センサがすでに入っているのでCPUの温度は知る事ができます。次の様に表示できます。

cat /sys/class/thermal/thermal_zone0/temp

こんなスクリプトを作ってみました。
温度センサの値とCPU温度を表示します。これはあとでMRTGで使います。

#!/bin/sh
#
temp1=0
temp2=0
temp1max=0
temp2max=0
temp1min=99999
temp2min=99999
wk1=0
wk2=0
temp1path="/sys/bus/w1/devices/28-000003b716fb/w1_slave"
temp2path="/sys/class/thermal/thermal_zone0/temp"
# function
cputemp()
{
  wk=`cat ${temp2path}`
  return $wk
}
roomtemp()
{
  wk=`cat ${temp1path}`
  yes=`echo ${wk} | grep -c "YES"` 
  if [ ${yes} -eq 1 ];then
    tmp=`echo ${wk} | grep "t\=" | sed -e s/^.*t=// `
    return ${tmp}
  else
    return 0
  fi
}
# main
for i in 0 1 2 3 4
do
  sleep 0.5
  cputemp
  temp1=$?
  roomtemp
  temp2=$?
##  echo $temp1 $temp2

  if [ $temp1 -le $temp1min ];then
    temp1min=$temp1
  fi
  if [ $temp1 -ge $temp1max ];then
    temp1max=$temp1
  fi
  if [ $temp2 -le $temp2min ];then
    temp2min=$temp2
  fi
  if [ $temp2 -ge $temp2max ];then
    temp2max=$temp2
  fi
  wk1=`expr ${wk1} + $temp1`
  wk2=`expr ${wk2} + $temp2`
done
#
temp1=`expr \( ${wk1} - $temp1min - $temp1max \) / 3 `
temp2=`expr \( ${wk2} - $temp2min - $temp2max \) / 3 `
echo $temp1
echo $temp2
echo "0"
echo "Temp"
##__END__

(2014/12/1)
(2016/3/21)

pi で遊んでみる (Webカメラ)

Webカメラの準備

Raspberry pi にはUSBがあるので簡単に市販のWebカメラ(UVC)がつながります。今は純正のカメラもあるのですが手元にあるLogicool(Logitech)のC270というものをつないでみます。
経験上、Webカメラは激安のものよりは有名メーカーの最低グレードのものの方が良いような気がします。
Raspberry pi はCPUが弱いので動画にはあまり向きません。おとなしく静止画を撮影させてみます。
Raspberry pi では電源の心配があるのでセルフパワーのUSBハブにWebカメラを接続して電源はUSBハブに助けてもらいます。

$ sudo apt-get install … でソフトウエアの追加をします。
(今回使わないものも入ってますが)

  • fswebcam : Webカメラを使うためのツール
  • imagemagick : 画像処理用
  • nginx : webサーバ
  • bc : 計算
  • mrtg : MRTG
  • vim : エディタ
  • ttf-mscorefonts-installer : マイクロソフトのTrueTypeフォント

MRTGで以下のエラーが出るのでsedのスクリプトを一発流す。
http://www.raspberrypi.org/phpBB3/viewtopic.php?f=36&t=13044
sudo sed -i 's|import\ Socket6;|Socket6->import\(qw\(inet_pton\ getaddrinfo\)\);|' /usr/share/perl5/SNMP_Session.pm

インストールの処理に非常に時間がかかるようです。これがraspberry piの貧弱な性能なのか。

Webカメラの撮影

$ sudo fswebcam /var/www/html/test0001.jpg

これだけでとりあえず写真が撮れると思います。
パソコンのWebブラウザから http:/(RasPiのアドレス)/test0001.jpgで画像が表示できるでしょう。
ファイルの出力先をwebサーバのディレクトリにするとリモートで確認しやすいです。

$ sudo fswebcam -d v4l2:/dev/video0 -p YUYV -r 640x480 --top-banner -S 5 --font /usr/share/fonts/truetype/msttcorefonts/arial.ttf:16 /var/www/html/test0002.jpg

こんな感じで撮影時刻がついた画像ができました。
オプションはファイルに書いて読み込ませる事ができます。
テキストファイルに長いオプション名の–を取ったものと値を一行ずつ書いたものを作ればよいようです。コマンドが短くなって見やすくなりました。

$ sudo fswebcam -c fswebcam.conf /var/www/html/test0003.jpg

sudo で操作するのもめんどうなので、 vigr を起動して、video と audio に自分のユーザグループを追加しておきました。最近は最初から追加されているようです。
これをcronで回して、FTPやwebサーバと組み合わせればお天気カメラ、監視カメラになります。

nginxの設定

Webサーバは最近のドキュメントが多いnginxを入れてみました。
/var/www/html 以下が公開されます。

ディスク書き換え問題

Raspberry Pi は低価格の教育用コンピュータという点もあり、ストレージにSDカードを使っています。安いのはいいのですが、書き換えが多い処理をしているとSDカードがエラーを出してしまいます。(死にます)
30分ごとに写真を撮ってMRTGで温度を記録していたら、三ヶ月で使えなくなりました。
教育用として短期間使う場合は問題がありませんが、仕事に使うサーバは Raspberry Pi じゃなくてちゃんとしたマシンを使用しましょう。
今回はSDカードへの書き込みを少しでも減らすために Ram Disk を使用してみます。最近のLinuxでは最初から利用できるようになっているようです。
df -h で表示をみると /run/shm/ というものがRam Diskです。
Webカメラのファイルの出力先をRamディスクにして、webサーバのディレクトリへのシンボリックリンクを作っておきます。webサーバの設定でシンボリックリンクを有効にすれば使えるでしょう。(たぶんそのまま使える設定だと思う。)

起動スクリプト

/etc/rc.local に起動時の処理を追加します。
起動時にRAMディスクの中に必要なディレクトリを作成しておきましょう。

mkdir /run/shm/webcam
chmod 777 /run/shm/webcam

まとめ

以下のファイルを作り、調整するとブラウザで過去24時間の写真が見れる「監視カメラ」が作れます。
各種値を調整すればそれなりに目的のものになると思います。

(/home/pi/etc/fswebcam.conf)

device     v4l2:/dev/video0 
palette    YUYV 
resolution 640x480 
top-banner
skip       5 
font  /usr/share/fonts/truetype/msttcorefonts/arial.ttf:16

(/home/pi/bin/takepic.sh)

#!/bin/sh
# ファイル名は時刻
filename=`date +%H%M.jpg`
/usr/bin/fswebcam -c /home/pi/etc/fswebcam.conf /run/shm/${filename}

crontab -e でcronに登録。

# 60分毎に撮影
0 * * * * /home/pi/bin/takepic.sh

/var/www/webcamindex.html

<html>
<body>
<img src="/ram/0000.jpg"/><br>
<img src="/ram/0100.jpg"/><br>
...(略)...
<img src="/ram/2200.jpg"/><br>
<img src="/ram/2300.jpg"/><br>
</body>
</html>

この他に ZoneMinder という監視カメラのツールもあります。これでもっと高度な監視カメラになるようです。 ちゃんとマニュアルを読まないと使えなさそうなので使ってませんが。

Logitech QuickCam Orbit MP

Logitech (Logicool) のwebカメラで上下左右にカメラが動く珍しい機種がある。
長い間この機能のLinuxの使い方がわからないでいたがやっと判明した。
一応、UVC対応カメラなのでfswebcamで撮影できるようにするまでは普通のカメラと同じ。
追加で v4l-utilsとuvcdynctrlをインストールする。
v4l2-ctl -L で使用できるコマンドの一覧が表示される。ここにpan_relativeなどが出てきたらOK。
get install v4l-utils uvcdynctrl
v4l2-ctl -c pan_reset= でパンのリセット、v4l2-ctl -c pan_relative=1000で左に動く。右に動かしたい時は負の値。チルトも同様。
(2014/11/1)
(2016/3/21)

pi で遊んでみる (起動)

起動前の準備

起動させるまでにはそれなりに準備が必要です。まずは本体の他に以下のものを揃えると良いでしょう。
無しで運用も可能ですが最初のインストールの時には揃えておいた方が楽です。

  • USBキーボード
  • USBマウス
  • 8GBのSDカード(class 4で良い)
  • microUSBケーブルと電源
  • LANケーブル
  • ディスプレイまたはテレビとケーブル
  • パソコンとネットワーク環境

SDカードはClass4でもClass10でもあまり差は無いと言われています。CPUがそれほど速くないしその他の周辺チップの性能も期待するほど速く無い。LANも100/10で全体的に遅いのでSDカードだけ速くなっても効果は無さそうです。SDカードはそれよりも高寿命なものが良いでしょう。HDDの代わりにSDカードを使っているので使い方によっては3ヶ月くらいで死にます。2016年の時点では最低でも8GBのものを用意するようにということです。
コマンドラインでしか使わないという場合でもマウスがあると楽できます。

SDカードの作成(2016)

https://www.raspberrypi.org/downloads/
ここから「NOOBS」をダウンロードします。
サーバが遅いのでTorrentでダウンロードした方が早く終わります。
ダウンロードしたファイルは展開(解凍)します。

https://www.raspberrypi.org/help/noobs-setup/
次にこのビデオを見れば大体わかるとおもいます。
最近のRasPiはmicroSDカードですね。
これを書いている時点のNOOBSにはRaspbianしか入っていません。ビデオのインストール画面と少し違います。

SD Association のWebサイトから「SD Formatter 4.0」をダウンロードして、インストールしてください。
なるべくパソコン本体についているSDカードスロットにSDカードをセットして「SD Formatter 4.0」でフォーマットしてください。
フォーマットが終了したら、展開したNOOBSのフォルダ(NOOBS_v1_9_0等)の中身をSDカードにドラッグコピーします。

以前より簡単になってますね。

SDカードの作成(2013) これは昔のやり方です

まず最初にシステム用のSDカードを作成します。以下の手順はMacの場合です。
英語ですが以下に手順があります。
RPi Easy SD Card Setup

システムは「2013-07-26-wheezy-raspbian.img」を使ってみました。最新のものを使った方が良いでしょう。
作業は「ターミナル」で行います。$ df -h で現状を確認の上、SDカードを挿してもう一度$ df -h してください。それでSDカードがどのようにシステムにマウントされたのか確認します。
仮にマウント先が /dev/disk3s1 とします。この「disk3」のところが他の数字だったならば以下の「disk3」も自分の環境での値に変えて下さい。
これはSDカードを書き換えるコマンドなので、disk3のところを間違えると大変な事になります。

1. $ df -h
2. Insert SD catd.
3. $ df -h  (ここでどのdiskに繋がったか確認する)
4. $ sudo diskutil unmount /dev/disk3s1
5. $ sudo dd bs=1m if=image.img of=/dev/rdisk3
6. $ sudo diskutil eject /dev/rdisk3

ddの処理は数分間画面に変化がないので気長に待つ。

起動前準備

Raspberry pi に各種ケーブルを取り付けます。電源スイッチはありません。microUSBは電源なので接続しないでおきます。
USB関係が弱そうなので、後からキーボードやマウスを抜き差しすると再起動してしまったりします。あらかじめ全部接続してから起動するようにした方が良いでしょう。USBハブはセルフパワー(ACアダプタ付き)を使った方が良いようです。(2014年に出たB+からはUSBの電源が強化されたという話です。以前はUSB周りが不安定でした。)
モニタは普通のテレビも使用できるので便利です。
Raspberry pi は日本語キーボードでも使用できるので手元にあるものでいいのですが、この手の「へんなもの」を操作する時はUSキーボード(アメリカ仕様)の方がなにかと便利です。

前の手順で作成したSDカードをRaspberry Pi にさします。

起動・インストール

全部接続し終わったら最後にmicroUSBの電源を接続します。これで起動が始まります。
Linuxでおなじみの起動メッセージがスクロールされて行きます。
最初にインストールするOSの選択画面になります。2016年初頭ではRaspbianのみが選択できるようです。
マウスで選択して、Installアイコンを押します。
この時に画面下の言語設定をEnglish(US)にして作業する方がいいかもしれません。Raspberry Piはイギリス製なのでデフォルトはEnglish(UK)です。このままだと時々見慣れない表示になります。(日本語も選べますが個人的にはUSで使う方が楽なので)
インストールは20-40分かかります。
再起動すると使い始められます。

初期設定

初期はこの後に初期設定をする画面が出ていたのですが、インストーラが自動でやってくれるようです。
ユーザは「pi」、パスワードは「raspberry」が初期状態です。
一番左のメニューのPreferencesの中の「Raspberry Pi Configuration」から各種設定の変更ができます。
Time ZoneをAsia/東京に設定することと、SSHをEnableにしておく以外は適当に環境に合わせて変更しておくと良いでしょう。
後述のraspi-configもまだ使えるようです。

raspi-config(古い情報)

最初に画面に出るのは「Raspberry Pi Software Configuration Tool (raspi-config)」です。
これで初期設定をします。
この設定を後でもう一度使いたい時には $ sudo raspi-config です。

  • Expand Filesystem : SDカードの空き容量を全部使うようにする。最初に一度実行する。
  • Change User Password :デフォルトユーザ「pi」のパスワード変更。
  • Enable Boot to Desktop/Scratch : 起動後に普通のパソコンのようにGUIを表示したいときは「Desktop log in …」。
  • Internationalisation Options
    • Change Locale : en_US,UTF-8 UTF-8 と ja_JP,UTF-8 UTF-8 の二つを設定。defaultはUS。
    • Change Timezone : 時刻をAsia/Tokyoにします。
    • Change Keyboard Layout : USキーなので Generic 105-key (Intl) PC / English (US) / English (Macintosh) / The default … / No compose key / terminate X はYes
  • Enable Camera : カメラパーツの設定
  • Add to Rastrack : Rastrack設定
  • Overclock : オーバークロックできるようです。。。
  • Advanced Options : オプション
    • A4 SSH : SSHをEnableにする。
  • About raspi-config : About …

とりあえず画面に従って再起動しましょう。
コマンドを入れて再起動は$ sudo shutdown -r nowです。

無線LANアダプタ

右側のメニューに有線LAN、無線LANのアイコンがあります。
DHCPであれば簡単にネットワークに接続できるでしょう。
ここでSSHで接続できる事を確認したら、後は電源ケーブルだけあればraspberry pi が使えるという事です。
とりあえず$ sudo apt-get update 、 $ sudo apt-get upgrade してパッケージを最新の状態にしておきましょう。Windowsで言えばWindows Updateみたいなものです。(これもとても時間がかかります)
これでLinuxサーバとして Raspberry Pi が使えます。

無線LANアダプタ(古い情報)

Raspberry Pi を無線にすると遠くに置けるので面白い使い方ができます。
試しに無線LANアダプタを付けてみました。
ググって動作実績がありそうなPlanexのGW-USNano2を使ってみました。1000円以下で売っているものの一つです。
セルフパワーUSBハブに接続することでraspiから直接電源を取らないようにしました。
(他にバッファローのWLI-UC−GNも使っています。)

起動後に、$ startxでGUI画面が出てきます。デスクトップに「WiFi Config」というアイコンがあるのでこれを起動します。後はWindowsなどの一般的なWi-Fiの設定画面が出て来るので適当に値を入れれば無線LANが繋がるようになるでしょう。

ここでSSHで接続できる事を確認したら、後は電源ケーブルだけあればraspberry pi が使えるという事です。この状態では特にメリットはありませんが、Webカメラをつけたり、温度センサ、LEDなどを使い始めるとUSBの電源ケーブルのみで動く小型コンピュータというのが便利な事がわかります。

SSHで接続してサーバの様に使うという人はここから先はディスプレイもキーボードも不要です。
他のPCからSSHでログインして操作するとwebの記事のコピペでコマンドが入力できるので楽です。

$ ifconfigでもIPアドレスが確認できるのでメモしておきましょう。
ログインユーザは「pi」です。パスワードはインストール時に決めたものになります。
とりあえず$ sudo apt-get update 、 $ sudo apt-get upgrade してパッケージを最新の状態にしておきましょう。Windowsで言えばWindows Updateみたいなものです。

これでとりあえずLinuxサーバとして Raspberry Pi が使えます。

うちの設定では無線LANが省電力で動こうとしているのかすぐに休んでしまいます。
SSHで入ってちょっと休むとしばらく反応が返ってこなくなってしまいます。
そのせいかwebサーバなどももっさりと動くのが残念なところです。SSHで作業をするときは有線LANの方が良さそうです。

(2014/10/1)
(2016/3/20)

Get Simple のメモ

GetSimple Core Language ファイル

CMS (Content Management System)の「GetSimple CMS」というものをこのサイトでは使用しています。
日本語のドキュメントがあまり無いようなので、役に立つかもしれないのでメモを残しておきます。
後から自分でも使うかもしれないので。

作業中に GetSimple CMS の日本語化ファイルをとりあえず作ったので置いておきます。このファイルを /admin/lang/ja_JP.php に置く事でだいたい日本語表示になります。
普段見られないエラー表示等は翻訳がおかしい部分があるかもしれません。また、すべてが日本語表示になるわけではありません。一部英語のままの部分もあります。
これは主に管理画面の表示が日本語になるというだけで、完全に日本語対応したGetSimpleになるわけではありません。
間違って訳していた部分は気がついたら直していますが、今後のメンテナンスはおそらくしないと思います。「作りっぱなし」の状態となります。

ファイルは以下のものを参考に、GetSimple 3.2.1 用に作成しました。
https://code.google.com/p/get-simple-ja/

ja_JP.php のダウンロード » 


GetSimple CMS の特徴

最近のWebサイトの編集にはCMS(Content Management System)を使用すると楽にきれいなものが出来上がります。特にWebデザイナーではない人がサイトを作る時には非常に便利なツールです。
「WordPress」「XOOPS」「Movable Type Open Source」「Drupal」などのフリーのものが有名です。

特に、このGetSimple CMSのデザイン(テーマ)は今風のTwitter Bootstrapっぽいものが多くて使いやすいです。多国語対応しているのですが、日本語の開発者が少ないようで「日本語」の言語ファイルは多くありません。しかしほとんど問題無く使えます。
以前のバージョンでは日本語での利用の際に困るバグがあったようですが、現在のバージョンでは特に大きな問題は無く使用できています。

無償で利用できるCMSはたくさんありますが、多くのCMSではDBMS(データベース)が必要です。しかしこのGetSimpleではDBを使用していません。レンタルサーバプランの安いものの場合はDBが使用できないものがあり、そういうサーバでも使えるのがこのGetSimpleです。しかし、PHPが動かないとダメなんですけどね。PHPは使えるけどDBが使えないサーバという条件で使うCMSがこれです。

具体的に言えば「さくらのレンタルサーバ ライトプラン (さくらインターネット)」「ロリポップ コロリポプラン(ロリポップ)」などで使用できるCMSが GetSimple CMS です。
他にデータベースを使わないCMSには LightNEasy Mini があります。(以前はこれを使用していました)

高度な、企業用のサイト構築には向きませんが、個人用のサイトには便利だと感じました。

GetSimpleの長所

  • DBMS(データベース)を使用しない事。
  • トップページと通常ページでデザインを変える事が割と簡単。
  • データがXMLのテキストファイルなので将来の他CMSへ移行時に作業が楽そうなこと。
  • テキストファイルの中の日本語がだいたい文字化け無く読める事。
  • 設定ファイルもXML、PHPなので書き換えて置くだけの簡単操作。バックアップも楽。
  • コンポーネントの編集でサイドバーの自由度が高い。
  • バックアップ/リストア機能が便利。
  • 日本語化が簡単。ファイルを書き換えればすぐに反映される。
  • 各種プラグインも日本語化が簡単。
  • 比較的ファイルが散らからない。
  • ファイルをコピーするだけで移行完了という簡単な運用。(DBが無いから)
  • 新規作成したページのslug(ファイル名)はタイトルから自動作成するが、日本語のみのタイトルの場合は「temp」「temp-1」となる。しかし後から変更できるので問題無し。
  • 新バージョンが出ていると管理画面の「サポート」のところに「!」マークが付いて知らせてくれる。

短所

  • 他のものに比べてプラグインやテーマの数が少ない。(それでもかなりありますが)
  • 日本語ドキュメントが少ない事。
  • 管理者ユーザが一人用。複数人の運用ができない。
  • 初心者には使えない。(Linuxを使った事が無い方には難しいでしょう)

はまりどころ

正直、CMSは簡単ではありません。一度、手作業でHTML書いて数ページのサイトを作った経験がある人であればその便利さがわかると思いますが、いきなり始めたところでわけがわからないでしょう。
自分のイメージ通りのWebサイトが簡単に作れるCMSはおそらく存在しません。妥協しながら使うものだと理解すると便利なツールだという事がわかると思います。

付属の .htaccess ファイルを入れると Server Error 500 になる
Options -Indexes の行がエラーになる場合があるようです。#でコメントアウトする。
Server Error 500 になる
レンタルサーバの安いプランの場合は高度な作業を行う事ができないためにデバッグが困難です。500エラーの原因を調べるのは不可能なので、ファイル名、権限、パスに間違いが無いかひとつひとつ確認していくしかありません。
ローカルのサーバで動作を確認してからレンタルサーバに展開する等の手間をかけることでエラーを防げます。特にPHPのスクリプトをいじったりテーマを改造したりする場合はエラーログを見れる環境が必要でしょう。
この程度の作業で出る500エラーはエラーログを見るとすぐに解決するバグがほとんどです。
Mac OS X Mountain Lion でローカルのサイトのテストをしたい
ぐぐる。http://d.hatena.ne.jp/sakura_bird1/20120804/1344055999
なんかいじったら動かなくなった
いじったところが原因です。元に戻してください。
Twitter関係のPluginが動かない
多くのTwitter表示PluginがAPI1.0を使用していたために、2013年6月のAPI1.0の廃止に伴い動かなくなりました。バージョンアップ待ちです。
6/28にLastTweet(s)プラグインは新APIに対応しました。
ブログをやりたい
Plugin の News Manager (updated) 等を使う事で実現できます。
しかし、メールで更新するとか、写真を付けるとかアメブロみたいなことをやりたい場合には向きません。
ブログは他のブログサービスを使った方が高機能で簡単でしょう。
HTMLエディタがしょぼい
CKEditorを使っています。簡易HTMLエディタとしては高機能ですが、高度なデザインするには不足です。導入の初期には高機能なHTMLエディタを併用するのが良いかもしれません。一旦デザインが固まったあとは本文の入力のみなのでこのエディタで十分なんですが。
timezone settings がどうのこうのというエラーが表示される
php.ini に「date.timezone = Asia/Tokyo」を書く。ググる。
管理画面からファイルのアップロードができない
Adobe Flash プラグインが入っていないと使えません。
携帯電話専用ページへの切り替え機能がない
GetSimple CMS には無さそうです。しかし、スマートフォンで見るとPC用ページもそれなりに見えるのであまり問題は無いかもしれません。
携帯電話でアクセスする人はごめんなさい。(LightNEasyは携帯用ページがあるよ)
不正な管理者ログインを防ぎたい
「admin」フォルダを例えば「nimda」に変更する事で少し安全になります。
gsconfig.phpファイルの中の
#define('GSADMIN', 'admin'); を
define('GSADMIN', 'nimda'); に変更(行頭の#も取り除く)する。
動作確認用ファイル「phpinfo.php」の書き方
<?php
phpinfo();
?>
パスワードを忘れたときのメールが届かない
サーバの設定などもあるので解決は簡単じゃないかも。さくっと動く時は動く。ローカルで試行錯誤するとダメな時はダメ。
インストールに失敗して繰り返しているうちにパスワードがわからなくなった
/data/users/your_name.xml を編集します
<PWD>a1b2c3d4e5f6passwordencrypteda1b2c3d4e5f6</PWD>のような部分がパスワードです。ここを<PWD>011c945f30ce2cbafc452f39840f025693339c42</PWD>に書き換えて保存します。
これでパスワードは「1111」になります。ログインして安全なパスワードに変更してください。
Fancy URLが使えない(使えるものと使えないものがある)
同名のフォルダ、同名、似た名前のファイルがあると上手く動きません。
ユーザ名を変更したい
インストールの時に入力したものを後から変更できないかも!?(いろいろ試行錯誤中…)
HTMLエディタがBootstrapのタグを消してしまう
仕様。HTMLエディタを使わなければ大丈夫。そのうちなんとかなるんじゃないかと思う。
アップデート後も「Support」ボタンの「!」マークが消えない。アップデートに失敗しているのか?
隣の「Setting」ボタンを押し「Flush All Caches」を押してみる。これで解消しない場合はどこかアップデートに失敗しているかも。
 
 

Download the Latest GetSimple

 

GetSimple CMS

2013/06/24