1. Please take a little time for this simple survey! Thank you for participating!
    Dismiss Notice

Horde modules for psa

Discussion in 'Plesk for Linux - 8.x and Older' started by madsere, Sep 9, 2005.

  1. madsere

    madsere Regular Pleskian

    26
    57%
    Joined:
    May 8, 2005
    Messages:
    200
    Likes Received:
    0
    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?
     
  2. _tek

    _tek Basic Pleskian

    23
    40%
    Joined:
    Feb 7, 2005
    Messages:
    46
    Likes Received:
    0
    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.
     
  3. 66mausi

    66mausi Guest

    0
     
    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
     
  4. sieb@

    sieb@ Guest

    0
     
    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.
     
  5. 66mausi

    66mausi Guest

    0
     
    ... 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
     
  6. perler

    perler Guest

    0
     
    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
     
  7. 66mausi

    66mausi Guest

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

    thx a lot!

    mausi
     
  8. jamesyeeoc

    jamesyeeoc Guest

    0
     
    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.
     
  9. perler

    perler Guest

    0
     
    what do you use as backend (ie where are the files stored?)

    PAT
     
  10. jamesyeeoc

    jamesyeeoc Guest

    0
     
    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)
    
     
  11. 66mausi

    66mausi Guest

    0
     
    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
     
  12. 66mausi

    66mausi Guest

    0
     
    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
     
  13. perler

    perler Guest

    0
     
    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
     
  14. 66mausi

    66mausi Guest

    0
     
    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
     
  15. 66mausi

    66mausi Guest

    0
     
    ... 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
     
Loading...