<?xml version="1.0" encoding="utf-8"?><!DOCTYPE article  PUBLIC '-//OASIS//DTD DocBook XML V4.4//EN'  'http://www.docbook.org/xml/4.4/docbookx.dtd'><article><articleinfo><title>WebServicesAdmin</title><revhistory><revision><revnumber>11</revnumber><date>2020-07-23 02:26:18</date><authorinitials>ClintonEbadi</authorinitials><revremark>proper commands to check for config differences</revremark></revision><revision><revnumber>10</revnumber><date>2020-07-23 02:18:49</date><authorinitials>ClintonEbadi</authorinitials><revremark>upgraded to roundcube 1.4.x</revremark></revision><revision><revnumber>9</revnumber><date>2018-11-05 04:12:57</date><authorinitials>ClintonEbadi</authorinitials><revremark>typo</revremark></revision><revision><revnumber>8</revnumber><date>2018-11-05 03:59:49</date><authorinitials>ClintonEbadi</authorinitials><revremark>we have been on roundcube 1.2 for a loooong time. also note upgrade script, and weird way of running it</revremark></revision><revision><revnumber>7</revnumber><date>2015-05-17 07:52:20</date><authorinitials>ClintonEbadi</authorinitials><revremark>upgraded to roundcube 1.1, some external libs are now installed with composer</revremark></revision><revision><revnumber>6</revnumber><date>2013-07-18 23:38:20</date><authorinitials>ClintonEbadi</authorinitials><revremark>updated to 0.9.x, also using the new modern theme since it fixed itself</revremark></revision><revision><revnumber>5</revnumber><date>2013-07-18 23:20:00</date><authorinitials>ClintonEbadi</authorinitials><revremark>note on roundcube</revremark></revision><revision><revnumber>4</revnumber><date>2013-01-24 07:10:36</date><authorinitials>ClintonEbadi</authorinitials><revremark>link to bugzilla</revremark></revision><revision><revnumber>3</revnumber><date>2013-01-24 06:23:41</date><authorinitials>ClintonEbadi</authorinitials><revremark>setting up phpmyadmin</revremark></revision><revision><revnumber>2</revnumber><date>2013-01-10 02:02:27</date><authorinitials>ClintonEbadi</authorinitials></revision><revision><revnumber>1</revnumber><date>2013-01-10 01:59:46</date><authorinitials>ClintonEbadi</authorinitials><revremark>document a few things</revremark></revision></revhistory></articleinfo><para>We try to set up common services in a consistent manner. Generally, a shared service should live in <code>/afs/hcoop.net/common/app/$app</code>, and be configured to track a release branch in the upstream version control to make updates easy. Review all hosted applications at least quarterly. </para><para>Make sure <code>system:anyuser</code> has as little access as needed and restrict the things service keytabs can modify. </para><para><emphasis role="strong">todo: explains acls etc. more consistent formatting.</emphasis> </para><section><title>roundcube mail</title><para><ulink url="https://webmail.hcoop.net"/> </para><para>Root = <code>/afs/hcoop.net/common/app/roundcube/app</code>. Logs are written to <code>$root/logs</code>, temp files in <code>$root/temp</code>. Main source is in <code>$root/roundcubemail</code>, tracking the <code>release-1.4</code> branch. </para><para>Runs as pts user <code>roundcube</code>. </para><para>The configuration is stored in <code>$root/config/config.inc.php</code>. It is regrettably not synchronized with the upstream defaults, so on every update make sure to <code>git log -p config/config.inc.php.sample</code> and <code>diff -u config/config.inc.php{,.sample}</code> and scan for any relevant changes to the default config we should adopt. </para><section><title>Upgrading</title><para>Additional libraries are managed by composer and not under git control, run <code>php composer.phar update --no-dev</code> each upgrade. </para><para>You will also beend to run <code>$root/app/bin/update.sh</code> after each update to ensure that database tables are updated. It's a bit complicated due to our use of ident for postgres auth, and must be run from the webserver: </para><screen><![CDATA[YOU$ sudo -u roundcube bash
# all commands are in the roundcube bash
roundcube$ unset KRB5CCNAME
roundcube$ kinit YOU && aklog # must be member of system:administrators to write
roundcube$ ./bin/update.sh]]></screen><para>This should advise if any changes to the config/environment are needed, and upgrade the postgres schema. </para></section><section><title>Installing Plugins</title><para>Per <ulink url="https://plugins.roundcube.net/"/>, add the plugin to <code>composer.json</code> and run <code>php composer.phar install</code>, for example: </para><screen><![CDATA["require" : {
    ...,
    "roundcube/carddav": "^3.0"
}]]></screen></section></section><section><title>phpmyadmin</title><para>Root = <code>/afs/hcoop.net/common/app/phpmyadmin/</code>. Git source in <code>$root/phpmyadmin</code>, tracking the <code>STABLE</code> branch. </para><para>Runs as pts user <code>phpmyadmin</code>. </para></section><section><title>Other Services</title><para>Some services have more detailed maintenance documentation: </para><itemizedlist><listitem><para><ulink url="https://wiki.hcoop.net/WebServicesAdmin/WebServicesAdmin/BugZilla#">/BugZilla</ulink> </para></listitem><listitem><para><ulink url="https://wiki.hcoop.net/WebServicesAdmin/WebServicesAdmin/MoinMoin#">/MoinMoin</ulink> </para></listitem></itemizedlist><!--rule (<hr>) is not applicable to DocBook--><para> <ulink url="https://wiki.hcoop.net/WebServicesAdmin/CategorySystemAdministration#">CategorySystemAdministration</ulink> </para></section></article>