Home > Linux

Linux Archive

AWSでメールが送れん

amazonのAWSでサーバをセットアップしていて、Webアプリからメールが送れないことに気がついた。

WARNING: RunAsUser for MSP ignored, check group ids (egid=500, want=51)
can not chdir(/var/spool/clientmqueue/): Permission denied
Program mode requires special privileges, e.g., root or TrustedUser.

なんてエラーが出ている。

試しに /var/spool/clientmqueue/ のパーミッションを777にすると、メールの送信は
できるようになるが、
dangerous permissions=40777 on queue directory /var/spool/clientmqueue/
なんて怒られる。

# chown smmsp:smmsp /var/spool/clientmqueue
# chmod 770 /var/spool/clientmqueue
# chmod g+s /usr/sbin/sendmail.sendmail
で解決。

mod_proxyを活用してみる2

昨日のつづき。

動的なコンテンツを apache で処理して、静的なコンテンツは別ポートで立ち上げる apache に mod_rewrite を使って渡そうと思いましたが、それならば軽量のWebサーバのほうがいいなと思いまして、静的コンテンツのほうのWebサーバは lighttpd にしてみました。

結果結構パフォーマンスが改善されたような気がします。

 

簡単に覚書。

http://www.lighttpd.net/

から、lighttpd-1.4.28.tar.gz をダウンロード

# tar xzvf lighttpd-1.4.28.tar.gz

# cd lighttpd-1.4.28

# ./configure

# make

# make test

# make install


これで、、/usr/local/sbin/lighttpd にインストールされる。

lighttpd-1.4.28のdocディレクトリにある doc/config/lighttpd.conf を編集して
/usr/local/etc に保存する。

他の doc/config 内のファイルも /usr/local/etc に保存する。

読み込むモジュールとかは、
/usr/local/etc/modules.conf で設定

doc/initscripts/rc.lighttpd.redhat は、
ファイル内の lighttpd.conf のパスを変更して /etc/init.d/lighttpd に保存する。

ログのローテートに関しては、
/etc/logrotate.d/lighttpd
に書いておく

mod_proxyを活用してみる

画像などの静的コンテンツをmod_proxyを使って別サーバに任せる、というのはよく聞く手です。

別サーバを用意できない場合にどうしようかと思いまして、apacheを8080ポートとかで別に走らせて、静的コンテンツに適した設定にして、mod_proxy使って振り分けるといいかもと思いました。

あとでやってみよう。

PHPの高速化のためにAPCを入れる

PHPのアクセラレーターは以前はよく使っていましたが、そういえば最近入れていないなと思いました。パフォーマンスがシビアな環境をあまり作っていないこともありましたが、でも、いくらかでもパフォーマンスが良くなるのであればと思いまして。

WEB+DB PRESS に記事が書かれていたので APC をインストールしましたメモ。

とっても簡単。

# pecl install APC

ライブラリがない場合は、# yum install http-devel とか。

php.ini の編集

extension=apc.so

を末尾あたりに追加。

あとは、apache の再起動です。

APC は、大抵の場合デフォルトの設定で問題ないそうです。

phpinfo(); で apc の項目が出ているはず。

CentOS 5.4 に postgresql-8.4 をインストール

CentOS 5.4 でインストールされる PostgreSQL のバージョンが 8.1.11 なので、これを 8.4 にする。

PostgreSQL RPMS project の提供する RPMを用いてインストールする

インストールの方法は
http://yum.pgsqlrpms.org/howtoyum.php
を参照する。

概要:

As root, cd /etc/yum.repos.d
rootで、/etc/yum.repos.d に移動

On CentOS, edit CentOS-Base.repo, [base] and [updates] sections.
CentOS-Base.repo の [base] と [update] のそれぞれのセクションを編集する

それぞれのセクションの最下部に
exclude=postgresql*
を追加する。

# wget http://yum.pgsqlrpms.org/reporpms/8.4/pgdg-centos-8.4-2.noarch.rpm
# rpm -ivh pgdg-centos-8.4-2.noarch.rpm

これで、

/etc/yum.repos.d/pgdg-84-centos.repo

が作られる。

PostgreSQLが起動している場合は、念のため停止する。

必要なpostgresqlのパッケージをインストールする。

# yum install postgresql postgresql-server postgresql-devel compat-postgresql-libs postgresql-libs postgresql-contrib

環境によっては依存関係で引っかかる場合があるので、先に

# yum install postgresql-libs

だけを実行したほうが良いかも。

/var/lib/pgsql/data

を別名で保存しバックアップしておき、

/var/lib/pgsql/data

を改めて作成

# service postgresql initdb

でデータベースの初期化

# cat /var/lib/pgsql/pgstartup.log

でログを確認。

あとは、PostgreSQL を起動する。

ホーム > Linux

カレンダー
« 2017 年 9月 »
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30  
最近のコメント
最近のPings
最近の投稿
メタ情報
カテゴリー

Return to page top