웹사이트 검색

PEAR를 통해 Debian Jessie에 ISPConfig용 Horde 5 웹메일 설치


이 페이지에서

  1. 1. 필요한 패키지 설치\n
  2. 2. 충돌하는 패키지 제거\n
  3. 3. Horde Pear 채널 등록
  4. 4. Horde 설치 디렉토리 설정
  5. 5. 호드 그룹웨어 웹메일 에디션 설치\n
  6. 6. MySQL 데이터베이스 생성
  7. 7. 설치 스크립트 실행\n
  8. 8. 사용자 정의 phptmp 폴더 및 chown horde 폴더를 Apache 사용자에게 생성
  9. 9. 추가 PEAR 구성 요소 추가
  10. 10.현지 PEAR 휴일 캘린더 추가(선택 사항)\n
  11. 11. 다음 내용으로 생성
  12. 12. 아파치 재시작
  13. 13. 편집 및 설정
  14. 14. 모든 도메인에서 호드 테스트 페이지 열기\n
  15. 15. BaseRewrite 옵션 수정
  16. 16. 사용자가 Horde에서 암호를 변경하도록 허용(선택 사항)\n
  17. 17. 마지막 것

Horde는 이메일, 일정, 작업, 연락처 관리 등을 제공하는 그룹웨어 제품군입니다. 또한 휴대폰이나 기타 소프트웨어와 동기화할 수 있는 SyncML 및 ActiveSync를 제공합니다. Horde에 대한 자세한 내용은 웹 페이지(http://www.horde.org/)에서 확인할 수 있습니다.

이 Howto는 Debian Jessie(Apache2, Bind, Dovecot) 및 모든 패키지에 대한 ISPConfig 3 설치를 따랐다고 가정합니다.

1. 필요한 패키지 설치

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. 충돌하는 패키지 제거

php5-xcache 패키지는 Horde에서 작동하지 않습니다. php5-xcache 대신 다른 캐시 도구 중 하나를 memcache와 같이 사용할 수 있습니다.

apt-get remove php5-xcache

3. Horde Pear 채널 등록

pear channel-discover pear.horde.org

4. Horde 설치 디렉토리 설정

pear install horde/horde_role
pear run-scripts horde/horde_role

다음과 같은 질문을 받게 됩니다.

기본 Horde 애플리케이션용 파일 시스템 설치: /var/www/horde

웹에서 액세스할 수 있는 horde 파일용으로 다른 폴더를 선택할 수도 있습니다. 그러나 다음 단계에서 경로를 조정해야 합니다.

5. 호드 그룹웨어 웹메일 에디션 설치

pear install -a -B horde/webmail

이 작업은 시간이 걸리며 누락된 배 패키지와 관련된 일부 오류가 있습니다. 그것들은 나중에 수정될 것입니다.

6. MySQL 데이터베이스 생성

Horde 설치 스크립트는 자체적으로 MySQL 데이터베이스를 생성하지 않습니다. 그래서 우리는 그것을 먼저 생성해야 하고 그에 따라 사용자도 생성해야 합니다.

다음과 같이 MySQL 쉘을 입력하십시오.

mysql -u root -p

입력한 후 비밀번호 PASSWORD로 데이터베이스 및 사용자 무리를 만듭니다. 데이터베이스 이름, 사용자 이름을 변경하려면 해당 정보를 변경하십시오. 물론 자신의 비밀번호를 설정하십시오.

CREATE DATABASE horde;
GRANT ALL ON horde.* TO IDENTIFIED BY 'PASSWORD';
FLUSH PRIVILEGES;

MySQL 셸을 다시 종료합니다.

exit;

7. 설치 스크립트 실행

webmail-install

다음과 같은 질문을 받게 됩니다.

어떤 데이터베이스 백엔드를 사용해야 합니까? mysql

데이터베이스에 연결할 사용자 이름: 이전 단계에서 설정한 사용자 이름

연결할 비밀번호: 이전 단계에서 설정한 비밀번호

데이터베이스에 어떻게 연결해야 합니까? 유닉스

UNIX 소켓의 위치: [enter]를 누르십시오.

사용할 데이터베이스 이름: 이전 단계에서 설정한 데이터베이스 이름

내부적으로 사용되는 문자 집합: utf-8

SSL을 사용하여 서버에 연결: 0 *

SSL 연결에 사용할 인증 기관: [Enter] 키를 누르세요.

다른 서버로 분할 읽기? 거짓

관리자 권한을 부여할 기존 메일 사용자 지정(선택사항): [email **

* 각 도메인에 SSL 인증서를 제공할 수 있는 경우에만 SSL을 1로 설정하십시오.

** 기존 이메일 사용자를 선택하십시오. 그런 다음 해당 사용자는 Horde 자체 내에서 구성 권한을 갖습니다. 이는 초기 구성 파일을 생성하는 데 필요합니다.

8. 사용자 지정 phptmp 폴더 및 chown horde 폴더를 Apache 사용자에게 생성

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

9. 추가 PEAR 구성 요소 추가

pear install channel://pear.php.net/Console_GetoptPlus-1.0.0RC1
pear install horde/Horde_ManageSieve
pear install channel://pear.php.net/XML_Serializer-0.20.2
pear install channel://pear.php.net/Date_Holidays-0.21.8
pear install channel://pear.php.net/Text_LanguageDetect-0.3.0
pear install pear/HTTP_Request2
pear install channel://pear.php.net/Console_Color2-0.1.2
pear install channel://pear.php.net/Numbers_Words-0.18.1
pear install channel://pear.php.net/Image_Text-0.7.0
pear install pear/Console_Getargs

10.현지 PEAR 공휴일 캘린더 추가(선택 사항)

PEAR에는 이미 여러 휴일 캘린더가 있습니다. 기본적으로 설치되지 않습니다. 설치하려면 다음 캘린더 중 하나 이상을 선택하십시오. 이를 통해 Horde Kronolith(=calendar)에서 해당 국가의 공휴일을 표시할 수 있습니다. 물론 PEAR 설치에 사용자 지정 달력을 추가할 수도 있습니다.

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 channel://pear.php.net/Date_Holidays_EnglandWales-0.1.5
pear install channel://pear.php.net/Date_Holidays_Finland-0.1.2
pear install channel://pear.php.net/Date_Holidays_Germany-0.1.2
pear install channel://pear.php.net/Date_Holidays_Iceland-0.1.2
pear install channel://pear.php.net/Date_Holidays_Ireland-0.1.3
pear install channel://pear.php.net/Date_Holidays_Italy-0.1.1
pear install channel://pear.php.net/Date_Holidays_Japan-0.1.3
pear install channel://pear.php.net/Date_Holidays_Netherlands-0.1.4
pear install channel://pear.php.net/Date_Holidays_Norway-0.1.2
pear install channel://pear.php.net/Date_Holidays_PHPdotNet-0.1.2
pear install channel://pear.php.net/Date_Holidays_Portugal-0.1.1
pear install channel://pear.php.net/Date_Holidays_Romania-0.1.2
pear install channel://pear.php.net/Date_Holidays_SanMarino-0.1.1
pear install channel://pear.php.net/Date_Holidays_Serbia-0.1.0
pear install channel://pear.php.net/Date_Holidays_Slovenia-0.1.2
pear install channel://pear.php.net/Date_Holidays_Spain-0.1.4
pear install channel://pear.php.net/Date_Holidays_Sweden-0.1.3
pear install channel://pear.php.net/Date_Holidays_Turkey-0.1.1
pear install channel://pear.php.net/Date_Holidays_Ukraine-0.1.2
pear install channel://pear.php.net/Date_Holidays_UNO-0.1.3
pear install channel://pear.php.net/Date_Holidays_USA-0.1.1
pear install channel://pear.php.net/Date_Holidays_Venezuela-0.1.1

11. 다음 내용으로 /etc/apache2/conf-available/horde.conf를 생성합니다.

Alias /Microsoft-Server-ActiveSync /var/www/horde/rpc.php
Alias /horde /var/www/horde
<Directory /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/"
</Directory>

그런 다음 이 새로운 apache 구성 스니펫을 활성화합니다.

a2enconf horde

12. 아파치 재시작

/etc/init.d/apache2 restart

13. /var/www/horde/config/conf.php 편집 및 설정

$conf['testdisable'] = false; 

14. 모든 도메인에서 호드 테스트 페이지 열기

http://www.domain.com/horde/test.php

이제 대부분의 설정이 정상일 것입니다. 그러나 기본 PHP 가비지 수집 항목 중 일부를 변경하고 싶을 수 있습니다.

/var/www/horde/conf/conf.php를 다시 편집하고 테스트 페이지를 비활성화합니다.

$conf['testdisable'] = true;

15. BaseRewrite 옵션 수정

기본 설정은 BaseRewrite 옵션을 제대로 인식하지 못하고 Nag가 항목을 추가/편집하지 못하게 합니다. 이 문제를 해결하려면 /var/www/horde/.htaccess 파일을 편집하고 다음을 검색해야 합니다.

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteRule .* - [env=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
    RewriteCond   %{REQUEST_FILENAME}  !-d
    RewriteCond   %{REQUEST_FILENAME}  !-f
    RewriteRule ^(.*)$ rampage.php [QSA,L]
</IfModule>

전체 블록을 이것으로 교체하십시오.

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /horde
    RewriteRule .* - [env=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
    RewriteCond   %{REQUEST_FILENAME}  !-d
    RewriteCond   %{REQUEST_FILENAME}  !-f
    RewriteRule ^(.*)$ rampage.php [QSA,L]
</IfModule>

알림: Horde를 업데이트하면 이 파일을 덮어쓸 수 있습니다. 그런 경우에는 다시 수정하면 됩니다.

16. 사용자가 Horde에서 비밀번호를 변경하도록 허용(선택 사항)

Horde는 사람들이 Horde 내에서 ISPConig 암호를 변경할 수 있도록 할 수 있습니다. 이를 위해 Horde는 ISPConfig와 함께 작동하도록 구성해야 하는 Passwd 애드온을 제공합니다.

애드온을 설치하고 Apache 사용자에게 chown:

pear install -a -B horde/passwd
chown -R www-data:www-data /var/www/horde/passwd

Horde는 또한 로컬 값으로 구성 파일을 변경하는 간단한 방법을 제공합니다. 이는 기존 구성 파일(예: conf.php)을 conf.local.php에 복사하여 수행됩니다. 일부 Horde 응용 프로그램의 기본 기본 설정을 변경하려는 경우 유용할 수 있습니다. 기본적으로 24시간 시계를 사용합니다. 따라서 신규 사용자에게 동일한 시작 구성을 제공할 수 있습니다. Passwd 애드온도 마찬가지입니다. 로컬 구성 파일을 사용하여 향후 horde 업데이트가 설정을 무시하지 않도록 합니다.

cp -a /var/www/horde/passwd/config/backends.php /var/www/horde/passwd/config/backends.local.php

위의 명령은 한 줄입니다.

이제 /var/www/horde/passwd/config/backends.local.php 파일을 편집하고 다음을 검색하십시오.

$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',
  ),
);

전체 블록을 이것으로 교체하십시오.

$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
    // The following two settings allow you to specify custom queries for
    // lookup and modify functions if special functions need to be
    // performed. In places where a username or a password needs to be
    // used, refer to this placeholder reference:
    // %d -> gets substituted with the domain
    // %u -> gets substituted with the user
    // %U -> gets substituted with the user without a domain part
    // %p -> gets substituted with the plaintext password
    // %e -> gets substituted with the encrypted password
    //
    // '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',
  ),
);

