2012年1月30日月曜日

PostgreSQL91のインストールメモ

postgresql84を入れていたテスト用の仮想マシンなので削除。

/etc/yum.repos.d/CentOS-Base.repo の[base]と[updates]のセクションの最後に以下を追加。

exclude=postgresql*


パッケージを取得
# wget http://yum.pgrpms.org/reporpms/9.1/pgdg-centos91-9.1-4.noarch.rpm
登録
# rpm -i pgdg-centos91-9.1-4.noarch.rpm
インストール
# yum postgresql91
起動設定
# chkconfig postgresql-9.1 on
初期化
# service postgresql-9.1 initdb
起動
# service posgresql-9.1 start


コマンド関係が、/usr/pgsql-9.1/bin/以下になっているので注意。

ストリーミング・レプリケーションとかしてみたいなぁ。

2012年1月25日水曜日

.forwardでPHPにメールを食わせる

.forwardファイルを使ってPHP等のプログラムにメールを処理させることがありますが、ちょっと躓いたのでメモ。

まず、何もなければ、.forwardファイルに以下のように書けばいい。

> vi .forward
"| /usr/bin/php /home/john/sciptfile.php"

(john, scriptfile.phpあたりは任意でっせ。)

ところが、smrshが動作していると簡単には実行してくれません。
勝手にプログラム起動して処理するなということです。
smrshに許可してもらうには、/etc/smrsh内に実行ファイルのリンクを作成してやればよい。

こんなコマンド↓
> ln -s /usr/bin/php /etc/smrsh/php

とここまではよく見かけます。
しかし今回はこれでうまくいきませんでした。

.forwardファイル内の記述が問題のようで、絶対パスは無視されたりいろいろ制約があるようです。
詳細は偉い人に聞いてください。すいません。

でどうするかというと。

.forwardに記述する内容を単純化するためシェルスクリプトを1つ作成します。

> vi scriptcall.sh
#!/bin/sh
/usr/bin/php /home/john/sciptfile.php

↑こんな単純なファイル。

作成したシェルスクリプトに実行権限をつけて、smrshで実行できるようにシンボリックリンクを作成。

> chmod 755 /etc/smrsh/scriptcall.sh
> ln -s /usr/bin/scriptcall.sh /etc/smrsh/scriptcall.sh


.forwardファイルの内容を以下の用に変更

>vi .forward
|sciptcall.sh

以上でjohnさんにメールが来るとプログラムにメールが渡されます。

exim4 mailq一括削除


exim4のmailqの一括削除方法で、いいのがあった。

http://www.fukudat.com/wiki/ja/%E7%8E%84%E7%AE%B1/exim4

# for msgid in `mailq | grep '<.*>' | cut -c11-27`; do
> echo $msgid
> exim4 -Mrm $msgid
> done

ありがとう。

2012年1月18日水曜日

VMWare CentOS メモ


VMWare PlayerでCentOS最小インストール済みのイメージを動かしたときのメモ。

■キーボードのコンフィグ
USキーボードからJISキーボード

/etc/sysconfig/keyboard

KEYBOARDTYPE="pc"

KEYTABLE="jp106"

■SELinuxをオフ(テスト用だし)
/etc/sysconfig/selinux

SELINUX=enforcing

SELINUX=disabled

モードの確認は、コマンド getenforce で可能。


■yumで必要なものを入れる。



■ネットワーク
system-config-network コマンドでCUIのネットワーク設定画面が出るのでこれで簡単に済ませれる。
実際には/etc/sysconfig/network-scripts/ifcfg-eth0 を編集している。

手書きで設定する場合は以下のファイル等。
/etc/hosts
/etc/resolv.conf
/etc/sysconfig/network


■iptables
/etc/sysconfig/iptables

このあたり↓を「-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited」の前に追加

-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 443 -j ACCEPT

必要に応じて開放するポートを増やす。


■VMWareの共有フォルダ
設定したが、結局SSHかFTPでファイルを送った方が楽なのであまり使わなかったので割愛。