• If you are still using CentOS 7.9, it's time to convert to Alma 8 with the free centos2alma tool by Plesk or Plesk Migrator. Please let us know your experiences or concerns in this thread:
    CentOS2Alma discussion

Horde modules for psa

madsere

Regular Pleskian
I notice PSA needs specially packed rpm's for Horde modules, i.e. psa-horde, psa-imp, psa-ingo etc.

Does psa versions exist of nag and whups modules?
 
love to know this myself

love to add more stuff into horde as needed but don't know how much they change about the pages or if they change anything at all.

given enough free time (like perhaps next month?) i will try to compare the horde default packages against my psa-horde packages to see what if anything is different.
 
hi!

i'm looking for a 'how-to' to install the gollem-filemanager under plesk 7.5.4. i try to do it manually, but *uuurgh*.

many thx & greetings,
mausi
 
For the horde pacakges, all you should need to do is add the appropriate tables in mysql/horde db, then activate the package in hordes config. At least that's how it used to be done. I think the "special psa version" is just modified to both, be a standalone install (not part of the base PSA package anymore), and work with poppasswd.
 
... the problem is, that there is now gollem-package for psa. the advanced-package include only

kronolith
turba
ingo
mnemo
passwd

i think , that gollem doesn't need mysql, because there is no sql-file in the normal package i downloaded from the horde-site.

so i need an exact how-to where the config-file have to be placed and how i configure them. (ex. [provides]=array(???) and so on). for the psa-installation, you need to work with symbolic-links to the config-files and so on and so on. i don't check it :/

greetings from germany (sorry for my bad english...),
mausi
 
