CoreServer で PHP CGIモード(セーフモード:オフ)

セーフモードの回避策で、

AddHandler application/x-httpd-phpcgi .php

とするのだが、CGI版のPHPを動かすということである。
しかし、CGIのPHPでも問題がある。

HTTPのレスポンスヘッダーが常に Content-Type: text/html としてしまう。

CGIのPHPでFireFoxを使って管理画面が崩れてしまうのは、このせいである。
この回避策として、load-styles.phpのみをモジュール版に戻すという手段もあるが、他の手段としてphp.ini を各ディレクトリに設置するということをする。記述は下記の通り。

cgi.nph = 1
default_mimetype =

default_charset =

しかし、次の条件の時はまだ足らない、

  • セーフモード:オフでないとならない場合。かつ、
  • レスポンスヘッダーがPHPで設定したContent-Typeでならないとき。かつ
  • レスポンスヘッダーがStatus:304でならないとき。

このとき、なにが足らないかというとStatusが常に200となってしまう。
一応回避策はあって、

  • 先頭行に、#!/usr/local/bin/php -q とする。
  • アクセス権を755とする。
  • .htaaccess でなどで該当ファイルを
    AddHandler cgi-script .php とする。

でも、この方法は面倒だなぁ。

trac インストール

ここで流れを把握
http://d.hatena.ne.jp/re_guzy/20071002/p1

python 2.5インストール
http://blog.wiredeffect.com/archives/1198

python 本店
http://www.python.org/download/releases/2.6.4/
python 日本語
http://www.python.jp/Zope/download/pythoncore

trac日本語
http://www.i-act.co.jp/project/products/products.html

Mysql-Python
http://blog.srengine.com/2008/02/python-mysql-python.html

参考
さくらでtrac
http://weekbuild.sakura.ne.jp/trac/wiki/TracDoc/SakuraInternet

CoreServer で Subversion が突然使えなくなった。

なにやら、本日突然、CoreServerに設置してあるSVNが使用できなくなった。

expected format ’3′ of repository found format ’5′

というエラーが出る。なぜだ〜?昨日まではでなかったのに。
まあ、原因究明ができなかったが、対処はできた。

エラーの内容は、formatつまり、バージョンが違うことらしい。
CoreServerは標準で、1.2のsvnが入ってる。そこに、ユーザーホームに1.6をインストールし、使用している。突然、1.6の使用が断たれたようだ。
.bashrc に svnへのパスを記述すれば良いとあちらこちらに書いてあるが、もちろん、そうなっている。以前から変更もしていない。

アクセスは「svn+ssh」を用いていて、sshがsvnserveを稼働させるようにしてある。
そこで、authorized_keyに

command=”/path/to/svnserve -t” シェルアクセスとは別の公開鍵の記述

を追加し、ホームディレクトリに設置してあるsvnserve 1.6 で稼働することを明示した。

クライアントはMacOSXである。クライアント側の.bashrcに $SVN_SSH 環境変数を下記のようにセットした

export SVN_SSH=”ssh -i /path/to/svn_rsa”

svn_rsa はssh-keygenで作成した秘密鍵のファイルである。シェルのアクセスと同じ鍵にすると、シェルアクセスがsvnserveを稼働させてしまいコントロールできなくなる。なので、別の鍵のセットを作成する必要があった。

あと、確実に秘密鍵を参照しにいくように、~/user_name/.ssh/configというファイルを作成し、そこに下記のように記述した。

IdentitiesOnly yes

この記述がないと、ssh-agentがサーバーに対し、1つの鍵を保持し、それを使いまわすようだ。シェルとsvnserveで鍵を使い分けができなくなり、不便な状態が続いてしまう。

これで、シェルによる、svnserveへのアクセスは可能になった。しかし、svnXというアプリケーションはこれでもformatのエラーをはく。.bashrcを認識しない模様。

そこで、~./subversion/configの[tunnel]のセクションに下記のように追加した。
ssh = $SVN_SSH ssh -i /path/to/svn_rsa -q
これで、svnXも使える様になった。最後の-qは「Killed by signal 15.」の非表示のための対処である。

Main から Sub1 のディレクトリのアクセスを禁止する .htaccess

Open the Next: Net: .htaccess で特定ディレクトリのアクセスを拒否する方法

SetEnvIf Request_URI “^/○○○\.○○○○○\.○○○/.*” DenyReq
order allow,deny
deny from env=DenyReq
allow from all

これをアクセスされたくない、ディレクトリに設置する

以上でMainに設定してあるドメインからのアクセスを防げる。/log とかはアクセスOK!

CoreServer で Mac の Mail 設定

Apple Mail を使用する場合

SSL非使用

IMAPの設定

  • 受信メールサーバー:独自ドメインMX or sXX.coreserver.jp どちらでもOK
  • ユーザー名:○○○○@△△△△△.com
    ドメインが付くのがポイント
  • パスワード:設定したパスワード
  • IMAPパスの接頭辞:INBOX
  • ポート:デフォルト値
  • 認証:パスワード

SMTP

  • ポート:デフォルトポート
  • SSL:使用しない
  • ユーザ名:○○○○@△△△△△.com
  • パスワード:設定したパスワード

SSL使用

SMTP

  • ポート:デフォルト(465)
  • SSL:使用する
  • サーバー名:s00-coreserver-jp.value-domain.com
  • 認証:パスワード
  • ユーザ名:○○○○@△△△△△.com
  • パスワード:設定したパスワード

CORESERVER .htaccessでinclude_path

.htaccess で

php_value include_path “.:/virtual/xxxx/lib/pear/PEAR:/virtual/xxxx/lib”

は効かない。。。php.iniで書けと。。。
(あと、php.iniは実行ファイルと同じ階層にないとNG)

後日、ひとつ分かったがセーフモードオフにすると、.htaccessが効かなくなる。

http://zen-cart.jp/bbs/viewtopic.php?f=2&t=3974&hilit=register_globals

PHPでメール送信 PEARを使って!

下記サイト参照。
早急にやらんと。。。

S-MEMO(エスメモ): PEAR::Mailを使ってメールを送信してみよう

CoreserverでPEARのインストール記事発見。

SeeIn開発日誌 – 共有サーバ(CORESERVER.JP)で自由にPEARのインストールをする

ちょっと、良い説明。
http://masha.maakikaku.jp/2007/12/_peargopear.php