웹사이트 검색

데비안 10에 SOGo 그룹웨어를 설치하는 방법


이 튜토리얼은 다음 OS 버전에 대해 존재합니다.

  • 데비안 10(버스터)
  • 데비안 8(제시)

이 페이지에서

  1. 전제 조건
  2. 시작하기\n
  3. MariaDB 설치 및 구성
  4. SOGo 설치
  5. Apache 웹 서버 설치 및 구성
  6. SOGo 구성
  7. SOGo 웹 인터페이스 액세스
  8. 결론

SOGo는 GNU GPL/LGPL v2 이상에서 출시된 무료 오픈 소스 협업 그룹웨어 서버입니다. 간단하고 사용하기 쉬운 웹 기반 인터페이스와 함께 제공되며 여러 기본 클라이언트를 지원합니다. 기본 Microsoft ActiveSync 지원을 제공하며 Apple iPhone, Android, Windows Phone 및 BlackBerry와 같은 모바일 장치도 지원합니다.

특징

  • 여러 언어를 지원합니다.\n
  • 다른 사용자와 메일, 일정 및 주소록을 공유합니다.\n
  • 중요한 이벤트에 알람을 설정하고 브라우저에서 직접 알림을 받으세요.\n
  • 데스크탑 알림을 받습니다.
  • 완벽한 인라인 서식 있는 텍스트 편집기로 HTML 메일을 작성합니다.\n
  • 여러 메일 계정을 지원합니다.\n
  • 캘린더 및 사서함 가져오기 및 내보내기.\n
  • 2단계 인증을 지원합니다.\n

이 튜토리얼에서는 Debian 10에 SOGo 그룹웨어 서버를 설치하는 방법을 보여줍니다.

전제 조건

  • Debian 10을 실행하는 서버.\n
  • 루트 암호는 서버에 구성됩니다.\n

시작하기

시작하기 전에 서버를 최신 버전으로 업데이트하고 업그레이드하는 것이 좋습니다. 다음 명령을 실행하여 수행할 수 있습니다.

apt-get update -y
apt-get upgrade -y

서버가 업데이트되면 다시 시작하여 모든 변경 사항을 적용하십시오.

MariaDB 설치 및 구성

SOGo는 MariaDB/MySQL을 데이터베이스 백엔드로 사용합니다. 따라서 서버에 설치해야 합니다. 다음 명령을 실행하여 설치할 수 있습니다.

apt-get install mariadb-server -y

MariaDB가 설치되면 MariaDB 설치를 보호해야 합니다. 다음 스크립트를 실행하여 수행할 수 있습니다.

mysql_secure_installation

루트 암호를 설정하려면 아래와 같이 모든 질문에 답하십시오.

Enter current password for root (enter for none):
OK, successfully used password, moving on...
Set root password? [Y/n] Y
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

MariaDB가 보호되면 다음 명령을 사용하여 MariaDB에 로그인합니다.

mysql

로그인한 후 다음 명령을 사용하여 SOGo용 데이터베이스 및 사용자를 생성합니다.

MariaDB [(none)]> CREATE DATABASE sogo;
MariaDB [(none)]> GRANT ALL ON sogo.* TO 'sogo'@'localhost' IDENTIFIED BY 'password';

다음으로 데이터베이스를 SOGo로 변경하고 필요한 테이블을 만들고 다음 명령으로 일부 값을 삽입합니다.

MariaDB [(none)]> USE sogo;
MariaDB [sogo]> CREATE TABLE sogo_users (c_uid VARCHAR(10) PRIMARY KEY, c_name VARCHAR(10), c_password VARCHAR(32), c_cn VARCHAR(128), mail VARCHAR(128));
MariaDB [sogo]> INSERT INTO sogo_users VALUES ('admin', 'admin', MD5('password'), 'Hitesh', '');

그런 다음 권한을 플러시하고 다음 명령을 사용하여 MariaDB를 종료합니다.

MariaDB [sogo]> flush privileges;
MariaDB [sogo]> exit;

완료되면 다음 단계로 진행할 수 있습니다.

소고 설치

