Update roundcube associated with ISP

Discussion in 'Installation/Configuration' started by Poliman, Apr 11, 2018.

  1. Poliman

    Poliman Member

    Based on this thread and @till answer, which plugin should be installed and which way? ISP 3.1.11, Ubuntu 16.04 LTS. I have also found this github tutorial. Does it break ISP roundcube configuration?
     
  2. ahrasis

    ahrasis Well-Known Member HowtoForge Supporter

    The upgrade should be easy and work just fine out of box.

    Backup your old RC folder, then extract and install the newest stable version in its place. Check that everything are working fine before copying the old config.

    You may want to run "composer update" inside RC folder to upgrade the supporting softwares to the latest afterwards. I think you should rename the relevant json file sample before proceeding with it.
     
    Last edited: Apr 12, 2018
  3. Poliman

    Poliman Member

    Your description looks like phpmyadmin upgrade process. ;) Make a copy of old directory, download new, extract to specific folder, voila. ;)

    PS
    I have downloaded last stable version 1.3.6-complete. Currently I have 1.2-beta. Old version directory contains:
    Code:
    root@s1:/etc/roundcube# ls
    apache.conf     debian-db.php            defaults.inc.php  lighttpd.conf  plugins
    config.inc.php  debian-db-roundcube.php  htaccess          mimetypes.php
    but new version (while after extraction from tar.gz):
    Code:
    root@s1:/tmp/roundcubemail-1.3.6# ls
    bin        composer.json-dist  index.php  installer  logs     program      README.md  SQL   UPGRADING
    CHANGELOG  config              INSTALL    LICENSE    plugins  public_html  sxins      temp  vendor
    PS2
    There is INSTALL file, and inside it:
    Code:
    INSTALLATION
    ============
    
    1. Decompress and put this folder somewhere inside your document root
    2. In case you don't use the so-called "complete" release package,
      you have to install PHP and javascript dependencies.
      2.1. Install PHP dependencies using composer:
        - get composer from https://getcomposer.org/download/
        - rename the composer.json-dist file into composer.json
        - if you want to use LDAP address books, enable the LDAP libraries in your
          composer.json file by moving the items from "suggest" to the "require"
          section (remove the explanation texts after the version!).
        - run `php composer.phar install --no-dev`
      2.2. Install Javascript dependencies by executing `bin/install-jsdeps.sh` script.
    3. Make sure that the following directories (and the files within)
       are writable by the webserver
       - /temp
       - /logs
    4. Create a new database and a database user for Roundcube (see DATABASE SETUP)
    5. Point your browser to http://url-to-roundcube/installer/
    6. Follow the instructions of the install script (or see MANUAL CONFIGURATION)
    7. After creating and testing the configuration, remove the installer directory
    8. Check Known Issues section of this file
    Hmm, it sounds like it can break roundcube setup. There are also some changes in database.
     
    Last edited: Apr 12, 2018
  4. Poliman

    Poliman Member

    Hmm, it is broken after move back backup roudcube directory to it's proper place. Now when I enter https://s1.example.com:8080/roundcube I have 404. :p
    Maybe resync services or something under ISP?

    PS
    I helped myself doing:
    Code:
    wget https://ispconfig.org/downloads/ISPConfig-3.1.11.tar.gz
    tar -zxvf ISPConfig-3.1.11.tar.gz
    cd ispconfig3_install/
    php -q update.php
    Of course I have the newest version of ISP but this process allow me to reconfigure services and create backup. This time reconfigure services helped. No idea why roundcube was broken after only one thing:
    Code:
    cd /etc/
    mv roundcube roundcube_copy
    After this I just did below
    Code:
    mv roundcube_copy roundcube
    because I have found some tutorial.
     
    Last edited: Apr 12, 2018
  5. Poliman

    Poliman Member

    @ahrasis or @till do you know maybe why perfect server tutorial where roundcube is installed does not mention about any ispconfig plugins for roundcube?
    In my /var/lib/roundcube/plugins I haven't any.
     
  6. ahrasis

    ahrasis Well-Known Member HowtoForge Supporter

    Sorry, it is not working for you. Any error during its installation process?
     
  7. Taleman

    Taleman Well-Known Member HowtoForge Supporter

    ahrasis likes this.
  8. Poliman

    Poliman Member

    Nothing, I didn't do anything. :) I did reconfigure services, and roundcube is working again but I have no idea why command
    Code:
    mv roundcube roundcube_copy
    and then
    Code:
    mv roundcube_copy roundcube
    makes roundcube break.
    Now I have another problem. When I try to update (not install manually) from downloaded the newest version:
    Code:
    root@s1:~# /tmp/roundcube-1.3.6/bin/installto.sh /usr/share/roundcube
    ...
    done.
    !! Old .htaccess file saved as .htaccess.orig !!
    
    JavaScript dependencies installation skipped...
    Running update script at target...
    This instance of Roundcube is not yet configured!
    Open http://url-to-roundcube/installer/ in your browser and follow the instuctions.
    All done.
    
    There is no "all done", because for example database is not setup. No idea why I have to open url (I can't do this, because roundcube is not stored in /var/www but /usr/share/) if I just try update not install. Does the ISP changes some directories/paths?
    After finish Perfect Server Tutorial for Ubuntu 16.04 I have only below listed plugins:
    Code:
    root@s1:/etc/roundcube/plugins# ls
    acl                         emoticons            managesieve        sauserprefs
    additional_message_headers  enigma               markasjunk2        sieverules
    compose-addressbook         help                 newmail_notifier   squirrelmail_usercopy
    database_attachments        http_authentication  new_user_identity  zipdownload
    dovecot-impersonate         jqueryui             password
    
     
    Last edited: Apr 13, 2018
  9. Poliman

    Poliman Member

    Does anybody know how to resolve above and does the ISP maintain in some way any roundcube files? I see that config.inc.php inside /usr/share/roundcube/config is not usable. I can change there anything and nothing happens.
     
  10. ahrasis

    ahrasis Well-Known Member HowtoForge Supporter

    It is normal for RC to be in /usr/share folder like squirrelmail, phpmyadmin or net2ftp.

    You need to open it in the browser to check whether all the necesary (and optional, if you want) requirements are complied and install it.

    You should be able to use the same url as webmail / squirrelmail if you did follow the tutorials.
     
  11. Poliman

    Poliman Member

    In downloaded archive with roundcube is INSTALL file. Inside it is part:
    Code:
    Using the update script
    -----------------------
    There is a shell script (for unix based systems) that does the job for you.
    To use it, unpack the archive of the new Roundcube version to a temporary location
    (don't replace the Roundcube installation you want to update)
    and cd into that directory. From there, run the following command in a shell:
    
      ./bin/installto.sh <TARGET-FOLDER>
    
    For <TARGET-FOLDER> you specify the path to the Roundcube installation
    which should be updated. The update script will then copy all new files to the
    target location and check and update the configuration and database schema.
    After all is done, the temporary folder with the new Roundcube files can be
    removed again.
    
    I have 1.2-beta version (installed from ubuntu 16.04 repositiories during ISP installation process) and in /usr/share/roundcube I have directories like below:
    Code:
    root@s1:/usr/share/roundcube# ls
    bin  config.inc.php.sample  index.php  installer  plugins  program  robots.txt  s.ins  SQL
    but in downloaded version are:
    Code:
    root@s1:/tmp/roundcubemail-1.3.6# ls
    bin        composer.json-dist  index.php  installer  logs     program      README.md  SQL   UPGRADING
    CHANGELOG  config              INSTALL    LICENSE    plugins  public_html  sk.ns      temp  vendor
    When I run script as attached instruction says I got few errors - each for one missing directory. Ok, so in second attempt I have created missing directories and run again script. Result (last few lines, earlier are shown copied files):
    Code:
    done.
    !! Old .htaccess file saved as .htaccess.orig !!
    
    JavaScript dependencies installation skipped...
    Running update script at target...
    This instance of Roundcube is not yet configured!
    Open http://url-to-roundcube/installer/ in your browser and follow the instuctions.
    All done.
    but it's not all done, because script did not refresh database. Script should behave like here. ;) Besides - based on instruction - this script should do from start to the end each operation without user interference. ;)
    Of course If I should setup some apache vhost because of open installer in browser I can do this (and I did this), but there are thousands settings, which I have no idea how to setup. :)
     
    Last edited: Apr 13, 2018
  12. ahrasis

    ahrasis Well-Known Member HowtoForge Supporter

    You know what you did, does not work i.e. the installation script failed to work properly. I also have been through that road before, so I do know it as well.

    All I can say is, I have upgraded my RC to the latest version, and it is working fine after doing what I have described above. So good luck in finding your own way to do it.
     
  13. Poliman

    Poliman Member

    I am sure I could do what you adviced but I have not too big idea what should I configure in configuration form opened in browser. :) If I would know which settings were set during ISP installation I would pass configuration form without thinking about "how to do this another way". :)
    Btw did you have this same problem with that script for update roundcube? Which version did you use before updating?
     
    Last edited: Apr 13, 2018
  14. pssadm

    pssadm Member

    Hi all, I know this is an older post, but I'm trying to find out what the best way to update the version of Roundcube is done. Maybe a step by step?

    I've now uncovered that that are several roundcube directories. So I'm totally lost, as they seem to be connected in some way or another.
    /etc/roundcube
    /usr/share/roundcube
    /var/lib/roundcube
    The /var/lib directory seems to be shortcuts to the /usr/share directory.. and the etc directory is on its own.
    When I use plugins, it seems they only need to be located in the usr/share/roundcube/plugins directory.

    I'm new to this, and just don't want to mess up my semi/working version of Roundcube 1.3.6. Which is showing: "WARNING! This attachment is suspicious because its type doesn't match the type declared in the message. Expected: image/png (.jpg); found: image/png (.png)""

    The show it anyway button doesn't seem to work... I figured updating RC may fix the issue. Any help would be very much appreciated!!
     
  15. Taleman

    Taleman Well-Known Member HowtoForge Supporter

    Update does not fix that.
    To my understanding the Warning says message says attachment type is PNG with .jpg, but it does not match what the message actually has as attachment. It looks like the message has set wrong type, PNG file does not have .jpg as filename.
    Leave your working Roundcube as is.
    By the way, you did not say what OS you are running.
     
  16. nhybgtvfr

    nhybgtvfr Well-Known Member HowtoForge Supporter

    this works on ubuntu, should be the samne on Debian...

    Code:
    cd ~
    wget https://github.com/roundcube/roundcubemail/releases/download/1.4.3/roundcubemail-1.4.3-complete.tar.gz
    tar -xvf roundcubemail-1.4.3-complete.tar.gz
    cd roundcubemail-1.4.3
    mkdir /usr/share/roundcube/config
    ./bin/installto.sh /usr/share/roundcube
    cd /usr/share/roundcube
    chown -R root:root  *
                                                                                                                                                                                                                       checking with a browser  http://ip/roundcube/installer that all requirements are met threw up a few issues.                                                                                                       
    firstly to  make sure that that url is  reachable
    cd /var/lib/roundcube
    ln -s /usr/share/roundcube/installer installer
    
    according to the installer page, the 3rd party libs net_IDNA2 and Net_LDAP3 are required, so:
    apt-get install php-net-idna2
    apt-get install php-net-ldap3
    
    *I only used the installer to check all the pre-requisites exist, not to install/configure it, you don't need to continue with the roundcube installer.
    
    to enable the elastic skin:
    cd /var/lib/roundcube/skins
    ln -s /usr/share/roundcube/skins/elastic elastic
    
    edit /etc/roundcube/config.inc.php
    change line  80 to: $config['skin'] = 'elastic';
     
  17. Jesse Norell

    Jesse Norell Well-Known Member Staff Member Howtoforge Staff

    In addition to steps like @nhybgtvfr posted, ensure you have removed all roundcube related packages. FWIW, I have upgraded Debian 9 systems to Debian 10, removed the roundcube packages, then followed the roundcube install commands in the Debian 10 Perfect Server guide and it worked without issue. I don't remember using an 'installer' (so probably a different procedure than above), but just cut&paste the commands.
     

Share This Page