ブログを移転というか、ドメインの変更

うまくいってればいいけど、これで色々問題が発生したら修正するのが面倒くさそう。

MacPorts で PHP5 をインストール

今までは

sudo port install php5 +apache2 +imap +mysql5 +pear +sqlite +curl +gd +readline +tidy

でインストールしてたんだけど、気づいたら

The +imap variant is obsolete. Please install the php5-imap port instead.
The +mysql5 variant is obsolete. Please install the php5-mysql port instead.
The +sqlite variant is obsolete. Please install the php5-sqlite port instead.
The +tidy variant is obsolete. Please install the php5-tidy port instead.

と、古いから別個にインストールしろという指示が。
こまめに見てないとダメだねぇ…。

ということで、別個にインストール。

sudo port install php5 +apache2 +pear +curl +gd +readline php5-imap php5-mysql php5-sqlite php5-tidy

WordPress の自動更新をするのに手こずった

FTP の情報を入力しろみたいな画面が出てきて、FTP なんて入れてないしどうしようと悩んだ。結局 WordPress ディレクトリ全部を apache:apache にして解決したけど、これはなかなか悩んだ。さっさと検索かければよかったんだけど、ついつい解決策が目の前に提示されるとそっちに集中しちゃうもんだ。

パッケージの追加 – Linode 初期設定 CentOS 5.5(64bit版)

パッケージのインストール

Apache やら zsh やら MySQL やらを追加していきます。ただ zsh は探しても yum のは古い ver. しかないようなので、これは手動で追加します。

sudo yum install httpd.x86_64 httpd-devel.x86_64 httpd-manual.x86_64
sudo yum --enablerepo=remi install php.x86_64 php-devel.x86_64 php-mbstring.x86_64  php-mysql.x86_64 php-mcrypt.x86_64
sudo yum --enablerepo=remi install mysql.x86_64 mysql-devel.x86_64 mysql-server.x86_64
sudo yum install gcc.x86_64 make.x86_64
sudo yum install ncurses-devel.x86_64
sudo yum install expat-devel.x86_64
sudo yum install curl-devel.x86_64
sudo yum install git.x86_64

gcc, ncurses-devel は zsh をインストールするのに必要なようです。curl-devel, expat-devel は git に必要なようです。

zsh のインストール

ソースからさくっと入れます。

cd ~/src
wget http://sourceforge.net/projects/zsh/files/zsh-doc-dev/4.3.10/zsh-4.3.10-doc.tar.gz/download
wget http://sourceforge.net/projects/zsh/files/zsh-dev/4.3.10/zsh-4.3.10.tar.gz/download
tar xzfv zsh-4.3.10.tar.gz
tar xzfv zsh-4.3.10-doc.tar.gz
cd zsh-4.3.10
./configure --prefix=/usr/local
make
sudo make install

zsh を使えるようにします。

vim ~/.bashrc
if [ -x /usr/local/bin/zsh ]; then
    exec /usr/loca/bin/zsh
fi

以上です。
上記のやり方だと scp ができなくなりました。これじゃマズいと言う事で

if [ ""$PS1 = "" ]; then return ; fi
if [ -x /usr/local/bin/zsh ]; then
    exec /usr/local/bin/zsh
fi

これで今のところうまくいってます。ちょっと様子見。
って全然うまくいってなかった。

