「Grommunio」の版間の差分
Kusanaginoturugi (トーク | 投稿記録) (英語版より転載) |
Kusanaginoturugi (トーク | 投稿記録) 細 (空行を削除) |
||
1行目: | 1行目: | ||
[[Category:グループウェア]] |
[[Category:グループウェア]] |
||
− | |||
[https://grommunio.com Grommunio] は、デジタル通信とコラボレーションソフトウェアスイートです。それは異なるコンポーネントのセットから構築されます。 |
[https://grommunio.com Grommunio] は、デジタル通信とコラボレーションソフトウェアスイートです。それは異なるコンポーネントのセットから構築されます。 |
||
2024年4月5日 (金) 19:24時点における版
Grommunio は、デジタル通信とコラボレーションソフトウェアスイートです。それは異なるコンポーネントのセットから構築されます。
このガイドは、動作するセットアップを得るために異なるコンポーネントの基本的なインストールと設定をガイドします。
それは、初期スタートをかなり難しくしたいくつかのギャップを埋めようとし、どのコンポーネントが他のものと一緒に動作しているかを説明します。
インストール
この章では、必要なパッケージの基本的なインストールをガイドします。何を達成したいか、そしてどのようにそこに到達するかについての大まかな概要を提供します。
概要
単一ノードサーバーを持ちたいと想定しています。そのサーバーが必要なすべてのコンポーネントをホストします。
これには、サーバーに mta のセットアップがあり、設定されていること (例: [postfix])、そしてさらに動作する mysql データベースがあること (例: [mariadb]) を想定しています。
オプションで、ディレクトリサーバー ([OpenLDAP|openldap] または [samba|ActiveDirectory]) が利用可能であるべきです。このガイドに従うためには必要ありませんが、完全なイメージを得るためには非常に推奨されます。
パッケージ
これは、インストールが必要な grommunio パッケージのリストです:
Package | Description |
---|---|
vmimeAUR[リンク切れ: package not found] | C++ library for working with RFC-822 and MIME messages |
vmime-libonlyAUR[リンク切れ: package not found] | C++ library for working with RFC-822 and MIME messages. This one just containes the so files and can be used to install parallel with other ones (ae. Kopano libvmime) to help with migration and / or simultaneous installations |
libexmdbppAUR[リンク切れ: package not found] | C++ implementation of the exmdb wire protocol |
grommunio-mapi-headersAUR[リンク切れ: package not found] | PHP mapi headers used in various applications |
gromoxAUR[リンク切れ: package not found] | Central groupware server component |
grommunio-syncAUR[リンク切れ: package not found] | ActiveSync synchronisation service |
grommunio-webAUR[リンク切れ: package not found] | Web application for users |
grommunio-admin-apiAUR[リンク切れ: package not found] | Central administration API component |
grommunio-admin-webAUR[リンク切れ: package not found] | Web application for administrators |
grommunio-configsAUR[リンク切れ: package not found] | Basic set of configuration files for nginx |
grommunio-admin-configsAUR[リンク切れ: package not found] | Basic set of configuration files for nginx (admin part) |
grommunio-indexAUR[リンク切れ: package not found] | Indexing service for the web application |
Configuration
This chapter will guide through the initial configuration to get everything up and running.
It is highly recommended to read / follow the official guide along which is the basis for all the tasks that are following.
General information
There will be multiple system user accounts created and used that will separate the needed permissions regarding their needs.
This will be described in more detail during this guide, but for now the following explanation should give a rough overview.
Name | Type | Description |
---|---|---|
grommunio | User | Administration API user |
gromox | User | Service user for the core services |
gromoxcf | Group | Group that can read core config files |
gromoxss | Group | Group that can access shared resources (in this case zcore socket) |
There are more users / groups used by single services to separate and limit the access to the minimum needed ones. Further some users (like http used by nginx) will be added to some groups to be able to access the needed resources (ae. php-fpm sockets).
Database
The first step is to create a database and a user for grommunio and adjust the configuration file. Therefore connect to your database and create a db and user for your setup. The following example is using mariadb as backend.
$ mariadb -u root -p $ CREATE DATABASE `grommuniodb`; $ GRANT ALL ON `grommuniodb`.* TO 'grommunio'@'localhost' IDENTIFIED BY 'super-secrect-password'; $ FLUSH PRIVILEGES; $ quit;
After creating the user, we'll edit the file mysql_adaptor.cfg from the gromox package and change the values to our db ones.
$ vim /etc/gromox/mysql_adaptor.cfg
mysql_username=grommunio mysql_password=super-secret-password mysql_dbname=grommuniodb schema_upgrade=host:your.mailserver.dom
The schema_upgrade is not required for a single node setup. It is only needed to have one master updating database schema and tell the nodes which one is in charge.
The next step is to create the initial tables by issuing the gromox-dbop command:
$ gromox-dbop -C dbop: Creating admin_roles dbop: Creating associations dbop: Creating configs dbop: Creating domains dbop: Creating forwards dbop: Creating groups dbop: Creating options dbop: Creating orgs dbop: Creating specifieds dbop: Creating users dbop: Creating aliases dbop: Creating mlists dbop: Creating user_properties dbop: Creating admin_role_permission_relation dbop: Creating admin_user_role_relation dbop: Creating classes dbop: Creating fetchmail dbop: Creating secondary_store_hints dbop: Creating user_devices dbop: Creating user_device_history dbop: Creating task_queue dbop: Creating servers dbop: Creating orgparam dbop: Creating altnames
event / timer
gromox-event is a notification daemon for an interprocess channel between gromox-imap/gromox-midb. The config file is '/etc/gromox/timer.cfg' and just contains the state path adopted to my setup:
timer_state_path=/var/lib/grommunio/gromox/timer.txt
gromox-timer is an at(1)/atd(8)-like daemon for delayed delivery. There is no explicit configuration delivered for this service.
The timer service listens on port 6666 and the event service on port 33333.
For all possible configuration directives you can refer to their man pages: event and timer
Now we enable and start these services:
$ systemctl enable --now gromox-event $ systemctl enable --now gromox-timer