Cài đặt Horde 5 Webmail cho ISPConfig trên Debian Jessie thông qua PEAR

theanh

Administrator
Nhân viên
Horde là một bộ phần mềm nhóm cung cấp email, lịch, tác vụ, quản lý danh bạ và nhiều thứ khác. Nó cũng cung cấp SyncML và ActiveSync để đồng bộ hóa với điện thoại di động hoặc phần mềm khác của bạn. Bạn có thể tìm hiểu thêm về Horde trên trang web của họ: http://www.horde.org/

Hướng dẫn này giả định rằng bạn đã làm theo cài đặt ISPConfig 3 cho Debian Jessie (Apache2, Bind, Dovecot) và tất cả các gói ở đó.


1. Cài đặt các gói cần thiết​

Mã:
apt-get install php5-sasl php5-intl libssh2-php php5-curl php-http php5-xmlrpc php5-geoip php5-ldap php5-memcache php5-memcached php5-tidy

2. Xóa các gói xung đột​

Gói php5-xcache không hoạt động với Horde. Thay vì php5-xcache, một trong những công cụ bộ nhớ đệm khác có thể được sử dụng như memcache.
Mã:
apt-get remove php5-xcache

3. Đăng ký kênh Horde Pear​

Mã:
pear channel-discover pear.horde.org

4. Thiết lập thư mục cài đặt Horde​

Mã:
pear install horde/horde_role
pear run-scripts horde/horde_role
Bạn sẽ được hỏi câu hỏi sau:

Cài đặt hệ thống tệp cho ứng dụng Horde cơ sở: /var/www/horde

Bạn cũng có thể chọn một thư mục khác cho các tệp horde có thể truy cập qua web. Tuy nhiên, sau đó bạn sẽ cần điều chỉnh đường dẫn theo các bước sau.


5. Cài đặt Horde Groupware Webmail Edition​

Mã:
pear install -a -B horde/webmail
Quá trình này mất một lúc và sẽ có một số lỗi liên quan đến các gói pear bị thiếu. Những lỗi đó sẽ được sửa sau.


6. Tạo cơ sở dữ liệu MySQL​

Tập lệnh cài đặt Horde sẽ không tự tạo cơ sở dữ liệu MySQL. Vì vậy, trước tiên chúng ta phải tạo nó và người dùng tương ứng.

Nhập shell MySQL dưới dạng
Mã:
mysql -u root -p
Sau khi nhập, hãy tạo cơ sở dữ liệu và người dùng 'horde' với mật khẩu 'MẬT KHẨU'. Nếu bạn muốn thay đổi tên cơ sở dữ liệu, tên người dùng, hãy thay đổi thông tin tương ứng. Tất nhiên là hãy đặt mật khẩu của riêng bạn.
Mã:
CREATE DATABASE horde;
GRANT ALL ON horde.* TO horde@localhost IDENTIFIED BY 'PASSWORD';
FLUSH PRIVILEGES;
Thoát khỏi MySQL Shell một lần nữa
Mã:
exit;

7. Chạy tập lệnh cài đặt​

Mã:
webmail-install
Bạn sẽ được hỏi những câu hỏi sau:

Chúng ta nên sử dụng cơ sở dữ liệu phụ trợ nào? mysql

Tên người dùng để kết nối với cơ sở dữ liệu là: Tên người dùng bạn đã đặt ở bước trước

Mật khẩu để kết nối: Mật khẩu bạn đã đặt ở bước trước

Chúng ta nên kết nối với cơ sở dữ liệu như thế nào? unix

Vị trí của socket UNIX: Chỉ cần nhấn [enter]

Tên cơ sở dữ liệu để sử dụng: Tên cơ sở dữ liệu bạn đã đặt ở bước trước

Bộ ký tự được sử dụng nội bộ: utf-8

Sử dụng SSL để kết nối với máy chủ: 0 *

Cơ quan cấp chứng chỉ để sử dụng cho kết nối SSL: Chỉ cần nhấn [enter]

