[horde] Install horde with composer
Brent
impuser at bitrealm.com
Fri Jan 20 23:59:59 UTC 2023
Quoting Ferdinand Gruber <fer.grub at yahoo.de>:
> Am 20.01.23 um 18:59 schrieb Brent:
>> 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
>> </Directory>
>>
>> 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:
>>
>> # IMPORTANT: DO NOT EDIT THIS FILE!
>> # It will be overwritten with any future upgrade.
>>
>> <IfModule authz_core_module>
>> Require all granted
>> </IfModule>
>> <IfModule !authz_core_module>
>> Allow from all
>> </IfModule>
>>
>> <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[1] [QSA,L]
>> # Catch everything in the /rpc/ dir
>> RewriteRule ^rpc/(.*)$ horde/rpc.php/$1[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]
>>
>> </IfModule>
>>
>> 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.
>>
>> brent
>
> The .htacces file in my /srv/www/htdocs/horde/web seems exactly the
> same as you posted here.
>
> Require all granted is also set in /etc/apache2/default-server.conf
> for the webroot directory:
>
> <Directory /srv/www/htdocs>
> Options FollowSymlinks
> IndexIgnoreReset ON
> # AllowOverride None
> AllowOverride All
> Require all granted
> </Directory>
>
> Of course the file /srv/www/htdocs/horde/vendor/vendor/autoload.php
> does not exist. inside the vendor folder there is not another vendor
> folder.
>
> The webroot of horde in my system is /srv/www(htdocs/horde/web
>
> In the browser I call the site with www.example.com/horde/web[2].
>
> What is wrong there?
>
> --
> Regards from Austria
> Ferdinand Gruber
> --
> Horde mailing list
> Frequently Asked Questions: http://horde.org/faq/To unsubscribe,
> mail: horde-unsubscribe at lists.horde.org
I set my document root for horde to be the "web" directory from the
composer install. I've tried changing it on a test server to be just
the html directory so I would need to append the "/horde/web" like
your configuration and get a 500 error. Offhand, I don't know how the
document root impacts a horde install. I'm messing around to see if I
can find what else needs to be done if the DocumentRoot isn't the
"web" directory from composer.
So, I have "mail.example.com" set to use the composer "web" as the
root for that ServerName request in apache. It's easier for users too
as they don't need to remember to append "/horde/web" to their client
setups.
brent
Links:
------
[1] http://rpc.php/%241
[2] http://www.example.com/horde/web
More information about the horde
mailing list