ムームードメインで、WebがさくらVPS、メールがGoogle
Web上の情報が混乱している件
ムームードメインで、WebがさくらVPS、メールがGoogleApps、という構成にしようとしてWebをあさりつつ設定してたんだけど、Gmailやムームーの変化が激しくて、現状とあってない情報も多かったので纏めておく。
さて最近買ったもののなかで、安くて大ヒットといえばコレ。980円で、Galaxy SIIが、輝度最高、Wi-Fi/Bluetooth入れっぱなし、Google自動同期ONのまま、1日持つようになった。3500mAhはさすがにないと思うが、めんどくさい外部バッテリーなし、ランチ1食分でまあよく持ってくれるようになった。ちまちま設定変えたり、暗い画面に我慢するのが嫌で、厚みが増えることに文句がない人にならばお勧めです。
ただ、裏蓋の付け外しが相当やりにくくなるので、予備バッテリーを入れ替えて使うスタイルの人はこれ絶対に買ってはいけません。
さくらの設定
通常のApacheの設定意外、とくに必要ないです。取り急ぎ確認だけなら
でOK
GoogleAppsの設定
ドメインを設定し、指示通りにドメイン所有の確認、アカウント作成と進むだけ。ウィザードが非常の細かく丁寧なので、躓きようがないですね。
ムームードメインの設定
AレコードにさくらVPSのIP、MXにGoogleAppsを設定するだけ。Web上ではいろいろ情報が錯綜しているが、何も考えずに以下のように設定をするだけ。(サブドメインやghs.google.comへのCNAMEは適宜行ってください)

