サーバ管理



2011 9月8日

Live Commerceを使うのにはZend Optimizerが必要なのでインストールする。

CentOS5.5(32bit)
PHP 5.2.16

ダウンロード

ダウンロード場所がわかりにくいので注意
※Zend OptimizerをダウンロードするにはMyZendに登録する必要がある。
ゼンド・ジャパン株式会社

ダウンロード>Zend Guard>loader>linux>ZendOptimizer-3.x.x-linux-glibc23-xxx.tar.gz
※ xの部分はPHPのバージョンやOSによって異なる
当方の環境では ZendOptimizer-3.3.9-linux-glibc23-i386.tar.gz だった。

設置

ダウンロードしたファイルを解凍する。

$ tar zxvf ZendOptimizer-3.3.9-linux-glibc23-i386.tar.gz

PHPのバージョンに対応した ZendOptimizer.so を /usr/lib/php/modules へ設置する。
※自分の環境では ZendOptimizer-3.3.9-linux-glibc23-i386/data/5_2_x_comp の中にあるものを使用。

$ cd ZendOptimizer-3.3.9-linux-glibc23-i386/data/5_2_x_comp
$ sudo mv ZendOptimizer.so /usr/lib/php/modules

php.iniの設定

# vi /etc/php.ini
追記
[Zend]
zend_extension=/usr/lib/php/modules/ZendOptimizer.so
zend_optimizer.optimization_level=15

Apache再起動

# service httpd restart

