Roundcube can't be started

Discussion in 'Server Operation' started by satimis, Oct 4, 2008.

  1. satimis

    satimis Member

    Hi folks,


    Debian Etch
    roundcubemail-0.1
    lighttpd 1.4.13


    $ cat /etc/lighttpd/lighttpd.conf
    Code:
    ....
            alias.url += (
                    "/mail/" => "/var/www/roundcubemail-0.1/"
            )
    ....
    

    I have run;

    $ mysql -u roundcube -p roundcube < /var/www/roundcubemail-0.1/SQL/mysql.initial.sql


    $ ls -l /var/www/roundcube/
    Code:
    total 88
    drwxr-xr-x 2 satimis satimis  4096 2008-03-03 21:51 bin
    -rw-r--r-- 1 satimis satimis 10597 2008-03-03 22:01 CHANGELOG
    drwxr-xr-x 2 satimis satimis  4096 2008-03-03 21:51 config
    -rw-r--r-- 1 satimis satimis 12265 2008-03-03 21:42 index.php
    -rw-r--r-- 1 satimis satimis  4369 2008-02-26 09:10 INSTALL
    drwxr-xr-x 3 satimis satimis  4096 2008-03-03 21:51 installer
    -rw-r--r-- 1 satimis satimis 15129 2005-09-28 22:28 LICENSE
    drwxr-xr-x 2 satimis satimis  4096 2008-03-03 21:51 logs
    drwxr-xr-x 7 satimis satimis  4096 2008-03-03 21:51 program
    -rw-r--r-- 1 satimis satimis  2052 2008-03-03 21:42 README
    drwxr-xr-x 3 satimis satimis  4096 2008-03-03 21:51 skins
    drwxr-xr-x 2 satimis satimis  4096 2008-03-03 21:51 SQL
    drwxr-xr-x 2 satimis satimis  4096 2008-03-03 21:51 temp
    -rw-r--r-- 1 satimis satimis  2151 2008-02-18 22:54 UPGRADING
    

    On browser running;

    http://satimis.com/mail
    Code:
    404 - Not Found
    

    http://satimis.com/
    Code:
    Index of /
    Name	Last Modified	Size	Type
    Parent Directory/	 	-  	Directory
    lighttpd/1.4.13
    
    Please help. TIA


    B.R.
    satimis
     
  2. uberamd

    uberamd New Member

    Did you enable the alias module in the lighttpd configuration, the run a: # /etc/init.d/lighttpd restart ?
     
  3. satimis

    satimis Member

    Hi uberamd,


    Herebelow is lighttpd.conf


    $ cat /etc/lighttpd/lighttpd.conf
    Code:
    # Debian lighttpd configuration file
    #
    
    ############ Options you really have to take care of ####################
    
    server.modules              = (
                "mod_access",
                "mod_alias",
                "mod_accesslog",
    #           "mod_rewrite",
    #           "mod_redirect",
    #           "mod_status",
    #           "mod_evhost",
    #           "mod_compress",
    #           "mod_usertrack",
    #           "mod_rrdtool",
    #           "mod_webdav",
    #           "mod_expire",
    #           "mod_flv_streaming",
    #           "mod_evasive"
     )
    
    ## a static document-root, for virtual-hosting take look at the
    ## server.virtual-* options
    server.document-root       = "/var/www/"
    
    ## where to send error-messages to
    server.errorlog            = "/var/log/lighttpd/error.log"
    
    ## files to check for if .../ is requested
    index-file.names           = ( "index.php", "index.html",
                                   "index.htm", "default.htm" )
    
    
    #### accesslog module
    accesslog.filename         = "/var/log/lighttpd/access.log"
    
    ## deny access the file-extensions
    #      of the document-root
    url.access-deny            = ( "~", ".inc" )
    
    
    
    ######### Options that are good to be but not neccesary to be changed #######
    
    ## to help the rc.scripts
    server.pid-file            = "/var/run/lighttpd.pid"
    
    #server.errorfile-prefix    = "/var/www/"
    
    ## virtual directory listings
    dir-listing.encoding        = "utf-8"
    server.dir-listing          = "enable"
    
    ## send unhandled HTTP-header headers to error-log
    #debug.dump-unknown-headers  = "enable"
    
    server.username            = "www-data"
    
    ## change uid to <uid> (default: don't care)
    server.groupname           = "www-data"
    
    
    #### rrdtool
    # rrdtool.binary = "/usr/bin/rrdtool"
    # rrdtool.db-name = "/var/www/lighttpd.rrd"
    
    
    #### handle Debian Policy Manual, Section 11.5. urls
    #### and by default allow them only from localhost
    
    $HTTP["remoteip"] =~ "127.0.0.1" {
            alias.url += (
    #               "/doc/" => "/usr/share/doc/",
    #               "/images/" => "/usr/share/images/"
                    "/mail/" => "/var/www/roundcubemail-0.1/"
            )
            $HTTP["url"] =~ "^/doc/|^/images/" {
                    dir-listing.activate = "enable"
            }
    }
    
    #### external configuration files
    ## mimetype mapping
    include_shell "/usr/share/lighttpd/create-mime.assign.pl"
    
    ## load enabled configuration files,
    ## read /etc/lighttpd/conf-available/README first
    include_shell "/usr/share/lighttpd/include-conf-enabled.pl"
    
    lighttpd is now running. It can be browsed.


    B.R.
    satimis
     
  4. uberamd

    uberamd New Member

    I would suggest running a:
    Code:
    # chown -R www-data:www-data /var/www/*
    That way everything is owned by the www-data user/group which may part of the issue you are running into. You have an alias setup, however lighttpd does not have permissions on the files because you own them, not www-data.

    -Steve
     
  5. satimis

    satimis Member

    Hi Steve,


    Performed following test;


    Edit /etc/lighttpd/lighttpd.conf

    as follows;
    Code:
    ....
    $HTTP["remoteip"] =~ "127.0.0.1" {
            alias.url += (
                    "/doc/" => "/usr/share/doc/",
                    "/images/" => "/usr/share/images/"
            )
            $HTTP["url"] =~ "^/doc/|^/images/" {
                    dir-listing.activate = "enable"
            }
    }
    
    alias.url += ("/mail/" => "/var/www/roundcube/")
    .....
    

    The line;
    Code:
    alias.url += ("/mail/" => "/var/www/roundcube/")
    
    must be globally. Otherwise roundcube won't start.


    uncomment following 2 lines;
    Code:
                    "/doc/" => "/usr/share/doc/",
                    "/images/" => "/usr/share/images/"
    

    I commented them out because after adding
    alias.url += ("/mail/" => "/var/www/roundcube/") there it complained on restarting lighttpd


    # chown -R www-data:www-data /var/www/*
    No complaint


    # /etc/init.d/lighttpd restart
    Code:
    Stopping web server: lighttpd.
    Starting web server: lighttpd.
    

    Now RoundCube starts but with following warning;
    Code:
    DATABASE ERROR: CONNECTION FAILED!
    
    Unable to connect to the database!
    Please contact your server-administrator.
    

    Where shall I check to rectify this problem. Which is its log file?


    TIA


    B.R.
    satimis
     
  6. uberamd

    uberamd New Member

    Have you gone into yourdomain.com/mail/installer and run the roundcube installer?
     
  7. satimis

    satimis Member

    Hi uberamd,


    Ah I missed this step.


    On browser;

    http://domain.com/mail/installer


    Page-1
    Code:
    Checking PHP version
    Version:  OK(PHP 5.2.0-8+etch11 detected)
    Checking PHP extensions
    
    The following modules/extensions are required to run RoundCube:
    PCRE:  OK
    Session:  OK
    Sockets:  OK
    
    These extensions are optional but recommended to get the best performance:
    FileInfo:  NOT AVAILABLE(See http://www.php.net/manual/en/ref.fileinfo.php)
    Libiconv:  OK
    Multibyte:  OK
    OpenSSL:  OK
    Mcrypt:  NOT AVAILABLE(See http://www.php.net/manual/en/ref.mcrypt.php)
    GD:  NOT AVAILABLE(See http://www.php.net/manual/en/ref.image.php)
    Checking available databases
    
    Check which of the supported extensions are installed. At least one of them is required.
    MySQL:  OK
    MySQLi:  OK
    PostgreSQL:  NOT AVAILABLE(Not installed)
    SQLite (v2):  NOT AVAILABLE(Not installed)
    Check for required 3rd party libs
    
    This also checks if the include path is set correctly.
    PEAR:  OK
    DB:  OK
    MDB2:  OK
    Net_SMTP:  OK
    Mail_mime:  OK
    iilConnection:  OK
    Checking php.ini/.htaccess settings
    file_uploads:  OK
    session.auto_start:  OK
    magic_quotes_gpc:  NOT OK(is '1', should be '0')
    magic_quotes_sybase:  OK
    
    
    Sorry but your webserver does not meet the requirements for RoundCube!
    Please install the missing modules or fix the php.ini settings according to the above check results.
    Hint: only checks showing NOT OK need to be fixed.
    

    Can't proceed further. "NEXT" greyout


    Edit-1 :

    After changing;
    magic_quotes_gpc = Off

    on php.ini and;

    # /etc/init.d/lighttpd restart


    Now I proceed to P-2
    Code:
    Check config files
    main.inc.php:  OK
    db.inc.php:  OK
    Check configured database settings
    Backend: PEAR::MDB2
    DSN (write):  NOT OK(MDB2 Error: connect failed)
    
    Make sure that the configured database extists and that the user as write privileges
    DSN: mysql://roundcube:pass@localhost/roundcube
    
    There are known problems with MDB2 running on PHP 4. Try setting db_backend to 'db' instead
    Test SMTP settings
    
    Server: PHP mail()
    Port: 25
    Sender 	
    Recipient 	
    
    Test IMAP configuration
    Server 	
    Port 	143
    Username 	
    Password 	
    

    What does it mean "DSN (write): NOT OK(MDB2 Error: connect failed)"? Where shall I check


    Edit-2 :

    http://domain.com/mail/index.php
    Code:
    DATABASE ERROR: CONNECTION FAILED!
    
    Unable to connect to the database!
    Please contact your server-administrator.
    
    $ tail /var/www/roundcube/logs/errors
    Code:
    [Native message: Access denied for user ' roundcube'@'localhost' (using password: YES)]
     ** mysql(mysql):// roundcube:xxx@localhost/roundcube in /var/www/roundcube/program/include/rcube_mdb2.inc on line 106
    [05-Oct-2008 09:58:23 +0000] DB Error: connect: [Error message: Access denied for user ' roundcube'@'localhost' (using password: YES)]
    [Native code: 1045]
    [Native message: Access denied for user ' roundcube'@'localhost' (using password: YES)]
     ** mysql(mysql):// roundcube:xxx@localhost/roundcube in /var/www/roundcube/program/include/rcube_mdb2.inc on line 106
    [05-Oct-2008 10:00:50 +0000] DB Error: connect: [Error message: Access denied for user ' roundcube'@'localhost' (using password: YES)]
    [Native code: 1045]
    [Native message: Access denied for user ' roundcube'@'localhost' (using password: YES)]
     ** mysql(mysql):// roundcube:xxx@localhost/roundcube in /var/www/roundcube/program/include/rcube_mdb2.inc on line 106
    

    $ cat /var/www/roundcube/program/include/rcube_mdb2.inc

    line 106
    Code:
          raise_error(array('code' => 500, 'type' => 'db', 'line' => __LINE__,
    

    B.R.
    satimis
     
    Last edited: Oct 5, 2008
  8. uberamd

    uberamd New Member

    Did you create a user and database named roundcube and give them permissions? Roundcube doesn't create the user/db automatically you need to handle that yourself.
     
  9. satimis

    satimis Member

    Yes


    $ mysql -u roundcube -p roundcube
    Code:
    Enter password:
    Reading table information for completion of table and column names
    You can turn off this feature to get a quicker startup with -A
    
    Welcome to the MySQL monitor.  Commands end with ; or \g.
    Your MySQL connection id is 47
    Server version: 5.0.32-Debian_7etch6-log Debian etch distribution
    
    Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
    
    mysql> show tables;
    +---------------------+
    | Tables_in_roundcube |
    +---------------------+
    | cache               |
    | contacts            |
    | identities          |
    | messages            |
    | session             |
    | users               |
    +---------------------+
    6 rows in set (0.00 sec)
    

    B.R.
    satimis
     
  10. uberamd

    uberamd New Member

    Take a look at your: config/db.inc.php file. Look at line: 21, it should read something like:
    Code:
    $rcmail_config['db_dsnw'] = 'mysql://roundcube:yourpassword@localhost/roundcubemail';
    Ensure there is no space between the mysql:// and the roundcube. I say that because in your error messages it says access denied for user ' roundcube' (notice the space between the ' and the username?

    I had no issues at all getting my roundcube setup which leads me to believe its a simple issue like that.
     
  11. satimis

    satimis Member

    No white space btw. I also tried before with a white space. Result was the same. RoundCube can't connect the datebase.


    $ tail /var/www/roundcube/logs/errors
    Code:
    [Native message: Access denied for user ' roundcube'@'localhost' (using password: YES)]
     ** mysql(mysql):// roundcube:xxx@localhost/roundcube in /var/www/roundcube/program/include/rcube_mdb2.inc on line 106
    [05-Oct-2008 14:25:27 +0000] DB Error: connect: [Error message: Access denied for user 'roundcube'@'localhost' (using password: YES)]
    [Native code: 1045]
    [Native message: Access denied for user 'roundcube'@'localhost' (using password: YES)]
     ** mysql(mysql)://roundcube:xxx@localhost/roundcube in /var/www/roundcube/program/include/rcube_mdb2.inc on line 106
    [05-Oct-2008 14:33:51 +0000] DB Error: connect: [Error message: Access denied for user 'roundcube'@'localhost' (using password: YES)]
    [Native code: 1045]
    [Native message: Access denied for user 'roundcube'@'localhost' (using password: YES)]
     ** mysql(mysql)://roundcube:xxx@localhost/roundcube in /var/www/roundcube/program/include/rcube_mdb2.inc on line 106
    
    The driver "MDB2_Driver_mysql" may have problem.


    I suspect whether the version of roundcube installed having problem. I think I should try the beta version instead.


    B.R.
    satimis
     
  12. satimis

    satimis Member

    Hi uberamd,


    Debian Etch
    Postfix
    Dovecot-imap
    Roundcubemail-0.1


    Through difficulty and pain I manage to get Roundcube work. I can login to send mails. But the mails sent
    can't be saved. There is only one folder "Inbox" displayed.


    On Personal Setttings -> Folders
    Only "Inbox" displaying


    I can't create new folders manually there, on saving warning popup
    saying unable to save.

    The table for seleting Sent/Trash/Draft etc. folders all disappear
    there.


    I have been playing round on main.inc.php and db.inc.php without
    result/


    Neither Roundcube can receive mails. All incoming mails are on /var/mail/users.


    I'm considering finding another webmail. SquirrelMail is easy to setup but with simple feature. I have it running on another box.


    B.R.
    satimis
     
  13. Hans

    Hans Moderator Moderator

    To create the default folders, change the line:
    // automatically create the above listed default folders on login
    $rcmail_config['create_default_folders'] = FALSE;

    into:

    // automatically create the above listed default folders on login
    $rcmail_config['create_default_folders'] = TRUE;

    in the roundcube configuration file config/main.inc.php.
     
  14. satimis

    satimis Member

    Hi Hans,


    Thanks for your advice.

    On /var/www/roundcube/config/main.inc.php

    I tried both versions before. But non of them can work. The strange thing is I'm not allowed creating folders manually.


    B.R.
    satimis
     
  15. Hans

    Hans Moderator Moderator

    I think there is a permission problem.
    Whitin your RoundCube directory, what is the output of the command: ls -la
    ?
     
  16. satimis

    satimis Member

    # ls -la /var/www/roundcube/
    Code:
    total 100
    drwxr-xr-x 10 www-data www-data  4096 2008-10-05 00:18 .
    drwxr-xr-x  3 www-data www-data  4096 2008-10-05 00:18 ..
    drwxr-xr-x  2 www-data www-data  4096 2008-03-03 21:51 bin
    -rw-r--r--  1 www-data www-data 10597 2008-03-03 22:01 CHANGELOG
    drwxr-xr-x  2 www-data www-data  4096 2008-10-07 05:10 config
    -rw-r--r--  1 www-data www-data   804 2008-03-03 21:43 .htaccess
    -rw-r--r--  1 www-data www-data 12265 2008-03-03 21:42 index.php
    -rw-r--r--  1 www-data www-data  4369 2008-02-26 09:10 INSTALL
    drwxr-xr-x  3 www-data www-data  4096 2008-03-03 21:51 installer
    -rw-r--r--  1 www-data www-data 15129 2005-09-28 22:28 LICENSE
    drwxr-xr-x  2 www-data www-data  4096 2008-10-05 04:52 logs
    drwxr-xr-x  7 www-data www-data  4096 2008-03-03 21:51 program
    -rw-r--r--  1 www-data www-data  2052 2008-03-03 21:42 README
    drwxr-xr-x  3 www-data www-data  4096 2008-03-03 21:51 skins
    drwxr-xr-x  2 www-data www-data  4096 2008-03-03 21:51 SQL
    drwxr-xr-x  2 www-data www-data  4096 2008-03-03 21:51 temp
    -rw-r--r--  1 www-data www-data  2151 2008-02-18 22:54 UPGRADING
    

    # ls -la /etc/dovecot/
    Code:
    total 220
    drwxr-xr-x  2 root root   4096 2008-10-06 06:55 .
    drwxr-xr-x 54 root root   4096 2008-10-07 09:51 ..
    -rw-r-----  1 root vmail 41194 2008-10-06 16:12 dovecot.conf
    -rw-------  1 root root   4523 2008-03-13 20:28 dovecot-ldap.conf
    -rw-------  1 root root   4744 2008-10-06 16:16 dovecot-sql.conf
    

    Do I need to chown
    Code:
    -rw-------  1 root root   4744 2008-10-06 16:16 dovecot-sql.conf
    
    as;
    Code:
    -rw-------  1 root vmail   4744 2008-10-06 16:16 dovecot-sql.conf
    

    OR all of them as www-data www-data ?


    Thanks


    satimis
     

Share This Page