Difference between revisions of "Tine20 App Migration"
From Univention Wiki
(10 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
[[Category:App Center]] | [[Category:App Center]] | ||
− | + | [[Category:Docker App Migration]] | |
− | |||
Starting with version 2015.11.15 the Tine20 App for UCS is available as [[Docker|Docker App]]. New installations automatically using this Docker App. | Starting with version 2015.11.15 the Tine20 App for UCS is available as [[Docker|Docker App]]. New installations automatically using this Docker App. | ||
Line 9: | Line 8: | ||
The following steps are necessary to migrate the non-Docker Tine20 App to Docker: | The following steps are necessary to migrate the non-Docker Tine20 App to Docker: | ||
+ | |||
+ | == Check if docker works on the host== | ||
+ | |||
+ | Run the following command to verify docker works, before starting the migration: | ||
+ | <pre> | ||
+ | docker run hello-world | ||
+ | </pre> | ||
+ | If this test fails, please contact the Univention Support or check the Univention Forum [http://forum.univention.de/] for more information. | ||
== Save settings and prepare Tine20 App removal == | == Save settings and prepare Tine20 App removal == | ||
<pre> | <pre> | ||
+ | touch /etc/postgres-tine20.secret | ||
+ | chmod 600 /etc/postgres-tine20.secret | ||
php -r '$config = require "/etc/tine20/config.inc.php"; | php -r '$config = require "/etc/tine20/config.inc.php"; | ||
echo $config["database"]["password"];' > /etc/postgres-tine20.secret | echo $config["database"]["password"];' > /etc/postgres-tine20.secret | ||
+ | cp /etc/tine20/config.inc.php /etc/tine20/config.inc.php.bak | ||
apt-mark manual univention-postgresql | apt-mark manual univention-postgresql | ||
</pre> | </pre> | ||
+ | |||
+ | == Check Tine20 database type == | ||
+ | |||
+ | Tine20 supports both, mysql and postgresql, as database backends. The Docker version of the Tine20 App only supports postgresql. If the Tine20 App installation uses mysql, please contact the Univention Forum [http://forum.univention.de/] or the Univention Support. | ||
+ | |||
+ | To check if Tine20 uses mysql, use the following command: | ||
+ | <pre>mysql -u root --password=$(< /etc/mysql.secret) tine20</pre> | ||
== Remove Tine20 App == | == Remove Tine20 App == | ||
<pre> | <pre> | ||
univention-app remove tine20 | univention-app remove tine20 | ||
+ | univention-run-join-scripts | ||
ucr unset appcenter/prudence/docker/tine20 | ucr unset appcenter/prudence/docker/tine20 | ||
</pre> | </pre> | ||
Line 27: | Line 45: | ||
univention-app update | univention-app update | ||
univention-app register | univention-app register | ||
− | univention-app install tine20 | + | univention-app install tine20 |
+ | univention-run-join-scripts | ||
</pre> | </pre> | ||
== Verify mail settings in Tine20 setup == | == Verify mail settings in Tine20 setup == | ||
− | Open the ''/tine20/setup.php'' URL on the Docker host (username: tine20setup, password: see file ''/etc/tine20setup.secret'' on Docker host) and verify | + | Open the ''/tine20/setup.php'' URL on the Docker host (username: ''tine20setup'', password: see file ''/etc/tine20setup.secret'' on Docker host) and verify the mail settings (IMAP, SMTP, Sieve). |
+ | |||
+ | Also check the new /etc/tine20/config.inc.php in the Docker container (the original config can be found in /etc/tine20/config.inc.php.bak on the Docker Host). | ||
== Set Mail Home Server on UCS accounts == | == Set Mail Home Server on UCS accounts == |
Latest revision as of 10:24, 10 February 2017
Starting with version 2015.11.15 the Tine20 App for UCS is available as Docker App. New installations automatically using this Docker App.
To update an existing non-Docker Tine20 App to the new Docker Tine20 App a manual migration has to be done. Basically, Tine20 on the server (Docker host) is removed and installed in a new Docker container. Directories with Tine20 data are mapped into the container and the container continues to use the database on the Docker host.
The following steps are necessary to migrate the non-Docker Tine20 App to Docker:
Contents
Check if docker works on the host
Run the following command to verify docker works, before starting the migration:
docker run hello-world
If this test fails, please contact the Univention Support or check the Univention Forum [1] for more information.
Save settings and prepare Tine20 App removal
touch /etc/postgres-tine20.secret chmod 600 /etc/postgres-tine20.secret php -r '$config = require "/etc/tine20/config.inc.php"; echo $config["database"]["password"];' > /etc/postgres-tine20.secret cp /etc/tine20/config.inc.php /etc/tine20/config.inc.php.bak apt-mark manual univention-postgresql
Check Tine20 database type
Tine20 supports both, mysql and postgresql, as database backends. The Docker version of the Tine20 App only supports postgresql. If the Tine20 App installation uses mysql, please contact the Univention Forum [2] or the Univention Support.
To check if Tine20 uses mysql, use the following command:
mysql -u root --password=$(< /etc/mysql.secret) tine20
Remove Tine20 App
univention-app remove tine20 univention-run-join-scripts ucr unset appcenter/prudence/docker/tine20
Install Tine20 Docker App
univention-app update univention-app register univention-app install tine20 univention-run-join-scripts
Verify mail settings in Tine20 setup
Open the /tine20/setup.php URL on the Docker host (username: tine20setup, password: see file /etc/tine20setup.secret on Docker host) and verify the mail settings (IMAP, SMTP, Sieve).
Also check the new /etc/tine20/config.inc.php in the Docker container (the original config can be found in /etc/tine20/config.inc.php.bak on the Docker Host).
Set Mail Home Server on UCS accounts
If the UCS mailstack is used for email, verify that the attribute Mail Home Server is set on all UCS accounts, which are supposed to use the UCS mail server in Tine20.
Further configurations or modifications of UCR settings have to be done in the container from now on. Use the following command to change into the new Tine20 App container:
univention-app shell tine20