Horde Groupware Webmail Edition

Discussion in 'Tips/Tricks/Mods' started by ByteMe Networking, Dec 16, 2010.

  1. ByteMe Networking

    ByteMe Networking New Member

    I made this guide to help with the installation of Horde Groupware Webmail Edition. I found it was quite difficult when setting this up at first as I was trying to install the full version of Horde and did not need it. This is not the full version of Horde but the Webmail edition which is all I needed for my clients that have used Horde in the past. EX. Ones moving from cAnal.

    Note: I am not an expert by any means. This is only what has worked for me. The information listed below is to be used at your own risk. If you have any questions about this post or helpful insight that is not listed please post.

    Prerequisite:
    First prerequisite to this guide of course is to have ISPConfig up and running. The second part is to have followed the directions listed at the below link on setting up your server to have multiple webmail clients. You can find the directions here: "Webmail Alias not working"

    Once you have configured your server to have multiple webmail clients we can get started with setting up Horde.

    Step 1: Create a User and Database for your new Horde install
    Note: You can use an existing account on your server to add a database and user. I will not cover this as it should be basic knowledge.
    Note 2: If you have a primary website this would be the place to create one.

    Step 2: Create folder where Horde installs to
    From root type:
    Code:
    # mkdir /usr/share/horde
    Step 3: If you have not already done so using "Webmail Alias not working" create a symlink to that folder
    Code:
    # ln -s /usr/share/horde/ /var/www/webmail/horde
    Step 4: Download and extract Horde Groupware Webmail Edition (I'm sure there are better ways to do this but I do not profess to be an expert)
    Code:
    # cd /usr/share/horde
    # wget ftp://ftp.horde.org/pub/horde-webmail/horde-webmail-latest.tar.gz
    # tar -zxvpf horde-webmail-latest.tar.gz
    # cp -r horde-webmail-1.2.9/* /var/www/webmail/horde
    
    Step 5: Remove unneeded files we just downloaded and moved
    Code:
    # rm -rf horde-webmail-1.2.9/ horde-webmail-latest.tar.gz
    Step 6: Run the install script
    Code:
    # ./scripts/setup.php
    Step 6a: Install options
    Here I typed /webmail/horde because that is where I am calling it from in a browser but as you will see later the script ignores this.
    Code:
    What is the web root path on your web server for this installation, i.e. the 
    path of the address you use to access Horde Groupware Webmail Edition in your 
    browser? [/horde] [COLOR="Red"]/webmail/horde[/COLOR]
    Step 6b: Install tables
    Here I choose 1 to Configure database settings
    Code:
    Horde Groupware Webmail Edition Configuration Menu
        (0) Exit
        (1) Configure database settings
        (2) Create database or tables
        (3) Configure administrator settings
        (4) Update PEAR for a new or changed location
        (5) Update from an older Horde Groupware Webmail Edition version
    
    Type your choice: [COLOR="Red"]1[/COLOR]
    
    Step 6c: What Database to use
    Here I have chosen mysql
    Note: If you have followed the perfect setup guides then you more than likely would have chosen MySQL for your databases
    Code:
    What database backend should we use? [false]
        (false) [None]
        (dbase) dBase
        (ibase) Firebird/InterBase
        (fbsql) Frontbase
        (ifx) Informix
        (msql) mSQL
        (mssql) MS SQL Server
        (mysql) MySQL
        (mysqli) MySQL (mysqli)
        (oci8) Oracle
        (odbc) ODBC
        (pgsql) PostgreSQL
        (sqlite) SQLite
        (sybase) Sybase
    
    Type your choice: [COLOR="Red"]mysql[/COLOR]
    Step 6d: Persistent connections
    Here I choose no 0
    Code:
    Request persistent connections? [0]
        (1) Yes
        (0) No
    
    Type your choice: [COLOR="Red"]0[/COLOR]
    
    Step 6e: Config your database user
    Fill in your_dbuser with your real database username
    Code:
    Username to connect to the database as* [] [COLOR="Red"]your_dbuser[/COLOR]
    
    Step 6f: Config your database password
    Fill in your_dbpass with your real database password
    Code:
    Password to connect with [] [COLOR="Red"]your_dbpass[/COLOR]
    Step 6g: Connection
    Here I choose tcp because most applications just want to know a host
    Code:
    How should we connect to the database? [unix]
        (unix) UNIX Sockets
        (tcp) TCP/IP
    
    Type your choice: [COLOR="Red"]tcp[/COLOR]
    Step 6h: Host or Server
    Put in localhost
    Code:
    Database server/host* [] [COLOR="Red"]localhost[/COLOR]
    Step 6i: Port for MySQL
    Here just press enter for the default port of 3306
    Code:
    Port the DB is running on, if non-standard [3306] 
    Step 6j: What database to use
    Fill in your_db with your real database name you created
    Code:
    Database name to use* [] [COLOR="Red"]your_db[/COLOR]
    Step 6k: Pick charset
    Just use the defaults unless you need something different. Press enter
    Code:
    Internally used charset* [utf-8]
    Step 6l: Use SSL or not
    I choose 0 for no to keep things easy
    Code:
    Use SSL to connect to the server? [0]
        (1) Yes
        (0) No
    
    Type your choice: [COLOR="Red"]0[/COLOR]
    
    Step 6m: Certification Authority to use for SSL connections
    Just press enter
    Code:
    Certification Authority to use for SSL connections []
    Step 6n: Split reads
    I choose false for this
    Code:
    Split reads to a different server? [false]
        (false) Disabled
        (true) Enabled
    
    Type your choice: [COLOR="Red"]false[/COLOR]
    
    After that you should get this message:
    Here I choose option 2 to now write our tables to our database
    Code:
    Writing main configuration file
    Done configuring database settings.
    
    
    Horde Groupware Webmail Edition Configuration Menu
        (0) Exit
        (1) Configure database settings
        (2) Create database or tables
        (3) Configure administrator settings
        (4) Update PEAR for a new or changed location
        (5) Update from an older Horde Groupware Webmail Edition version
    
    Type your choice: [COLOR="Red"]2[/COLOR]
    Step 7: Write tables to database
    Here I choose n for no to create a database
    Code:
    Should we create the database for you? If yes, you need to provide a database
    user that has permissions to create new databases on your system. If no, we
    will only create the database tables for you. [y]
        (y) Yes
        (n) No
    
    Type your choice: [COLOR="Red"]n[/COLOR]
    Step 7a: Provide database user again
    Here you will want to type in your_dbuser from step 6e
    Code:
    Database superuser for creating the tables if necessary for your database system: [COLOR="Red"]your_dbuser[/COLOR]
    Step 7b: Provide the database user password again
    Here you will want to type in your_dbpass from step 6f
    Code:
    Specify a password for the database user: [COLOR="Red"]your_dbpass[/COLOR]
    Step 8: After the above it should successfully write the tables
    You should receive messages like this
    Code:
    Loading database module...
    Creating database...
    [   OK   ] Successfully created the global tables.
    [   OK   ] Successfully created the tables for Mail (imp).
    [   OK   ] Successfully created the tables for Filters (ingo).
    [   OK   ] Successfully created the tables for Address Book (turba).
    [   OK   ] Successfully created the tables for Calendar (kronolith).
    [   OK   ] Successfully created the tables for Tasks (nag).
    [   OK   ] Successfully created the tables for Notes (mnemo).
    
    Step 9: You will be asked one last question for the tables
    Here I choose n for no to keep things easy
    Code:
    Should we build the database with METAR weather stations now? This is necessary if you want to display METAR weather information. Building the database requires a network connection. [y]
        (y) Yes
        (n) No
    
    Type your choice: [COLOR="Red"]n[/COLOR]
    Then you will receive a message of completion:
    Code:
    Done creating tables.
    Step 10: Finish the install
    Choose 0 to exit
    Code:
    Horde Groupware Webmail Edition Configuration Menu
        (0) Exit
        (1) Configure database settings
        (2) Create database or tables
        (3) Configure administrator settings
        (4) Update PEAR for a new or changed location
        (5) Update from an older Horde Groupware Webmail Edition version
    
    Type your choice: [COLOR="Red"]0[/COLOR]
    Thank you for using Horde Groupware Webmail Edition!
    
    Now if everything went as it should you should be able to navigate to http://your.tld/webmail/horde

    There you should be prompted with a login page for Horde.

    Note: If you visit http://your.tld/webmail/horde and it redirects you to http://your.tld/login.php and will not load,
    you will have to edit the /usr/share/horde/config/registry.php file.

    To do this:
    Code:
    # nano /usr/share/horde/config/registry.php
    Search for this line:
    Code:
    'webroot' => _detect_webroot(),
    And change it to this:
    Code:
    'webroot' => '/webmail/horde',
    Once you have saved the changes try your site again http://your.tld/webmail/horde. It should now load correctly.

    With that, I hope this has helped. If you have any questions I would be happy to try and assist. Or if I have missed anything please let me know.

    Thanks for the read,
    Casey
     
    Last edited: Dec 16, 2010
  2. findafriend

    findafriend New Member

    Hi

    I have tried the above, but horde will not login, it keeps reloading on the frontpage.
    You can find it here :

    http://horde.easywebhost.dk

    When I use a user, I know that works e.g. it just reloads and awaits new login.
    But when i use wrong login credentials it gives me an error.
    I can't get it to login into horde.

    Help on installing it will be appreciated.

    BR

    Mogens
     
  3. ByteMe Networking

    ByteMe Networking New Member

    Hello findafriend,

    Double check the /usr/share/horde/config/registry.php and make sure you have the correct path set for 'webroot' =>

    When I first installed horde it would not automatically save the correct path settings that you input in the first question of the install script.

    Edit the registry.php file and search for:
    Code:
    'webroot' => _detect_webroot(),
    If you see the above then you need to set the full path to your horde install folder.

    For example I installed horde to "/usr/share/horde/" and created a symlink to "/var/www/webmail/horde" so my settings look like this:
    Code:
    'webroot' => '/webmail/horde',
    If that does not work shoot me a PM with a test account so I can see exactly what it is doing when logging in.

    Hope that helps,
    Casey
     
  4. findafriend

    findafriend New Member

    I have tried that solution without luck
     
  5. ByteMe Networking

    ByteMe Networking New Member

    Hmmm,

    I noticed you are using a subdomain for horde access and I am wondering if maybe that has something to do with it. Did you install horde to the usr/share folder and then symlink it to your subdomain or did you just set the path of the subdomain to point to the horde folder? Or did you create a new subdomain site and install horde to the new sub site in the document root?

    Any chance you can provide a test email account? Not quite sure as to why it would just refresh the page instead of logging in but would help to be able to replicate the problem on this end so I can get a better idea of where to go next in troubleshooting.

    Thanks,
    Casey
     
  6. findafriend

    findafriend New Member

    Tried both solutions, but didn't work

    Just an email test account ?
    Made inside from ispconfig the normal way i presume ?

    BR

    Mogens
     
  7. findafriend

    findafriend New Member

    how to get danish language

    Hi

    I have tried it and instead of /horde/webmail/

    I got it to work in /horde/

    Besides that there can be problems with danish language....
    The solution for me was besides setting it in horde in options (which did not work) :

    1) Edit locale.gen and remove # in front off your language and save it afterwards :

    nano /etc/locale.gen

    Remark : CTRL + O to save. CTRL +X to exit nano. When exit go to step 2.

    2) run command :

    locale-gen

    You will see result :

    Generating locales (this might take a while)...
    en_US.UTF-8... done
    da_DK.ISO-8859-1... done
    Generation complete.

    Remark : Now horde should work in your language.


    Remember to set language inside horde in :

    Options -> Global options - Locale Time :
    Select your preferred language: Danish
    Your current time zone: Copenhagen/Europe
    Display 24-hour times? (tick)
    Choose how to display dates: dd/mm/yyyy
    Which day would you like to be displayed as the first day of the week? monday

    Press Save options
    When you press save options, it will change immediately if works as expected
     
    Last edited: Feb 12, 2011
  8. corpus

    corpus New Member

    timezone

    Hello
    If anyone followed the instructions here and tried to install horde 1.2.10 and after that see a blank white screen when visits
    www.domain.com/webmail/horde
    has to edit the /etc/php5/apache2/php.ini
    and modify
    Code:
    [Date]
    ; Defines the default timezone used by the date functions
    ; http://php.net/date.timezone
    ; date.timezone = 
    to

    Code:
    [Date]
    ; Defines the default timezone used by the date functions
    ; http://php.net/date.timezone
    date.timezone = Europe/Athens
    or his timezone ;)

    /etc/init.d/apache2 restart
    after this
     
    Last edited: Aug 3, 2011
  9. corpus

    corpus New Member

  10. arstacey

    arstacey New Member

    Great walkthrough. One question though. I have my server up and running with ispconfig3 but currently do not have a webmail installed. Not even squirrelmail. I am just using imap and pop3 with traditional desktop clients (thunderbird). Will I be able to install the Horde groupware webmail edition following your steps or does something else have to be done first to allow webmail before I attempt the horde install?
     
  11. arstacey

    arstacey New Member

    Let me update my question. I got horde to work, but to do so I had to install it as a subdirectory to one of my sites. So instead of /var/www/horde I have it under /var/www/web/site1/horde, which I understand is because I did not have a mail client when ispconfig3 was installed. Since I installed ispconfig before installing ANY webmail clients, how can I install horde to /var/www/horde and have it be the default webmail client for all email domains in ispconfig3? I would like for any users to be able to go to www.theirdomain.com/webmail and have horde work without me having to copy the horde files underneath their domain.
     
  12. ByteMe Networking

    ByteMe Networking New Member

    arstacey,

    Sorry for the very late response. I was out of state for many months and was unable to do my day to day task.

    As for your question, the first link in the article provides steps to creating a global webmail page. Global Webmail url
    You only need to tweak it to fit your needs.

    You can use the following as a means to add the Horde dir for webmail:

    Create a Symlink to the path you have Horde installed:
    Code:
    ln -s /var/www/web/site1/horde /var/www/webmail
    Next edit the following file:
    Code:
    nano /etc/apache2/conf.d/apache2-doc
    And add to the bottom of it:
    Code:
    Alias /webmail /var/www/webmail/
    
    <Directory "/var/www/webmail/">
    Options Indexes FollowSymlinks
    AllowOverride None
    Order allow,deny
    Allow from all
    AddDefaultCharset off
    </Directory>
    This will now allow all of your clients to be able to hit the webmail from any URL pointed to your box.
    EX.
    www.theirdomain.com/webmail
    www.yourdomain.com/webmail
    www.serverdomain.com/webmail

    Again, I know this response was late and the plan is to be more involved as ISPConfig has to be the absolute best Open Source Solution to hosting. I am excited to see this project 5, 10 years from now.

    Thanks,
    Casey
     
  13. sjau

    sjau Local Meanie

    Hi Byte

    Thanks for your walk-through but meanwhile it's recomended to install horde directly by pear. I've planned on making a little howto for ISPC 3 / Debian 6 as I've run into a few bumps. However if you want, I'll leave it up to you :)
     
  14. ByteMe Networking

    ByteMe Networking New Member

    sjau,

    Its always good to see new walk through's for different installs.
    When I wrote that it was for Debian lenny so the methods of install my have been changed or updated. I have not made it that far yet for Debian 6 as I am working on migrating a server over to 6 now.

    Please be my guest. If you need to you can use anything out of my article if it helps.

    Thanks for the support!
    Casey
     
  15. sjau

    sjau Local Meanie

    I have it pretty much written down already... only need to check what additional packages from a ISPC install on lenny are needed :)
     
  16. sjau

    sjau Local Meanie

  17. xmlnoob

    xmlnoob New Member

    I'm following this howto to install horde webmail, i'm installing the latest 5.0.2 though.

    i have compared the install guide at horde website with this howto, it looks like the same. So i started like with these:

    pear upgrade PEAR <== report nothing to upgrade
    pear channel-discover pear.horde.org
    pear install horde/horde_role
    pear run-scripts horde/horde_role <== entered my own custom path for horde when prompted.

    pear install -a -B horde/webmail

    webmail-install <=== ** This is the problem i have now, there is no "webmail-install" found on the server.

    i tried "find / -name horde" and nothing found on the server, seems horde isn't installed at all...

    Any thought??

    Thank you.
     
  18. sjau

    sjau Local Meanie

Share This Page