最後更新: 2018-12-21
目錄
- Install
- Apache 設定
Install
Debian6: 只能安 roundcube 7.3
原因:
以下 pecl 安裝唔到
- Net_SMTP
- Net_IDNA2
- Mail_mime
# C7
yum install php-pear-Auth-SASL php-pear-Mail-Mime php-pear-Net-SMTP php-pear-Net-IDNA2
Troubleshoot
在 Debian 與到 Error
[31-May-2012 09:28:30] MDB2 Error: not found (-4): unable to find package 'MDB2_Driver_mysql' file 'MDB2/Driver/mysql.php'
解決:
pear install MDB2_Driver_mysql
Centos6 安裝
準備:
php extension:
php-intl
安裝:
把最新的 tar.gz 放到 /usr/share
soft link 它到 roundcubemail
設定目錄 permission:
cd roundcubemail
chown apache. temp logs
chmod 770 temp logs
到 http://xxx/installer 建立設定檔
upload db.inc.php main.inc.php 到 config 目錄
設定目錄 permission
cd config
chmod 640 *
chgrp apache *
回到 http://xxx/installer 測試
測試成功後, 把 installer 的 permission 改成 000
cd ..
chmod 000 installer
Apache 設定
# Apache 2.4
<Directory ${WebmailRoot}> Require ip 127.0.0.1 Require all granted # php80 <FilesMatch ".+\.php$"> SetHandler application/x-httpd-php SetHandler "proxy:fcgi://127.0.0.1:9080" </FilesMatch> Options -Indexes <FilesMatch "(config.inc.php|composer.*|\.bak)"> Require all denied </FilesMatch> </Directory> <Directory "${WebmailRoot}/bin"> Require all denied </Directory> <Directory "${WebmailRoot}/config"> Require all denied </Directory> <Directory "${WebmailRoot}/installer"> Require all denied </Directory> <Directory "${WebmailRoot}/logs"> Require all denied </Directory> <Directory "${WebmailRoot}/temp"> Require all denied </Directory> <Directory "${WebmailRoot}/SQL"> Require all denied </Directory> <Directory "${WebmailRoot}/vendor"> Require all denied </Directory>
# Apache 2.2
roundcubemail.conf
Alias /mail "/var/www/roundcubemail/" Alias /webmail "/var/www/roundcubemail/" <Directory "/var/www/roundcubemail/"> Order allow,deny Allow from all Options -Indexes </Directory> <Directory "/var/www/roundcubemail/config"> Deny from all </Directory> <Directory "/var/www/roundcubemail/temp"> Deny from all </Directory> <Directory "/var/www/roundcubemail/logs"> Deny from all </Directory>
Nginx 設定
# ACL location ~ ^/mail/(bin|config|installer|logs|SQL|temp|vendor)($|/.*) { deny all; } location ~ ^/mail/(CHANGELOG|composer.json|INSTALL|jsdeps.json|LICENSE|README|UPGRADING)($|.*) { deny all; } location ~ ^/mail/plugins/.*/config.inc.php.* { deny all; } location ~ ^/mail/plugins/enigma/home($|/.*) { deny all; } # 用戶可以鍵入小尾的 "/" location = /mail { return 301 /mail/; } # 執行 php location ~ ^/mail/(.*\.php)$ { include /etc/nginx/templates/hsts.tmpl; include /etc/nginx/templates/fastcgi_php.tmpl; fastcgi_param SCRIPT_FILENAME /opt/www/roundcubemail/$1; } # Folder map 到其他地方, 而不是 "root path_to_root;" 入面 location ~ ^/mail/(.*) { alias /opt/www/roundcubemail/$1; index index.php; }
Upgrade (0.9.5 up to 1.0.3)
Step1: 升級 DB
- backup 原本的 DB 資料 ( mysqldump -u roundcube roundcube -p > backup.sql )
- 更新 DB schema
在 /var/www/roundcubemail-1.0.3/SQL/mysql 內有
2011121400.sql -- Updates from version 0.7
2012080700.sql
2013011000.sql
.........................
Step2: Replace the configuration defaults files:
- config/defaults.inc.php
- config/mimetypes.php
chown www-data config
Step3: 更新 soft link
cd /usr/share
ls -n /usr/share/roundcubemail-0.9.5-dep roundcubemail
Step4: http://xxx/webmail/installer
RCUBE_CONFIG_DIR/main.inc.php
$rcube_config['enable_installer'] = true;
- 建立 config.inc.php
- 把新的 config.inc.php 放到 config/config.inc.php
整過個程:
- Check environment
- Create config
- Check config file
- Check DB config
Version(roundcube & php)
1.4.9
支援手機界面
0.9.5-dep
PHP Version 5.2.1
.htaccess support
PEAR packages
Net_SMTP: NOT OK(Failed to load Net/SMTP.php; See http://pear.php.net/package/Net_SMTP) <-- pear install Net_SMTP
Net_IDNA2: NOT OK(Failed to load Net/IDNA2.php; See http://pear.php.net/package/Net_IDNA2)
Mail_mime: NOT OK(Failed to load Mail/mime.php; See http://pear.php.net/package/Mail_mime)
0.7.4-dep
PHP Version 5.2.1
0.5.4-dep
PHP Version 5.2.1