기본적으로 SOGo는 Debian 10 기본 리포지토리에서 사용할 수 없으므로 공식 웹사이트에서 다운로드해야 합니다. Sogo 다운로드 페이지에서 모든 패키지를 볼 수 있습니다. 다음 명령을 사용하여 수동으로 다운로드할 수도 있습니다.

wget https://packages.inverse.ca/SOGo/nightly/5/debian/pool/buster/s/sogo/sogo_5.0.1.20201110-1_amd64.deb
wget https://packages.inverse.ca/SOGo/nightly/5/debian/pool/buster/s/sogo/sogo-activesync_5.0.1.20201110-1_amd64.deb
wget https://packages.inverse.ca/SOGo/nightly/5/debian/pool/buster/s/sogo/sogo-dbg_5.0.1.20201110-1_amd64.deb
wget https://packages.inverse.ca/SOGo/nightly/5/debian/pool/buster/s/sogo/sogo-dev_5.0.1.20201110-1_amd64.deb
wget https://packages.inverse.ca/SOGo/nightly/5/debian/pool/buster/s/sope/libsbjson2.3-dev_4.9.r1664.20201103_amd64.deb
wget https://packages.inverse.ca/SOGo/nightly/5/debian/pool/buster/s/sope/libsbjson2.3_4.9.r1664.20201103_amd64.deb
wget https://packages.inverse.ca/SOGo/nightly/5/debian/pool/buster/s/sope/libsope-appserver4.9-dev_4.9.r1664.20201103_amd64.deb
wget https://packages.inverse.ca/SOGo/nightly/5/debian/pool/buster/s/sope/libsope-appserver4.9_4.9.r1664.20201103_amd64.deb
wget https://packages.inverse.ca/SOGo/nightly/5/debian/pool/buster/s/sope/libsope-core4.9-dev_4.9.r1664.20201103_amd64.deb
wget https://packages.inverse.ca/SOGo/nightly/5/debian/pool/buster/s/sope/libsope-core4.9_4.9.r1664.20201103_amd64.deb
wget https://packages.inverse.ca/SOGo/nightly/5/debian/pool/buster/s/sope/libsope-gdl1-4.9-dev_4.9.r1664.20201103_amd64.deb
wget https://packages.inverse.ca/SOGo/nightly/5/debian/pool/buster/s/sope/libsope-gdl1-4.9_4.9.r1664.20201103_amd64.deb
wget https://packages.inverse.ca/SOGo/nightly/5/debian/pool/buster/s/sope/libsope-ldap4.9-dev_4.9.r1664.20201103_amd64.deb
wget https://packages.inverse.ca/SOGo/nightly/5/debian/pool/buster/s/sope/libsope-ldap4.9_4.9.r1664.20201103_amd64.deb
wget https://packages.inverse.ca/SOGo/nightly/5/debian/pool/buster/s/sope/libsope-mime4.9-dev_4.9.r1664.20201103_amd64.deb
wget https://packages.inverse.ca/SOGo/nightly/5/debian/pool/buster/s/sope/libsope-mime4.9_4.9.r1664.20201103_amd64.deb
wget https://packages.inverse.ca/SOGo/nightly/5/debian/pool/buster/s/sope/libsope-xml4.9-dev_4.9.r1664.20201103_amd64.deb
wget https://packages.inverse.ca/SOGo/nightly/5/debian/pool/buster/s/sope/libsope-xml4.9_4.9.r1664.20201103_amd64.deb
wget https://packages.inverse.ca/SOGo/nightly/5/debian/pool/buster/s/sope/libsope4.9-dev_4.9.r1664.20201103_all.deb
wget https://packages.inverse.ca/SOGo/nightly/5/debian/pool/buster/s/sope/sope4.9-appserver_4.9.r1664.20201103_amd64.deb
wget https://packages.inverse.ca/SOGo/nightly/5/debian/pool/buster/s/sope/sope4.9-dbg_4.9.r1664.20201103_amd64.deb
wget https://packages.inverse.ca/SOGo/nightly/5/debian/pool/buster/s/sope/sope4.9-gdl1-mysql_4.9.r1664.20201103_amd64.deb
wget https://packages.inverse.ca/SOGo/nightly/5/debian/pool/buster/s/sope/sope4.9-gdl1-postgresql_4.9.r1664.20201103_amd64.deb
wget https://packages.inverse.ca/SOGo/nightly/5/debian/pool/buster/s/sope/sope4.9-libxmlsaxdriver_4.9.r1664.20201103_amd64.deb
wget https://packages.inverse.ca/SOGo/nightly/5/debian/pool/buster/s/sope/sope4.9-stxsaxdriver_4.9.r1664.20201103_amd64.deb

