さくらのVPSにRedmineをインストールしてテストメールを送信するまで

学部4年生になったことだし、卒業研究とかで色んなタスクを管理しなきゃいけなるのでRedmineをさくらのVPSにインストールしてみた。
せっかく月1000円払ってるわけだし色々使いたいし、まあサーバー周りの勉強にもなるかなと。

Redmineのインストールは、Ubuntu 12.04にRedmine 2.2.0をインストールしてMySQLとApacheで動かすを参考に行いました。

今回もブログと同じようにサブドメインを割り当てる。
Apacheの設定は、/etc/apache2/sites-available/redmineに記述。とりあえずBasic認証をかけた。Redmineの設定で,ユーザーによるアカウント登録を無効化したほうスマートでした.

<VirtualHost *:80>
    ServerName redmine.example.com
    ServerSignature Off
    RewriteEngine On
    RewriteCond "%{SERVER_PORT}"    "^80$"
    RewriteRule "^(.*)$"            "https://%{SERVER_NAME}$1" [R,L]
</VirtualHost>

<VirtualHost *:443>
    ServerName redmine.example.com
    DocumentRoot /usr/local/redmine/public

    SSLEngine on
    SSLProtocol all -SSLv2
    SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW
    SSLCertificateFile /etc/apache2/ssl/redmine.crt
    SSLCertificateKeyFile /etc/apache2/ssl/redmine.key

    Header onsuccess append Cache-Control public
    ExpiresActive On
    <FilesMatch "\.(txt|css|js|jpeg|jpg|png|gif)$>
        ExpiresDefault "access plus 3 days"
    </FilesMatch>

    <Directory /usr/local/redmine/public>
       # This relaxes Apache security settings.
       #AllowOverride all
       AllowOverride none
       # MultiViews must be turned off.
       Options -MultiViews
    </Directory>
    ErrorLog ${APACHE_LOG_DIR}/rm-error-ssl.log
    LogLevel warn
    CustomLog ${APACHE_LOG_DIR}/rm-access-ssl.log combined env=!no_log
    RailsBaseURI /
</VirtualHost>

htpasswdは、htpasswd -c filename username passphrase

みたいにして使う。Basic認証についてはググればいくらでも出てきたので簡単に設定できた。
AllowOverride noneでもとりあえず動くっぽいのでとりあえずそうした.

passengerの設定はconf.d/passenger.confとして分けた。

LoadModule passenger_module /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.19/ext/apache2/mod_passenger.so
PassengerRoot /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.19
PassengerRuby /usr/local/bin/ruby

初期の設定で、管理者ユーザーがid:admin, Pass:adminで作られているので、動いたら早めにログインしてID,Passを変更しましょう。

次にPostfixdovecotでなんか色々やってみたけどうまいこと行かなかった(´・ω・`)
ここを参考にしてやってみたけど外部からのメールを受信できない…
まあサーバーからメールを送信することはできたので,今回は深く考えないことにした。

/usr/local/redmine/config/configuration.ymlにメール設定を記述。最後に一行追加したらちゃんと送信してくれるようになった。

production:
  email_delivery:
    delivery_method: :smtp
    smtp_settings:
      address: localhost
      port: 25
      domain: crakac.com
      enable_starttls_auto: false

あと、さくらのVPSはお試し期間中はポート25は塞がれてるらしいので、お試し期間が切れるのを待つか本登録の申し込みをさっさとしましょう。または587番ポートで送信を試してみよう。なんかよくわからなかった。
今度時間があればpostfix + dovecotの設定を何とかしたい。
とりあえずターミナルからメールを飛ばすために、bsd-mailxというパッケージをインストールすればよいらしい。

sudo apt-get install bsd-mailx
$mail hoge@example.com
 Subject: test
 this is test.
 .
 Cc:

みたいにして使う。.+改行で本文終了。