Chia tách các lần đọc sang một máy chủ khác? false

Chỉ định người dùng email hiện tại mà bạn muốn cấp quyền quản trị viên (tùy chọn): [emailprotected] **

* Chỉ đặt SSL thành 1 nếu bạn có thể cung cấp cho mỗi tên miền một chứng chỉ SSL.

** Chọn một người dùng email hiện tại. Sau đó, người dùng đó có quyền cấu hình từ chính Horde. Quyền này là cần thiết để tạo các tệp cấu hình ban đầu.


8. Tạo thư mục phptmp tùy chỉnh và chown thư mục horde cho người dùng Apache​

Mã:
mkdir /var/www/horde/phptmp/
chown -R www-data:www-data /var/www/horde

9. Thêm các thành phần PEAR bổ sung​

Mã:
kênh cài đặt lê://pear.php.net/Console_GetoptPlus-1.0.0RC1
kênh cài đặt lê horde/Horde_ManageSieve
kênh cài đặt lê://pear.php.net/XML_Serializer-0.20.2
kênh cài đặt lê://pear.php.net/Date_Holidays-0.21.8
kênh cài đặt lê://pear.php.net/Text_LanguageDetect-0.3.0
kênh cài đặt lê/HTTP_Request2
kênh cài đặt lê://pear.php.net/Console_Color2-0.1.2
kênh cài đặt lê://pear.php.net/Numbers_Words-0.18.1
kênh cài đặt lê://pear.php.net/Image_Text-0.7.0
kênh cài đặt lê pear/Console_Getargs

10. Thêm lịch nghỉ lễ PEAR địa phương (tùy chọn)​

Có một số lịch nghỉ lễ đã có sẵn trong PEAR. Theo mặc định, chúng không được cài đặt. Chọn một hoặc nhiều lịch sau nếu bạn muốn cài đặt chúng. Điều này cho phép trong Horde Kronolith (=calendar) hiển thị các ngày lễ cho quốc gia đó. Tất nhiên, bạn cũng có thể thêm lịch tùy chỉnh của riêng mình vào cài đặt PEAR.
Mã:
pear install channel://pear.php.net/Date_Holidays_Australia-0.2.2
pear install channel://pear.php.net/Date_Holidays_Austria-0.1.6
pear install channel://pear.php.net/Date_Holidays_Brazil-0.1.2
pear install channel://pear.php.net/Date_Holidays_Croatia-0.1.1
pear install channel://pear.php.net/Date_Holidays_Czech-0.1.0
pear install channel://pear.php.net/Date_Holidays_Denmark-0.1.3
pear install channel://pear.php.net/Date_Holidays_Discordian-0.1.1
pear install kênh://pear.php.net/Date_Holidays_EnglandWales-0.1.5
pear cài đặt kênh://pear.php.net/Date_Holidays_Finland-0.1.2
pear cài đặt kênh://pear.php.net/Date_Holidays_Germany-0.1.2
pear cài đặt kênh://pear.php.net/Date_Holidays_Iceland-0.1.2
pear cài đặt kênh://pear.php.net/Date_Holidays_Ireland-0.1.3
pear cài đặt kênh://pear.php.net/Date_Holidays_Italy-0.1.1
pear cài đặt kênh://pear.php.net/Date_Holidays_Japan-0.1.3
pear cài đặt kênh://pear.php.net/Date_Holidays_Netherlands-0.1.4
pear cài đặt kênh://pear.php.net/Date_Holidays_Norway-0.1.2
cài đặt kênh://pear.php.net/Date_Holidays_PHPdotNet-0.1.2
cài đặt kênh://pear.php.net/Date_Holidays_Portugal-0.1.1
cài đặt kênh://pear.php.net/Date_Holidays_Romania-0.1.2
cài đặt kênh://pear.php.net/Date_Holidays_SanMarino-0.1.1
cài đặt kênh://pear.php.net/Date_Holidays_Serbia-0.1.0
cài đặt kênh://pear.php.net/Date_Holidays_Slovenia-0.1.2
cài đặt kênh://pear.php.net/Date_Holidays_Spain-0.1.4
lồng ghép kênh://pear.php.net/Date_Holidays_Sweden-0.1.3
lồng ghép kênh://pear.php.net/Date_Holidays_Turkey-0.1.1
lồng ghép kênh://pear.php.net/Date_Holidays_Ukraine-0.1.2
lồng ghép kênh://pear.php.net/Date_Holidays_UNO-0.1.3
lồng ghép kênh://pear.php.net/Date_Holidays_USA-0.1.1
lồng ghép kênh://pear.php.net/Date_Holidays_Venezuela-0.1.1

