ownCloudのAndroidアプリがやっぱり動かない件
インスタントアップロードが、、、
スマホで動作しない
↓
タブレットで動作した
↓
クライアントアプリがアップデート
↓
スマホで動作した!
↓
スマホのOSアップデート
↓
インスタントアップロードしなくなった ← イマココ
−−−
ownCloudのAndroidアプリがOSのバージョンによって
正常に動いたり動かなかったり。
#インスタントアップロードが動いてくれない。
#手動アップロードは正常。
最新版のAndroidアプリのバージョンは1.4.1
Android4.0.3にインストールするとサクサクと画像をアップロードしてくれるのに、
Android4.1.2だとウンともスンとも。
ググってみると同様の不具合報告がGitHubにあがってるので
そのうち解消される、、、のかな?
2013/07/13
2013/06/27
RaspberryPi に ownCloud で俺様専用クラウドを❝再❞構築 (終了)
ownCloud クライアントアプリ アップデート
Androidアプリがアップデートされたのでインストールしてみる。
見事、インスタントアップロードが成功!
なんかスッキリしないけど、
これでようやく俺様専用クラウドの環境が整った。
Google+の自動アップロードをオフにしたほうがいいかもしれない。
巷で噂の予告なし垢BANに備えて。。。
予告なしはイカンよ、予告なしは。
しばらく連続運転して様子をみてみよう。
Androidアプリがアップデートされたのでインストールしてみる。
見事、インスタントアップロードが成功!
なんかスッキリしないけど、
これでようやく俺様専用クラウドの環境が整った。
Google+の自動アップロードをオフにしたほうがいいかもしれない。
巷で噂の予告なし垢BANに備えて。。。
予告なしはイカンよ、予告なしは。
しばらく連続運転して様子をみてみよう。
2013/06/18
Coffee Break
AndroidのownCloudクライアントからInstantUploadが出来ない件、
端末とアプリとの相性問題であることがほぼ確定。
別の端末で試したところ、あっさりと自動アップロードしてくれた。
どうしましょ。。。
端末とアプリとの相性問題であることがほぼ確定。
別の端末で試したところ、あっさりと自動アップロードしてくれた。
どうしましょ。。。
2013/06/16
RaspberryPi に ownCloud で俺様専用クラウドを❝再❞構築 (5)
早くなるおまじないをかけてみる
$ sudo apt-get install php-apc
PHPで中間ファイルのキャッシュがどうたらこうたら・・・
うん、たしかに早くなってる気がする。
$ sudo apt-get install php-apc
PHPで中間ファイルのキャッシュがどうたらこうたら・・・
うん、たしかに早くなってる気がする。
2013/06/13
Coffee Break
前回同様、AndroidのownCloudクライアントからInstantUploadが出来ない。
アップロードシークエンスに入った途端、アプリケーションが落ちてしまう。
なぜ動かないのか?謎でしょ!
たかが99円でも立派な有料アプリ。なんとしても使えるようにしないと。
サーバーが悪いのか、クライアントが悪いのか。。。
記事、結局自分メモな文体になってる。。。
アップロードシークエンスに入った途端、アプリケーションが落ちてしまう。
なぜ動かないのか?謎でしょ!
たかが99円でも立派な有料アプリ。なんとしても使えるようにしないと。
サーバーが悪いのか、クライアントが悪いのか。。。
記事、結局自分メモな文体になってる。。。
2013/06/11
RaspberryPi に ownCloud で俺様専用クラウドを❝再❞構築 (4)
ownCloud インストール編
先にsuのパスワード設定と、普段アカウントにwww-dataグループを追加
$ sudo passwd
新しいUNIXパスワードを入力してください: [ パスワード ]
新しいUNIX パスワードを再入力してください: [ パスワード ]
passwd: パスワードは正しく更新されました
$ sudo usermod -G www-data hogehoge
リブートして確認
$ id
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
Apache2の設定
$ sudo vi /etc/apache2/sites-enabled/000-default
<!-- Options Indexes FollowSymLinks MultiViews -->
Options -Indexes ExecCGI FollowSymlinks
<!-- AllowOverride None -->
AllowOverride All
Order allow,deny
allow from all
ownCloud本体のダウンロード
http://owncloud.org/install/
"Tar or Zip File"をクリックしてダウンロードダイアログを表示させ、
"Unix/Mac OS"のリンクアドレスをホストマシンのクリップボードにコピーする。
$ su -
# cd /var/www
# wget http://download.owncloud.org/community/owncloud-x.x.x.tar.bz2
あとは ownCloud Admin Manuals' に従ってインストール続行
# apt-get install apache2 php5 php5-gd php-xml-parser php5-intl
# apt-get install php5-sqlite smbclient curl libcurl3 php5-curl
(sqliteを使うのでmysqlに関するパッケージは不要)
# tar -xjf owncloud-x.x.x.tar.bz2
# chown -R www-data:www-data owncloud
.htaccessの設定
owncloud の.htaccessをapacheの設定値として流用する
# cp /var/www/owncloud/.htaccess /etc/apache2/conf.d/owncloud.conf
先にsuのパスワード設定と、普段アカウントにwww-dataグループを追加
$ sudo passwd
新しいUNIXパスワードを入力してください: [ パスワード ]
新しいUNIX パスワードを再入力してください: [ パスワード ]
passwd: パスワードは正しく更新されました
$ sudo usermod -G www-data hogehoge
リブートして確認
$ id
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
Apache2の設定
$ sudo vi /etc/apache2/sites-enabled/000-default
<!-- Options Indexes FollowSymLinks MultiViews -->
Options -Indexes ExecCGI FollowSymlinks
<!-- AllowOverride None -->
AllowOverride All
Order allow,deny
allow from all
ownCloud本体のダウンロード
http://owncloud.org/install/
"Tar or Zip File"をクリックしてダウンロードダイアログを表示させ、
"Unix/Mac OS"のリンクアドレスをホストマシンのクリップボードにコピーする。
$ su -
# cd /var/www
# wget http://download.owncloud.org/community/owncloud-x.x.x.tar.bz2
あとは ownCloud Admin Manuals' に従ってインストール続行
# apt-get install apache2 php5 php5-gd php-xml-parser php5-intl
# apt-get install php5-sqlite smbclient curl libcurl3 php5-curl
(sqliteを使うのでmysqlに関するパッケージは不要)
# tar -xjf owncloud-x.x.x.tar.bz2
# chown -R www-data:www-data owncloud
.htaccessの設定
owncloud の.htaccessをapacheの設定値として流用する
# cp /var/www/owncloud/.htaccess /etc/apache2/conf.d/owncloud.conf
# vi /etc/apache2/conf.d/owncloud.conf
(ファイル先頭に追加)
Alias /owncloud /var/www/owncloud
<Directory /var/www/owncloud>
(ファイル末尾に追加)
</Directory>
Apache2を再起動し、ブラウザでアクセスしてみる。
# service apache2 restart
http://192.168.xxx.yyy/owncloud
管理者アカウントを設定。
その他の詳細設定はお好みで設定(デフォルトのままでもOK)。
これでとりあえずは動く状態。
RaspberryPi に ownCloud で俺様専用クラウドを❝再❞構築 (3)
Raspberry Pi 初期設定編(わすれもの)
ntpを入れ替える
$ sudo apt-get remove ntp
$ sudo apt-get install ntpdate
ntpを入れ替える
$ sudo apt-get remove ntp
$ sudo apt-get install ntpdate
cron設定
$ sudo crontab -e
# 1時間ごと(毎時0分)に、時刻合わせを行う
0 * * * * /etc/network/if-up.d/ntpdate > /dev/null 2>&1
ntpサーバーを近場に
$ sudo vi /etc/default/ntpdate
# NTPSERVERS="0.debian.pool.ntp.org 1.debian.pool.ntp.org 2.debian.pool.ntp.org 3.debian.pool.ntp.org"
NTPSERVERS="0.ntp.nict.jp 1.ntp.jst.mfeed.ad.jp 2.ntp.ring.gr.jp"
ログを確認
起動時と毎時0分にsyslogに吐かれてるはず。
$ sudo cat /var/log/syslog
RaspberryPi に ownCloud で俺様専用クラウドを❝再❞構築 (2)
Raspberry Pi 初期設定編
Raspberry Pi にSSHでつないで初期設定をおこなう。
> ssh pi@192.168.xxx.yyy
$ sudo raspi-config
・8 Advanced Options → A5 Update
なにはともあれアップデート
・3 Enable Boot to Desktop
デスクトップ環境は必要ないので<No>を選択
・4 Internationalisation Options → I1 Change Locale
en_US.UTF-8 UTF-8
ja_JP.UTF-8 UTF-8
を追加
Default localeで
ja_JP.UTF-8
を選択
・4 Internationalisation Options → I2 Change Timezone
Asia → Tokyo
を設定
・8 Advanced Options → A2 Hostname
raspi
に変更
・8 Advanced Options → A3 Memory Split
16
に変更
・8 Advanced Options → A4 SSH
Enable
を設定
これでconfigは終了。
Finishを選ぶとリブートするかと聞いてくるのでNoを選択し、
先に普段ユーザーを作成する。
ユーザー追加
$ sudo adduser hogehoge
パスワードとか色々設定
swapの設定
dphys-swapfileのリムーブ
$ sudo apt-get remove dphys-swapfile
swap領域に名づけ
$ sudo mkswap -L swappat /dev/sda3
swap領域の有効化
$ sudo swapon -L swappat
状態確認
$ cat /proc/swaps
Filename Type Size Used Priority
/dev/sda3 partition 2191356 0 -1
fstabに登録
$ sudo vi /etc/fstab
LABEL=swappat swap swap defaults 0 0
rebootしてチェック
$ cat /proc/swaps
Raspberry Pi にSSHでつないで初期設定をおこなう。
> ssh pi@192.168.xxx.yyy
$ sudo raspi-config
・8 Advanced Options → A5 Update
なにはともあれアップデート
・3 Enable Boot to Desktop
デスクトップ環境は必要ないので<No>を選択
・4 Internationalisation Options → I1 Change Locale
en_US.UTF-8 UTF-8
ja_JP.UTF-8 UTF-8
を追加
Default localeで
ja_JP.UTF-8
を選択
・4 Internationalisation Options → I2 Change Timezone
Asia → Tokyo
を設定
・8 Advanced Options → A2 Hostname
raspi
に変更
・8 Advanced Options → A3 Memory Split
16
に変更
・8 Advanced Options → A4 SSH
Enable
を設定
これでconfigは終了。
Finishを選ぶとリブートするかと聞いてくるのでNoを選択し、
先に普段ユーザーを作成する。
ユーザー追加
$ sudo adduser hogehoge
パスワードとか色々設定
追加したユーザーがsudoを使えるようにする
$ sudo visudo
hogehoge ALL=(ALL) ALL
を追加
/var/wwwマウントポイントの作成
$ sudo mkdir /var/www
/var/wwwマウントポイントの作成
$ sudo mkdir /var/www
リブート
$ sudo reboot
新しく作った自分アカウントでRPiにログイン
> ssh hogehoge@192.168.xxx.xxx
アカウントpiの削除
$ sudo userdel -r pi
$ sudo visudo
pi に関する記述を消しておく
Raspbianのアップデート
※国内サーバーにリポジトリをミラーリングしてくれてる奇特な方がおられるので、
ありがたく利用させていただく。
https://twitter.com/kfujieda/status/301119397064486912
$ sudo vi /etc/apt/sources.list
# deb http://mirrordirector.raspbian.org/raspbian/ wheezy main contrib non-free rpi
deb http://ftp.jaist.ac.jp/raspbian/ wheezy main contrib non-free rpi
$ sudo apt-get update
$ sudo apt-get upgrade
を実行し、最新にアップデートする。
swapの設定
dphys-swapfileのリムーブ
$ sudo apt-get remove dphys-swapfile
swap領域に名づけ
$ sudo mkswap -L swappat /dev/sda3
swap領域の有効化
$ sudo swapon -L swappat
状態確認
$ cat /proc/swaps
Filename Type Size Used Priority
/dev/sda3 partition 2191356 0 -1
fstabに登録
$ sudo vi /etc/fstab
LABEL=swappat swap swap defaults 0 0
rebootしてチェック
$ cat /proc/swaps
不要になったswapファイルの削除
$ sudo rm /var/swap
2013/06/10
RaspberryPi に ownCloud で俺様専用クラウドを❝再❞構築 (1)
OSインストール編
不慮の事故(謎なスクリプトを動かしてしまい)により
活動停止に陥ってしまったRaspberry Pi
修復よりも、迷わず再構築をしようと考えるあたり、自分はドMなんだなぁ、と。
ついでにこのブログも人様に読んでもらえるものに書きなおす。
なお、ホストマシンはUbuntu
・前回同様、HDDでの運用(BootのみSD、システムをHDD)とする。
・OSのイメージファイルをSDに一旦展開するのではなく、
イメージのマウント → ブート環境構築、とする。
準備するもの
1.SDカード
ブート領域だけなので、128MB以上でOK。余ってるカードで十分。
2.USB-HDD
必要なだけ。余ってるHDDで問題なし。
手順
1.OSイメージのダウンロード
http://www.raspberrypi.org/downloads から
「Raspbian "wheezy"」をダウンロード。展開しておく。
2.イメージファイルのマウント
◎オフセット値などを自動で調べる
$ sudo kpartx -av wheezy-raspbian.img
add map loop0p1 (252:0): 0 114688 linear /dev/loop0 8192
add map loop0p2 (252:1): 0 3665920 linear /dev/loop0 122880
$ sudo mkdir /mnt/sd2
$ sudo mount /dev/mapper/loop0p1 /mnt/sd1
$ sudo mount /dev/mapper/loop0p2 /mnt/sd2
これで /mnt/sd1 にブート領域、 /mnt/sd2 にシステム領域がマウントされる。
3.ブート領域のコピー
SDカードを差し込み、dmesgなどでデバイス名を調べる。
(自動マウントされた場合はアンマウントする)
fdisk でパーティションを設定、mkfs.vfatでFat32フォーマットする。
$ sudo fdisk /dev/mmcblk0
Raspberry Pi を起動して、SSHで接続できればOK
不慮の事故(謎なスクリプトを動かしてしまい)により
活動停止に陥ってしまったRaspberry Pi
修復よりも、迷わず再構築をしようと考えるあたり、自分はドMなんだなぁ、と。
ついでにこのブログも人様に読んでもらえるものに書きなおす。
なお、ホストマシンはUbuntu
・前回同様、HDDでの運用(BootのみSD、システムをHDD)とする。
・OSのイメージファイルをSDに一旦展開するのではなく、
イメージのマウント → ブート環境構築、とする。
準備するもの
1.SDカード
ブート領域だけなので、128MB以上でOK。余ってるカードで十分。
2.USB-HDD
必要なだけ。余ってるHDDで問題なし。
手順
1.OSイメージのダウンロード
http://www.raspberrypi.org/downloads から
「Raspbian "wheezy"」をダウンロード。展開しておく。
2.イメージファイルのマウント
◎オフセット値などを自動で調べる
$ sudo kpartx -av wheezy-raspbian.img
add map loop0p1 (252:0): 0 114688 linear /dev/loop0 8192
add map loop0p2 (252:1): 0 3665920 linear /dev/loop0 122880
◎マウント
$ sudo mkdir /mnt/sd1$ sudo mkdir /mnt/sd2
$ sudo mount /dev/mapper/loop0p1 /mnt/sd1
$ sudo mount /dev/mapper/loop0p2 /mnt/sd2
これで /mnt/sd1 にブート領域、 /mnt/sd2 にシステム領域がマウントされる。
3.ブート領域のコピー
SDカードを差し込み、dmesgなどでデバイス名を調べる。
(自動マウントされた場合はアンマウントする)
fdisk でパーティションを設定、mkfs.vfatでFat32フォーマットする。
$ sudo fdisk /dev/mmcblk0
コマンド (m でヘルプ): [ d ] ← パーティション削除
コマンド (m でヘルプ): [ n ] ← パーティション作成
Partition type: [ ]
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): [ ]
Using default response p
パーティション番号 (1-4, 初期値 1): [ ]
初期値 1 を使います
最初 セクタ (2048-1987583, 初期値 2048): [ ]
初期値 2048 を使います
Last セクタ, +セクタ数 or +size{K,M,G} (2048-1987583, 初期値 1987583): [ ]
初期値 1987583 を使います
コマンド (m でヘルプ): [ t ]
選択したパーティション 1
16進数コード (L コマンドでコードリスト表示): [ c ]
パーティションのシステムタイプを 1 から c (W95 FAT32 (LBA)) に変更しました
コマンド (m でヘルプ): [ t ]
選択したパーティション 1
16進数コード (L コマンドでコードリスト表示): [ c ]
パーティションのシステムタイプを 1 から c (W95 FAT32 (LBA)) に変更しました
コマンド (m でヘルプ): [ w ]
パーティションテーブルは変更されました!
$ sudo mkfs.vfat -F 32 /dev/mmcblk0p1
$ sudo mkdir /mnt/sdboot
$ sudo mount -t vfat /dev/mmcblk0p1 /mnt/sdboot
$ sudo cp /mnt/sd1/* /mnt/sdboot
$ sudo umount /mnt/sdboot
4.システム領域のコピー
◎USB-HDDを挿し、fdisk等でパーティションを作成。
1.システム領域 16GB程度(お好みで)
2.データ領域 好きなだけ
3.swap領域 2GB程度(お任せで)
◎mkfs.ext4でext4フォーマットする。
$ sudo mkfs.ext4 /dev/sdb1
$ sudo mkfs.ext4 /dev/sdb2
$ sudo cp -a /mnt/sd2/* /media/SYSTEM/ (コピー先は環境によって異なる)
5.システムを書き換えて起動できるようにする
◎ブート手順を書き換え
$ sudo vi /mnt/sd1/cmdline.txt
root=/dev/mmcblk0p2 と定義してあるところを
root=/dev/sda1 に書き換える。
◎固定IPの設定
$ sudo vi /media/SYSTEM/etc/network/interfaces
iface eth0 inet dhcp
と定義してあるところを
iface eth0 inet static
address 192.168.xxx.yyy
network 192.168.xxx.0
netmask 255.255.255.0
broadcast 192.168.xxx.255
gateway 192.168.xxx.yyy
dns-nameservers 192.168.xxx.yyy
に書き換える。(xxx,yyyは環境による)
◎データ領域をマウントするように
$ sudo vi /media/SYSTEM/etc/fstab
#/dev/mmcblk0p2 / ext4 defaults,noatime 0 1
/dev/sda1 / ext4 defaults 0 0
/dev/sda2 /var/www ext4 defaults 0 0
mmcblk0p2の定義をコメントアウト
sda1,2の定義を追加
◎tty2〜6を起動させないように
$ sudo vi /media/SYSTEM/etc/inittab
#
1:2345:respawn:/sbin/getty --noclear 38400 tty1
# 2:23:respawn:/sbin/getty 38400 tty2
# 3:23:respawn:/sbin/getty 38400 tty3
# 4:23:respawn:/sbin/getty 38400 tty4
# 5:23:respawn:/sbin/getty 38400 tty5
# 6:23:respawn:/sbin/getty 38400 tty6
2〜6をコメントアウト
◎アクセス制限の設定
$ sudo vi /media/SYSTEM/etc/hosts.deny
ALL: ALL
$ sudo vi /media/SYSTEM/etc/hosts.allow
ALL: 127.0.0.1
ALL: 192.168.0.0/255.255.255.0
6.後始末
◎USB-HDDのアンマウント
◎SDカードのアンマウント
$ sudo umount /mnt/sdboot
$ sudo rm -rf /mnt/sdboot
◎イメージファイルのアンマウント
$ sudo umount /mnt/sd1
$ sudo umount /mnt/sd2
$ sudo kpartx -dv wheezy-raspbian.img
del devmap : loop0p2
del devmap : loop0p1
loop deleted : /dev/loop0
$ sudo rm -rf /mnt/sd1
$ sudo rm -rf /mnt/sd2
Raspberry Pi を起動して、SSHで接続できればOK
2013/06/09
ownCloudは完全動作していない
どうやら完璧な状態では動作していない。
Androidアプリからのインスタントアップロードが異常終了してしまう。
ログを見るとエラーも出てるし。
これは困った。
インスタントアップロードで写真をバックアップするのが本来の目的なのに
それが正常動作しないとすべてが無意味になってしまう。
さてどうしようか。。。
Androidアプリからのインスタントアップロードが異常終了してしまう。
ログを見るとエラーも出てるし。
これは困った。
インスタントアップロードで写真をバックアップするのが本来の目的なのに
それが正常動作しないとすべてが無意味になってしまう。
さてどうしようか。。。
2013/06/04
swap 設定
どうやらうまくいったようなので、
swapを設定する。
まずdphys-swapfileのリムーブ
$ sudo apt-get remove dphys-swapfile
次にswap領域に名づけ
$ sudo mkswap -L swappat /dev/sda3
有効化
$ sudo swapon -L swappat
swapを設定する。
まずdphys-swapfileのリムーブ
$ sudo apt-get remove dphys-swapfile
次にswap領域に名づけ
$ sudo mkswap -L swappat /dev/sda3
有効化
$ sudo swapon -L swappat
チェック
$ cat /proc/swaps
Filename Type Size Used Priority
/dev/sda3 partition 2191356 0 -1
fstabに登録
$ sudo vi /etc/fstab
LABEL=swappat swap swap defaults 0 0
rebootしてチェック
ぜんぜんできてないことが発覚
rootfs の使用サイズがパーティションサイズ一杯(つまり空き容量なし)になってた。
書き込み等はできてるので使用上は問題ないのかもしれなが、
精神衛生上よろしくないので再構築することにする。
今回はswapパーティション対応にしてみる。
準備
・raspbianを展開したSD
・boot用SD/1GB程度(fatでフォーマット)
・USB-HDDを
パーティション1/16GB程度(ext4でフォーマット)
パーティション2/残り全部(ext4でフォーマット)
パーティション3/2GB程度(linux-swapでフォーマット)
でフォーマット。
boot用SDの構築
raspbianのパーティション1(bootパーティション)のファイルをboot用SDにコピーする。
cmdline.txt の編集
root=/dev/mmcblk0p2 と定義してあるところを
root=/dev/sda1 に書き換える。
書き込み等はできてるので使用上は問題ないのかもしれなが、
精神衛生上よろしくないので再構築することにする。
今回はswapパーティション対応にしてみる。
準備
・raspbianを展開したSD
・boot用SD/1GB程度(fatでフォーマット)
・USB-HDDを
パーティション1/16GB程度(ext4でフォーマット)
パーティション2/残り全部(ext4でフォーマット)
パーティション3/2GB程度(linux-swapでフォーマット)
でフォーマット。
boot用SDの構築
raspbianのパーティション1(bootパーティション)のファイルをboot用SDにコピーする。
cmdline.txt の編集
root=/dev/mmcblk0p2 と定義してあるところを
root=/dev/sda1 に書き換える。
rootfsの構築
raspbianのパーティション2のファイルをUSB-HDDのパーティション1にコピーする。
$ sudo -arp /media/(SDのPat2)/* /media/(USB-HDDのPat1)/
諸々ファイルを直接更新しておくと楽かもしれない。。。
2013/06/02
今更ながらアクセス制限設定
外部からの要求は全部ルーターで遮断してるので設定の必要はないが、
まあとりあえず。。
hosts.deny で全拒否
$ sudo vi /etc/hosts.deny
ALL: ALL
hosts.allow でローカル及び同一セグメントからのアクセス許可
$ sudo vi /etc/hosts.allow
ALL: 127.0.0.1
ALL: 192.168.0.0/255.255.255.0
まあとりあえず。。
hosts.deny で全拒否
$ sudo vi /etc/hosts.deny
ALL: ALL
hosts.allow でローカル及び同一セグメントからのアクセス許可
$ sudo vi /etc/hosts.allow
ALL: 127.0.0.1
ALL: 192.168.0.0/255.255.255.0
DHCPサーバーも有効にしちゃえ
しばらくの間、dnsmasqのDHCPサーバーも有効にしてみることにする。
$ sudo vi /etc/dnsmasq.conf
no-dhcp-interface=eth0 ←消す
# ↓↓↓有効にする
# ドメインの付加されていない名前解決は上位DNSに転送しない
domain-needed
# プライベートIPの逆引きは上位DNSに転送しない
bogus-priv
# DHCPで割り当てたい範囲とリース時間 (192.168.0.100 〜 199 リース24時間)
dhcp-range=192.168.0.100,192.168.0.199,24h
# オプション番号3:デフォルトルートのアドレス設定
dhcp-option=3,192.168.0.1
サービス再起動で終わり
$ sudo service dnsmasq restart
ルーターのDHCPを切るのを忘れずに
$ sudo vi /etc/dnsmasq.conf
# ↓↓↓有効にする
# ドメインの付加されていない名前解決は上位DNSに転送しない
domain-needed
# プライベートIPの逆引きは上位DNSに転送しない
bogus-priv
# IPアドレスを払い出すインターフェイスの指定
interface=eth0
# domain= で指定されたドメインで補完する
expand-hosts
# 補完するドメイン
domain=local.example.com
dhcp-range=192.168.0.100,192.168.0.199,24h
# オプション番号3:デフォルトルートのアドレス設定
dhcp-option=3,192.168.0.1
サービス再起動で終わり
$ sudo service dnsmasq restart
ルーターのDHCPを切るのを忘れずに
DNSサーバーを立てる
ownCloud だけでは能力の無駄遣いなので、
いろいろサーバーを立ててみよう。
今回はDNSサーバー。
RPiを起動していない場合でもLAN内の他のマシンに影響がでないよう、
あくまでセカンダリのサーバーとして認識させることが前提。
dnsmasq
が簡単らしいのでそれで。
$ sudo apt-get install dnsmasq
hostsファイルをDNSが参照するので、
LAN内で名前解決したいアドレスを記述する。
$ sudo vi /etc/hosts
192.168.xxx.yyy hogehoge
などなど
$ sudo vi /etc/resolv.conf
hostsファイルで解決できない場合は上位DNSに問い合わせる仕組みのため
resolv.confに上位DNSのアドレスが記述されていること。
DHCPは動かさないので
dnsmasq.conf に明示
$ sudo vi /etc/dnsmasq.conf
no-dhcp-interface=eth0
dnsmasqを再起動すればおk
$ sudo /etc/init.d/dnsmasq restart
ルーターのLAN側DNSにRPiのIPアドレスを指定する。
・・・で、動かない、と。
ルーターがDNSアドレスの通知を怠ってるようだ。
追記
グーグル先生に教えてもらったところ、
家に設置してる某メーカーのルーターは、
・DHCPはルーターの機能を使用
・しかしDNSはルーター外のDNSサーバーを参照
というのは使用できないらしい。
だったら設定できないようにしとけよ、って話。
古いルーターなので、そろそろ引退してもらってもいいのかもしれない。
いろいろサーバーを立ててみよう。
今回はDNSサーバー。
RPiを起動していない場合でもLAN内の他のマシンに影響がでないよう、
あくまでセカンダリのサーバーとして認識させることが前提。
dnsmasq
が簡単らしいのでそれで。
$ sudo apt-get install dnsmasq
hostsファイルをDNSが参照するので、
LAN内で名前解決したいアドレスを記述する。
$ sudo vi /etc/hosts
192.168.xxx.yyy hogehoge
などなど
$ sudo vi /etc/resolv.conf
hostsファイルで解決できない場合は上位DNSに問い合わせる仕組みのため
resolv.confに上位DNSのアドレスが記述されていること。
DHCPは動かさないので
dnsmasq.conf に明示
$ sudo vi /etc/dnsmasq.conf
no-dhcp-interface=eth0
dnsmasqを再起動すればおk
$ sudo /etc/init.d/dnsmasq restart
ルーターのLAN側DNSにRPiのIPアドレスを指定する。
・・・で、動かない、と。
ルーターがDNSアドレスの通知を怠ってるようだ。
追記
グーグル先生に教えてもらったところ、
家に設置してる某メーカーのルーターは、
・DHCPはルーターの機能を使用
・しかしDNSはルーター外のDNSサーバーを参照
というのは使用できないらしい。
だったら設定できないようにしとけよ、って話。
古いルーターなので、そろそろ引退してもらってもいいのかもしれない。
2013/05/31
不要サービスの削除など
無駄なメモリ消費を抑えるため、不要サービスを削除する。
tty2〜6を起動させないように
$ sudo vi /etc/inittab
#
$ sudo apt-get remove dbus triggerhappy 2013/06/03 修正
tty2〜6を起動させないように
$ sudo vi /etc/inittab
#
1:2345:respawn:/sbin/getty --noclear 38400 tty1
# 2:23:respawn:/sbin/getty 38400 tty2
# 3:23:respawn:/sbin/getty 38400 tty3
# 4:23:respawn:/sbin/getty 38400 tty4
# 5:23:respawn:/sbin/getty 38400 tty5
# 6:23:respawn:/sbin/getty 38400 tty6
不要パッケージ削除
削除しなくていいかも。。。
ntp関連
$ sudo apt-get remove ntp
$ sudo apt-get install ntpdate
$ sudo crontab -e
# 1時間ごと(毎時0分)に、時刻合わせを行う
0 * * * * /etc/network/if-up.d/ntpdate > /dev/null 2>&1
$ sudo vi /etc/default/ntpdate
# NTPSERVERS="0.debian.pool.ntp.org 1.debian.pool.ntp.org 2.debian.pool.ntp.org 3.debian.pool.ntp.org"
NTPSERVERS="0.ntp.nict.jp 1.ntp.jst.mfeed.ad.jp 2.ntp.ring.gr.jp"
$ sudo apt-get autoremove
Rasbian のアップデート
Rasbian のアップデートを忘れてた!
そのままだと、
$ sudo apt-get update
$ sudo apt-get upgrade
なんだけど、
国内サーバーにリポジトリをミラーリングしてくれてる奇特な方がおられるので、
せっかくなので利用させていただく。
https://twitter.com/kfujieda/status/301119397064486912
$ sudo vi /etc/apt/sources.list
変更前
## deb http://mirrordirector.raspbian.org/raspbian/ wheezy main contrib non-free rpi
変更後
deb http://ftp.jaist.ac.jp/raspbian/ wheezy main contrib non-free rpi
そのままだと、
$ sudo apt-get update
$ sudo apt-get upgrade
なんだけど、
国内サーバーにリポジトリをミラーリングしてくれてる奇特な方がおられるので、
せっかくなので利用させていただく。
https://twitter.com/kfujieda/status/301119397064486912
$ sudo vi /etc/apt/sources.list
変更前
## deb http://mirrordirector.raspbian.org/raspbian/ wheezy main contrib non-free rpi
変更後
deb http://ftp.jaist.ac.jp/raspbian/ wheezy main contrib non-free rpi
$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get upgrade
で更新
ミラーサイトが遅かったら戻すべし
Apacheの設定
ownCloud を動かすと、
.htaccessが云々と怒られる。
/var/www/owncloud/.htaccess を
/etc/apache2/conf.d/owncloud.conf
としてコピー&編集
Alias /owncloud /var/www/owncloud
<Directory /var/www/owncloud>
<IfModule mod_fcgid.c>
<IfModule mod_setenvif.c>
<IfModule mod_headers.c>
SetEnvIfNoCase ^Authorization$ "(.+)" XAUTHORIZATION=$1
RequestHeader set XAuthorization %{XAUTHORIZATION}e env=XAUTHORIZATION
</IfModule>
</IfModule>
</IfModule>
ErrorDocument 403 /core/templates/403.php
ErrorDocument 404 /core/templates/404.php
<IfModule mod_php5.c>
php_value upload_max_filesize 513M
php_value post_max_size 513M
php_value memory_limit 512M
<IfModule env_module>
SetEnv htaccessWorking true
</IfModule>
</IfModule>
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule .* - [env=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteRule ^.well-known/host-meta /public.php?service=host-meta [QSA,L]
RewriteRule ^.well-known/host-meta.json /public.php?service=host-meta-json [QSA,L]
RewriteRule ^.well-known/carddav /remote.php/carddav/ [R]
RewriteRule ^.well-known/caldav /remote.php/caldav/ [R]
RewriteRule ^apps/calendar/caldav.php remote.php/caldav/ [QSA,L]
RewriteRule ^apps/contacts/carddav.php remote.php/carddav/ [QSA,L]
RewriteRule ^apps/([^/]*)/(.*\.(css|php))$ index.php?app=$1&getfile=$2 [QSA,L]
RewriteRule ^remote/(.*) remote.php [QSA,L]
</IfModule>
<IfModule mod_mime.c>
AddType image/svg+xml svg svgz
AddEncoding gzip svgz
</IfModule>
<IfModule dir_module>
DirectoryIndex index.php index.html
</IfModule>
AddDefaultCharset utf-8
Options -Indexes
</Directory>
.htaccessが云々と怒られる。
/var/www/owncloud/.htaccess を
/etc/apache2/conf.d/owncloud.conf
としてコピー&編集
Alias /owncloud /var/www/owncloud
<Directory /var/www/owncloud>
<IfModule mod_fcgid.c>
<IfModule mod_setenvif.c>
<IfModule mod_headers.c>
SetEnvIfNoCase ^Authorization$ "(.+)" XAUTHORIZATION=$1
RequestHeader set XAuthorization %{XAUTHORIZATION}e env=XAUTHORIZATION
</IfModule>
</IfModule>
</IfModule>
ErrorDocument 403 /core/templates/403.php
ErrorDocument 404 /core/templates/404.php
<IfModule mod_php5.c>
php_value upload_max_filesize 513M
php_value post_max_size 513M
php_value memory_limit 512M
<IfModule env_module>
SetEnv htaccessWorking true
</IfModule>
</IfModule>
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule .* - [env=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteRule ^.well-known/host-meta /public.php?service=host-meta [QSA,L]
RewriteRule ^.well-known/host-meta.json /public.php?service=host-meta-json [QSA,L]
RewriteRule ^.well-known/carddav /remote.php/carddav/ [R]
RewriteRule ^.well-known/caldav /remote.php/caldav/ [R]
RewriteRule ^apps/calendar/caldav.php remote.php/caldav/ [QSA,L]
RewriteRule ^apps/contacts/carddav.php remote.php/carddav/ [QSA,L]
RewriteRule ^apps/([^/]*)/(.*\.(css|php))$ index.php?app=$1&getfile=$2 [QSA,L]
RewriteRule ^remote/(.*) remote.php [QSA,L]
</IfModule>
<IfModule mod_mime.c>
AddType image/svg+xml svg svgz
AddEncoding gzip svgz
</IfModule>
<IfModule dir_module>
DirectoryIndex index.php index.html
</IfModule>
AddDefaultCharset utf-8
Options -Indexes
</Directory>
ownCloud をインストール
Apache2 とか PHP とか 各種ライブラリ
$ sudo apt-get install apache2 libapache2-mod-php5 php5-intl
$ sudo apt-get install php5-gd php-xml-parser php5-sqlite
$ sudo chown -R www-data:www-data /var/www
$ sudo apt-get install apache2 libapache2-mod-php5 php5-intl
$ sudo apt-get install php5-gd php-xml-parser php5-sqlite
$ sudo apt-get install smbclient curl libcurl3 php5-curl
$ sudo apt-get install php5 sqlite3
↑ 2013/06/05 追記 コマンドラインでも実行できるように
$ sudo apt-get install php5 sqlite3
↑ 2013/06/05 追記 コマンドラインでも実行できるように
Apache2の設定
$ sudo vi /etc/apache2/sites-enabled/000-default
<Directory /var/www/>
# Options Indexes FollowSymLinks MultiViews
# AllowOverride None
Options -Indexes ExecCGI FollowSymlinks
AllowOverride All
Order allow,deny
allow from all
</Directory>
ownCloud のダウンロード&展開
$ cd /var/www
$ sudo wget http://download.owncloud.org/community/owncloud-x.x.x.tar.bz2
$ sudo tar -xjf owncloud-x.x.x.tar.bz2
$ sudo rm owncloud-x.x.x.tar.bz2
ディレクトリ設定
$ sudo chown -R www-data:www-data /var/www/owncloud
↑ 2013/05/05 修正 ディレクトリミス
ホストマシンから
↑ 2013/05/05 修正 ディレクトリミス
http://192.168.0.xxx/ownclowd
2013/05/30
USB-HDD をマウント
データ用HDD(パーティション2)をマウントして使用出来るようにする。
全域をデータ領域にするため、
パーティション2のマウントポイントを /var/www にする。
$ sudo vi /etc/fstab
#/dev/mmcblk0p2 / ext4 defaults,noatime 0 1
/dev/sda1 / ext4 defaults 0 0
/dev/sda2 /var/www ext4 defaults 0 0
mmcblk0p2の記述が残ってるのでコメントアウト
sda1をルートポイントにマウント
sda2を/var/wwwにマウント
再起動して
$ df
/dev/sda2 nnnnnnnn nnnnnnnn nnn /var/www
となってればおk
固定IPの設定
IPアドレスを固定IPにする。
$ sudo vi /etc/network/interfaces
変更前
iface eth0 inet dhcp
変更後(値はネットワークによる)
iface eth0 inet static
address 192.168.0.xxx
network 192.168.0.0
netmask 255.255.255.0
broadcast 192.168.0.255
gateway 192.168.0.1
dns-nameservers 192.168.0.1
$ sudo vi /etc/network/interfaces
変更前
iface eth0 inet dhcp
変更後(値はネットワークによる)
iface eth0 inet static
address 192.168.0.xxx
network 192.168.0.0
netmask 255.255.255.0
broadcast 192.168.0.255
gateway 192.168.0.1
dns-nameservers 192.168.0.1
再起動後、SSHで再接続
> ssh 192.168.0.xxx
Raspberry Pi 初期設定
RPi にSSHで接続し、初期設定をおこなう。
> ssh pi@192.168.xxx.xxx
$ sudo raspi-config
・update
なにはともあれ、まずはアップデート
(以下、2013/05/30現在のraspi-config)
・Enable Boot to Desktop
No
を選択
・Internationalisation Options
・Change Locale
en_US.UTF-8 UTF-8
ja_JP.UTF-8 UTF-8
を追加選択
・Change Timezone
Asia - Tokyo
に設定
初期設定が完了したら自分アカウントの作成&アカウントpiの抹消をおこなう。
$ sudo adduser hogehoge
パスワードとか色々設定
$ sudo visudo
hogehoge ALL=(ALL) ALL
を追加
リブート
$ sudo reboot
新しく作った自分アカウントでRPiにログイン
> ssh hogehoge@192.168.xxx.xxx
アカウントpiの削除
$ sudo userdel -r pi
$ sudo visudo
> ssh pi@192.168.xxx.xxx
$ sudo raspi-config
・update
なにはともあれ、まずはアップデート
(以下、2013/05/30現在のraspi-config)
・Enable Boot to Desktop
No
を選択
・Internationalisation Options
・Change Locale
en_US.UTF-8 UTF-8
ja_JP.UTF-8 UTF-8
を追加選択
・Change Timezone
Asia - Tokyo
に設定
・Advanced Option
・Hostname
raspi
とか、短めの名前に変更
・Memory Split
16
に設定(16MB)
Finishを選ぶとrebootするか?と聞いてくるので、
No
を選ぶ。先に自分アカウントを設定するため。
$ sudo adduser hogehoge
パスワードとか色々設定
$ sudo visudo
hogehoge ALL=(ALL) ALL
を追加
リブート
$ sudo reboot
新しく作った自分アカウントでRPiにログイン
> ssh hogehoge@192.168.xxx.xxx
アカウントpiの削除
$ sudo userdel -r pi
$ sudo visudo
pi に関する記述を消しておく
2013/05/29
Raspberry Pi に ownCloud で俺様専用クラウドを構築
あたらしい記事を参照してみてください。
→ RaspberryPi に ownCloud で俺様専用クラウドを❝再❞構築 (1)
Raspberry Pi と余ったHDD を有効利用するために ownCloud をインストールしてみる。
まずは、
・新規構築
・Raspbian をHDDに載せる(SDはブートのみ)
準備
・2GB SDカード
・USB-HDD
USB-HDDを2パーティションに分割。それぞれext4でフォーマット。
パーティション1をシステム領域(2GB以上の領域を確保)
パーティション2をデータ領域(残り全部)
とする。
ダウンロードしたRaspbianをSDカードに焼く。
$ sudo dd if=wheezy-raspbian.img of=/dev/mmcblk0 bs=1M
こんがり焼きあがったSDカードから、boot以外の領域(パーティション2)を吸い出す
$ sudo dd if=/dev/mmcblk0p2 of=raspbianSD.img bs=1M
吸い出したイメージをUSB-HDD(パーティション1)に展開
$ sudo dd if=raspbianSD.img of=/dev/sda1 bs=1M
−−−−−−−−−−−−
RPiにSDとHDDを挿し、電源ON!
RPiのLEDが安定したら、IPアドレスを調べてSSHで接続。
UbuntuでIPアドレスを調べる場合は、
$ sudo nmap -sP 192.168.xxx.1-255
UID:pi
PWD:raspberry
で接続
$ ssh pi@192.168.xxx.xxx
接続後、dmesgでHDDの接続状況を確認し、ブート手順を書き換える。
たとえば/dev/sdaに接続されている場合、
$ sudo vi /boot/cmdline.txt
root=/dev/mmcblk0p2 と定義してあるところを
root=/dev/sda1 に書き換える。
rebootすると、HDDから起動するハズ。
#アクセスランプで妄想
→ RaspberryPi に ownCloud で俺様専用クラウドを❝再❞構築 (1)
Raspberry Pi と余ったHDD を有効利用するために ownCloud をインストールしてみる。
まずは、
・新規構築
・Raspbian をHDDに載せる(SDはブートのみ)
準備
・2GB SDカード
・USB-HDD
USB-HDDを2パーティションに分割。それぞれext4でフォーマット。
パーティション1をシステム領域(2GB以上の領域を確保)
パーティション2をデータ領域(残り全部)
とする。
ダウンロードしたRaspbianをSDカードに焼く。
$ sudo dd if=wheezy-raspbian.img of=/dev/mmcblk0 bs=1M
こんがり焼きあがったSDカードから、boot以外の領域(パーティション2)を吸い出す
$ sudo dd if=/dev/mmcblk0p2 of=raspbianSD.img bs=1M
吸い出したイメージをUSB-HDD(パーティション1)に展開
$ sudo dd if=raspbianSD.img of=/dev/sda1 bs=1M
−−−−−−−−−−−−
RPiにSDとHDDを挿し、電源ON!
RPiのLEDが安定したら、IPアドレスを調べてSSHで接続。
UbuntuでIPアドレスを調べる場合は、
$ sudo nmap -sP 192.168.xxx.1-255
UID:pi
PWD:raspberry
で接続
$ ssh pi@192.168.xxx.xxx
接続後、dmesgでHDDの接続状況を確認し、ブート手順を書き換える。
たとえば/dev/sdaに接続されている場合、
$ sudo vi /boot/cmdline.txt
root=/dev/mmcblk0p2 と定義してあるところを
root=/dev/sda1 に書き換える。
rebootすると、HDDから起動するハズ。
#アクセスランプで妄想
2013/04/20
twitteroauth.phpでツイートする場合
OAuth.php twitteroauth.php を任意のディレクトリに配置
function TwitterPost($text)
{
require_once("twitteroauth.php"); // フルパスで
$consumer_key = "[TwitterDevサイトから]";
$consumer_secret = "[TwitterDevサイトから]";
$user_token = "[TwitterDevサイトから]";
$user_secret = "[TwitterDevサイトから]";
$twitter = new TwitterOAuth(
$consumer_key, $consumer_secret, $user_token, $user_secret
);
$method = "statuses/update";
$parameters = array("status" => $text);
$response = $twitter->post($method, $parameters);
}
2013/02/26
Raspberry Pi に無線LAN
GW-USNano2をRaspberryPiに繋いだ時の自分メモ
準備
$ wpa_passphrase [SSID] [PASSWORD]
で暗号化したPSKを調べる
[/etc/wpa_supplicant/wpa_supplicant.conf]
以下を追加
network={
ssid="[SSID]"
scan_ssid=1
key_mgmt=WPA-PSK
proto=WPA2
pairwise=CCMP
group=CCMP
psk=[wpa_passphraseで調べたpsk]
}
[/etc/network/interfaces]
以下を追加
allow-hotplug wlan0
iface wlan0 inet static
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
metric 0
address 192.168.0.xx
network 192.168.0.0
netmask 255.255.255.0
broadcast 192.168.0.255
gateway 192.168.0.1
dns-nameservers 192.168.0.1
準備
$ wpa_passphrase [SSID] [PASSWORD]
で暗号化したPSKを調べる
[/etc/wpa_supplicant/wpa_supplicant.conf]
以下を追加
network={
ssid="[SSID]"
scan_ssid=1
key_mgmt=WPA-PSK
proto=WPA2
pairwise=CCMP
group=CCMP
psk=[wpa_passphraseで調べたpsk]
}
[/etc/network/interfaces]
以下を追加
allow-hotplug wlan0
iface wlan0 inet static
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
metric 0
address 192.168.0.xx
network 192.168.0.0
netmask 255.255.255.0
broadcast 192.168.0.255
gateway 192.168.0.1
dns-nameservers 192.168.0.1
2013/01/02
cocot で文字化けサヨナラ
jnethackの文字コードはEUCなので、RasPiでは文字化けして操作不能。
cocotを間に噛まして文字コード変換することでUTF-8のターミナルで快適に♪
cocotをコンパイル&インストールして
$cocot -t UTF-8 -p EUC-JP -- /usr/games/jnethack
でおk
.bashrcにエイリアス設定をしておくと吉
alias jnethack='cocot -t UTF-8 -p EUC-JP -- /usr/games/jnethack'
2013/06/07 追記
コンパイル&インストール
$ sudo apt-get install git git-core
$ cd
$ git clone https://github.com/vmi/cocot.git
$ cd cocot
$ ./configure
$ make && sudo make install
cocotを間に噛まして文字コード変換することでUTF-8のターミナルで快適に♪
cocotをコンパイル&インストールして
$cocot -t UTF-8 -p EUC-JP -- /usr/games/jnethack
でおk
.bashrcにエイリアス設定をしておくと吉
alias jnethack='cocot -t UTF-8 -p EUC-JP -- /usr/games/jnethack'
2013/06/07 追記
コンパイル&インストール
$ sudo apt-get install git git-core
$ cd
$ git clone https://github.com/vmi/cocot.git
$ cd cocot
$ ./configure
$ make && sudo make install
JNetHack(tty) インストールメモ
RasPiにJNetHackを入れてみる
0) 準備
ソースをホームディレクトリにダウンロード
本体:nethack-343-src.tgz / 本家から(http://www.nethack.org)
パッチ:jnethack-3.4.3-0.10.diff.gz / JNetHack Project (http://jnethack.sourceforge.jp/)
ライブラリインストール
$ sudo apt-get install bison build-essential flex libncurses-dev
1) ソースの展開・パッチ
$ tar zxvf nethack-343-src.tgz
$ cd nethack-3.4.3
$ zcat ../jnethack-3.4.3-0.10.diff.gz | patch -p1
$ sh sys/unix/setup.sh
2) ファイルの編集
2-1) Makefile の編集
GAMEGRP = games
GAMEPERM = 02755
FILEPERM = 0644
EXEPERM = 755
DIRPERM = 775
2-2) src/Makefile の編集
# flags for Linux
CFLAGS = -O2 -fomit-frame-pointer -I../include
LFLAGS =
※元々のCFLAGS/LFLAGSをコメントアウト
2-3) util/Makefile の編集
# flags for Linux
CFLAGS = -O2 -fomit-frame-pointer -I../include
LFLAGS =
※元々のCFLAGS/LFLAGSをコメントアウト
2-4) include/unixconf.h の編集
コメントアウトされている以下の定義を有効化
#define SYSV
#define LINUX
#define TERMINFO
#define TIMED_DELAY
2-5) include/config.h の該当行を編集
コメントアウトされているDLBの定義を有効化
#define DLB /* not supported on all platforms */
gzipのパスを変更(/usr/bin/gzipから/bin/gzipに変更)
#define COMPRESS "/bin/gzip" /* FSF gzip compression */
XI18Nの定義をコメントアウト
/*# define XI18N*/
3) コンパイル
$ make all
4) インストール
# make install
5) パーミッション変更
# chmod g+w /usr/games/lib/jnethackdir/record
# chmod g+w /usr/games/lib/jnethackdir/logfile
# chmod g+w /usr/games/lib/jnethackdir
登録:
投稿 (Atom)