i installed the gollem package by putting the installation files into the /usr/share/psa-horde path. the problem is, that there is no admin account to login with and doing the neccessary configuration work (at least i didn't find one), so i simply hacked the files you need (../admin/setup/config.php and other) by commnting out these lines on the beginning of each file:

PHP:
if (!Auth::isAdmin()) {      Horde::fatal('Forbidden.', __FILE__, __LINE__);  }

don't forget to uncomment them when done.

but in the end, the gollem module doesn't makes sense by installing it this way. what is needed is a tight integration into the plesk user administration thus providing a personal filespace for each user. in the default gollem installation it is nothing more than a webbased ftp client which is nice but not very usefull.

PAT
 
... i think you are right. so the only way is to wait for a psa-rpm of the gollem-feature.

thx a lot!

mausi
 
I currently have Gollem running on a Plesk 7.5.3 server. It can be done manually with a little know-how. I am preparing a HOWTO and will post it here soon.

The tricky part is knowing how Plesk sets up the Horde module and files. Then figuring out how to modify the Gollem backend.php file.
 
what do you use as backend (ie where are the files stored?)

PAT
 
HOWTO install Gollem on Plesk 7.5.3 manual install

Perler - if you use the backends.php I post here, it allows the normal ftp server authentication to happen regardless of if they login to the local server or an external one. This becomes a glorified web interface for ftp using the Horde interface. This took me longer to write up than it did to get it running. All I wanted to do was to see if it would actually work or not. If I have time, I can play with the other settings and see if I can link it to the local psa database, but with my schedule it may be much later....

If you get to it sooner, please post and/or email me additional changes to the backends.php file for integration into this HOWTO.
Code:
HOWTO:	Installing standard Gollem H3 (1.0) for Horde on a Plesk 7.5.3 Server
	- Written by: James Yee on Oct 8, 2005

Assumptions:
	Your OS is a RedHat flavor (not FreeBSD, Suse, Debian, etc)
	Your docroots are located in /home/httpd/vhosts/...
	You have the directory /etc/psa-horde which contains directories for horde, imp, etc
	Your Horde, Imp, Turba, Kronolith, Ingo, whatever Horde modules are Plesk or ART versions
		without other modifications which may mess things up.

Disclaimers:
	This has not yet been tested on Plesk 7.5.4 (please let me know if it works on 7.5.4)
	These instructions work on my servers, use entirely at your own risk,
	I assume zero liability if it breaks your server. Especially since there have been so many forum
	users who (for whatever reason) cannot seem to read examples and follow them properly, who insist
	on changing things their own way without even trying the examples posted 'as-is' before trying
	to modify it 'their own way' and ending up having to post many more times because they didn't
	follow the example in the first place!!!!

Horde modules versions used during this testing:
	psa-horde-3.0.5
	psa-imp-4.0.3
	psa-turba-2.0.3
	psa-mnemo-2.0.1
	psa-ingo-1.0.1
	psa-kronolith-2.0.3
	(Note: you may or may not have installed all of these, or you may have others I do not use)

1. Upgrade the Horde Framework to the (current) latest version 3.05 (use ART's yum channels)
	I do a check-update first just to make sure...
	And while I'm at it, might as well upgrade the other Horde modules at the same time

		yum check-update psa-horde
		yum update psa-horde psa-imp psa-ingo psa-kronolith psa-mnemo psa-turba

2. Download and unpack the Gollem package to a directory

		Pretty much follow their instructions to download and unpack the files, or

			cd /path/to/where/you/want/the/download/to/be/stored
			wget [url]ftp://ftp.horde.org/pub/gollem/gollem-h3-1.0.tar.gz[/url]
			cd /usr/share/psa-horde
			tar zxvf /path/to/gollem-h3-1.0.tar.gz

3. Move and rename this directory to /usr/share/psa-horde/gollem

		It is important that the final destination be named 'gollem' (case sensitive)

			mv gollem-h3-1.0 gollem

		and would then find gollem at the URL:

			[url]http://your-server.tld/horde/gollem/[/url]

4. Create the /gollem/config/ files from their *.dist files

		cd /usr/share/psa-horde/gollem/config
		for foo in *.dist; do cp $foo `basename $foo .dist`; done

5. Create Plesk HARDLINKs to Horde module config files:
	( /etc/psa-horde/gollem/* --> /usr/share/psa-horde/gollem/config/* )

		mkdir -p /etc/psa-horde/gollem/config
		ln -dv /usr/share/psa-horde/gollem/* /etc/psa-horde/gollem/config

6. Due to how Plesk has the Horde registry.php file setup to automatically register Horde
	modules, you have to create a 'gollem.php' file in /etc/psa-horde/horde/registry.d/

		<?php
			$this->applications['gollem'] = array(
			'fileroot' => dirname(__FILE__) . '/gollem',
			'webroot' => $this->applications['horde']['webroot'] . '/gollem',
			'name' => _("File Manager"),
			'status' => 'active',
			'provides' => 'files',
		);
		$this->applications['gollem-menu'] = array(
			'status' => 'block',
			'app' => 'gollem',
			'blockname' => 'tree_menu',
			'menu_parent' => 'gollem',
		);

Sidenote:
hmmm, 'fileroot' also works as:	'fileroot' => $this->applications['horde']['fileroot'] . '/gollem',


7. Create the Gollem conf.php file in /usr/share/psa-horde/gollem/config
	- found an example on the net...
	- that way you don't have to mess with trying to do the Horde Admin Login procedure

		to create the file...  The only thing you may want to change is the date format.

		<?php
		/* CONFIG START. DO NOT CHANGE ANYTHING IN OR AFTER THIS LINE. */
		// $Horde: gollem/config/conf.php,v 1.4 2004/04/02 18:41:18 chuck Exp $
		$conf['manager']['date_format'] = '%x';
		$conf['menu']['apps'] = array();
		$conf['backend']['backend_list'] = 'hidden';
		$conf['backend']['change_server'] = false;
		$conf['backend']['change_port'] = false;
		/* CONFIG END. DO NOT CHANGE ANYTHING IN OR BEFORE THIS LINE. */

8. Now when you login to Horde, it should show you an entry on the left menu 'File Manager'
	When you click on it, it will bring you to the FTP login screen.

9. Now fill in the Hostname, Username, Password and it will then show you a listing of the
	directories of that FTP user's home dir, normally /home/httpd/vhosts/domain.tld/
	The Hostname can be any ftp server hostname, does not have to be hosted on the current
	Plesk server.

10. Have to play with the settings in /usr/share/psa-horde/gollem/config/backends.php
	Comment out all other backend examples except the first one.
	Modify the first one like this: (see the lines beginning with // JY - PLESK: )
======================= Sample of backends.php file ================================================
// FTP Example.
$backends['ftp'] = array(
    'name' => 'FTP Server',
    'driver' => 'ftp',
    'preferred' => '',
    'hordeauth' => false,
    'params' => array(
        // JY - PLESK: The hostname/IP Address of the FTP server, leave blank and uncomment 'hostspec' below
        'hostspec' => '',
        // The port number of the FTP server
        'port' => 21,
        // Use passive mode?
        'pasv' => false,
        // Set timeout (in seconds) for the FTP server. Default: 90 seconds
        // 'timeout' => 90,
        // If true and the POSIX extension is available the driver will map
        // the user and group IDs returned from the FTP server with the local
        // IDs from the local password file.  This is useful only if the FTP
        // server is running on localhost or if the local user/group
        // IDs are identical to the remote FTP server.
	// JY - PLESK: Leave this commented out, else they would have to already have a user directory
	// in /home/httpd/username, if they do not and you uncomment this, they will see a listing from
	// the root directory!!!
        // 'maplocalids' => true
    ),
    'loginparams' => array(
        // Allow the user to change the FTP server
	// JY - PLESK: This will show an input line above the login name for them to type in the ftp server name
	// like domain.tld or [url]www.domain.tld[/url]
         'hostspec' => 'Hostname',
        // Allow the user to change the FTP port
	// If you uncomment the following line, they will be able to specify a port number
        // 'port' => 'Port'
    ),
// JY - PLESK: Leave the following 4 lines commented out
    // 'root' => '',
    // 'home' => '',
    // 'createhome' => false,
    // 'filter' => '^regex$',
    'attributes' => array('type', 'name', 'download', 'modified', 'size', 'permission', 'owner', 'group')
);
======================= End of Sample of backends.php file ================================================

11. MAKE SURE YOU HAVE COMMENTED OUT THE OTHER BACKENDS SAMPLES WHICH THEY PROVIDE, unless you want to play
	with those yourself.

12. Now save all changes, you do not have to restart any services.

13. Login to your webmail, and assuming you have Horde setup to show you the left column menu,
	you should now see 'File Manager' as an option in the list.

14. Click on File Manager and fill in Hostname, Username, Password

15. You should now be looking at the file/directory list on the FTP server which your username
	is allowed to see, which for most Plesk created ftp users is the domain's root
	/home/httpd/vhosts/domain.tld/

Hope this helps anyone who wants to use this (IMO silly Horde utility) on a Plesk 7.5.3+ server.
If you have any constructive/positive comments or find any typos, please let me know and I will
update this HOWTO and repost.

James Yee (jamesyeeoc @ yahoo . com)
 
WOW! it's sounds good :)
a friend of me and i will try your howto in the next days on different systems.

greetings & thx,
mausi
 
great! thank you!

i test it on a suse 9.1 system. no problems. but:

1. in the /etc/psa-horde/horde/registry.d/gollem.php i set 'fileroot' => $this->applications['horde']['fileroot'] . '/gollem',

2. i delete all entrys in the backends.php and use only the sql-version. in this, i set the homedir to the account-name:

//'root' => '/',
'home' => '/'.$GLOBALS["HTTP_SESSION_VARS"]["imp"]["user"],
'createhome' => true,

3. i modify the Gollem.php - library in/usr/share/psa-horde/gollem/lib line 113. so, you can't get into the root-dir:

(!Gollem::verifyDir($dir))

to

(!Gollem::verifyDir($dir) || strpos($dir, $GLOBALS['gollem_be']['home']) === false)

it works fine :) the only problem is to discount & limit the webspace for specific user ...

greetings,
ga
 
ABSOLUTELY, F**** BRILLANT!!! :D

wow, that's exactly how i want it. simply elegant!

thanks!

btw, i suppose the files are stored in the mysql db - are there any experiences how this might mpact the performance of the db?

PAT
 
hmmm. i think it does not matter, because the table horde_vfs is only used for to store data and is not to be used for extrem search-access. i think you can disregard the usage of this. some cms like webedition store their files also in databases ...

gm
 
... an idea:

i will try it with a default ftp-server, where i configure the available accounts manually. their i can configure a disk-quota for each account-dir. or, better, i configure for each domain a own webuser for a certain account. so the costumer can only use the filemanager with this certain mail-adress and the used webspace will discount under his domainwebspace. i hope gollem support automaticly ftp-logins ... without enter the logindata. the only problem is the uncomfortable dir-creating. but a little script will help ...

gm
 
Back
Top