모든 패키지가 다운로드되면 다음 명령을 실행하여 패키지를 모두 설치합니다.

dpkg -i *.deb

위의 명령을 실행하면 종속성 오류가 발생합니다. 다음 명령을 실행하여 누락된 종속 항목을 모두 설치할 수 있습니다.

apt-get install -f

모든 종속 항목이 설치되면 SOGo 서비스를 시작하고 다음 명령을 사용하여 시스템 재부팅 시 시작되도록 활성화합니다.

systemctl start sogo
systemctl enable sogo

완료되면 다음 단계로 진행할 수 있습니다.

Apache 웹 서버 설치 및 구성

다음으로 포트 80을 통해 SOGo를 제공하도록 Apache 웹 서버를 설치 및 구성해야 합니다. 다음 명령을 실행하여 설치할 수 있습니다.

apt-get install apache2 -y

Apache 웹 서버가 설치되면 다음 명령을 실행하여 필요한 모든 모듈을 활성화합니다.

a2enmod proxy proxy_http headers rewrite

다음으로 다음 명령을 사용하여 SOGo 기본 가상 호스트 파일을 활성화합니다.

a2enconf SOGo.conf

다음으로 SOGo 가상 호스트 구성 파일을 편집하고 https 연결을 http로, 443을 포트 80으로 교체해야 합니다.

nano /etc/apache2/conf-enabled/SOGo.conf

다음 줄을 찾으십시오.

  RequestHeader set "x-webobjects-server-port" "443"
  RequestHeader set "x-webobjects-server-url" "https://%{HTTP_HOST}e" env=HTTP_HOST

그리고 다음으로 교체했습니다.

  RequestHeader set "x-webobjects-server-port" "80"
  RequestHeader set "x-webobjects-server-url" "http://%{HTTP_HOST}e" env=HTTP_HOST

파일을 저장하고 닫은 후 다음 명령을 실행하여 Apache 서버에 구문 오류가 있는지 확인합니다.

apachectl configtest

모든 것이 정상이면 다음과 같은 결과가 표시됩니다.

Syntax OK

마지막으로 Apache 서비스를 다시 시작하여 변경 사항을 적용합니다.

systemctl restart apache2

다음 명령을 사용하여 Apache 서비스의 상태를 확인할 수도 있습니다.

systemctl status apache2

다음 출력이 표시되어야 합니다.

? apache2.service - The Apache HTTP Server
   Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
   Active: active (running) since Thu 2020-11-12 04:17:37 UTC; 14s ago
     Docs: https://httpd.apache.org/docs/2.4/
  Process: 15278 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
 Main PID: 15282 (apache2)
    Tasks: 55 (limit: 4701)
   Memory: 17.2M
   CGroup: /system.slice/apache2.service
           ??15282 /usr/sbin/apache2 -k start
           ??15283 /usr/sbin/apache2 -k start
           ??15284 /usr/sbin/apache2 -k start

Nov 12 04:17:37 debian10 systemd[1]: Starting The Apache HTTP Server...

이 시점에서 Apache 웹 서버가 설치되고 구성됩니다. 이제 다음 단계를 진행할 수 있습니다.

SOGo 구성

다음으로 인증에 MariaDB를 사용하도록 SOGo를 구성하고 SOGo 프로필, OCS 폴더, COS 세션 및 수퍼유저 이름을 정의해야 합니다. SOGo 기본 구성 파일을 편집하여 이를 수행할 수 있습니다.

nano /etc/sogo/sogo.conf

마지막 줄 } 앞에 다음 줄을 추가합니다.

