wordpressページ本格稼働

先日借りたVPSwordpressをインストールして本格的に利用始めました。
(そもそも時間がないからってここにリダイレクトするだけにVPS利用してる状態っていうのはあまりにもったいなかったので…)


ik-fib's page – ik-fibの乱雑とした情報を書き連ねるだけのブログ


はてなダイアリーとの折り合いをどうするかは検討中

  1. 完全にwordpress側に移行する
    1. こっちの記事を全部移行する
    2. こっちの記事はそのまま
  2. 何らかの分け方をして、はてなダイアリーはダイアリーで残す
  3. 同期させて両方に記事のせる

最後のはあまり意味が無い上に、面倒そうなので多分しませんが、
どうするかはそのうち決めます。
ひとまずは、wordpress側をメインにして運用していくつもりです。

OpenSSHでアクセスする際にホスト毎に鍵認証とパスワード認証を分ける

VPSパスフレーズ付きの鍵認証式にしたら、
関係のない別のSSHサーバにアクセスする際にも、鍵のパスフレーズを要求されるようになってしまいました。
さらに鍵のパスフレーズを打った上で、改めてそのサーバのパスワードを打つ必要があるので面倒だったので、それを止める方法を…

OpenSSHの個人設定に追記する

"~/.ssh/config"に個人のOpenSSH設定が記述できるので、
そこにVPSドメインへは鍵認証、それ以外では鍵認証を使わない設定を追記しました。
ちなみにOpenSSHでは、コマンドラインオプション→個人設定→全体設定の順で読まれるので、
"/etc/ssh/ssh_config"の全体設定をコピーした上で、設定を変更しました。
追加したのは以下の通り

Host [指定したいサーバのドメイン名]
PubkeyAuthentication yes
IdentityFile ~/.ssh/[鍵ファイル名]
Port [SSHのポート番号]
SendEnv LANG LC_*
HashKnownHosts yes
GSSAPIAuthentication yes


Host *
PubkeyAuthentication no
 [以下デフォルトの設定記述]

下4行はデフォルト値のコピーとポート番号指定なので、ここでは省略します。
PubkeyAuthentication で鍵認証を使うかどうかの指定
VPSドメインのみ yesで使用する設定にして、それ以外はNo
さらに IdentityFileで使用する鍵ファイルも指定

これで、指定したドメインにアクセスする際のみ鍵を利用するので、
関係ないサーバにアクセスする際に、鍵のパスフレーズを入力せず、利用できるようになりました。

serverman@VPSを借りてみたので、やった初期設定等の覚え書き

なぜか、個人ドメインだけ取ってそのまま放置だったので、serverman@VPSのentryプランを借りてみました

とりあえず、とってからやったことを覚え書きの意味でつらつらと並べておきます

ssh関係の初期設定

まず、何はともあれrootも使えて、外からも見れるサーバ1台が無造作な状態で放置されている状態なので、
ssh周りの設定は最優先で行いました

rootでのsshログイン禁止

rootでssh経由でログイン出来ない様に以下のファイルの設定を書き換えました

このファイルの以下の部分を

PermitRootLogin yes

以下のように書き換え

PermitRootLogin no

管理用のroot以外のユーザ・グループ作成+設定

rootでログインを禁止した場合、それ以外のアカウントがないと永久にログインできなくなるので、
管理用のグループとユーザを追加で作成します
管理用グループを"wheel"、管理ユーザ名を"username"とすると
シェルにて以下のようにして、設定

# useradd username (ユーザ追加)
# passwd username  (追加ユーザのパスワード設定)

# usermod -G wheel username (管理者グループに新規ユーザを追加)

さらにこれだけだと、root権限を使えないので、wheelグループはsu、およびsudoを使えるように設定

  • su設定
    • /etc/pam.d/su