11. Tạo /etc/apache2/conf-available/horde.conf với nội dung sau​

Mã:
Alias /Microsoft-Server-ActiveSync /var/www/horde/rpc.phpAlias /horde /var/www/horde Options +FollowSymLinks AllowOverride All Require all granted AddType application/x-httpd-php .php php_value include_path ".:/usr/share/php" php_value open_basedir "none" php_value upload_tmp_dir "/var/www/horde/phptmp/"
Sau đó kích hoạt đoạn mã cấu hình apache mới này:
Mã:
a2enconf horde

12. Khởi động lại apache​

Mã:
/etc/init.d/apache2 restart

13. Chỉnh sửa /var/www/horde/config/conf.php và đặt​

Mã:
$conf['testdisable'] = false;

14. Mở trang kiểm tra horde trên bất kỳ tên miền nào​

Mã:
http://www.domain.com/horde/test.php
Bây giờ hầu hết các cài đặt đều ổn. Tuy nhiên, bạn có thể muốn thay đổi một số thứ thu gom rác php mặc định.

Chỉnh sửa lại /var/www/horde/conf/conf.php và vô hiệu hóa trang kiểm tra
Mã:
$conf['testdisable'] = true;

15. Sửa tùy chọn BaseRewrite​

Cài đặt mặc định sẽ không nhận dạng đúng tùy chọn BaseRewrite và khiến Nag không thể thêm/sửa mục nhập. Để sửa lỗi này, bạn cần chỉnh sửa tệp /var/www/horde/.htaccess và tìm kiếm
Mã:
 RewriteEngine On RewriteRule .* - [env=HTTP_AUTHORIZATION:%{HTTP:Authorization}] RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ rampage.php [QSA,L]
và thay thế toàn bộ khối bằng khối này
Mã:
 RewriteEngine On RewriteBase /horde RewriteRule .* - [env=HTTP_AUTHORIZATION:%{HTTP:Authorization}] RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ rampage.php [QSA,L]
Lưu ý: Khi bạn cập nhật Horde, tệp này có thể bị ghi đè. Trong trường hợp đó, chỉ cần chỉnh sửa lại.


16. Cho phép người dùng thay đổi mật khẩu của họ từ Horde (tùy chọn)​

Horde có thể cho phép mọi người thay đổi mật khẩu ISPConig của họ từ bên trong Horde. Đối với điều này, Horde cung cấp một tiện ích bổ sung Passwd cần được cấu hình để hoạt động với ISPConfig

Cài đặt tiện ích bổ sung và chown nó cho người dùng Apache:
Mã:
pear install -a -B horde/passwd
chown -R www-data:www-data /var/www/horde/passwd
Horde cũng cung cấp một cách đơn giản để thay đổi các tệp cấu hình bằng các giá trị cục bộ. Điều này được thực hiện bằng cách sao chép một tệp cấu hình hiện có (ví dụ: conf.php) vào conf.local.php. Điều này có thể hữu ích nếu bạn muốn thay đổi cài đặt tùy chọn mặc định của một số ứng dụng Horde, ví dụ: sử dụng đồng hồ 24 giờ theo mặc định. Vì vậy, bạn có thể cung cấp cấu hình bắt đầu đồng nhất cho người dùng mới. Tương tự như vậy đối với tiện ích bổ sung Passwd. Bằng cách sử dụng tệp cấu hình cục bộ, chúng tôi đảm bảo rằng bản cập nhật horde trong tương lai sẽ không ghi đè lên các thiết lập của chúng tôi.
Mã:
cp -a /var/www/horde/passwd/config/backends.php /var/www/horde/passwd/config/backends.local.php
Lệnh trên chỉ có một dòng.