SOGoProfileURL = "mysql://sogo::5432/sogo/sogo_user_profile";
OCSFolderInfoURL = "mysql://sogo::5432/sogo/sogo_folder_info";
OCSSessionsFolderURL = "mysql://sogo::5432/sogo/sogo_sessions_folder";

SOGoPasswordChangeEnabled = YES;

SOGoUserSources =
  (
    {
      type = sql;
      id = users;
     viewURL = "mysql://sogo::3306/sogo/sogo_users";
     canAuthenticate = YES;
     isAddressBook = NO;
      userPasswordAlgorithm = md5;
    }
  );

  SOGoPageTitle = SOGo;
  SOGoVacationEnabled = YES;
  SOGoForwardEnabled = YES;
  SOGoSieveScriptsEnabled = YES;
  SOGoMailAuxiliaryUserAccountsEnabled = YES;
  SOGoTrustProxyAuthentication = NO;
  SOGoXSRFValidationEnabled = YES;

  SOGoSuperUsernames = (admin); // This is an array - keep the parens!

완료되면 파일을 저장하고 닫은 다음 SOGo 서비스를 다시 시작하여 변경 사항을 적용하십시오.

systemctl restart sogo

이제 다음 명령을 실행하여 SOGo 서비스의 상태를 확인할 수 있습니다.

systemctl status sogo

다음 출력이 표시되어야 합니다.

? sogo.service - LSB: SOGo server
   Loaded: loaded (/etc/init.d/sogo; generated)
   Active: active (running) since Thu 2020-11-12 04:19:00 UTC; 3s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 15422 ExecStart=/etc/init.d/sogo start (code=exited, status=0/SUCCESS)
    Tasks: 4 (limit: 4701)
   Memory: 44.9M
   CGroup: /system.slice/sogo.service
           ??15493 /usr/sbin/sogod -WOWorkersCount 3 -WOPidFile /var/run/sogo/sogo.pid -WOLogFile /var/log/sogo/sogo.log
           ??15495 /usr/sbin/sogod -WOWorkersCount 3 -WOPidFile /var/run/sogo/sogo.pid -WOLogFile /var/log/sogo/sogo.log
           ??15496 /usr/sbin/sogod -WOWorkersCount 3 -WOPidFile /var/run/sogo/sogo.pid -WOLogFile /var/log/sogo/sogo.log
           ??15497 /usr/sbin/sogod -WOWorkersCount 3 -WOPidFile /var/run/sogo/sogo.pid -WOLogFile /var/log/sogo/sogo.log

Nov 12 04:19:00 debian10 systemd[1]: Starting LSB: SOGo server...
Nov 12 04:19:00 debian10 sogo[15422]: Starting SOGo: sogo.
Nov 12 04:19:00 debian10 systemd[1]: Started LSB: SOGo server.

이 시점에서 SOGo가 시작되고 포트 20000에서 수신 대기합니다. 다음 명령으로 확인할 수 있습니다.

ss -ntpl | grep -i sogo

다음 출력이 표시되어야 합니다.

LISTEN    0         5                127.0.0.1:20000            0.0.0.0:*        users:(("sogod",pid=15497,fd=3),("sogod",pid=15496,fd=3),("sogod",pid=15495,fd=3),("sogod",pid=15493,fd=3))

완료되면 다음 단계로 진행할 수 있습니다.

SOGo 웹 인터페이스에 액세스

이제 웹 브라우저를 열고 URL http://your-server-ip/SOGo를 입력하여 SOGo 웹 UI에 액세스하십시오. 다음 페이지로 리디렉션됩니다.

관리자 사용자 이름을 admin으로, 암호를 "password"로 입력한 다음 > 버튼을 클릭합니다. 다음 페이지에서 SOGo 기본 대시보드를 볼 수 있습니다.

결론

축하합니다! Debian 10에서 Apache로 SOGo 그룹웨어를 성공적으로 설치 및 구성했습니다. 이제 더 많은 기능을 위해 SOGo를 탐색하고 프로덕션 환경에 배포할 수 있습니다. 궁금한 점이 있으면 언제든지 문의해 주세요.