[horde] Install horde with composer

Brent impuser at bitrealm.com
Fri Jan 20 17:59:43 UTC 2023

  Quoting Ferdinand Gruber <fer.grub at yahoo.de>:

> Am 20.01.23 um 16:01 schrieb Brent:
>>  Quoting Ferdinand Gruber <fer.grub at yahoo.de>:
>>> I haven't been able to get Horde to work since I upgraded my  
>>> server to PHP8.
>>> Therefore I tried to make a new install of horde with composer on  
>>> my server (openSUSE 15.4)
>>> As described in https://github.com/horde/horde-deployment#readme I  
>>> entered the following commands.
>>> |git clone https://github.com/maintaina-com/horde-deployment.git  
>>> horde cd /srv/www/htdocs/horde composer install|
>>> That worked without problems.
>>> I have little experience with composer, so I don't understand the  
>>> next instruction in the readme file.
>>> "Then copy the main horde config file to point your web server  
>>> root to the web/ subdir"
>>> From where should I copy what kind of file to what folder? Of  
>>> course I backuped all horde files.
>>> Is it necessary to set up a new named virtual host to access the  
>>> new horde site? Is the new documentroot for  
>>> Hoerde|srv/www/htdocs/horde/web ?
>>> |
>>> Please give me a hint? Thank you in advance.
>>> --
>>> Regards from Austria
>>> Ferdinand Gruber
>>> --
>>> Horde mailing list
>>> Frequently Asked Questions: http://horde.org/faq/To unsubscribe,  
>>> mail: horde-unsubscribe at lists.horde.org
>> In my case, my composer install is in "/var/www/html/horde". The  
>> webroot becomes "/var/www/html/horde/web" and so I updated my  
>> apache config to reflect that location.
>> You then just copy  
>> "/var/www/html/horde/web/horde/config/conf.php.dist" to  
>> "/var/www/html/horde/web/config/conf.php" and then you should be  
>> able to connect to the admin interface and start setting things up  
>> the way you want.
>> brent
> Thank you, that helped.
> I created a Virtuel Host for Horde on the webserver.
> Then I copied the conf.php from the former horde installation to  
> /srv/www/htdocs/horde/var/config/horde/. Hope that is okay. Anyway,  
> now the Login page of Horde appears in the web browser.
> After entering username and password I get this errors:
> *Warning*:  
> require_once(/srv/www/htdocs/horde/vendor/vendor/autoload.php):  
> Failed to open stream: No such file or directory in  
> */srv/www/htdocs/horde/vendor/horde/horde/rampage.php* on line *2*
> *Fatal error*: Uncaught Error: Failed opening required  
> '/srv/www/htdocs/horde/vendor/vendor/autoload.php'  
> (include_path='.:/usr/share/php8:/usr/share/php/PEAR') in  
> /srv/www/htdocs/horde/vendor/horde/horde/rampage.php:2 Stack trace:  
> #0 {main} thrown in  
> */srv/www/htdocs/horde/vendor/horde/horde/rampage.php* on line *2*

Ensure that you have the re-write stuff set for your webroot directory  
and that your web server user can read the files there.

For me:

<Directory /var/www/html/horde/web>
    AllowOverride All

In your webroot directory for horde, ensure you also have the right  
.htaccess. The web user needs to be able to be able to write there.  
Here's mine:

# It will be overwritten with any future upgrade.

<IfModule authz_core_module>
    Require all granted
<IfModule !authz_core_module>
    Allow from all

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteRule .* - [env=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
    RewriteRule .* - [env=REDIRECT_HTTP_AUTHORIZATION:%{HTTP:Authorization}]
    # Catch everything ending exactly in rpc.php
    RewriteRule ^rpc\.php$ horde/rpc.php [QSA,L]
    # Catch all rewrites under rpc.php
    RewriteRule ^rpc\.php(.*)$ horde/rpc.php/$1 [QSA,L]
    # Catch everything in the /rpc/ dir
    RewriteRule ^rpc/(.*)$ horde/rpc.php/$1 [QSA,L]
    ## Catch /rpc without trailing slash but not /rpcsomething
    RewriteRule ^rpc$ horde/rpc.php/ [QSA,L]

    ## Forward from traditional login location to subdir
    RewriteCond   login.php  !-d
    RewriteCond   login.php  !-f
    RewriteRule login.php(.*)$ horde/login.php$1 [QSA,L]

    ## Forward remaining requests to rampage controller framework
    RewriteRule ^rpc$ horde/rpc.php/ [QSA,L]
    RewriteCond   %{REQUEST_FILENAME}  !-d
    RewriteCond   %{REQUEST_FILENAME}  !-f
    RewriteRule ^(.*)$ horde/rampage.php [QSA,L]

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{DOCUMENT_ROOT}/$1/index.php !-f
    RewriteRule ^(.*?)/?$ horde/rampage.php [L]


Are you running the dev6 branch for this? There should be no need for  
any of the old pear horde stuff. What's your authentication backend?  
Is it IMP? When you first copied the .dist to conf.php, you should  
have been able to get in without a login. Some of the old config files  
aren't directly compatible, so you might not be able to copy those  
from your previously-working configuration.


More information about the horde mailing list