「ムームーDNSを利用する」とすれば、NSレコードが dns01.muumuu-domain.com と dns02.muumuu-domain.com に自動的に設定され、コンパネでの設定が利用されるだけなんだけど、なんか複雑なことしてる人が結構いるのはどうしてだろう。
注意する点としては、ムームーのコンパネでドメインを指定するとき、MX のドメイン指定の最後にドットを付けないこと。BINDやったことある人のほうがはまると思う。
確認
あとはDNS浸透を待って、Gmailのドメインの管理...からAppsのコンパネにアクセスし、設定のサービス、メールと進み、MXレコードが設定したGoogleのものになっていればOK。適当なnslookupサービスやdigサービスで検索してみるのもいいだろう。最近は本当にDNS浸透が早く、2〜3時間あれば行き渡るようになった。
CentOS5に開発版のGNU screenをインストール
screenが縦分割できるようになってるらしい
screenのステータス表示をググってたらなんと最近のscreenはspilitで縦分割できるようになってるらしいので、CentOS5.5のサーバに入れてみることにした。
さてSEといえば職業柄座りっぱなし、オフィスに入ってから、メシとトイレとミーティング以外は一切席を立たないということも多いだろう。
職業病にちかいのが便秘。なにせ動かないんだから仕方ない。急性なら薬を飲んでもいいが慢性的なものとなると薬も効かなくなってくる。
そこでコントレックスだ。この水ははっきり言ってとても不味い。水なのに重くてもっちりしている。しかし先日、数年ぶりに飲む機会があり、500mlのペットボトルを飲んでみたところ、以前よりはかなり味も改善されていて、常時飲める程度にはなっていた。
Amazon定期おトク便なら12本セット ¥1,175 で、1.5リットルが100円以下になる。マグネシウムが豊富で、便通が良くなる上、なにせ水なのでいくら飲んでも太らない。しかも改善されたとはいえ美味しくはないので沢山飲めない。なんて良いこと尽くしの飲み物なんでしょう。定期便でなくても \1,237 とほぼ1本100円とリーズナブル
準備
本題。
パッケージがないので基本コンパイルベースになる。ただし、後々管理しやすいようにcheckinstallでrpm化する。
ざっくり、
- checkinstallはパッケージがないのでコンパイルインストールする
- checkinstallはすぐパッケージにして、上書きインストールする
- screen の最新版をとるために gitをインストール
- gitはrpmforgeにパッケージがあったので、rpmforgeのリポジトリをyumにセットアップ
- screen の依存するモジュールのうち、m4とAutoconfがCentOSのパッケージではバージョンが古いのでコンパイルでインストール
- screen をインストールする
って感じになる。
checkinstallのセットアップ
wgetで取ってきてmake & make installするだけ
すかさずrpm化して上書きインストールする。checkinstall は make した階層ならオプションなしで起動するだけで、make install対象のをパッケージ化してくれる
一応確認しとく
rpmforgeのセットアップ
dagにパッケージがあるのでつっこむだけ。rpmforgeは必要なときだけにしないと、標準パッケージと同名でバージョンが高いものが山ほどあるので普段は使わないようdisableしておく。
enabled = 1 ↓ enabled = 0
gitのインストール
m4インストール
バージョン確認
Autoconf インストール
バージョン確認
screen開発版インストール
長かった準備もやっと終わり。本命のscreenをインストールする。
コンパイル完了したscreenのバージョンを調べる
checkinstallはコンパイルディレクトリからパッケージ名とバージョンを取る。screenはgit cloneで取ってきているので、パッケージ名とバージョンは引数で指定してやる。(未指定でもパッケージ生成前に対話インターフェースで指定することもできるが面倒なので)
以上。お疲れ様
連番ファイルの番号を付け替える
$ for i in {17..90};do j=`expr $i - 16`;`printf "mv PAGE_%03d.jpg PAGE_%03d.jpg\n" $i $j`;done
で一撃。このprintfをバッククォートして命令を連続発行するメリットは、バッククオートなしで存分に発行コマンドを確認したのち、バッククオートを付加するだけで確認済みの命令を実行できること。万全と思われるスクリプトも思わぬ穴がある。この方法なら予期しないリネームを避けられる。
MacやWindowsから上げたファイルがついShift_JISだった時の話
イディオムだよな。暗記しとけって感じ
$find . -name '*.html' -type f -print0 | xargs -0 nkf --overwrite -w -LuLオプションは改行コード変換。u=unix(LF),w=windows(CR+LF),m=mac(CR)。
CentOSでWebデザイナー向けのFTPを設定する
いい加減FTPは使いたくないんだけど、ドリウィが秘密鍵のSFTPに対応していないので、SSHをパスワード認証にはしたくないので、IP縛りでFTPを空けてあげることにする。アドビさん、早く対応して下さい。
インストール
これはyum一発。-y でやる人が多いようだけど僕は-yしない派です。関連インストールなど確認したいので。
$ sudo yum install vsftpd
IPで縛る
FTPは危険なので、IP縛りを入れる
$ sudo vi /etc/hosts.allow vsftpd : 127.0.0.1, xxx.xxx.xxx.xxx, ...(列挙) :wq $ sudo vi /etc/hosts.deny vsftpd : ALL :wq
ポートを空ける
IP制限も本当はiptables付けた方が良いのだが、iptablesは設定ミスで一発退場を喰らうことがあるので、ポートを空けるだけにする。
$ sudo vi /etc/sysconfig/iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 20 -j ACCEPT -A INPUT -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT :wp
設定を読み込む
$ sudo /etc/init.d/iptables reload
vsftpd設定
xinetd経由の起動とし、umaskを007に。ip制限はtcp_wrappersを利用
$ sudo vi /etc/vsftpd/vsftpd.conf anonymous_enable=NO chroot_local_user=YES chroot_list_enable=YES chroot_list_file=/etc/vsftpd/chroot_list local_umask=007 tcp_wrappers=YES listen=NO :wp
全員をchrootにし、上位に出られるユーザーをリストで指定する形にする。FTPでそんなユーザは不要なので、touchだけしておく。
$ sudo touch /etc/vsftpd/chroot_list
xinetd起動の設定
xinetd起動用の設定ファイルを用意する
$ sudo vi /etc/xinetd.d/ftpd
service ftp
{
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/sbin/vsftpd
server_args = /etc/vsftpd/vsftpd.conf
log_on_failure += USERID
disable = no
}
:wq
xinetdの設定をリロードする
$ sudo /etc/init.d/xinetd reload
FTPグループ、ユーザーの作成
ログインさせないので、shellは/sbin/nologin、ホームディレクトリはWebサイトのDocumentRootを設定、apacheグループに入れておく。
$ groupadd ftpusers $ sudo /usr/sbin/useradd -g ftpusers -G apache hoge -d <DocumemtRoot> -s /sbin/nologin useradd: warning: the home directory already exists. Not copying any file from skel directory into it. $ sudo passwd hoge Changing password for user aae. New UNIX password: <パスワード> Retype new UNIX password: <パスワード>
ホームディレクトリは既にあるとか、各種スケルトンは持ってこなかったよとか言われるので、はいはいと聞き流す。
apacheをftpのグループに参加させる
この設定と、umask007が効いて、ftpuserグループのファイルは、PHPで読み書きできるようになる。本人とapcaheしか見ないのだから、everyoneにアクセス権を与える必要はない。
$ sudo /usr/sbin/usermod -G ftpusers apache $ sudo chmod 770 <DocumemtRoot>