以下の一文を追加(もしくはコメントアウト(#)を消す)

auth required pam_wheel.so use_uid

  • sudo設定
    • /etc/sudoers

wheelグループのsudo許可とsudoログ作成の設定文を追加

%wheel ALL=(ALL) ALL
Defaults logfile=/var/log/sudolog

鍵認証方式利用の設定

WindowsからのSSHクライアントはputtyを使うことが多いので、ひとまず
puttyを使った鍵作成と設定の仕方

  • puttyでの鍵の作成用の鍵作成

puttyに含まれるputtygen.exeを利用
[作成]を選択して作成後、テキスト部分をコピーして
"ログインするユーザのホームディレクトリ/.ssh/authorized_keys"にコピー
なお、authorized_keysの所有者はログインするユーザ、パーミッションは600に設定

鍵認証以外でのログインの禁止

鍵なしではログイン出来ない様にパスワード認証の禁止の設定

このファイルの以下の部分を

#PasswordAuthentication yes

以下のように書き換え

PasswordAuthentication no

すべての設定が終われば、シェルに以下のコマンドを打って、sshdを再起動

# /etc/rc.d/init.d/sshd restart

このあたりの設定は失敗すると、ログインができなくなるのでつながっているセッションを1つ残したままで、別端末から設定が適応されているかを確認するようにした方が良いと思います。
(私自身、このあたりを失敗して、借りてから数十分足らずで1回初期化してます)

iptablesの設定

iptablesを設定して不必要なポートを塞ぐ設定

…ですが、最初に現在の設定を確認しようとすると…

$ -bash: iptables: command not found

iptablesがない?

調べたところ、なぜかインストールされているにもかかわらず、
パスが通ってなかったので、PATHに"/sbin/;/usr/sbin/"を追加
その後、/etc/sysconfig/iptablesに以下の記述を追加して、
ssh,http,mysqlのポート以外は塞ぐ設定に
(sshのポートの9999は変更したポートに合わせて変更)

# SSH, HTTP, FTP1, FTP2, MySQL
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 9999 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited

yumでのアップデート

そこまで設定できたら一応は最低限の設定はできたと思うので、
サービスのアップデートを以下のコマンドで実行

# yum update

emacsのインストール

vi,vimは個人的にあまり使えないのでemacsのインストール
ただ、CentOSyumリポジトリだとemacs21とかなり古いので、
CentOSにemacs23.2をインストールを参考に
手動でインストールしました。

# wget http://ftp.gnu.org/pub/gnu/emacs/emacs-23.3b.tar.gz
# tar zxvf emacs-23.3b.tar.gz
# cd ./emacs-23.3
# ./configure --without-x
# make
# make install

文字コード変更

システム全体の文字コードutf-8に変更

  • /etc/sysconfig/i18n

このファイルのLANG部分を以下に変更

LANG="jp_JP.UTF-8"

不要サービス停止

VPSは資源があまり多くないことも多いので使わない不要サービスは停止させます。

CentOSをサーバーとして活用するための基本的な設定 - さくらインターネット創業日記
↑のさくらインターネット社長プログで書かれている設定+個人的にftp等は使うつもりがなかった(ssh or sftp)ので、
そのあたりを考えて以下のサービスを以下のコマンドで停止

chkconfig [サービス名] off

acpid
auditd
autofs
avahi-daemon
bluetooth
cups
firstboot
gpm
haldaemon
hidd
irda
isdn
kudzu
lvm2-monitor
mcstrans
mdmonitor
messagebus
netfs
pcscd
portmap
rawdevices
restorecond
rpcgssd
rpcidmapd
smartd
xfs
ypbind

ただし、設定が微妙に違うので、ないものがあったり…

Apacheの設定

最低限、必要そうな設定のみ変更

#HTTPレスポンスの返却値の情報を最低限に
ServerTokens OS

ServerTokens ProductOnly

#index.html等がないときに、ディレクトリ内一覧を表示させない
Options Indexes FollowSymLinks

Options -Indexes FollowSymLinks

#エラーメッセージのフッターラインの隠蔽
ServerSignature On
↓ ↓ ↓
ServerSignature Off

ここまで設定して燃え尽きたので、
ブログにリダイレクションする設定だけして以下のアドレスでwebのみ公開
http://ik-fib.com

しかし、夜に設定してその後の設定を行う気力がなかったため、リダイレクションの方法がひどい事になってます。
近いうちに少なくともそれは直したい…

.htaccessでリダイレクション&.htaccessの設定覚え書き

先日の記事で書いたVPSのリダイレクション設定が時間がなくて気持ち悪い書き方
(index.htmlのMETAタグにリダイレクション設定)だったので、修正しようとしましたが、思ったより苦戦したので、メモがわりに覚え書き

.htaccessでのリダイレクション設定

設定前のリダイレクション設定はindex.htmlのMETAタグにリダイレクション設定を記載という適当すぎる方法でした。
ドメインへのすべてのリクエストに対して、このブログへのリダイレクションをする方法がないかと調べたら、HTTPレスポンスに転送に関するものがあり、
今回は一時的な転送である302で返すように.htaccessに設定を記述

RedirectMatch 302 .* http://d.hatena.ne.jp/ik11235/

.htaccessの有効化

.htaccessを読み込むためには、/etc/httpd/conf/httpd.confの設定の変更が必要
初期では利用するためのモジュールも読み込まれていなかったので、以下の1文を追加

LoadModule rewrite_module modules/mod_rewrite.so

さらに、.htaccessの設定反映の有効化のために
htmlファイルのディレクトリ設定部分(デフォルトでは)の下の

AllowOverride None

AllowOverride All

に変更

httpd.confを変更した場合、Apacheの再起動が必要なので、
以下のコマンドで再起動

sudo /etc/rc.d/init.d/httpd restart

しかし、最初にこの設定を行った際にはserverが500を返すようになってしまい、うまく動いてくれませんでした。

その際に、Apacheのエラーログを見ると、
".htaccess: Regular expression could not be compiled."
というエラーが…

調べてみると、Apache上での正規表現の書式に関するもので、
全てに一致は、"*"だけではなく,".*"という書き方をしなければいけなかったらしく、最初に設定していたものを以下の修正したら動きました

RedirectMatch 302 * http://d.hatena.ne.jp/ik11235/

RedirectMatch 302 ,* http://d.hatena.ne.jp/ik11235/

オンラインストレージ「Box.net」がiOS利用で50GB無料だったので、登録&利用してみた

オンラインストレージの「Box.net」というサービスが
iOSアプリからの登録orログインで2011/12/2まで無料でストレージ容量50GBに増量ということだったので、登録してみました。
(iOSであればどのデバイスからでも大丈夫なようで、
私はiPod touchで行いましたが、普通に特典適用されました)

公式ブログ記事(英語)



特典で変更される点

  • 容量:5GB→50GB
  • 1ファイルの最大サイズ:25MB→100MB

レビュー

  • 「Box.net」の特徴

基本的には、概ね普通のオンラインストレージサービスですが、
一部他と違っていると思う点などについてを少しピックアップして紹介します

WebDAV対応

これが一番他のオンラインストレージサービスと差がある部分だと思います。

WebDAVに対応、すなわち多くのOS内の機能でネットワークストレージ(ネットワークドライブ)として、マウントが可能です。

Windows7でのマウントは、[コンピューター]を右クリックして、[ネットワークドライブの割り当て]より
[フォルダー]の入力部分に"https://www.box.net/dav"を設定、

その後のID入力画面で登録したメールアドレスとパスワードを入力すれば、
Windows上のネットワークドライブとしてマウントできます。


Linuxではmountコマンドでマウント可能
ただしubuntuにはデフォではWebDAVクライアントが無いので、以下のコマンドでインストール

$ sudo apt-get install davfs2

マウントする際には以下のコマンドを実行します。(マウント先のディレクトリを予め作成しておく)

$ sudo mount -t davfs http://www.box.net/dav /mnt/dav

アンマウントする際には以下のコマンド

$ sudo umount /mnt/dav

連携対象が多い

最近のオンラインストレージでは、iOSAndroidに対応しているものが殆どですが、
「Box.net」はその2つ以外にも、"Microsoft Officeプラグインからの直接保存"や、Google Docsとの連携(両方から参照可能)などスマートフォン以外の他サービスとの連携があります
(BlackBerryWindows Phoneにも非公式アプリはあるようです)

ファイルにコメントandタグが付けられる

Webよりファイル単位でコメントやタグ付ができるので、
ファイル内やファイル名に概要等を書く必要がなく、共有時も可能なようなので、
簡易なchange log変わりにも使えそうです

日本語表示に変更

てっきり日本語表示はないと思っていたのですが、
Webを見てるとどうやら日本語設定自体はあったようで…
ログイン後画面の[My Account]より「Account Settings」を選択後、
「General」タブより言語選択画面があり、そこに日本語も選択肢にあります。

ただし、翻訳はそれほどされていないようで、日本語設定にしても英語のままの部分もあったりします



ひとまず、Dropboxと違い、母艦機のデータ領域を圧迫せずにローカルとほぼ同等の操作ができるという点がなかなか良さそうです。
ただ、ネット環境は必須なので、ネット有り環境での利用前提のファイルは「Box.net」、常に編集、閲覧可能状態でないと困るものは「Dropbox」等使い分けるのがベターかと…

しかも今ならば50GB利用できるので、ひとまずしばらく試用してみようと思います。

Android端末のダウンローダがバグッたときの対処法?

先日、ISW11ht上の公式マーケットにて、アプリのアップデートを行っていたのですが、移動中にアップデートを使用としたのが、災いしたのか、アップデートが途中で止まって、再起動等しても、全くダウンロードが進まなくなって、キャンセルしても、通知上に残り続けて、DLも進まない、DLを強制終了することもできなくなってしまったので、その解決法を自分が覚えておくためにもメモ書きしておきます。


"設定"→"アプリケーション"→"アプリケーションの管理"→"実行中"から
ダウンロードマネージャーを選択して、"データを消去"を選択で、DLを初期化して、通常利用出来るように戻すことが出来ました。


"データを消去"だと、アンインストールするみたいにも一瞬思いましたが、少なくとも私の環境では、特に動作に問題は起こりませんでした。
(そりゃあ、標準のダウンローダがroot化も無しで消せたら問題でしょうから、それはないとは思いましたが…)
(もちろん、DL中データは削除されるため、DLは最初からやり直しですが…)

ISW11HT(htc EVO WiMAX)用にAC給電変換アダプタ(のようなもの)を作ってみた

ISW11HT(htc EVO WiMAX)を使っていると、ちょっと気になることがあったので、
解決策を作ってみた

AC給電の認識問題

ISW11HTの充電は、micro USB端子経由で、
私は普段、自宅では付属していたACアダプタ変換機と付属のUSBケーブルを利用して、
外出先では、市販のAC→USB変換アダプタ
(これ→Amazon.co.jp: プロテック P-2WAY USB2基搭載ACアダプター PD-2BK ブラック)と
100円均一ショップで買ったmicroUSBケーブルを利用しているのですが、
こっちでちょっとした問題があり、AC充電と認識してくれず、
高速給電が働いていないようなのです。

そしてhtc evo wikiを見ているとここにこんな記述が…

542+1 :名無しさん:2011/05/16(月) 01:43:16.07 id:BXlf3zHq (3/5)
本体側がAC充電(急速充電)かUSB充電(ゆっくり充電)かを判別してる
んで、その判別方法はUSBケーブルのD+とD-がショートされているかいないか
当然の話だけどD+とD-をショートさせたケーブルはデータ通信には使えない

純正のACアダプタの場合、アダプタ内部でD+とD-がショートされてるので
どんなケーブル(データ通信可能なケーブル)を使ってもAC充電になる
汎用のUSB-ACアダプタのほとんどはそういう細工はしていない(iphone用の
細工はして有る事が多いけどね)ので、データ通信可能なケーブルでは
AC充電にはならない

htc EVO WiMAX ISW11HTまとめWiki - よくある質問、FAQ(購入後編)より引用


なので、私が外出時に使っているやり方では、低速給電しかできないようです。
auアダプタは家利用をメインにして、あまり持ち出したくないので、
どうやって、外出時に高速給電させるかを考えてみました。
探しているうちに、こんなもの(pocketgames PDA秘宝館 » Blog Archive » pocketgames直営オンラインショップ閉店のお知らせ)も見つけて使えそうとは思いましたが、
すでに在庫切れ+入荷未定なことに加え、500円程度なので、
下手をすると送料の方が高くつきそうということで断念

なので、自分で似たようなものを作ってみました

素材

  • 100円均一ショップで購入した自由に曲がるタイプのUSBアダプタ

(ほぼこれの色違いに近いもの リンクは上海問屋製のものですが、色以外ほぼ同一)
(写真は後日)

作成

といっても、大したことはしていません
回転部分を壊して、むき出しにした後、
D+とD-に繋がっているケーブル(4つの端子のうちの内側にある2つ)を切断の後、ショートするように繋ぎ、はんだ付けして固定しただけです。
(ただ、今回は私がこういったことに余り慣れていないこともあって、必要のないケーブルも作業中に切断してしまい、
繋ぎ直すはめになりましたが…)

完成品

完成品がこちら

作りが雑なのは、勘弁してください


このアダプタを咬ませたのち、USBケーブルをつないでテストしたところ、ちゃんとAC給電と認識してくれました。


ただ、作りが思ったよりも雑になって、発熱が起こったりなどの問題が起こらないとも言えず、さらに接続部分の耐久性が、このままでは皆無なので、外に持ち出すと移動中に壊れてしまいかねません。


なので、接続部分をホットボンドかなにかで固定するまでは、持ち出しはできそうにありません…
外出時用に作ったはずなのに、持ち出せないという本末転倒…
さらに、自宅ではACアダプタを使うので、とりあえず、今のところは利用の機会はなさそうです…

(↓より2011/07/07追記)

オチ

ついに、恐れていた事態に…先日、改めて100均へいったら、こんなのが売ってました


買って試してみましたが、普通にAC認識しました
というわけで、コレを完成させるメリットは、あっさり無くなってしまったわけですが、
せっかくなので、せめてホットボンド補強ぐらいは改めてしたいと思います。