タグ別アーカイブ: linux

Pogoplugで自宅サーバー復活

昨年暮れに、自宅サーバーのHDDがぶっ壊れて、部屋に静けさが戻った。httpサーバーは、さくらのVPSに引越しした。けど、大容量ストレージがないと何かと不便なので、復活させることにした。

デスクトップマシンだとデカイしファンがうるさいので、流行のPogoplugをハックすることにした。

Pogoplugのラインナップがよく理解できなかったので、テキトーにAmazonで最安値だった中古のPOGO-P01を購入。4,800円也。合わせて、システム用にBUFFALOのUSBメモリー(8GB)を982円で購入。こちらは新品。以前のサーバーに外付けしていた1TBのUSB HDDを復活させる。宅内からはsambaで、外出先からはscpとhttpでデータ出し入れ、という予定。

ここを参考にしてdebian化。と思ったら、Pogoplug P01(Pro)はハックの対象外だった。気付くのに2日かかった。USBメモリにシステムをインストールまではできたんだけど、ubootの書き換えができず。しょうがないので、Arch Linux ARMというものを入れた。公式のドキュメントのとおりに進めたら、ものの30分で終わった。その後、下記の手順で追加の設定等。

データ用の1TBハードディスクを接続し、マウントする。/homeにまるごと当てがっちゃう。

# echo '/dev/sdb    /home   ext2    defaults    0 2' >> /etc/fstab
# mount -a

debianでいうaptはpacman。パッケージマネージャ、略してパックマンか。

pacman -Syuでエラーがでるので、下記に従う。

念のためバックアップ。

# cp /etc/mtab /home
# mv /etc/profile.d/locale.sh /home

上記の記事どおり。

# pacman -S filesystem --force
# rm /etc/profile.d/locale.sh

パッケージの更新。

pacman -Sy
pacman -Syu

viをvimのエイリアスに。

# alias vi='vim'
# export EDITOR=vim

ユーザー作成。

# adduser ore
# adduser yome
# adduser familyname
# groupadd familyname
# usermod -g familyname ore
# usermod -g familyname yome

ルートログイン禁止。

$ vi /etc/ssh/sshd_config
PermitRootLogin no

タイムゾーンの設定。

$ ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime

samba入れる。公式ドキュメントに従ってnmbdとプリンター共有も停止。

# pacman -S samba

ddnsの設定。value domainのCGIを15分おきに叩く。本当はローカルにIPを保存しておいて変化を検出してから更新したほうがいいけど、とりあえず手軽に。

# crontab -e
*/15 * * * * wget -O - 'http://dyn.value-domain.com/cgi-bin/dyn.fcg?d=jamadam.com&p=XXXXXXXXXXX&h=home' > /dev/null 2>&1

固定IP

interface=eth0
address=192.168.11.2
netmask=255.255.255.0
gateway=192.168.11.1

perlbrew入れようと思ったらmakeコマンドがなかったので、base-develをインストール。

pacman -S base-devel

perlbrew自体をインストール

その後、perlbrew install perl-5.14.2しようと思ったらメモリー足りず。公式ドキュメントを参考に1GBのswapfileを作成。

# dd if=/dev/zero of=/swapfile.img bs=1M count=1024
# mkswap /swapfile.img
# swapon /swapfile.img
# echo '/swapfile.img none swap sw 0 0' >> /etc/fstab

non-rootユーザーでperl-5.14.2をインストール。2時間半かかった。普段は20分で終わるんだけど、やっぱりマシンが非力なせいかな。

$ perlbrew install perl-5.14.2

 

続く