From wikiguest at horde.org Wed Oct 7 13:26:03 2026 From: wikiguest at horde.org (boekhorstb1) Date: Wed, 07 Oct 2026 13:26:03 +0000 Subject: [commits] [Wiki] created: OpenSuse16LeapInstallationNotes Message-ID: <20261007132603.Horde.pDR5X8o7VcTcoWoXKlMME_E@wiki.horde.org> dc6614599d7a6767a1d256383af89e27 Wed, 07 Oct 2026 13:26:03 +0000 Created page: https://wiki.horde.org/OpenSuse16LeapInstallationNotes # Fresh Installation of Horde 6 on OpenSuse There are a few helpful links that could help in case you get stuck: - the [hordectl github repository](https://github.com/horde/hordectl/blob/FRAMEWORK_6_0/doc/INSTALL_HORDE.md) contains very useful documentation that is not readily available in the horde wiki. # Installation on OpenSuse Leap 16.0 ## Requirements - composer v2 - apache2 - mariadb (used version: 11.8.8-160000.1.1, should work on newest) - PHP 8.4 with cli, fpm, mysql, xml (note this means xmlreader and xmlwriter for OpenSuse), mbstring, curl, gd, intl, bcmath, zip extensions. - unzip OPTIONAL: - a public IP - an FQDN NOTE: I will use `12.345.678.90.nip.io` as my FQDN. Note that nip.io has DNS entries for all existing ips. So you can use yours there too (just replace 12.345.678.90 with your ip). I do this because I want to generate SSL certificates to run horde with https. OK lets start. You need to setup php 8.4 first, then install all the required packages as follows: ``` $ zypper in php8-cli php8-fpm php8-mysql php8-xmlreader php8-xmlwriter php8-mbstring php8-curl php8-gd php8-intl php8-bcmath php8-zip \ php-composer2 \ apache2 \ mariadb \ unzip ``` NOTE: composer will run when user is root. If it does not work for a normal user you can create the following simlink: ``` sudo ln -s /usr/bin/composer /usr/local/bin/composer ``` ## Install Hordectl You need to be root (or use sudo) for this and all following steps. ```root composer global require horde/hordectl:dev-FRAMEWORK_6_0 echo 'export PATH="$HOME/.config/composer/vendor/bin:$PATH"' >> ~/.bashrc source ~/.bashrc ``` Test: ```root hordectl version ``` NOTE (OPTIONAL) that this might not work: ```root sudo hordectl version ``` This is becuase sudo has an own "secure_path" which is set in the sudoers file (run `visudo`). If you want to sudo to work (not necessary in when using root user) then adapt that file or create an alias in the `.bashrc` file.m (add something like `alias sudop='sudo env PATH=$PATH'` after above exported Path variable). ## Prepare the database Use `mariadb-secure-installation` to setup a root user and password. Reference the hordectl docs [here](https://github.com/horde/hordectl/blob/FRAMEWORK_6_0/doc/INSTALL_HORDE.md#database-mysql--mariadb). Then log into mariadb as root and create the DB and User with full access to it: ```root mariadb -u root <<'EOF' CREATE DATABASE horde CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; CREATE USER 'horde'@'localhost' IDENTIFIED BY ''; GRANT ALL PRIVILEGES ON horde.* TO 'horde'@'localhost'; FLUSH PRIVILEGES; EOF ``` ## Fetch and setup Horde in working directory Setup horde in working directory `/srv/www/horde-deployment` ```root hordectl install --install-dir=/srv/www/horde-deployment --stability=dev ``` Add permissions: ```root chown -R wwwrun:www /srv/www/horde-deployment chmod -R 775 /srv/www/horde-deployment ``` ## Setup Apache Than change it to use a socket and not localhost: ```root sudo vim /etc/php8/fpm/php-fpm.d/www.conf ``` Change: ```root listen = 127.0.0.1:9000 ``` to something like: ```root listen = /run/php/php8.4-fpm.sock ``` Also uncomment the following: ```root listen.owner = wwwrun listen.group = www listen.mode = 0660 ``` Restart php-fpm or/and ensure it is running and enabled: ```root systemctl enable --now php-fpm systemctl restart php-fpm ``` Troubleshoot if php-fpm is not starting or reloading: ```root mkdir /run/php/ ``` Now finally start creating the needed configuration files for apache2. Reference the hordectl docs [here](https://github.com/horde/hordectl/blob/FRAMEWORK_6_0/doc/INSTALL_HORDE.md#web-server-apache). Run this (for ssl see note below): ```root hordectl webserver-config apache-vhost \ --default-url=http://12.345.678.90.nip.io \ --root-bundle-path=/srv/www/horde-deployment \ --output-dir=/srv/www/horde-deployment/var/webserver/apache-vhost \ --force ``` Note: if you need SSL then use `https://` with command above and afterwards edit /srv/www/horde-deployment/var/webserver/apache-vhost/horde-includes/tls/.conf for SSL settings. Extra note: if you have no domain name and still want to test SSL with an IP only you can use certbot with this DNS service (or use certbot with staging and version 5.4 or higher to get an ip-certificate for 6 days). ```root certbot certonly --apache -d 12.345.678.90.nip.io ``` Copy config files to apache2 folders: ```root # Note: Unlike Debian/Ubuntu, openSUSE does not need an a2ensite step cp -r /srv/www/horde-deployment/var/webserver/apache-vhost/horde-includes /etc/apache2/ cp /srv/www/horde-deployment/var/webserver/apache-vhost/sites/*.conf /etc/apache2/vhosts.d/ apachectl configtest systemctl reload apache2 ``` Then enable required modules: ```root a2enmod rewrite proxy_fcgi setenvif ``` ## Activate Horde ```root hordectl activate chown -R wwwrun:www /srv/www/horde-deployment/var ``` ## Configure database, session and authentication ```root hordectl configure database \ --type=mysql --host=localhost --port=3306 \ --username=horde --password= \ --database=horde --charset=utf8mb4 hordectl configure session \ --type=builtin --cookie-domain='' \ --ensure-session-secret hordectl configure auth --driver=sql --encryption=ssha ``` now migrate the database: ```root su wwwrun -s /bin/bash -c "/srv/www/horde-deployment/vendor/bin/horde-db-migrate up" ``` ## Enable the admin API for admin support Note: the target-name is the working directories name ("horde-deployment"). Reference to hordectl docs [here](https://github.com/horde/hordectl/blob/FRAMEWORK_6_0/doc/INSTALL_HORDE.md#8-enable-the-admin-api) IMPORTANT: the endpoint must be reachable. So if you pass localhost instead of (which is legit) then be sure that your apache config does not block anything or resend stuff to https (in that case add your fqdn here) ```root hordectl target update horde-deployment --endpoint=http:///horde hordectl secret generate ``` /etc/apache2 # certbot certonly --apache -d 12.345.678.90.nip.io ## Verifyn and Troubleshoot You can try these verification commands (but in my experience hordectl does not verify correctly, also see troubleshoots bellow): sudo hordectl test all curl -f http:///horde/ ### FQDN is not reachable, permission denied - run the chown command again and restart apache2: ```root # chown -R wwwrun:www /srv/www/horde-deployment # chown -R wwwrun:wwwrun /srv/www/horde-deployment/var # systemctl restart apache2 ``` - edit `var/config/horde/conf.php` and make sure the servername is set to FQDN and not localhost. NOTE: this might lead to problems later on, because the files are generated by hordectl, so check if you can use hordectl correctly to generate these configs. ``` $conf = array ( 'use_ssl' => 2, 'server' => array ( 'name' => '', # replace localhost with FQDN ), [...] ``` - "ERROR no permissions to reach directory" (similar apache errors). Be sure to check your configs. You might try adding this to your vhost configuration (but there is a `.htaccess` file in the `web/` dir that should do this allready: ``` Options FollowSymLinks AllowOverride All Require all granted ``` - "ERROR user could not login to SQL" (similar errors). Be sure that the DB user is set correctly in `var/config/horde/conf.php`. NOTE: this might lead to problems later on, because the files are generated by hordectl, so check if you can use hordectl correctly to generate these configs: ``` 'auth' => array ( 'admins' => array ( 0 => 'administrator', ), 'driver' => 'sql', 'params' => array ( 'username' => 'horde', # this should be the username you configured when setting up the DB 'driverconfig' => 'horde', 'table' => 'horde_users', 'username_field' => 'user_uid', 'password_field' => 'user_pass', 'encryption' => 'ssha', ), [...] ``` ## Install Horde applications Now you can start to install horde applications like so: ``` # cd /srv/www/horde-deployment # composer require horde/kronolith # the calendar app # composer require horde/imp # the emailclient # composer require horde/turba # the address book # composer require horde/mnemo # the notes app ``` NOTE: According to the release notes these apps should be working. Reference to mailing list archinves: https://lists.horde.org/archives/horde/Week-of-Mon-20260713/060404.html ``` "Repositories ready for release: - ActiveSync (3 feat, 6 fix) 3.1.0 - Core (0 feat, 4 fix) 3.2.1 - Log (0 feat, 3 fix) 3.0.1 - Rpc (1 feat, 1 fix) 3.1.0 - base (1 feat, 2 fix) 6.2.0 - imp (1 feat, 3 fix) 7.1.0 - ingo (0 feat, 3 fix) 4.0.1 - kronolith (0 feat, 1 fix) 5.0.2 - timeobjects (0 feat, 1 fix) 3.0.0-beta3 - turba (0 feat, 1 fix) 5.0.1 ``` NOTE: I recommend installing apps one by one so you can test them and see if they spwan errors. As of 10.08.2026 not all apps are working. I encountered problems when installing some apps that are not on the relase list above: ```root # composer require horde/gollem and horde/imp # ... # file_get_contents(/srv/www/horde-deployment/vendor/horde/gollem/web/js/horde/form_helpers.js) # : Failed to open stream: No such file or directory ``` You can try the dev-FRAMEWORK_6_0 branches to see if that mitigates the error. Also when updateing the database schemes of the installed apps (also the ones on the release list!) you might get this error: ``` SQLSTATE[42S02]: Base table or view not found: 1146 Table 'horde.rampage_types' doesn't exist ``` This is probably a bug and I do not know the direct conseqences of it. ## Bugs List any tickets on http://bugs.horde.org/ that cover this issue or are relevant to it. ## People Who is or might be involved in this project? Who can answer questions about it, either about a specific technology \(iCalendar\) or about a specific part of Horde \(Kronolith\)? ## Description Detailed project description. Include implementation steps, current status, plan, etc. ## Resources Include links to protocol descriptions, specifications, RFCs, external applications, presentations on http://horde.org/papers/ or elsewhere that are relevant, articles, API docs from http://dev.horde.org/ - anything that might be useful to someone working on this. --- Back to the [Project List](Project) From wikiguest at horde.org Wed Oct 7 13:29:41 2026 From: wikiguest at horde.org (boekhorstb1) Date: Wed, 07 Oct 2026 13:29:41 +0000 Subject: [commits] [Wiki] changed: OpenSuse16LeapInstallationNotes Message-ID: <20261007132941.Horde.T3nVM6onv96WzCSwWot9Wrw@wiki.horde.org> dc6614599d7a6767a1d256383af89e27 Wed, 07 Oct 2026 13:29:41 +0000 Modified page: https://wiki.horde.org/OpenSuse16LeapInstallationNotes New Revision: 2 Change log: - Remove some template headers and add bugs section @@ -312,35 +312,16 @@ ``` You can try the dev-FRAMEWORK_6_0 branches to see if that mitigates the error. -Also when updateing the database schemes of the installed apps (also the ones on the release list!) you might get this error: - -``` +## Bugs + +Also when updateing the database schemes of the installed apps (also the ones on the release list!) you might get this error: + +``` SQLSTATE[42S02]: Base table or view not found: 1146 Table 'horde.rampage_types' doesn't exist ``` - + This is probably a bug and I do not know the direct conseqences of it. - -## Bugs - - -List any tickets on http://bugs.horde.org/ that cover this issue or are relevant to it. - -## People - - -Who is or might be involved in this project? Who can answer questions about it, either about a specific technology \(iCalendar\) or about a specific part of Horde \(Kronolith\)? - -## Description - - -Detailed project description. Include implementation steps, current status, plan, etc. - -## Resources - - -Include links to protocol descriptions, specifications, RFCs, external applications, presentations on http://horde.org/papers/ or elsewhere that are relevant, articles, API docs from http://dev.horde.org/ - anything that might be useful to someone working on this. - --- Back to the [Project List](Project) From wikiguest at horde.org Wed Oct 7 13:33:17 2026 From: wikiguest at horde.org (boekhorstb1) Date: Wed, 07 Oct 2026 13:33:17 +0000 Subject: [commits] [Wiki] changed: HowTo Message-ID: <20261007133317.Horde.DW98x2sH3_twAigi1IuivsS@wiki.horde.org> dc6614599d7a6767a1d256383af89e27 Wed, 07 Oct 2026 13:33:17 +0000 Modified page: https://wiki.horde.org/HowTo New Revision: 11 Change log: - Add tutorial for installing or updating (from alpha) Horde on Opensuse16 @@ -15,8 +15,11 @@ - [ Installing Horde on CentOS 4](CentOS4InstallationNotes) - [ Installing Horde Groupware Webmail Edition on CentOS 5](CentOS5InstallationNotes) - [ Upgrading Horde CentOS 5.2](CentOS5UpgradeNotes) - [Installing PEAR modules necessary on RHEL 3](RHEL3PearHowTo) +- OpenSuse + - [Install H6 fresh on OpenSuse Leap 16.0](OpenSuse16LeapInstallationNotes) + - [Update to H6 stable from H6 alpha on OpenSuse Leap 16.0](OpenSuse16LeapUpdateFromAlphaNotes) - IIS - [Installing a Webmail System Based on Horde on IIS](http://www.slash.net/index.php/etc/48-otherarticles/66-installing-a-webmail-system-based-on-horde-on-iis-v20) - [Installing Horde CVS on an IIS6 Windows Server 2003](InstallHowToIIS) - [Migrating identity information from IMP 2 or other external sources](MigrateIdentities) From wikiguest at horde.org Wed Oct 7 13:33:46 2026 From: wikiguest at horde.org (boekhorstb1) Date: Wed, 07 Oct 2026 13:33:46 +0000 Subject: [commits] [Wiki] created: OpenSuse16LeapUpdateFromAlphaNotes Message-ID: <20261007133346.Horde.WDdVYnsM7NGwhf2wSD_6Rm8@wiki.horde.org> dc6614599d7a6767a1d256383af89e27 Wed, 07 Oct 2026 13:33:46 +0000 Created page: https://wiki.horde.org/OpenSuse16LeapUpdateFromAlphaNotes # Update to H6 from H6 alpha Current Horde version and Opensuse Version: - Horde 6.0.0-RC7 - openSUSE Leap 16.0 Update to: - Horde 6.2.1 - openSUSE Leap 16.0 There are a few helpful links that could help in case you get stuck (this is for setting things up from scratch): - my previous tutorial [setup h6 on opensuse from scratch](./setup_h6.md) - the [hordectl github repository](https://github.com/horde/hordectl/blob/FRAMEWORK_6_0/doc/INSTALL_HORDE.md) contains very useful documentation that is not readily available in the horde wiki. ## Requirements - composer v2 - apache2 - mariadb (used version: 11.8.8-160000.1.1, should work on newest) - PHP 8.4 with cli, fpm, mysql, xml (note this means xmlreader and xmlwriter for OpenSuse), mbstring, curl, gd, intl, bcmath, zip extensions. - unzip You need to setup php 8.4 first, then install all the required packages as follows (also run this command to update the packages if you do not want to perform a complete system update): ``` $ zypper in php8-cli php8-fpm php8-mysql php8-xmlreader php8-xmlwriter php8-mbstring php8-curl php8-gd php8-intl php8-bcmath php8-zip \ php-composer2 \ apache2 \ mariadb \ unzip ``` NOTE: You can do a systemupgrade as well, i.e.: ``` sudo zypper refresh && sudo zypper update ``` ## Create backups Create a backup of your horde directory and DB. At least duplicate the Horde working dir to somehwere safe. NOTE: - If you use hordectl in Horde, your configurations might be overwritten. Normally hordectl will create a `conf.bak.php` file. But better be save than sorry. So at least backup the `var/` directory inside your horde parent directory (for me this will be `/srv/www/horde-deployment`). - composer.lock contains your state of horde. So back that up too. ## Update with composer First try the direct approach and run this (after you created the necessary backups): ``` # cd /srv/www/horde-deployment # composer update ``` Update the Database: ```root su wwwrun -s /bin/bash -c "/srv/www/horde-deployment/vendor/bin/horde-db-migrate up" ``` Set permissions again: ```root chown -R wwwrun:www /srv/www/horde-deployment chmod -R 775 /srv/www/horde-deployment ``` Restart apache2: ``` systemctl restart apache2 ```