<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.daxtech.net:443/index.php?action=history&amp;feed=atom&amp;title=Install_open-xchange_on_debian_12</id>
	<title>Install open-xchange on debian 12 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.daxtech.net:443/index.php?action=history&amp;feed=atom&amp;title=Install_open-xchange_on_debian_12"/>
	<link rel="alternate" type="text/html" href="https://wiki.daxtech.net:443/index.php?title=Install_open-xchange_on_debian_12&amp;action=history"/>
	<updated>2026-04-19T08:40:25Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.41.0</generator>
	<entry>
		<id>https://wiki.daxtech.net:443/index.php?title=Install_open-xchange_on_debian_12&amp;diff=19&amp;oldid=prev</id>
		<title>Dax: /* Init file store */</title>
		<link rel="alternate" type="text/html" href="https://wiki.daxtech.net:443/index.php?title=Install_open-xchange_on_debian_12&amp;diff=19&amp;oldid=prev"/>
		<updated>2024-01-11T08:52:45Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Init file store&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Source: https://oxpedia.org/wiki/index.php?title=AppSuite:Open-Xchange_Installation_Guide_for_Debian_11.0&lt;br /&gt;
&lt;br /&gt;
Dax 2024&lt;br /&gt;
&lt;br /&gt;
===Dependencies===&lt;br /&gt;
====Add gpg key====&lt;br /&gt;
 wget -qO - https://packages.adoptium.net/artifactory/api/gpg/key/public | apt-key add -&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Create JAVA source repository ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cat &amp;lt;&amp;lt; EOF &amp;gt; /etc/apt/sources.list.d/adoptopenjdk.list deb https://packages.adoptium.net/artifactory/deb/ buster main EOF&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Create OX source repository====&lt;br /&gt;
NOTE: meanwhile check if was deployed the debian 12 version&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cat &amp;lt;&amp;lt; EOF &amp;gt;&amp;gt; /etc/apt/sources.list.d/open-xchange.list&lt;br /&gt;
&lt;br /&gt;
deb https://software.open-xchange.com/products/appsuite/stable/appsuiteui/DebianBullseye/ /&lt;br /&gt;
deb https://software.open-xchange.com/products/appsuite/stable/backend/DebianBullseye/ / &lt;br /&gt;
&lt;br /&gt;
# if you have a valid maintenance subscription, please uncomment the &lt;br /&gt;
# following and add the ldb account data to the url so that the most recent&lt;br /&gt;
# packages get installed&lt;br /&gt;
# deb https://[CUSTOMERID:PASSWORD]@software.open-xchange.com/products/appsuite/stable/appsuiteui/updates/DebianBullseye /&lt;br /&gt;
# deb https://[CUSTOMERID:PASSWORD]@software.open-xchange.com/products/appsuite/stable/backend/updates/DebianBullseye /&lt;br /&gt;
EOF&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Add key ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://software.open-xchange.com/0xDFD4BCF6-oxbuildkey.pub -O - | apt-key add -&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Set root password for mysql====&lt;br /&gt;
 mysql -u root -p&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
ALTER USER &amp;#039;root&amp;#039;@&amp;#039;localhost&amp;#039; IDENTIFIED BY &amp;#039;PASSWORD!&amp;#039;;&lt;br /&gt;
flush privileges;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Install OX===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
apt-get install gnupg2 apache2 mariadb-server open-xchange open-xchange-authentication-database open-xchange-grizzly open-xchange-admin open-xchange-appsuite open-xchange-appsuite-backend open-xchange-appsuite-manifest&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Init OX database====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
/opt/open-xchange/sbin/initconfigdb --configdb-pass=oxp4ss -a --mysql-root-passwd=PASSWORD!&lt;br /&gt;
&lt;br /&gt;
/opt/open-xchange/sbin/oxinstaller --no-license --servername=oxserver --configdb-pass=OXPASSWORD! --master-pass=PASSWORD! --network-listener-host=localhost --servermemory 2048&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====full email address to log in====&lt;br /&gt;
edit &amp;lt;code&amp;gt;/opt/open-xchange/etc/mail.properties and set&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
com.openexchange.mail.loginSource=mail&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then restart ox&lt;br /&gt;
 systemctl restart open-xchange&lt;br /&gt;
