Fresh Installation ...
 
Notifications
Clear all

[Sticky] Fresh Installation of Carbonio CE 23.12.0 Workstream Collaboration

43 Posts
18 Users
8 Likes
6,951 Views
(@sharif)
Admin
Joined: 2 years ago
Posts: 387
Topic starter  

Hi Guys,

I have prepared a draft of the deployment of Carbonio CE 23.12.0 workstream collaboration in step by step format. BTW all the information is available in the documentation (docs.zextras.com); I just summed it up for you.

For Ubuntu 20.04LTS/22.04LTS - Single Server

Simplified version of steps:

[Always check with official documentation for updated information]

A surprise lurks within the post. 😊

 

1. Preparing the server
[Add Zextras repository using this link ( https://zextras.com/carbonio-community-edition#discoverproduct ) and form ]

Set hostname
Set hosts
Set time-zone
reboot

2. Configure PostgreSQL-12 [[On Ubuntu 20.04LTS]]

apt install postgresql-12 -y

read -s -p "Password:" DB_ADM_PWD
su - postgres -c "psql --command=\"CREATE ROLE carbonio_adm WITH LOGIN SUPERUSER encrypted password '$DB_ADM_PWD';\""
su - postgres -c "psql --command=\"CREATE DATABASE carbonio_adm owner carbonio_adm;\""
systemctl restart postgresql

[Check this link - https://docs.zextras.com/carbonio-ce/html/install/scenarios/single-server-scenario.html#preliminary-task ]

 

If you want to install postgresql-16, then follow : [On Ubuntu 22.04LTS]

sudo sh -c "echo 'deb  https://apt.postgresql.org/pub/repos/apt  $(lsb_release -cs)-pgdg main' > /etc/apt/sources.list.d/pgdg.list"
wget --quiet -O -  https://www.postgresql.org/media/keys/ACCC4CF8.asc  | sudo apt-key add -
apt clean all
apt update

apt install -y postgresql-16
read -s -p "Password:" DB_ADM_PWD
su - postgres -c "psql --command=\"CREATE ROLE carbonio_adm WITH LOGIN SUPERUSER encrypted password '$DB_ADM_PWD';\""
su - postgres -c "psql --command=\"CREATE DATABASE carbonio_adm owner carbonio_adm;\""
systemctl restart postgresql

 

3. Install Carbonio CE Packages:

apt install service-discover-server \
carbonio-directory-server \
carbonio-files-db carbonio-mailbox-db \ 
carbonio-docs-connector-db carbonio-tasks-db \
carbonio-proxy carbonio-webui carbonio-files-ui \
carbonio-tasks-ui carbonio-files-public-folder-ui \
carbonio-user-management carbonio-mta \
carbonio-appserver carbonio-storages-ce \
carbonio-files-ce carbonio-preview-ce \
carbonio-docs-connector-ce carbonio-tasks-ce \
carbonio-docs-editor carbonio-prometheus -y

4. Mandatory steps:

carbonio-bootstrap
service-discover setup-wizard
pending-setups -a

5. Bootstrapping installed Files and Tasks DB

PGPASSWORD=$DB_ADM_PWD carbonio-files-db-bootstrap carbonio_adm 127.0.0.1
PGPASSWORD=$DB_ADM_PWD carbonio-tasks-db-bootstrap carbonio_adm 127.0.0.1

Workstream Collaboration Packages Setup:

6. Install workstream collaboration package (carbonio-message-dispatcher-db)

[Save the same DB value once more]
read -s -p "Password:" DB_ADM_PWD

apt install carbonio-message-dispatcher-db -y
pending-setups -a
PGPASSWORD=$DB_ADM_PWD carbonio-message-dispatcher-db-bootstrap carbonio_adm 127.0.0.1

7. Install workstream collaboration package (carbonio-message-dispatcher)

[Save the same DB value once more]
read -s -p "Password:" DB_ADM_PWD

apt install carbonio-message-dispatcher -y
pending-setups -a
PGPASSWORD=$DB_ADM_PWD carbonio-message-dispatcher-migration carbonio_adm 127.78.0.10 20000

 Sometimes this step produces errors, then do followings and try again:
1. systemctl restart service-discover
2. systemctl restart postgresql@16-main.service
3. use the actual password instead of $DB_ADM_PWD

8. Install workstream collaboration package (carbonio-message-broker)

apt install carbonio-message-broker -y
pending-setups -a

9. Install workstream collaboration package (carbonio-ws-collaboration-db)

apt install carbonio-ws-collaboration-db -y
pending-setups -a
PGPASSWORD=$DB_ADM_PWD carbonio-ws-collaboration-db-bootstrap carbonio_adm 127.0.0.1

Now you can remove the value set in the variable as DB password:

unset DB_ADM_PWD

10. Install workstream collaboration package (carbonio-ws-collaboration-ce)

apt install carbonio-ws-collaboration-ce -y
pending-setups -a

11. Install workstream collaboration package (carbonio-videoserver-ce)

apt install carbonio-videoserver-ce -y
pending-setups -a

12. Install workstream collaboration package (carbonio-ws-collaboration-ui)

apt install carbonio-ws-collaboration-ui -y
su - zextras -c "carbonio prov mc default carbonioFeatureChatsEnabled TRUE"

13. Change the password of the admin user:

14. Restart Services:

systemctl enable carbonio-tasks
systemctl restart carbonio-tasks

systemctl enable carbonio-videoserver
systemctl restart carbonio-videoserver

systemctl restart carbonio-prometheus-nginx-exporter.service

su - zextras -c "zmcontrol restart"

15. Check status of services:

su - zextras -c "zmcontrol -v"
su - zextras -c "zmcontrol status"
systemctl list-units carbonio*

16. Additional recommendation: (Modify MTA Trusted Network)

su - zextras -c "carbonio prov ms $(hostname -f) zimbraMtaMyNetworks '127.0.0.0/8 $(hostname -i)/32'"
su - zextras -c "zmmtactl restart"

17. Restart the server and restart mentioned services as per the order shown below:

reboot now

systemctl restart carbonio-tasks
systemctl restart carbonio-message-broker
systemctl restart carbonio-videoserver
systemctl restart carbonio-ws-collaboration
systemctl restart carbonio-prometheus-nginx-exporter.service

 

A reference video link:
Fresh Installation of Carbonio CE 23.12.0 Workstream Collaboration

 

This topic was modified 4 months ago 8 times by Md. Shariful Islam
This topic was modified 3 months ago by Md. Shariful Islam
This topic was modified 2 months ago by Md. Shariful Islam
This topic was modified 4 weeks ago 3 times by Md. Shariful Islam

   
anahuac reacted
Quote
(@anahuac)
Joined: 10 months ago
Posts: 306
 

Awesome Job!

I just tested it and Chat feature works 😍 


   
ReplyQuote
(@aizen)
Joined: 4 months ago
Posts: 4
 

i find this problem in the process:

root@mail:/etc/carbonio/message-dispatcher/sql-scripts# PGPASSWORD=$DB_ADM_PWD carbonio-message-dispatcher-migration carbonio_adm 127.78.0.10 20000 Checking of database schema... Done. The database needs to be updated! Updating database... Failed! Cannot run script file '/etc/carbonio/message-dispatcher/sql-scripts/migrations//6.0.0.sql'
 
root@mail:/usr/bin# apt search carbonio-message-dispatcher
Sorting... Done
Full Text Search... Done
carbonio-message-dispatcher/focal,now 0.12.0-1ubuntu1~focal amd64 [installed]
Carbonio Message Dispatcher component

 

carbonio-message-dispatcher-db/focal,now 0.2.0-1ubuntu amd64 [installed]
Carbonio Message Dispatcher DB sidecar


   
ReplyQuote
(@anahuac)
Joined: 10 months ago
Posts: 306
 

After spending the day testing and testing and testing I can now say that it works but requires some care on the steps above and some extra ones to make also Meeting work properly. I'll let the why to devs to answer, all I can tell you is how to make it work.

carbonio-message-dispatcher-migration

This one is the tricky one. If it fails you must wait like 5 minutes and try again. There is something running in background that takes that time to be done and allow it to run successfully.

So, insist running it till it works:

PGPASSWORD=$DB_ADM_PWD carbonio-message-dispatcher-migration carbonio_adm 127.78.0.10 20000

Once that one is done follow all the rest of the tutorial above. It will work.

Meeting

This is just an awesome feature that is just there and doesn't work out of the box, but just because you need to do two minor setups. Credits to Elio Junior from Brazil for figure this out, TYVM!. So...

1 - Edit /etc/janus/janus.jcfg file, look for nat_1_1_mapping and change it with your external IP;

2 - You must allow or redirect all range of ports 20000-40000 on UDP protocol on your Firewall.

Ending

Reboot the whole server... and when it's back, when all services are up and running... restart this services:

systemctl enable carbonio-tasks
systemctl enable carbonio-videoserver
systemctl restart carbonio-prometheus-nginx-exporter

Wait another minute or two and give it a try.

Telegram: https://t.me/CarbonioMail


   
ReplyQuote
(@aizen)
Joined: 4 months ago
Posts: 4
 

im running in LXC container, CARBONIO NOT WORK ON LXC CONTAINERS


   
ReplyQuote
 rick
(@rick)
Joined: 2 years ago
Posts: 6
 

@sharif I tried this method, and it doesn't work for me, I show you the error image.

 

 


   
ReplyQuote
 rick
(@rick)
Joined: 2 years ago
Posts: 6
 

It doesn't allow me to upload the image, but this is part of the log when I open the chat window and click create a session

[2024-01-08T22:31:37.830Z] [info] [id=req-c5, hostname=127.78.0.2:20002, ip=127.0.0.1 url=/health/live] Request received
Jan 08 16:31:37 email.domain.com carbonio-storages[898]: [2024-01-08T22:31:37.830Z] [debug] No auth checks performed on request req-c5
Jan 08 16:31:37 email.domain.com carbonio-storages[898]: [2024-01-08T22:31:37.831Z] [info] {"res":{"raw":{"_events":{},"_eventsCount":1,"outputData":[],"outputSize":0,"writable":true,"destroyed":false,"_last":false,"chunkedEncoding":false,"shouldKeepAlive":true,"_defaultKeepAlive":true,"useChunkedEncodingByDefault":true,"sendDate":true,"_removedConnection":false,"_removedContLen":false,"_removedTE":false,"_contentLength":null,"_hasBody":true,"_trailer":"","finished":true,"_headerSent":true,"socket":null,"_header":"HTTP/1.1 200 OK\r\ncontent-length: 0\r\nDate: Mon, 08 Jan 2024 22:31:37 GMT\r\nConnection: keep-alive\r\nKeep-Alive: timeout=5\r\n\r\n","_keepAliveTimeout":5000,"_sent100":"[Unknown]","_expect_continue":"[Unknown]","statusMessage":"[Unknown]","statusCode":"[Unknown]"},"request":"[Unknown]","log":"[Unknown]"},"responseTime":"[Unknown]"}

   
ReplyQuote
(@sharif)
Admin
Joined: 2 years ago
Posts: 387
Topic starter  

@rick 

Hi,

Sorry for the inconvenience.

I have made slight modification in the above steps. I would humbly request you to try them again and let us know you feedback 🙏

Regards,

Sharif


   
ReplyQuote
(@sharif)
Admin
Joined: 2 years ago
Posts: 387
Topic starter  

Hi Guys,

I have prepared a draft of the deployment of Carbonio CE 23.12.0 workstream collaboration in step by step format. BTW all the information is available in the documentation (docs.zextras.com); I just summed it up for you.

For RHEL8 - Single Server

Simplified version of steps:

[Always check with official documentation for updated information]

 

1. Preparing the server
[Add Zextras repository using this link (  https://zextras.com/carbonio-community-edition#discoverproduct  ) and form ]

 

Set hostname

Set hosts

Set timezone

 

2. Disable SELinux and Firewall. Later at the end of this installation process, you can enable firewall ports based on their role and description mentioned here. Reboot your server after disabling SELinux.

 

3. Configure RHEL subscription to enable relevant repositories. In this release, you need to configure EPEL repositories to configure workstream collaboration related packages and their dependencies.

[EPEL Repo Configuration]
subscription-manager repos --enable codeready-builder-for-rhel-8-$(arch)-rpms
sudo yum -y install  https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm 

yum clean all
yum repolist

 

4. Download and configure Zextras repository using this link (  https://zextras.com/carbonio-community-edition#discoverproduct  ) and form. Then clean, update and upgrade existing repos and packages.

dnf clean all
dnf update -y && dnf upgrade -y

 

5. PostgreSQL Configuration

yum -y install  https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm 
dnf -qy module disable postgresql
dnf -y install postgresql12 postgresql12-server
/usr/pgsql-12/bin/postgresql-12-setup initdb
systemctl enable --now postgresql-12

To configure PostgreSQL, edit file

Check out this link, to get the details.

vi /var/lib/pgsql/12/data/pg_hba.conf

find the line:

#IPv4 local connections:
host    all             all             127.0.0.1/32            ident

remove the # before host (if present) and change it as follows:

#IPv4 local connections:
host    all             all             127.0.0.1/32            md5

Finally, reload the PostgreSQL

systemctl reload postgresql-12

 

6. Create PostgreSQL ROLE and DATABASE

read -s -p "Password:" DB_ADM_PWD

su - postgres -c "psql --command=\"CREATE ROLE carbonio_adm WITH LOGIN SUPERUSER encrypted password '$DB_ADM_PWD';\""
su - postgres -c "psql --command=\"CREATE DATABASE carbonio_adm owner carbonio_adm;\""

 

7. Install Packages

dnf install service-discover-server carbonio-directory-server \
carbonio-files-db carbonio-mailbox-db carbonio-docs-connector-db carbonio-tasks-db \
carbonio-proxy carbonio-webui carbonio-files-ui carbonio-tasks-ui carbonio-files-public-folder-ui \
carbonio-user-management carbonio-mta \
carbonio-appserver carbonio-storages-ce carbonio-files-ce carbonio-preview-ce carbonio-docs-connector-ce carbonio-tasks-ce \
carbonio-docs-editor carbonio-prometheus

 

8. Mandatory steps:

carbonio-bootstrap
service-discover setup-wizard
pending-setups -a

 

9. Bootstrapping installed Files and Tasks DB

PGPASSWORD=$DB_ADM_PWD carbonio-files-db-bootstrap carbonio_adm 127.0.0.1
PGPASSWORD=$DB_ADM_PWD carbonio-tasks-db-bootstrap carbonio_adm 127.0.0.1

 

Workstream Collaboration Packages Setup:

10. Install workstream collaboration package (carbonio-message-dispatcher-db)

[Save the same DB value once more]
read -s -p "Password:" DB_ADM_PWD

dnf install carbonio-message-dispatcher-db -y
pending-setups -a
PGPASSWORD=$DB_ADM_PWD carbonio-message-dispatcher-db-bootstrap carbonio_adm 127.0.0.1

 

11. Install workstream collaboration package (carbonio-message-dispatcher)

dnf install carbonio-message-dispatcher -y
pending-setups -a
PGPASSWORD=$DB_ADM_PWD carbonio-message-dispatcher-migration carbonio_adm 127.78.0.10 20000

 

12. Install workstream collaboration package (carbonio-message-broker)

dnf install carbonio-message-broker -y
pending-setups -a

 

13. Install workstream collaboration package (carbonio-ws-collaboration-db)

dnf install carbonio-ws-collaboration-db -y
pending-setups -a
PGPASSWORD=$DB_ADM_PWD carbonio-ws-collaboration-db-bootstrap carbonio_adm 127.0.0.1

Now you can remove the value set in the variable as DB password:

unset DB_ADM_PWD

 

14. Install workstream collaboration package (carbonio-ws-collaboration-ce)

dnf install carbonio-ws-collaboration-ce -y
pending-setups -a

 

15. Install workstream collaboration package (carbonio-videoserver-ce)

dnf install carbonio-videoserver-ce -y
pending-setups -a

 

16. Install workstream collaboration package (carbonio-ws-collaboration-ui)

dnf install carbonio-ws-collaboration-ui -y
su - zextras -c "carbonio prov mc default carbonioFeatureChatsEnabled TRUE"

 

17. Change the password of the admin user:

 

18. Restart Services:

systemctl enable carbonio-tasks
systemctl restart carbonio-tasks

systemctl enable carbonio-videoserver
systemctl restart carbonio-videoserver

systemctl restart carbonio-prometheus-nginx-exporter.service

su - zextras -c "zmcontrol restart"

 

19. Check status of services:

su - zextras -c "zmcontrol -v"
su - zextras -c "zmcontrol status"
systemctl list-units carbonio*

 

20. Additional recommendation: (Modify MTA Trusted Network)

su - zextras -c "carbonio prov ms $(hostname -f) zimbraMtaMyNetworks '127.0.0.0/8 $(hostname -i)/32'"
su - zextras -c "zmmtactl restart"

 

21. Restart the server and restart mentioned services as per the order shown below:

reboot now

systemctl restart carbonio-tasks
systemctl restart carbonio-message-broker
systemctl restart carbonio-videoserver
systemctl restart carbonio-ws-collaboration
systemctl restart carbonio-prometheus-nginx-exporter.service

 

And that's it !

 

This post was modified 4 months ago 6 times by Md. Shariful Islam
This post was modified 3 months ago by Md. Shariful Islam
This post was modified 2 months ago by Md. Shariful Islam

   
ReplyQuote
Hunaid Haroon
(@hunaidharoon)
Joined: 3 months ago
Posts: 8
 

Thank you dear for this installation walkthrough, please correct 'apt' to 'dnf' for RHEL installation, furthermore please indicate optional modules (can skip if modules not required like chat and video)


   
ReplyQuote
(@sharif)
Admin
Joined: 2 years ago
Posts: 387
Topic starter  

@hunaidharoon 

Hi,

Thank you for pointing out the corrections. I have changed all of them.

If you skip Step-10 to 16, you will not have the workstream collaboration-related packages. So, without step-10 to 16 an account would have the mentioned features:

  • Email
  • Contacts
  • Calendar
  • Files
  • Tasks
  • Search
  • Settings

I hope this helps.

Have a great day!

Regards,

Sharif


   
ReplyQuote
(@gagie)
Joined: 3 months ago
Posts: 6
 

hello i have this error  when i try to run this official documentation command on Rocky 8.9 :

root@mail:~# dnf install carbonio-tasks-ui carbonio-storages-ce carbonio-docs-connector-ce carbonio-docs-editor carbonio-docs-connector-db carbonio-prometheus carbonio-message-broker carbonio-message-dispatcher carbonio-docs-connector-dbcarbonio-message-dispatcher-db carbonio-ws-collaboration-db carbonio-ws-collaboration-ui
Failed to set locale, defaulting to C.UTF-8
Last metadata expiration check: 0:16:36 ago on Wed Jan 24 13:20:46 2024.
No match for argument: carbonio-docs-connector-dbcarbonio-message-dispatcher-db
Error: Unable to find a match: carbonio-docs-connector-dbcarbonio-message-dispatcher-db

I don't no why, i added the carbonio repository but it's doesn't work again

how can fix it please

I just want to test carbonio ce collaboration(video, chat, docs) functionality

This post was modified 3 months ago by gagie

   
ReplyQuote
(@gagie)
Joined: 3 months ago
Posts: 6
 

@sharif I also have this error when i try to run :
~# PGPASSWORD=$DB_ADM_PWD carbonio-message-dispatcher-db-bootstrap carbonio_adm 127.0.0.1
Database: 127.0.0.1:5432 user carbonio_adm
Error connecting to Consul agent: Error loading token file: open /etc/carbonio/message-dispatcher-db/service-discover/token: no such file or directory
root@mail:~#

when i run this pending-setups -a

i get this :
Insert the cluster credential password:

Executing all setup scripts...

--------------------------------------------------------------------------------
Executing /etc/zextras/pending-setups.d/carbonio-message-dispatcher.sh
Insert the cluster credential password:
ID: e4e9f944-6d88-88a1-cf1f-795d1b371453
Name: carbonio-message-dispatcher-policy
Description: Carbonio Message Dispatcher policy for service and sidecar proxy
Datacenters:
Rules:
{
"key_prefix": [
{
"carbonio-message-dispatcher/": {
"policy": "write"
},
"carbonio-message-dispatcher-db/": {
"policy": "read"
}
}
],
"node_prefix": [
{
"": {
"policy": "read"
}
}
],
"service": [
{
"carbonio-message-dispatcher-xmpp": {
"policy": "write"
},
"carbonio-message-dispatcher-http": {
"policy": "write"
},
"carbonio-message-dispatcher-auth": {
"policy": "write"
},
"carbonio-message-dispatcher-http-sidecar-proxy": {
"policy": "write"
},
"carbonio-message-dispatcher-xmpp-sidecar-proxy": {
"policy": "write"
},
"carbonio-message-dispatcher-auth-sidecar-proxy": {
"policy": "write"
}
}
]
}

Config entry written: service-defaults/carbonio-message-dispatcher-http
Config entry written: service-intentions/carbonio-message-dispatcher-http
Config entry written: service-defaults/carbonio-message-dispatcher-xmpp
Config entry written: service-intentions/carbonio-message-dispatcher-xmpp
Carbonio Message Dispatcher database password not found.
Please install carbonio-message-dispatcher-db and run carbonio-message-dispatcher-db-bootstrap command.
Script for Message Dispatcher terminated with error
Setup script failed, keeping it

pending faile why ?

 


   
ReplyQuote
(@anahuac)
Joined: 10 months ago
Posts: 306
 

@gagie Rocky Linux is not officially supported.... I'll suggest you to use Ubuntu 20.04... it's working perfectly =)


   
ReplyQuote
(@marco-manenti)
Joined: 1 year ago
Posts: 2
 

Hello, thanks for the installer post.

I've got this error, but i can't find the file in github:

At your point "7"

apt install carbonio-message-dispatcher -y
pending-setups -a
PGPASSWORD=$DB_ADM_PWD carbonio-message-dispatcher-migration carbonio_adm 127.78.0.10 20000

Last command, the result was:

Cannot run script file '/etc/carbonio/message-dispatcher/sql-scripts/migrations//6.0.0.sql'

You need to add a CR at the end of the file 6.0.0.sql, then it works

 

Thanks

 

Marco

 

 

 


   
ReplyQuote
Page 1 / 3