Roundcube Mail(Webメールサーバ)構築¶
簡易構築¶
ここではとりあえず使えるようにする場合を想定します。
オプション機能はある程度は有効にします。
前提条件¶
前提条件として、次のソフトウェアが必要になります。
DBはMySQL、PostgreSQL、MSSQLが利用できますが、今回はMySQLとします。
また、既存のメールサーバが存在しない場合には、下記の
メールサーバ環境も必要になります。
加えて、ウェブブラウザで情報をやりとりするため、
可能な限りOpenSSLを使用し、ApacheでHTTPS暗号化通信
を行えるようにしておくことが望ましいでしょう。
参考(下記に加え、virtualhostで443ポートを設定する必要があります)
セキュア暗号化通信を設定する(SSL)
インストール¶
上記ページによる前提条件の導入を済ませた状態とします。
パッケージについては、大きな変更ではないのですが
日本語文字化けを修正した当サイト改修版を使用します。
(恐らくメジャーバージョンが同一場合、オフィシャル版
でも条件は変わらないと思います)
- ここでは例として、「/usr/local/roundcube」に設置します。
# mkdir /usr/local/work # cd /usr/local/work # wget http://nanako-net.info/wp-content/uploads/2010/05/roundcube-0.5.2-nni.zip # unzip roundcube-0.5.2-nni.zip # cp -Rp roundcube-0.5.2-nni ../roundcube
データベースの作成¶
- ここでは下記の設定とする。
・DB「roundcube」
・DBユーザ「rc_user」
・DBユーザパスワード「password」# mysql -u root -p Enter password:(パスワードを入力) mysql> create database roundcube default character set=utf8; Query OK, 1 row affected (0.01 sec) mysql> grant all privileges on roundcube.* to "rc_user"@"localhost" identified by "password"; Query OK, 0 rows affected (0.01 sec) mysql> flush privileges; Query OK, 0 rows affected (0.01 sec) mysql> quit Bye # cd /usr/local/roundcube # mysql roundcube -u rc_user -p < SQL/mysql.initial.sql Enter password:(パスワードを入力)
設定¶
下記のファイルを変更する。
- config/db.inc.php
- データベース設定ファイル
- config/main.inc.php
- 基本設定ファイル
- /etc/httpd/conf/httpd.conf
- WEBサーバ基本設定ファイル
- WEBサーバ基本設定ファイル
- データベース設定
# cd /usr/local/roundcube # vi config/db.inc.php ------------------------------------------------------ # 変更箇所のみ記載 $rcmail_config['db_dsnw'] = 'mysql://rc_user:password@localhost/roundcube';
- 基本設定
# cd /usr/local/roundcube # vi config/main.inc.php ------------------------------------------------------ # 変更箇所のみ記載 $rcmail_config['mail_domain'] = 'example.co.jp'; (←自分のドメイン名を指定する) $rcmail_config['enable_installer'] = true; $rcmail_config['support_url'] = 'http://example.co.jp';
- WEBサーバ設定
「http://localhost/roundcube」として設定する。# vi /etc/httpd/conf/httpd.conf ------------------------------------------------------ # 変更箇所のみ記載 ServerAdmin root@localhost ServerName example.co.jp:80 NameVirtualHost *:80 <VirtualHost _default_:80> ServerAdmin root@example.co.jp DocumentRoot /var/www/html ServerName www.example.co.jp:80 ErrorLog logs/virtualhost80-error.log CustomLog logs/virtualhost80-custom.log common Alias /roundcube /usr/local/roundcube <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory "/usr/local/roundcube"> AllowOverride All DirectoryIndex index.php index.html index.htm </Directory> </VirtualHost>
- roundcubeの所有権をWEBサーバにして、WEBサーバを起動する。
# chown -R apache.apache /usr/local/roundcube # service httpd start httpd を起動中: [ OK ] # chkconfig httpd on # chkconfig --list httpd httpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
初回起動、不足機能確認¶
- wordpressは初回のwebアクセス時に、ブラウザで設定や不足パッケージの確認を
行えるようになっている。ここまでの設定が完了している場合、WEBブラウザで
アクセスを行いながら、残りの作業を行う。(WEBブラウザでアクセス) http://サーバのIPアドレス/roundcube/installer
- phpの機能として、必須ではないが「FileInfo」が足りない
- phpの機能として、必須ではないが「Intl」が足りない
- php.iniの「date.timezone」がよろしくない
とのことなので、順番に対応していってみる。
- 「FileInfo」導入
以下にrpmがあるので、ダウンロードして導入する。# wget http://rpms.famillecollet.com/enterprise/5/olds/x86_64/php-pecl-Fileinfo-1.0.4-3.el5.remi.x86_64.rpm # rpm -ivh *.rpm
- 「Intl」導入
非常に面倒なので省略する。(php5.3ならば、デフォルトで有効になっている)
どうしてもやりたい人はこちら。 PHP-PEAR(pecl)のインストール
- php.iniのタイムゾーン設定
# vi /etc/php.ini ------------------------------------------------------ # 変更箇所のみ記載 date.timezone = Asia/Tokyo
- ここまで設定したら、httpdを再起動する。
# service httpd restart
- 最終チェック
口惜しいが、「Intl」以外がOKになっていることを確認し、次へ。
(PHP-PEAR(pecl)のインストール をやった人は全部OKになる)
- コンフィグファイル生成は、既に手動で作成しているのでスキップされる。
- 最後にコンフィグのテストを行う事が出来る。
サーバが「localhost」であること、メールサーバ構築で作成した
「test01」ユーザでログインできることが確認できれば問題無い。
- なお、最後にインストーラを削除する旨が赤枠で記載されている。
セキュリティ的にも望ましくないので、フォルダの削除か退避を
行うこと。
# rm -rf /usr/local/roundcube/installer
動作確認¶
- 改めて、次のアドレスにアクセスする。
「http://サーバのIPアドレス/roundcube」
- 警告が表示されず、先ほどテストしたアカウントでログインが出来ること。
以上、おつかれさまでした。
¶
¶