Bây giờ hãy chỉnh sửa tệp /var/www/horde/passwd/config/backends.local.php và tìm kiếm
Mã:
$backends['sql'] = array ( 'disabled' => false, 'name' => 'SQL Server', [...] // 'query_lookup' => 'SELECT user_pass FROM horde_users WHERE user_uid = %u', // 'query_modify' => 'UPDATE horde_users SET user_pass = %e WHERE user_uid = %u', ),);
và thay thế toàn bộ khối bằng khối này
Mã:
$backends['sql'] = array ( 'disabled' => false, 'name' => 'SQL Server', 'preferred' => '', 'policy' => array( 'minLength' => 7, 'maxLength' => 64, 'maxSpace' => 0, 'minNumeric' => 1, ), 'driver' => 'Sql', 'params' => array( 'phptype' => 'mysql', 'hostspec' => 'localhost', 'username' => 'root', 'password' => '***', 'encryption' => 'crypt-md5', 'database' => 'ISPCONFIG_DATABASE', 'table' => 'mail_user', 'user_col' => 'email', 'pass_col' => 'password', 'show_encryption' => false // Hai thiết lập sau cho phép bạn chỉ định các truy vấn tùy chỉnh để // tra cứu và sửa đổi các hàm nếu cần thực hiện các hàm đặc biệt. Ở những nơi cần sử dụng // tên người dùng hoặc mật khẩu, hãy tham khảo tham chiếu giữ chỗ này: //%d -> được thay thế bằng tên miền //%u -> được thay thế bằng người dùng //%U -> được thay thế bằng người dùng không có phần tên miền //%p -> được thay thế bằng mật khẩu dạng văn bản thuần túy //%e -> được thay thế bằng mật khẩu được mã hóa // // 'query_lookup' => 'SELECT user_pass FROM horde_users WHERE user_uid = %u', // 'query_modify' => 'UPDATE horde_users SET user_pass = %e WHERE user_uid = %u', ),);
Tất nhiên, hãy thay thế mật khẩu bằng mật khẩu MySQL gốc và đổi tên cơ sở dữ liệu thành tên cơ sở dữ liệu ISPConfig của bạn. Sau khi thay đổi, bạn có thể sử dụng công cụ Passwd để đổi mật khẩu từ bên trong Horde.

Phần chính sách cho phép bạn thiết lập nhiều tùy chọn khác nhau về mật khẩu phải trông như thế nào. Trong thiết lập này, mật khẩu phải có ít nhất 7 ký tự và phải chứa ít nhất 1 số và không có khoảng trắng. Kiểm tra phần đầu của tệp này để tìm hiểu những tùy chọn khác.


17. Những điều cuối cùng​

Sau khi bạn đã thực hiện tất cả các thay đổi, hãy đăng nhập bằng người dùng quản trị cho horde. Người dùng email bạn thiết lập trong quá trình thiết lập tập lệnh webmail-install. Sau khi đăng nhập, hãy vào phần quản trị, sau đó vào cấu hình horde và tạo tất cả các cấu hình cần thiết. Để bắt đầu, bạn có thể sử dụng nút chỉ tạo tất cả hoặc bạn có thể chọn tự xem lại cấu hình cho từng ứng dụng horde và áp dụng các thay đổi mà bạn muốn.

Horde cũng cung cấp thêm các ứng dụng khác. Truy cập http://www.horde.org/apps để xem có gì ở đó.

Horde cũng cung cấp nguồn cấp RSS để bạn được thông báo về các phiên bản mới hơn và để cập nhật, hãy xem tại đây: http://www.horde.org/apps/webmail/docs/UPGRADING
 
Back
Bên trên