Multiple Istances of Seafile on ISPConfig

In my previous guide I explained how to install Seafile on ISPConfig without manually changing system configuration files.

It is also possible to run multiple instances of Seafile on the same server, and ISPConfig makes it very easy.

Basically, you have to follow my previous guide keeping in mind the following points.

  1.  You have to create a different website for your new instance; it is highly recommendable to create it on a different ISPConfig “Client” (“Client” meaning “Customer”: go to ISPConfig Control Panel->Clients->Add new client, and remember to allow such “Client” to create any type of Cron Jobs: go to the “Limits”  tab, expand “Cron Job Limits” and set “”Max allowed cronjob types” to “Full Cron”)
  2. You have to create and use a different shell user as well as different databases; but if you created a new ISPConfig “Client” (“Customer”) as suggested above, you can follow my previous guide without changing anything, because the new user and databases will be prepended with the prefix of the new “Client” (f.e., c1_seafile, c1_ccnetdb, etc., while your previous Seafile installation uses c0_seafile or default_seafile or something like that). In case you do not want to create a new ISPConfig “Client”, you will have to be careful to choose different names for your new seafile shell user and databases, and not to confuse them when running the Seafile configuration script.
  3. You have to use a different cache directory for your new Seafile instance. Before starting for the first time, while logged in as your new Seafile shell user, do:
     nano $HOME/../../private/seafile/seafile-server-latest/seahub/seahub/

    search for the word “seahub_cache” and replace it with something different (say “seahub2_cache” or the like).

  4. You have to use different ports if you want to run both instances at the same time on the same server. For instance, you may use ports 8001 and 8083 instead of ports 8000 and 8082. This means that:
    1. in your Apache directives (see sec. 4-a of my previous guide) you will have to replace 8000 with 8001 and 8082 with 8083);
    2. in ISPConfig Firewall, you have to open also ports 8001 and 8083;
    3. while running ./, choose port 8083 instead of the default port 8082 (do not mind about port 8000, we cannot change it here, we will use a different command to start seahub later on);
    4. before trying Seafile without HTTPS (sec.5 of my previous guide), you have to edit ccnet.conf and change the SERVICE_URL port from 8000 to 8001, and you have to start seahub with the following command
      ./ start 8001

      (and of course you have to change the port of the URL that you open on your browser from 8000 to 8001)

    5. the HTTPS configuration (see sec.6 of my previous guide) does not change, but the command to start seahub becomes
      ./ start-fastcgi 8001

      (keep this in mind also when creating the startup script for the startup cron job  – see sec.7 of my previous guide).

Please give me feedback if you encounter any problems!