参考サイト:http://labs.agenda-style.jp/blog/2010/01/redmine.html

1.DB設定

cd /var/www/rails/redmine/config/database.yml.exampleをコピーし、database.ymlという名前にして設定

※注意

production:
adapter: mysql
database: redmine
host: localhost
username: user
password: pass
encoding: utf8

productionのみでよい。各キーと値の間、つまりコロンの後は半角スペースが必須。


2.セッションストア秘密鍵の生成

# cd /var/www/rails/redmine/
# rake config/initializers/session_store.rb

※必要なソフトがインストールされていな旨のエラーがでたら、エラーにしたがってインストールする

gem install -v=0.4.2 i18n


3.migrationでDBテーブルの作成

# cd /var/www/rails/redmine/
# rake db:migrate RAILS_ENV="production"

※今回はrackというソフトのバージョンが高すぎたようなのでバージョンを指定してインストール

sudo gem install rack --version '~> 1.0.1'

4.WEBrick起動

# ruby script/server webrick -e production


5.アクセス

http://ドメイン名:3000/


↑うまくいっていればredmineのページが表示される。

SMTPサーバーとは・・・メールのサーバー間配送を行なう

 ・Postfix

 ・qmail

 ・sendmail


POP/IMAPサーバーとは・・・メールサーバーにメールを取りに来たメールクライアントにメールを配送する。

・devocot



■問題点

サーバーから送信するメール内容に半角カナを利用すると

????に文字化けする。


■原因

携帯メールでは半角カナは???に文字化けする

ちなみにメールの文字コードはiso-2022-jpを利用するのが一般的。


■解決

カナは全角にするか英数表現にする。



■問題点

サイトから送られるメールが

自分のdocomo携帯では文字化けしないのに

iphoneでは文字化けした


■原因

メールの文字コードがSJISだった。


■対応

文字コードをiso-2022-jpに変換した。

$body = mb_convert_encoding($body , 'ISO-2022-JP' , 'SJIS');

Linuxからあるサーバー(DBサーバーとかSMTPサーバーとか)のサービスを利用するには

プロセス間通信を行なう必要がある。


プロセス間通信を行なうにはソケットというインターフェースを利用する

このソケットというのはファイルみたいなものを想像したらよく、

Linuxがこのファイルをオープン、読み込んでプロセス間通信を実現する。


このソケットには2パターンある


 ①INETドメインソケット

 ②UNIXドメインソケット


である。

①は異なる2つのサーバー間のプロセス間通信に使われ、通常IPアドレス+ポート番号を指定して作成される。

一方で②はひとつのサーバー内のプロセス間通信に使われる。


①の場合、接続されるサーバーは接続されるポートのTCP接続を開放しなければ通信できない。

他方②の場合はポートをTCP接続用(外部向け)に開放しなくてもよい。



phpからmysqlに接続するmysql_connetc関数では

mysql_connect($hostname , $username , $password )

となる。INETドメインソケット通信で他サーバに接続する場合は、$hostnameにIPアドレス:ポート番号を指定する。

$hostnameに”localhost”を指定した場合は自動的にUNIXドメインソケット通信を行なう。