[horde] git install help

Michael J Rubinsky mrubinsk at horde.org
Fri Jan 3 17:30:19 UTC 2020


Quoting Simon B <simon.buongiorno at gmail.com>:

> On Fri, 3 Jan 2020 at 16:48, Michael J Rubinsky <mrubinsk at horde.org> wrote:
>>
>>
>> Quoting Simon B <simon.buongiorno at gmail.com>:
>>
>> > On Thu, 2 Jan 2020 at 19:34, Michael J Rubinsky  
>> <mrubinsk at horde.org> wrote:
>> >>
>> >>
>> >> Quoting Simon B <simon.buongiorno at gmail.com>:
>> >>
>> >> > On Wed, 1 Jan 2020 at 15:54, Simon B  
>> <simon.buongiorno at gmail.com> wrote:
>> >> >>
>> >> >> On Tue, 31 Dec 2019 at 20:46, Michael J Rubinsky
>> >> <mrubinsk at horde.org> wrote:
>> >> >> >
>> >> >> >
>> >> >> > Quoting Simon B <simon.buongiorno at gmail.com>:
>> >> >> >
>> >> >> > > On Fri, 27 Dec 2019 at 16:14, Simon B
>> >> >> <simon.buongiorno at gmail.com> wrote:
>> >> >> > >>
>> >> >> > >> On Fri, 27 Dec 2019 at 13:12, Arjen de Korte
>> >> >> > >> <build+horde at de-korte.org> wrote:
>> >> >> > >> >
>> >> >> > >> > Citeren Simon B <simon.buongiorno at gmail.com>:
>> >> >> > >> >
>> >> >> > >> > > Hi
>> >> >> > >> > >
>> >> >> > >> > > It's been nearly 2 years, since the git repository was
>> >> >> split, and I am
>> >> >> > >> > > finally getting to trying to update my configuration...
>> >> >> > >> > >
>> >> >> > >> > > Following these instructions...
>> >> >> > >> > >
>> >> >> > >> > > https://github.com/horde/git-tools
>> >> >> > >> > >
>> >> >> > >> > > I did this:
>> >> >> > >> > > cp config/conf.php.dist config/conf.php
>> >> >> > >> > >
>> >> >> > >> > > I did this:
>> >> >> > >> > >  10 // Target directory for git checkouts.
>> >> >> > >> > >  11 $conf['git_base'] = '/my/current/5.2/git/clone/';
>> >> >> > >> > >  12
>> >> >> > >> > >  13 // Target directory for installation, i.e. the webroot .
>> >> >> > >> > >  14 $conf['web_base'] = '/my/current/git/webroot';
>> >> >> > >> > >  15
>> >> >> > >> > >  16 // Group name to use for the static directory. Should
>> >> >> be the web
>> >> >> > >> > > server's
>> >> >> > >> > >  17 // group.
>> >> >> > >> > >  18 $conf['static_group'] = 'www-data';
>> >> >> > >> > >
>> >> >> > >> > > I tried to do this:
>> >> >> > >> > > horde-git-tools --help
>> >> >> > >> > >
>> >> >> > >> > > but I got this:
>> >> >> > >> > > root at mail:/ /my/current/5.2/git/clone/horde-git-tools#
>> >> >> > >> bin/horde-git-tools
>> >> >> > >> > > --help
>> >> >> > >> > > You need to run "composer install" first.
>> >> >> > >> > > For more information on composer see  
>> https://getcomposer.org/.
>> >> >> > >> > >
>> >> >> > >> > > So, then I did this:
>> >> >> > >> > > php -r "copy('https://getcomposer.org/installer',
>> >> >> > >> 'composer-setup.php');"
>> >> >> > >> > > php -r "if (hash_file('sha384', 'composer-setup.php') ===
>> >> >> > >> > >
>> >> >> > >>
>> >> >>
>> >>  
>> 'baf1608c33254d00611ac1705c1d9958c817a1a33bce370c0595974b342601bd80b92a3f46067da89e3b06bff421f182')
>> >> >> > >> > > { echo 'Installer verified'; } else { echo  
>> 'Installer corrupt';
>> >> >> > >> > > unlink('composer-setup.php'); } echo PHP_EOL;" php
>> >> >> > >> composer-setup.php php
>> >> >> > >> > > -r "unlink('composer-setup.php');"
>> >> >> > >> > >
>> >> >> > >> > > But I still get this:
>> >> >> > >> > > root at mail:/ /my/current/5.2/git/clone/horde-git-tools#
>> >> >> > >> bin/horde-git-tools
>> >> >> > >> > > --help
>> >> >> > >> > > You need to run "composer install" first.
>> >> >> > >> > > For more information on composer see  
>> https://getcomposer.org/.
>> >> >> > >> > >
>> >> >> > >> > > Is there a more step-by-step tutorial?
>> >> >> > >> >
>> >> >> > >> > If you need a step-by-step tutorial, I'd recommend to
>> >> stick with the
>> >> >> > >> > versions from the pear.horde.org repository.
>> >> >> > >> >
>> >> >> > >> > I have one of those - as you answered in the other  
>> thread.   And
>> >> >> > >> I don't intend to decommission it - but there are  
>> reasons it is not
>> >> >> > >> working for me.
>> >> >> > >>
>> >> >> > >> I actually managed to make some progress - for the archives, I
>> >> >> had to...
>> >> >> > >> add some directories and chown them to the webserver user (chown
>> >> >> > >> www-data:www-data /var/www/.composer/cache/)
>> >> >> > >> run the command as: "php composer.phar install" instead of just
>> >> >> > >> "composer.phar install" using the www-data user
>> >> >> > >> upgrade PHP to > 5.5.0
>> >> >> > >>
>> >> >> > >> However, now I have this error...
>> >> >> > >> $ php composer.phar install
>> >> >> > >> Loading composer repositories with package information
>> >> >> > >> Installing dependencies (including require-dev) from lock file
>> >> >> > >> Package operations: 66 installs, 0 updates, 0 removals
>> >> >> > >>
>> >> >> > >>
>> >> >> > >>   [RuntimeException]
>> >> >> > >>   /my/current/5.2/git/clone/horde-git-tools/vendor does not
>> >> exist and
>> >> >> > >> could not be created.
>> >> >> > >>
>> >> >> > >> Apparently, this is because www-data needs rw access to
>> >> >> > >> horde-git-tools/ - so...
>> >> >> > >> chmod -R 774 /usr/share/git-horde5/horde-git-tools/
>> >> >> > >>
>> >> >> > >> at least for now...
>> >> >> > >>
>> >> >> > >> That directory is filling up with 66 packages, but what the
>> >> next steps
>> >> >> > >> are, I have no idea.
>> >> >> > >>
>> >> >> > >>
>> >> >> > >> Overall, I think more people using the git clone is  
>> better for the
>> >> >> > >> project, because it gives the developers more  
>> information and better
>> >> >> > >> support.   The previous way of cloning the git repository - AND
>> >> >> > >> updating it! - was relatively simple.  The added  
>> complexity seems to
>> >> >> > >> be caused by assumed competence in other tools (composer) -
>> >> which can
>> >> >> > >> be avoided by better documentation, rather any other cause.
>> >> >> > >
>> >> >> > > I restarted and things were going to going better until  
>> this error...
>> >> >> > >
>> >> >> > > root at mail:/usr/share/2020-git-horde/horde-git-tools#
>> >> >> > > bin/horde-git-tools git clone
>> >> >> > > [  INFO  ] Listing repositories from
>> >> >> https://api.github.com/orgs/horde/repos
>> >> >> > > PHP Fatal error:  Uncaught exception 'Horde_Http_Exception' with
>> >> >> > > message 'name lookup timed out' in
>> >> >> >
>> >> >> > This sounds like a DNS lookup timeout.
>> >> >>
>> >> >> Hi Michael,
>> >> >>
>> >> >> I thought that too - but...
>> >> >>
>> >> >> root at mail:~# nslookup api.github.com
>> >> >> Server:         8.8.8.8
>> >> >> Address:        8.8.8.8#53
>> >> >>
>> >> >> Non-authoritative answer:
>> >> >> Name:   api.github.com
>> >> >> Address: 140.82.118.5
>> >> >>
>> >> >> root at mail:~# nslookup github.com
>> >> >> Server:         8.8.8.8
>> >> >> Address:        8.8.8.8#53
>> >> >>
>> >> >> Non-authoritative answer:
>> >> >> Name:   github.com
>> >> >> Address: 140.82.118.3
>> >> >>
>> >> >> > FWIW I just ran through a new install of git-tools without  
>> and issues
>> >> >> > following the instructions at https://github.com/horde/git-tools
>> >> >
>> >> > Hi Michael,
>> >> >
>> >> > In the above mentioned instructions...
>> >> >
>> >> > ..."Full directory paths will be needed in
>> >> > horde-git/horde/config/registry.php due to the symlinks. The easiest
>> >> > way to setup full paths is to set the $app_fileroot parameter in this
>> >> > file."
>> >> >
>> >> > Do you mean
>> >> > root at mail:/usr/share/2020-git-horde# find .  -name  
>> "registry.php" -print
>> >> > ./base/config/registry.php
>> >>
>> >> Yes, it's talking about the config/registry.php file. In that file
>> >> header are similar instructions. Actually, you'll want to make the
>> >> edit in registry.local.php file in that same directory.
>> >
>> > the webpage needs need to change from "horde/config" to  
>> "base/config: then :)
>>
>> Fixed, should be live soonish. Thanks for the heads up, that was
>> written before we renamed the horde module.
>>
>>
>> > I have a registry.local.php containing
>> >
>> > $app_fileroot = '/usr/share/horde-beta/';
>> > $app_webroot = '..';
>> > #$app_webroot = '/';
>>
>> These should be *absolute* paths, not relative. If you are serving
>> horde directly from the webroot, i.e., www.example.com, $app_webroot
>> should be "/". If you are serving it from a directory within the web
>> server's webroot, i.e., www.example.com/horde, it should be "/horde".
>
> That was how I got it working in the previous git install :)  I've
> changed it back to /, since all the URLs should appear as
> webmail.example.com/imp etc.
>
>> > /usr/share/horde-beta/ is the folder from which Apache serves the
>> > files and contain the symlinks.
>> > It's copied from the previous registry.local.php I had/have.
>> >
>> >> > Is there anyway to preserve any modified *.local.php files (from the
>> >> > previous git clone) in the web-accessible directory specified in
>> >> > git-tools/config/conf.php?
>> >>
>> >> Not exactly sure what you are asking. Those files shouldn't be
>> >> overwritten with updates/checkouts... Oh, unless these are files that
>> >> only exist in the web directory and are not symlinked? The tools
>> >> script will symlink the config directories, so you'll have to copy any
>> >> existing local config files into your checkout.
>> >
>> > So, my previous git clone was in /usr/share/git-horde5
>> >
>> > It obviously contains a ton of *.local.php modifications.
>> >
>> > Originally my plan was to overright /usr/share/git-horde5 with new git
>> > clone, so that the *.local.php would stay in place.   I couldn't get
>> > that to work, hence the new git clone is in
>> > /usr/share/20202-git-horde.  So, the question is largely redundant, I
>> > can manually copy them over.
>> >
>> > Currently I am facing a white page of death, having copied over
>> > horde/config/conf.php and horde/config/registry.local.php into the
>> > base/config directory.
>>
>> Anything in the webserver/horde/error logs?
>>
>> Can you navigate *directly* to any page within the install?
>
> Sometimes.  Sometimes not.  I haven't figured out a pattern.  Since
> sending that, I managed to get in and update all the DB schemas and
> most of the critical application configs...
>
> The annoying thing is, non-admin users seem to have no issue.  The
> page loads pretty much straight away and the whole application suites
> functions as one would expect.
>
> The webserver error logs have this:
> [Fri Jan 03 14:19:58 2020] [error] [client my.ip.adr.ess] PHP Strict
> Standards:  Declaration of Horde_Form_Type_assign::init() should be
> compatible with Horde_Form_Type::init() in
> /usr/share/2020-git-horde/Form/lib/Horde/Form/Type.php on line 3600,
> referer: https://webmail.example.net/admin/config/index.php?action=schema
> [Fri Jan 03 14:19:58 2020] [error] [client my.ip.adr.ess] PHP Strict
> Standards:  Declaration of Horde_Form_Type_assign::getValues() should
> be compatible with Horde_Form_Type::getValues() in
> /usr/share/2020-git-horde/Form/lib/Horde/Form/Type.php on line 3600,
> referer: https://webmail.example.net/admin/config/index.php?action=schema
> [Fri Jan 03 14:19:58 2020] [error] [client my.ip.adr.ess] PHP Strict
> Standards:  Declaration of Horde_Form_Type_dblookup::init() should be
> compatible with Horde_Form_Type_enum::init($values, $prompt = NULL) in
> /usr/share/2020-git-horde/Form/lib/Horde/Form/Type.php on line 3751,
> referer: https://webmail.example.net/admin/config/index.php?action=schema
> [Fri Jan 03 14:19:58 2020] [error] [client my.ip.adr.ess] PHP Strict
> Standards:  Declaration of Horde_Form_Type_figlet::init() should be
> compatible with Horde_Form_Type::init() in
> /usr/share/2020-git-horde/Form/lib/Horde/Form/Type.php on line 3804,
> referer: https://webmail.example.net/admin/config/index.php?action=schema
> [Fri Jan 03 14:19:58 2020] [error] [client my.ip.adr.ess] PHP Strict
> Standards:  Declaration of Horde_Form_Type_invalid::init() should be
> compatible with Horde_Form_Type::init() in
> /usr/share/2020-git-horde/Form/lib/Horde/Form/Type.php on line 3873,
> referer: https://webmail.example.net/admin/config/index.php?action=schema