-bash: [: too many arguments

こんなの出てきます。なので

if [ "$PS1" ]; then
if [ -x /usr/local/bin/zsh ]; then
        exec /usr/local/bin/zsh
fi
fi

に修正。非対話シェルならその場で読み込みを終えて、対話シェルなら続けるの処理の方がいい気がしたんだけどなぁ。とりあえずこれで様子見。

if [ -z "$PS1" ]; then return ; fi
if [ -x /usr/local/bin/zsh ]; then
        exec /usr/local/bin/zsh
fi

これでいけたー!

yum リポジトリの設定 – Linode 初期設定 CentOS 5.5(64bit版)

この辺はよく分からなかったので

を参考にさせて頂きました。ありがとうございました。

yum リポジトリに優先度を

yum リポジトリに優先度をつけて、基本パッケージを最優先にする。

sudo yum install yum-priorities

これをインストールしたら /etc/yum.repos.d/CentOS-Base.repo を開き、優先度をつけていきます。base, updates, addons, extras, centosplus, contrib の項目の下に「priority=1」をそれぞれ追加。あと [centosplus] の enabled=0 というのを enabled=1 にしておきます。

rpmforge リポジトリの追加

rpm を

からインストールします。

http://dag.wieers.com/rpm/packages/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.x86_64.rpm

64bit なのでこっちです。このインストールが終わればまた、優先度をつけます。今度の優先度は 10 です。「priority=10」。

DAG リポジトリの追加

DAG リポジトリも作っておくといいようです。これはダウンロードしてではなくて、自分でせっせと書くようです。

cat /etc/yum.repos.d/dag.repo
[dag]
name=Dag RPM Repository for Fedora Core
baseurl=http://ftp.riken.jp/Linux/dag/redhat/el$releasever/en/$basearch/dag
enabled=0
gpgcheck=1
gpgkey=http://ftp.riken.jp/Linux/dag/packages/RPM-GPG-KEY.dag.txt
priority=10

EPEL リポジトリの追加

rpm は

  • http://download.fedora.redhat.com/pub/epel/5/x86_64/

です。

sudo rpm -ivh http://download.fedora.redhat.com/pub/epel/5/x86_64/epel-release-5-3.noarch.rpm

これもまた優先度をつけていきます。優先度は 10 です。

Remi リポジトリの追加

PHP や MySQL の最新パッケージ? を手に入れるにはこの Remi リポジトリが必要なようです。インストール時に「yum install –enablerepo=remi」と指定するようになります。

rpm --import http://rpms.famillecollet.com/RPM-GPG-KEY-remi
rpm -ivh rpm http://rpms.famillecollet.com/enterprise/remi-release-5.rpm

あとは「priority=1」と「enabled=1」を設定して終了です。

実際もう少しだけ repo の中身を触った記憶があるんですが、何をどう触ったかあんまり覚えてないという…。眠いときにやるんじゃなかった。もっと調べておかしいところがあれば臨機応変に設定変更!

yum-cron と yum-updatesd – Linode 初期設定 CentOS 5.5(64bit版)

yum の自動更新にはタイトルの二つがあるみたいで、 yum-updatesd は常駐型。なんかメモリ食って手動で追加した物がおかしくなることがある「らしい」。らしいだからよく知らないけど yum-cron はメモリを食わないらしい。詳しい人の言うことにとりあえず従ってみます。yum-cron じゃダメって話を聞いたこともないしね。現状どちらもインストールされていないので

yum install yum-cron

次に簡単に設定します。

vim /etc/sysconfig/yum-cron
CHECK_ONLY=yes
DOWNLOAD_ONLY=yes

これでチェックしたあとにダウンロードするって設定になります。

service yum-cron restart
chkconfig yum-cron on

これで OK.

Google Apps を併用している時の Postfix. – Linode 初期設定 CentOS 5.5(64bit版)

Google Apps を併用しているので、面倒くさくない Postfix の設定を行った。ログの送信なんかもしたかったので、まずは Postfix をインストール。

yum -y install postfix

それからまずは main.cf の設定を行います。

vim /etc/postfix/main.cf

送信専用だし、いろいろやるのは面倒だったので

mydomain = hogehoge
myorigin = $mydomain
mydestination =

の3箇所だけ変更しました。
これでローカル配信は全部そのまま飛ばして Google Apps にいきます。ただここからもメールを直接送信することもあるので、
Sender ID Framework SPF Record Wizard
から SPF record を作成してこれを設定します。

v=spf1 ip4:xxx.xxx.xxx.xxx include:aspmx.googlemail.com ~all

こんなの…。
とりあえずこれで Postfix はオッケーと言う事で。

追記

myhostname = mail.hogehoge 
mydestination = $myhostname

に修正。

iptables – Linode 初期設定 CentOS 5.5(64bit版)

とっても大事なので即やりました。でも、なかなかうまくいかない。何をやっても「Setting chains to policy ACCEPT: raw nat mangle fi[FAILED]」のエラー。調べた結果 Configuration Profiles -> Kernel -> paravirt となっているのを stable に変更。あとは

を参考にさせて頂きました。
やってることは同じなので調整したものをちょっとずつ書き足そうと思います。

いろいろ – Linode 初期設定 CentOS 5.5(64bit版)

準備

いくらぼんくらでも起動してそのまま放置しておけば危険なことは分かってる。そこで起動の前に色々確認しておかないと。

  • VPS の IP アドレス。
  • コンソールなんかで秘密鍵と公開鍵を作成しておく。
  • ユーザ名とパスワードを考えて紙に書いておく(特に I と l は間違えやすいので)。

ちなみに絶対やることと言えば

  1. 作業ユーザを作成する。
  2. SSHログインを鍵認証にして、root ログイン・パスワードログインをできなくする。
  3. iptables なんかでファイアーウォールの構築。
  4. yum リポジトリの追加。
公開鍵の作成

公開鍵を作成しておきます(パスフレーズなし)。

ssh-keygen -f ~/.ssh/id_rsa_linode -N '' -C 'xxx.xxx.xxx.xxx' -t rsa 

準備としてはこんなもの??とにかく OS を起動します。

ユーザ作成

まずは root しかないのでこいつでログインします。

ssh root@xxx.xxx.xxx.xxx

で、ユーザ作成を行って、wheel グループにして、パスワードも設定します。

useradd -G wheel hogehoge
passwd hogehoeg

root, sudo 関連

wheelグループだけ root になれるよう。

vi /etc/pam.d/su

-    #auth            required        pam_wheel.so use_uid
+    auth            required        pam_wheel.so use_uid

wheelグループだけ sudo を実行できるよう。

visudo

-    #%wheel  ALL=(ALL)       NOPASSWD: ALL
+    %wheel  ALL=(ALL)       NOPASSWD: ALL

sudo の時にパスワードがいらないようにもした。パスワード入力する方がいいんだろうけど、とりあえずこれで。

公開鍵でのログイン設定

scp ~/.ssh/id_rsa_linode.pub hogehoge@xxx.xxx.xxx.xxx:~

今度は作成したユーザで linode へログインして

mkdir ~/.ssh
chmod 700 ~/.ssh
cat id_rsa_linode.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
rm id_rsa_linode.pub

sshd の設定変更

あとは sshd で鍵認証だけの設定にしちゃえばオッケーだと思います。

sudo vi /etc/ssh/sshd_config

PermitRootLogin no
PubkeyAuthentication yes
AuthorizedKeysFile      .ssh/authorized_keys
PermitEmptyPasswords no
PasswordAuthentication no
ChallengeResponseAuthentication no
UsePAM no
X11Forwarding no
UseDNS no
AllowUsers hogehoge

あとは sshd を再起動させて

sudo service sshd restart

でオッケー。こんなものかな。あ、あとタイムゾーンを変更して、環境変数と LANG の設定も。

mv /etc/localtime /etc/localtime.org
cp /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
vi ~/.bash_profile
PATH=$PATH:$HOME/bin:/sbin:/usr/sbin
source ~/.bash_profile
vim /etc/sysconfig/i18n
LANG="ja_JP"

こんな感じ。

Linode 借りてみた

ちょっと色々試したいことがあったのと、ドメインが余ってた(余ってたと言うよりなんとかしたかった)ので、ちまたで大人気? の Linode を借りてみた。

フレモント(西海岸)があいていれば絶対オススメということだったので、さっくり申し込み。申し込んだ日からの日割りになるのと、ちょうど先日メモリから増量されてたようでかなりいい感じの環境だと思った(無料の DNS があるし)。
申し込んだら即使えるようで、確か OS を選んで5分もしないうちに触れた。

できるならさくらインターネットから移転できるように、Apach から色々入れていこうと思う。VPS 借りるのは初めてなので、これもまた勉強なり。