参考:

  • 【環境構築3】PHPをインストールする のんき者のシステム開発ノート(ってかメモ)/ウェブリブログ
  • Zend Optimizer のインストール | Linuxで自宅サーバ構築






  • 2011 6月30日

    DNSの逆引き設定

    今まで逆引き設定していなかったメールサーバから送ったメールには

    Received: from sv.domain.com (sv.domain.com [127.0.0.1])
    	by mail.domain.com (Postfix) with SMTP id…

    のようなヘッダとなっていて、localhost(127.0.0.1)から送られたものだとされていた。

    これが迷惑メールとされる一因なので、mail.domain.com はちゃんとしたサーバですよー、と知らせるためにグローバルなIPアドレスをあててあげる。

    DNSの逆引きはドメインの管理とは関係ないので、回線業者が提供するサイトなりツールから設定。メールサーバのドメインが mail.domain.com、IPアドレスが111.222.33.4 の場合。
    111.222.33.4にmail.domain.comを割り当てる。

    逆引きを設定すると

    Received: from 111.222.33.4  (EHLO maildomain.com) (111.222.33.4)
      by mta...

    のようなヘッダとなる。

    Gmailではこれだけで迷惑メールと判断されなくなった。

    Yahooメールでの対策

    上記対応をして一時的に改善しても、1日程度経つと再び迷惑メールに振り分けられる場合がある。この場合はメールヘッダに X-YahooFilteredBulk: 111.222.33.4 等と入っている可能性があるので、Yahooに問い合わせる必要がある。

    オープンリレーを許可していないか確認する。

    第三者中継チェック RBL.JP

    全てが青い文字で no relays accepted. となればおk.

    Yahooに問い合わせ

    Yahoo!メール(ベータ版) ヘルプ – [迷惑メール]フォルダに振り分けられたくないメールがある
    へ行き、一番下の「解決しましたか?」でいいえを選択すると問い合わせフォームになるのでそこから問い合わせる。

    きちんとすれば、予想以上に早い対応をしてもらえる。
    対応後にはこんなメールを頂ける。

    ◯◯◯◯ ◯◯様
    
    Yahoo!メールカスタマーサービス◯◯です。
    このたびは、調査および調整に必要な情報をご提供くださいまして、
    誠にありがとうございました。
    
    お問い合わせの「Yahoo!メール・迷惑メールフォルダへのメール振り分け」に
    ついてご案内いたします。
    
    お知らせいただいた情報をもとに調査を行い、ご利用のメールサーバーに
    問題がないことを確認しましたので、弊社にて調整を実施いたしました。
    ・・・以下(ry

    まさに Amazon EC2のサーバからメール送信をするまでにやるべきこと (スパムメール扱いを回避する!) – RX-7乗りの適当な日々

    DNS逆引き設定
    SPFの設定
    SPAMメールのブラックリストに対する解除申請

    のまんまですが。

    SPFについて

    とりあえず逆引き設定で迷惑メールに振り分けられる問題は改善したのだけど、SPF(Sender Policy Framework)を設定しておくともっとよさそう。

    SPFは 送信者(from) が taro@domain.com なら domain.com が評価対象となる。メールサーバは関係ないようだ。fromのFQDN部分が使われる様子。

    DNSの設定でTXTレコードを設定する。

    Yahooでパスしたメールには

    Received-SPF: pass (mail.domain.com: domain of info@domain.com designates 27.....

    のようなヘッダが追記されていた(当然受信側のメールサーバがSPFに対応していることが前提)

    チェックするにはこのようなツールも。

    Sendmail – SPFレコードチェック
    http://www.sendmail.co.jp/sa/spfcheck.html

    参考:

  • Amazon EC2のサーバからメール送信をするまでにやるべきこと (スパムメール扱いを回避する!) – RX-7乗りの適当な日々
  • サービスから送るメールがスパム扱いされないために。
  • メール送信者認証技術 SPF/Sender ID についてお勉強 :: drk7jp
  • Sender ID:送信者側の設定作業 - @IT
  • 間違いから学ぶSPFレコードの正しい書き方 : 迷惑メール対策委員会






  • 2011 3月27日

    remiリポジトリでphp5.3をyumでインストールしたけど、php5.2で動いていたスクリプトが動かない。
    困るのでphpをダウングレードする。

    php関連パッケージを調べる。

    # yum list installed | grep php*
    php.i386                               5.3.6-1.el5.remi                installed
    php-cli.i386                           5.3.6-1.el5.remi                installed
    php-common.i386                        5.3.6-1.el5.remi                installed
    php-gd.i386                            5.3.6-1.el5.remi                installed
    php-imap.i386                          5.3.6-1.el5.remi                installed
    php-ldap.i386                          5.3.6-1.el5.remi                installed
    php-mbstring.i386                      5.3.6-1.el5.remi                installed
    php-mcrypt.i386                        5.3.6-1.el5.remi                installed
    php-mysql.i386                         5.3.6-1.el5.remi                installed
    php-pdo.i386                           5.3.6-1.el5.remi                installed
    php-pear.noarch                        1:1.9.2-3.el5.remi              installed
    php-pgsql.i386                         5.3.6-1.el5.remi                installed
    php-xml.i386                           5.3.6-1.el5.remi                installed

    # yum remove php*
    だと、全てのパッケージが削除されない?ようなので、手動設定でパッケージを削除。

    # yum remove php php-cli php-common php-gd php-imap php-ldap php-mbstring php-mcrypt php-mysql php-pdo php-pear php-pgsql php-xml

    ※ /etc/php.ini は /etc/php.ini.rpmsave として保存される。 …つづきを読む







    2011 3月16日

    震災の影響で停電になった時に残っていたログ。

    apcupsdのeventsログ

    2011-03-11 14:48:20 +0900  Power failure.
    2011-03-11 14:48:26 +0900  Running on UPS batteries.
    2011-03-11 15:41:07 +0900  Battery power exhausted.
    2011-03-11 15:41:07 +0900  Initiating system shutdown!
    2011-03-11 15:41:07 +0900  User logins prohibited
    2011-03-11 15:42:22 +0900  apcupsd exiting, signal 15
    2011-03-11 15:42:22 +0900  apcupsd shutdown succeeded






    2011 2月16日

    FastCGIをApacheで使うには
    mod_fastcgi
    mod_fcgid
    がある。

    $ wget http://jaist.dl.sourceforge.net/sourceforge/mod-fcgid/mod_fcgid.2.2.tgz
    $ tar zxvf mod_fcgid.2.2.tgz
    $ cd mod_fcgid.2.2
    $ make top_dir=/usr/lib/httpd
    $ sudo make top_dir=/usr/lib/httpd install

    make 時に top_dir=/usr/lib/httpd を指定することでMakefileの書き換えが必要ない。
    …つづきを読む