====Register server====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
/opt/open-xchange/sbin/registerserver -n oxserver -A oxadminmaster -P PASSWORD!&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Init file store====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
mkdir /var/opt/filestore&lt;br /&gt;
chown open-xchange:open-xchange /var/opt/filestore&lt;br /&gt;
/opt/open-xchange/sbin/registerfilestore -A oxadminmaster -P ADMINPASSWORD! -t file:/var/opt/filestore -s 1000000&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Register database====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
/opt/open-xchange/sbin/registerdatabase -A oxadminmaster -P ADMINPASSWORD! -n oxdatabase -p oxp4ss -m true&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Create OX context===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
/opt/open-xchange/sbin/createcontext -A oxadminmaster -P PASSWORD! -c 1 -u oxadmin -d &amp;quot;Context Admin&amp;quot; -g Admin -s User -p PASSWORD! -L defaultcontext -e oxadmin@daxtech.net -q 1024 --access-combination-name=groupware_standard&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Create an OX user===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
/opt/open-xchange/sbin/createuser -c 1 -A oxadmin -P ADMINPASSWORD! -u testuser -d &amp;quot;Daniele Callari&amp;quot; -g Daniele -s Callari -p USERPASSWORD -e danielecallari@daxtech.net --imaplogin danielecallari@daxtech.net --imapserver vps02.daxtech.net --smtpserver vps02.daxtech.net&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Apache===&lt;br /&gt;
Enable necessary apache modules&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
a2enmod proxy proxy_http proxy_balancer expires deflate headers rewrite mime setenvif lbmethod_byrequests&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Configure proxy==== &lt;br /&gt;
edit &amp;lt;code&amp;gt;/etc/apache2/conf-available/proxy_http.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;IfModule mod_proxy_http.c&amp;gt;&lt;br /&gt;
   ProxyRequests Off&lt;br /&gt;
   ProxyStatus On&lt;br /&gt;
   # When enabled, this option will pass the Host: line from the incoming request to the proxied host.&lt;br /&gt;
   ProxyPreserveHost On&lt;br /&gt;
   # Please note that the servlet path to the soap API has changed:&lt;br /&gt;
   &amp;lt;Location /webservices&amp;gt;&lt;br /&gt;
       # restrict access to the soap provisioning API&lt;br /&gt;
       Order Deny,Allow&lt;br /&gt;
       Deny from all&lt;br /&gt;
       Allow from 127.0.0.1&lt;br /&gt;
       # you might add more ip addresses / networks here&lt;br /&gt;
       # Allow from 192.168 10 172.16&lt;br /&gt;
   &amp;lt;/Location&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   # The old path is kept for compatibility reasons&lt;br /&gt;
   &amp;lt;Location /servlet/axis2/services&amp;gt;&lt;br /&gt;
       Order Deny,Allow&lt;br /&gt;
       Deny from all&lt;br /&gt;
       Allow from 127.0.0.1&lt;br /&gt;
   &amp;lt;/Location&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   # Enable the balancer manager mentioned in&lt;br /&gt;
   # https://oxpedia.org/wiki/index.php?title=AppSuite:Running_a_cluster#Updating_a_Cluster&lt;br /&gt;
   &amp;lt;IfModule mod_status.c&amp;gt;&lt;br /&gt;
     &amp;lt;Location /balancer-manager&amp;gt;&lt;br /&gt;
       SetHandler balancer-manager&lt;br /&gt;
       Order Deny,Allow&lt;br /&gt;
       Deny from all&lt;br /&gt;
       Allow from 127.0.0.1&lt;br /&gt;
     &amp;lt;/Location&amp;gt; &lt;br /&gt;
   &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;Proxy balancer://oxcluster&amp;gt;&lt;br /&gt;
       Order deny,allow&lt;br /&gt;
       Allow from all&lt;br /&gt;
       # multiple server setups need to have the hostname inserted instead localhost&lt;br /&gt;
       BalancerMember http://localhost:8009 timeout=100 smax=0 ttl=60 retry=60 loadfactor=50 route=APP1&lt;br /&gt;
       # Enable and maybe add additional hosts running OX here&lt;br /&gt;
       # BalancerMember http://oxhost2:8009 timeout=100 smax=0 ttl=60 retry=60 loadfactor=50 route=APP2&lt;br /&gt;
      ProxySet stickysession=JSESSIONID|jsessionid scolonpathdelim=On&lt;br /&gt;
      SetEnv proxy-initial-not-pooled&lt;br /&gt;
      SetEnv proxy-sendchunked&lt;br /&gt;
   &amp;lt;/Proxy&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   # The standalone documentconverter(s) within your setup (if installed)&lt;br /&gt;
   # Make sure to restrict access to backends only&lt;br /&gt;
   # See: https://httpd.apache.org/docs/$YOUR_VERSION/mod/mod_authz_host.html#allow for more infos&lt;br /&gt;
   #&amp;lt;Proxy balancer://oxcluster_docs&amp;gt;&lt;br /&gt;
   #    Order Deny,Allow&lt;br /&gt;
   #    Deny from all&lt;br /&gt;
   #    Allow from backend1IP&lt;br /&gt;
   #    BalancerMember http://converter_host:8009 timeout=100 smax=0 ttl=60 retry=60 loadfactor=50 keepalive=On  route=APP3&lt;br /&gt;
   #    ProxySet stickysession=JSESSIONID|jsessionid scolonpathdelim=On&lt;br /&gt;
   #       SetEnv proxy-initial-not-pooled&lt;br /&gt;
   #    SetEnv proxy-sendchunked&lt;br /&gt;
   #&amp;lt;/Proxy&amp;gt;&lt;br /&gt;
   # Define another Proxy Container with different timeout for the sync clients. Microsoft recommends a minimum value of 15 minutes.&lt;br /&gt;
   # Setting the value lower than the one defined as com.openexchange.usm.eas.ping.max_heartbeat in eas.properties will lead to connection&lt;br /&gt;
   # timeouts for clients.  See https://support.microsoft.com/?kbid=905013 for additional information.&lt;br /&gt;
   #&lt;br /&gt;
   # NOTE for Apache versions &amp;lt; 2.4:&lt;br /&gt;
   # When using a single node system or using BalancerMembers that are assigned to other balancers please add a second hostname for that&lt;br /&gt;
   # BalancerMember&amp;#039;s IP so Apache can treat it as additional BalancerMember with a different timeout.&lt;br /&gt;
   #&lt;br /&gt;
   # Example from /etc/hosts: 127.0.0.1    localhost localhost_sync&lt;br /&gt;
   #&lt;br /&gt;
  # Alternatively select one or more hosts of your cluster to be restricted to handle only eas/usm requests&lt;br /&gt;
  &amp;lt;Proxy balancer://eas_oxcluster&amp;gt;&lt;br /&gt;
     Order deny,allow&lt;br /&gt;
     Allow from all&lt;br /&gt;
     # multiple server setups need to have the hostname inserted instead localhost&lt;br /&gt;
     BalancerMember http://localhost_sync:8009 timeout=1900 smax=0 ttl=60 retry=60 loadfactor=50 route=APP1&lt;br /&gt;
     # Enable and maybe add additional hosts running OX here&lt;br /&gt;
     # BalancerMember http://oxhost2:8009 timeout=1900  smax=0 ttl=60 retry=60 loadfactor=50 route=APP2&lt;br /&gt;
     ProxySet stickysession=JSESSIONID|jsessionid scolonpathdelim=On&lt;br /&gt;
     SetEnv proxy-initial-not-pooled&lt;br /&gt;
     SetEnv proxy-sendchunked&lt;br /&gt;
   &amp;lt;/Proxy&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  # When specifying additional mappings via the ProxyPass directive be aware that the first matching rule wins. Overlapping urls of&lt;br /&gt;
  # mappings have to be ordered from longest URL to shortest URL.&lt;br /&gt;
  # &lt;br /&gt;
  # Example:&lt;br /&gt;
  #   ProxyPass /ajax      balancer://oxcluster_with_100s_timeout/ajax&lt;br /&gt;
  #   ProxyPass /ajax/test balancer://oxcluster_with_200s_timeout/ajax/test&lt;br /&gt;
  #&lt;br /&gt;
  # Requests to /ajax/test would have a timeout of 100s instead of 200s &lt;br /&gt;
  #   &lt;br /&gt;
  # See:&lt;br /&gt;
  # - https://httpd.apache.org/docs/current/mod/mod_proxy.html#proxypass Ordering ProxyPass Directives&lt;br /&gt;
  # - https://httpd.apache.org/docs/current/mod/mod_proxy.html#workers Worker Sharing&lt;br /&gt;
  ProxyPass /ajax balancer://oxcluster/ajax&lt;br /&gt;
  ProxyPass /appsuite/api balancer://oxcluster/ajax&lt;br /&gt;
  ProxyPass /drive balancer://oxcluster/drive&lt;br /&gt;
  ProxyPass /infostore balancer://oxcluster/infostore&lt;br /&gt;
  ProxyPass /realtime balancer://oxcluster/realtime&lt;br /&gt;
  ProxyPass /servlet balancer://oxcluster/servlet&lt;br /&gt;
  ProxyPass /webservices balancer://oxcluster/webservices&lt;br /&gt;