These are due to Horde_Forms being ancient and not strictly PHP 7  
compatible. However, this should not affect the behavior.


> All the users were getting this:
>  25653 2020-01-03T14:50:51+00:00 ERR: HORDE-BETA [imp] IMP is marked
> as authenticated, but no credentials can be found in the session. [pid
> 17154 on line 622 of "/usr/share/2020-git-horde/imp/lib/  25653
> Imap.php"]

Perhaps some issue or corruption in your cache or similar, or an issue  
with PHP writing to the session file?

> but it seems now to only be my admin user...  which additionally is
> generating...
>
> [Fri Jan 03 16:58:49 2020] [error] [client my.ip.adr.ess] client
> denied by server configuration: /usr/share/horde-beta/config

This is almost certainly an apache generated message. Double check  
your permission related configs in your apache configs related to the  
horde server. (deny/allow/require etc...).

>
> ==> /var/log/apache2/logs/lydiard-webmail-access_log <==
> my.ip.adr.ess - - [03/Jan/2020:16:58:49 +0000] "GET /config  
> HTTP/1.1" 403 7277
> my.ip.adr.ess - - [03/Jan/2020:16:59:21 +0000] "GET /imp HTTP/1.1" 301 7336
> my.ip.adr.ess - - [03/Jan/2020:16:59:42 +0000] "GET /services/portal
> HTTP/1.1" 301 7356
>
> (quite why Apache is not logging in UTC, I'll open a ticket for as
> soon as Whups is working...)

Horde has no control as to how Apache timestamps it's log files.

>
> Thanks
>
> Simon
> --
> Horde mailing list
> Frequently Asked Questions: http://horde.org/faq/
> To unsubscribe, mail: horde-unsubscribe at lists.horde.org



-- 
mike
The Horde Project
http://www.horde.org
https://www.facebook.com/hordeproject
https://www.twitter.com/hordeproject
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-keys
Size: 9272 bytes
Desc: PGP Public Key
URL: <https://lists.horde.org/archives/horde/attachments/20200103/76132b06/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 851 bytes
Desc: PGP Digital Signature
URL: <https://lists.horde.org/archives/horde/attachments/20200103/76132b06/attachment-0001.bin>


More information about the horde mailing list