물론 비밀번호를 루트 MySQL 비밀번호로 바꾸고 데이터베이스 이름을 ISPConfig 데이터베이스 이름으로 변경하십시오. 이것이 변경되면 Passwd 도구를 사용하여 Horde 내에서 암호를 변경할 수 있습니다.

정책 섹션에서는 암호의 모양에 대한 다양한 옵션을 설정할 수 있습니다. 이 설정에서는 최소 7자 이상이어야 하며 공백 없이 최소 1개의 숫자를 포함해야 합니다. 다른 옵션이 있는지 알아보려면 이 파일의 시작 부분을 확인하십시오.

17. 마지막 것

모든 변경을 완료한 후 horde의 관리 사용자로 로그인하십시오. webmail-install 스크립트 설정 중에 설정한 이메일 사용자입니다. 로그인한 후 관리 섹션으로 이동한 다음 무리 구성을 수행하고 필요한 모든 구성을 만듭니다. 우선, 모두 생성하는 버튼을 사용하거나 각 무리 응용 프로그램의 구성을 직접 검토하고 원하는 변경 사항을 적용하도록 선택할 수 있습니다.

Horde는 또한 추가 응용 프로그램을 제공합니다. 거기에 무엇을 보려면 http://www.horde.org/apps를 방문하십시오.

Horde는 RSS 피드도 제공하므로 새 버전에 대한 알림을 받고 업데이트하려면 여기를 참조하세요. http://www.horde.org/apps/webmail/docs/UPGRADING