&lt;br /&gt;
  #ProxyPass /documentconverterws balancer://oxcluster_docs/documentconverterws&lt;br /&gt;
&lt;br /&gt;
  ProxyPass /usm-json balancer://eas_oxcluster/usm-json&lt;br /&gt;
  ProxyPass /Microsoft-Server-ActiveSync balancer://eas_oxcluster/Microsoft-Server-ActiveSync&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Configure virtual host====&lt;br /&gt;
edit &amp;lt;code&amp;gt;/etc/apache2/sites-enabled/000-default.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
       ServerAdmin webmaster@localhost&lt;br /&gt;
&lt;br /&gt;
       DocumentRoot /var/www/html&lt;br /&gt;
       &amp;lt;Directory /var/www/html&amp;gt;&lt;br /&gt;
               Options -Indexes +FollowSymLinks +MultiViews&lt;br /&gt;
               AllowOverride None&lt;br /&gt;
               Order allow,deny&lt;br /&gt;
               allow from all&lt;br /&gt;
               RedirectMatch ^/$ /appsuite/&lt;br /&gt;
       &amp;lt;/Directory&amp;gt;&lt;br /&gt;
&lt;br /&gt;
       &amp;lt;Directory /var/www/html/appsuite&amp;gt;&lt;br /&gt;
               Options None +SymLinksIfOwnerMatch&lt;br /&gt;
               AllowOverride Indexes FileInfo&lt;br /&gt;
       &amp;lt;/Directory&amp;gt;&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Enable new config and restart&lt;br /&gt;
 a2enconf proxy_http.conf&lt;br /&gt;
 systemctl restart apache2&lt;/div&gt;</summary>
		<author><name>Dax</name></author>
	</entry>
</feed>