カテゴリー : linux

Raspberry Piに手を出してみた

眠れないのでブログでも。

いたってフツーのLAMP環境での開発ばかりしてきた自分ですが、
最近は仕事の関係でIoTに染まっております。

ということで、Raspberry Piに手を出してみました。
まずはラズパイ3。
公式の7インチタッチディスプレイを使ってPiPadを作ってみました。

プログラム書いたりハード追加したり、色々やりたいことはあるんですが
まずはPiPad動いたので、ラズパイ3は一旦放置。

まぁ、普通にRaspbian入れたりセットアップしたり、なんてものは
検索してくれば文献腐る程出てくるので、ここでは割愛。

で、次のステップとして、ラズパイゼロとIoT pHATを買ってみました。
(とはいえ船便なので着くのは多分11月末)

IoT用のルータってくっそ高いんすよね。
ラズパイゼロとIoT pHATなら、3000円ちょいで購入できたし
サイズも超ちっちゃいし、ある程度の稼働が見込めるなら
全然アリだと思うわけですよ。

100均とかで売ってる小さな缶ケース?薬入れ?みたいのに入れれば
放熱も考慮したものが作れそうかもと思うし、
WiFi+BluetoothだけのIoTモバイルルータ、OSもCLIで動かせば負荷低いだろうし。
悪くはないアイディアだと思うんだけどなぁ。

…とはいえRAM512MBなんで、そこが若干不安。
本当はRAM DISKに全部プログラム書き込んで動かしたいんだよね、破損の心配も減るし。
MicroSDだと多分数年で破損しちゃうからね。

ラズパイ3ならRAM1GBあるし、最悪そっちでもアリかなーとは思ってます。
国内で簡単に手に入るしね。
まぁこのへんは、ラズパイゼロが来るまでプログラム書いてみて考えればいいかな。

ラズパイ3に関しては、某社の某機械とスペック似てるんで、
某機械用のノウハウが流用できる気もしてるんだよね。

まぁ近況報告も兼ねて。こんな感じです。

さくらのVPSをCentOS7にしようとしてくっそハマった件

CentOS6と7、やっぱり結構違うなあ、と。

もともとCentOS6で動いていたこのlaboサーバ。
時代に追いつくために思い切ってCentOS7にしてみた。

【バックアップ】
せっかくOSを上げるので、最低限必要なものだけ持っていくことに。
qmail(vpopmail)
→ postfixにして最初から設定しなおすので必要なし。
apache
→ 2.2系から2.4系になるのでこれも設定仕直し、基本必要ないのだが
2.4系で断念したら2.2系に戻すために念のために各種コンフィグバックアップ。
そして各サイトの公開ディレクトリをtar czvfで固める。
別にgzipでもいいけど、tarコマンドを手が覚えてるうちはtarでいいかな、と。w
bind
→セキュリティ追いかけるの面倒だし、さくらのDNS機能を使うように切り替えたいので破棄。
mysql
→MariaDBに変えるので、各DBだけdump。privilegesはgrant文を再発行するので不必要。
いずれはmysql5.7系とMariaDB10系をサーバ内で共存させたいなー、程度で。
php
→5系から7系に上げるのでこちらも再度php.ini検討。バックアップせず。
svn
→制作物のソースはローカルにあるので破棄、いずれ必要ならgithubで作り直す

【インストール】
カスタムインストールでCentOS7。
マニュアルにもあるので詳細は省略。
最小構成で入れたらwgetも入ってなくて序盤苦しみまくったのは内緒。

【設定】
◇SELinuxを切る
今はまだわからないので、いずれ習得したら使いたいな、と。

$ set enforce 0
$ vi etc/sysconfig/selinux

#SELINUX=enforcing
SELINUX=disabled

◇firewalldを設定
こいつで超絶ハマった。これが書いてある参考サイトがどこにもなかったからな!w
iptablesじゃなくてfirewalldなのね、もうこれは絶対に忘れないと思うwww
22番ポートは開いてるのに80番開いてないから本当に1週間苦しんだわ。

# どこのポートが開いてるか確認
$ firewall-cmd –list-all
# http(80/TCP)を開ける
$ firewall-cmd –add-service=http –permanent
# 8080/TCPを開ける(いずれapacheとnginxを80と8080で共用したい)
$ firewall-cmd –add-port=8080/tcp –permanent
# firewalld再起動
$ systemctl restart firewalld

◇apache2.4、PHP7.0.6、MariaDB10、nginx1.10を入れる
ここはどんな文献でも出てくるのでサラっと。

# apache2.4
$ yum install httpd
$ systemctl start httpd
$ systemctl enable httpd

# PHP7.0.6
# nginxでphp-fpmを使いたいので、そちらもついでに。
$ rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
$ yum –enablerepo=remi-php70 install php php-fpm php-devel php-mysql php-mbstring
$ systemctl start php-fpm
$ systemctl enable php-fpm

# MariaDB
$ yum install mariadb-devel mariadb-client mariadb-server
$ systemctl start mariadb
$ systemctl enable mariadb
# rootのパス設定したり不要なものを消したりetc…
$ mysql_secure_installation

# nginx
$ yum install nginx
$ systemctl start nginx
$ systemctl enable nginx

◇リストア
DBはバックアップから復元。
各サイトのデータは適当にディレクトリを用意してtar xzvfで解凍。
apacheはVirtualhostの設定、PHPはphp.iniにdate.timezone=”Asia/tokyo”だけ記述。

とりあえずこれでapache、PHP、mariaDB側は問題なし。
php-fpmとnginxについては、動いたらまた記述しようかと。
UNIXドメインソケットというのがよくわからぬので、まだ進んでないので。

あ、あとpostfixもね。まだそこまで手が追いつかないんで。w

一旦、clamdを停止する

VPSにqmail & vpopmail & clamd & spamassassinでメール環境を作っていたのだが
重い!メモリを大量に食う!
ので、他に何もできなくなる!

…ということで、一旦止めた。

 /home/vpopmail/etc/tcp.smtp
:allow,QMAILQUEUE=”/var/qmail/bin/qmail-scanner-queue.pl”

:allow,QMAILQUEUE=”/var/qmail/bin/qmail-scanner-queue.pl”

多分これでcdbを作成し直して、qmail再起動。
動いてるっぽいし、大丈夫っぽい?