Upgrade to v6 & Remove FastCGI

In trying to get the seafdav component working, I finally got around to upgrading the server version, from v4.1 through to v6.0. The main server starts as expected at the newer version.

When I initially deployed this server some years ago, I put in the FastCGI configuration. It seems Apache v2.4 doesn’t / cannot use FastCGI, so I presume the need for it’s use within Seaflie has been deprecated or changed.

I cannot recall the details of how I configured FastCGI, and wonder what / how a FastCGI configuration may have changed in the intervening versions?

How do I remove the FastCGI configuration from my setup? I can see it in the Apache config files. What other files need changing? Is there a required ordering to the changes?

You have to disable it in your seafdav.conf and change your Apache config files.

It’s detailed in the manual. The procedure is the same for Seafdav when it comes to the Apache configuration.

i cannot find a section about FastCGI config specifically in the manual.

I recommend switching to nginx while beeing at it.
http://seafile.readthedocs.io/en/latest/installation/reverseproxy-webserver/

Info: Manual is work in progress

1 Like

@jingo_man

It’s in the Server Change Log Section… Sample NGinx and Apache configs are provided. Here is the first part of it. Read further for sample configs.

Seafile Server Changelog
6.2
From 6.2, It is recommended to use WSGI mode for communication between Seahub and Nginx/Apache. Two steps are needed if you’d like to switch to WSGI mode:

Change the config file of Nginx/Apache.
Restart Seahub with ./seahub.sh start instead of ./seahub.sh start-fastcgi

thanks guys. I have followed @wthess and upgraded to v6.2.5 and switching to WSGI, still through Apache v2.4. Restarting seafile and seahub (with start parameter) scripts works fine and I can log in, and also successfully tested a few different actions.

I did this by ONLY editing my apache server’s config file as detailed in the Changelog page.

How do I check I am using WSGI, not FCGI?

./logs/controller.log has the following line:

[04/21/18 21:01:38] seafile-controller.c(73): spawn_process: /usr/bin/python2.7 -m wsgidav.server.run_server runfcgi --log-file /mnt/data/SeafileFiles/logs/seafdav.log --pid /mnt/data/SeafileFiles/pids/seafdav.pid --port 8080 --host localhost

In this line, I can see both wsgi and fcgi…?!

If you don’t have any “fastcgi” entries in Apache and you started seahub with “seahub.sh start” rather than “seahub.sh start-fastcgi”, then you are running in wsgi mode. Since you are running Seafdav, You’ll also need to edit your seafdav file to make certain “fastcgi = false”. That’s probably why you are getting that info in the log. It appears you haven’t changed seafdav.conf yet.

Furthermore, you might need to edit your bootup files in Linux if you have Seafile starting on boot. Just remove the fastcgi parameters from the seahub startup stuff. Because I use Debian, I had to change it in the systemd seahub.service and also the init.d/seafile.server file, I had to change “fastcgi=false”.

The manual has not been updated with all those steps, but it will work once you make those changes.

@wthess thanks again. So I think this thread may well be resolved now, and I am running WSGI version. I will go through my startup scripts to make sure they do not use the start-fastcgi parameter.

Actually, my issue was trying to get WebDAV to work! I am upgrading and removing FCGI as Apache 2.4 can’t use FCGI, according to the WebDAV manual page.

I have resurrected another thread who seems to have the same errors / issues I am having with WebDAV. You are one of the thread contributors over there as well. I hope you are able to help…