ライン

ポイント:*

ライン

 はじめに

ウェブメール

 ウェブメールのMailpileを眺めた後に、久々なRoundcubeを入れてみることにしました。
環境は、Mailpileと同様にFreeBSD 10.1を入れた仮想環境上で試します。

 Roundcubeのインストール

インストール

 以前使っていた頃は、バージョン 0.6でしたが、現在は 1.03がリリースされているようです。

# pkg install roundcube
Updating FreeBSD repository catalogue...
Fetching meta.txz: 100%   940 B   0.9k/s    00:01
Fetching digests.txz: 100%    2 MB 515.5k/s    00:04
Fetching packagesite.txz: 100%    5 MB 444.4k/s    00:12
Processing new repository entries: 100%
FreeBSD repository update completed. 23717 packages processed:
  0 updated, 0 removed and 23717 added.
Updating database digests format: 100%
The following 19 packages will be affected (of 0 checked):

New packages to be INSTALLED:
        roundcube: 1.0.3,1
        php5-session: 5.4.35
        php5: 5.4.35
        libxml2: 2.9.2_2
        pcre: 8.35_1
        php5-xml: 5.4.35
        php5-dom: 5.4.35
        php5-filter: 5.4.35
        php5-json: 5.4.35
        pecl-intl: 3.0.0_1
        icu: 53.1
        php5-pdo_mysql: 5.4.35
        php5-pdo: 5.4.35
        php5-mysql: 5.4.35
        php5-mbstring: 5.4.35
        oniguruma4: 4.7.1_1
        php5-iconv: 5.4.35
        libiconv: 1.14_4
        php5-zip: 5.4.35

The process will require 105 MB more space.
21 MB to be downloaded.

Proceed with this action? [y/N]: y
Fetching roundcube-1.0.3,1.txz: 100%    3 MB 494.8k/s    00:06
Fetching php5-session-5.4.35.txz: 100%   30 KB  30.8k/s    00:01
Fetching php5-5.4.35.txz: 100%    2 MB 484.9k/s    00:04
Fetching libxml2-2.9.2_2.txz: 100%  756 KB 387.3k/s    00:02
Fetching pcre-8.35_1.txz: 100%    1 MB 356.9k/s    00:03
Fetching php5-xml-5.4.35.txz: 100%   21 KB  21.4k/s    00:01
Fetching php5-dom-5.4.35.txz: 100%   59 KB  60.4k/s    00:01
Fetching php5-filter-5.4.35.txz: 100%   20 KB  20.5k/s    00:01
Fetching php5-json-5.4.35.txz: 100%   17 KB  17.2k/s    00:01
Fetching pecl-intl-3.0.0_1.txz: 100%  114 KB 116.7k/s    00:01
Fetching icu-53.1.txz: 100%   13 MB 485.5k/s    00:27
Fetching php5-pdo_mysql-5.4.35.txz: 100%   17 KB  17.0k/s    00:01
Fetching php5-pdo-5.4.35.txz: 100%   45 KB  46.2k/s    00:01
Fetching php5-mysql-5.4.35.txz: 100%   19 KB  19.1k/s    00:01
Fetching php5-mbstring-5.4.35.txz: 100%  716 KB 366.6k/s    00:02
Fetching oniguruma4-4.7.1_1.txz: 100%  148 KB 151.1k/s    00:01
Fetching php5-iconv-5.4.35.txz: 100%   18 KB  18.3k/s    00:01
Fetching libiconv-1.14_4.txz: 100%  589 KB 603.2k/s    00:01
Fetching php5-zip-5.4.35.txz: 100%   39 KB  39.6k/s    00:01
Checking integrity... done (0 conflicting)
[1/19] Installing libxml2-2.9.2_2: 100%
[2/19] Installing pcre-8.35_1: 100%
[3/19] Installing php5-5.4.35: 100%
[4/19] Installing icu-53.1: 100%
[5/19] Installing php5-pdo-5.4.35: 100%
[6/19] Installing php5-mysql-5.4.35: 100%
[7/19] Installing oniguruma4-4.7.1_1: 100%
[8/19] Installing libiconv-1.14_4: 100%
[9/19] Installing php5-session-5.4.35: 100%
[10/19] Installing php5-xml-5.4.35: 100%
[11/19] Installing php5-dom-5.4.35: 100%
[12/19] Installing php5-filter-5.4.35: 100%
[13/19] Installing php5-json-5.4.35: 100%
[14/19] Installing pecl-intl-3.0.0_1: 100%
[15/19] Installing php5-pdo_mysql-5.4.35: 100%
[16/19] Installing php5-mbstring-5.4.35: 100%
[17/19] Installing php5-iconv-5.4.35: 100%
[18/19] Installing php5-zip-5.4.35: 100%
[19/19] Installing roundcube-1.0.3,1: 100%

PHPが使われているので、Apache22を利用することにします。

# pkg install apache22
Updating FreeBSD repository catalogue...
FreeBSD repository is up-to-date.
All repositories are up-to-date.
The following 8 packages will be affected (of 0 checked):

New packages to be INSTALLED:
        apache22: 2.2.29_2
        expat: 2.1.0_1
        perl5: 5.16.3_11
        apr: 1.5.1.1.5.4
        gdbm: 1.11_2
        indexinfo: 0.2
        gettext: 0.18.3.1_1
        db5: 5.3.28_2

The process will require 124 MB more space.
30 MB to be downloaded.

Proceed with this action? [y/N]: y
Fetching apache22-2.2.29_2.txz: 100%    2 MB 425.4k/s    00:06
Fetching expat-2.1.0_1.txz: 100%   97 KB  99.6k/s    00:01
Fetching perl5-5.16.3_11.txz: 100%   13 MB 477.6k/s    00:28
Fetching apr-1.5.1.1.5.4.txz: 100%  394 KB 403.0k/s    00:01
Fetching gdbm-1.11_2.txz: 100%  141 KB 144.5k/s    00:01
Fetching indexinfo-0.2.txz: 100%    5 KB   4.9k/s    00:01
Fetching gettext-0.18.3.1_1.txz: 100%    2 MB 426.2k/s    00:05
Fetching db5-5.3.28_2.txz: 100%   12 MB 530.1k/s    00:24
Checking integrity... done (0 conflicting)
[1/8] Installing indexinfo-0.2: 100%
[2/8] Installing gettext-0.18.3.1_1: 100%
[3/8] Installing expat-2.1.0_1: 100%
[4/8] Installing gdbm-1.11_2: 100%
[5/8] Installing db5-5.3.28_2: 100%
[6/8] Installing perl5-5.16.3_11: 100%
[7/8] Installing apr-1.5.1.1.5.4: 100%
===> Creating users and/or groups.
Using existing group 'www'.
Using existing user 'www'.
[8/8] Installing apache22-2.2.29_2: 100%
/usr/local/share/examples/apache22/httpd.conf -> /usr/local/etc/apache22/httpd.conf

次に、MySQLを入れる前提になっているみたいなので、以前と同じくSQLiteに変更するべく、portsで入れ直しします。

# cd /usr/ports/mail/roundcube
# make config

SSLのチェック追加とSQLiteにDB選択を変更します。

では、コンパイルし直します。

# make reinstall
# make clean
===>  Cleaning for php5-pdo_sqlite-5.4.35_1
===>  Cleaning for php5-openssl-5.4.35
===>  Cleaning for autoconf-2.69
===>  Cleaning for sqlite3-3.8.7.2
===>  Cleaning for m4-1.4.17_1,1
===>  Cleaning for help2man-1.43.3_1
===>  Cleaning for gmake-4.1_1
===>  Cleaning for autoconf-wrapper-20131203
===>  Cleaning for p5-Locale-gettext-1.05_3
===>  Cleaning for gmake-lite-4.1_1
===>  Cleaning for roundcube-1.0.3,1

こんな感じに入りました。
余計に入っていた物もついに削除しておきます。

# pkg delete php5-mysql
Updating database digests format: 100%
Checking integrity... done (0 conflicting)
Deinstallation has been requested for the following 2 packages (of 0 packages in the universe):

Installed packages to be REMOVED:
        php5-mysql-5.4.35
        php5-pdo_mysql-5.4.35 (depends on php5-mysql-5.4.35)

The operation will free 134 KB.

Proceed with deinstalling packages? [y/N]: y
[1/2] Deleting php5-pdo_mysql-5.4.35: 100%
[2/2] Deleting php5-mysql-5.4.35: 100%

では、Apache系の設定の続きです。
make.conf に追加を入れます。

# echo "DEFAULT_VERSIONS+=apache=2.2" >> /etc/make.conf

/etc/rc.confに以下を追加します。
また、hostsにはホスト名を加えておきます。

# apache22
apache22_enable="YES"
apache22_http_accept_enable="YES"

ひとまず、サービスを上げます。

# service apache22 start
Performing sanity check on apache22 configuration:
Syntax OK
Starting apache22.
/usr/local/etc/rc.d/apache22: WARNING: failed to start apache22

問題無く動作していることを確認。
/usr/local/etc/apache22/Includes/roundcube.conf
を追加して動作するように追加してみた。

Alias /roundcube/ "/usr/local/www/roundcube/"
<Directory "/usr/local/www/roundcube">
   AllowOverride   None
   Options None
   Order   allow,deny
   Allow   from 192.168.0.
   DirectoryIndex index.php
</Directory>

これも手っ取り早く、こんな感じに。サービスをrestartしてエラーのないことを確認する。
PHPが動作していない状態を確認。これは毎度なので、設定を加える。
/usr/local/etc/apache22/httpd.confに以下を加える。

LoadModule php5_module        libexec/apache22/libphp5.so
...

    AddType application/x-httpd-php .php
    AddType application/x-httpd-php-source .phps

...
# PHP
<FilesMatch "\.php$">
    SetHandler application/x-httpd-php
</FilesMatch>
<FilesMatch "\.phps$">
    SetHandler application/x-httpd-php-source
</FilesMatch>

という感じに。
次は、libphp5.soがないという流れになるはずなので、mod_php5を導入する。
pkgでつっこむと、apache24も巻き込んで入れに来てしまうので、portsでつっこむことにする。

# cd /usr/ports/www/mod_php5
# make install clean
# service apache22 restart

これでPHP関連は良いことにする。
php.iniなどは後で適当に設定することにしました。

次は、roudcubeの方。

# cd /usr/local/www/roundcube/config
# cp -p config.inc.php.sample config.inc.php
# vi config.inc.php

MySQLを前提で書かれているので、1行をコメントにして、以下のように書き換えます。

$config['db_dsnw'] = 'sqlite:////var/db/roundcube/roundcube.db?mode=0646';
// $config['db_dsnw'] = 'mysql://roundcube:pass@localhost/roundcubemail';

 上記に合わせた形でDBの設置場所を準備します。

# mkdir /var/db/roundcube
# chown www:www /var/db/roundcube
# cd /var/db/roundcube
# sqlite3 -init /usr/local/www/roundcube/SQL/sqlite.initial.sql roundcube.db
-- Loading resources from /usr/local/www/roundcube/SQL/sqlite.initial.sql

SQLite version 3.8.7.2 2014-11-18 20:57:56
Enter ".help" for usage hints.
sqlite> .quite
# chown www roundcube.db

こんな感じに。一度ページにアクセスしてみます。
http://192.168.0.16/roundcube/ のように。

 表示されてきました。
以前は、接続するサーバの項目もあったのですが、今回それは無くなっているようでした。

http://192.168.0.16/roundcube/installer/ にアクセスしましょう。

 以上のように設定を変えてアクセスし直せといってくるので、仰せの通りに。
/usr/local/www/roundcube/config のconfig.inc.php を最後の行に加えて保存。
再度アクセスしてみましょう。

この辺りは、以前と変わっていない。
…というか設定画面がスキップされた。なんでだろう?
http://192.168.0.16/roundcube/installer/index.php?_step=2 を直接アクセスして入れてみます。

試しに設定を入れてみます。
これは自動で作成してくれないってことかな?
この内容に ?>を加えて、config.inc.phpに上書きでコピーしろということだね。
まぁ、該当箇所に値を入れれば良いということでもあるわけだが、これウェブ画面必要だったんだろうか。

一応アクセスしてみる。

受信は大丈夫そう。
送信を試すと
認証エラー。

送信時の認証情報を入れる必要があるっぽい。
あ、クリックを入れたつもりが入っていなかったっぽい。
サンプルで入っていたconfig.inc.phpだと、以下のようになっていました。

// SMTP username (if required) if you use %u as the username Roundcube
// will use the current username for login
$config['smtp_user'] = '';

// SMTP password (if required) if you use %p as the password Roundcube
// will use the current user's password for login
$config['smtp_pass'] = '';

なので、この2行を加えて見ることにしました。

$config['smtp_user'] = '%u';
$config['smtp_pass'] = '%p';

今度はメールの送信ができるようになりました。
確認してみましたが、問題なく読めるメールになっていました。

感想としては、少し重いですね。表示されるまでの時間がもっさり感があります。
以前の方がきびきびしていたように思います。

SSLで利用する

 画面はSSL通信ではないとやっぱり気持ちが悪いので、これを変更しておきます。
この辺りは、mailpileでも同じ設定をしているので、そっちのページで参照してください。
同じ設定をしました。思いっきり割愛しちゃいます。

時刻表示が海外のままなので、この辺りは設定ファイルに追加をしました。
最後にまとめの際に、追加した設定やプラグインなどについて書く予定です。

 gmail以外の設定

自分のドメインのウェブメール

 gmailは元々ウェブSSLで見れるので、これをわざわざこれで見る必要もないわけで、他のメールをこれを使って参照することにします。
また、自分のホストだけのimapdを動作させて、参照するでもやろうと思ったのですが、ちょっとその準備には時間が必要なので、
今日はここでページを更新アップしてしまおうと思います。

#続く#

 #続く#

【改訂履歴】作成:2014/11/24 更新:

【参考リンク】

Roundcube - Free and Open Source Webmail Software…オフィシャルページ

Copyright © 1996,1997-2006,2007- by F.Kimura,