Apache 2.4.10 issue "file not found" on web client, built on Debian

Hey all, having trouble finding an easy solution here…Essentially we’re having issues with our new server we built on Debian with Apache 2.4.10 and Seafile 6.0.8

From the web client, if we click a link where the file has a space in the name a page comes up that says “File does not exist”

My question is, what is the process to moving from Apache to Nginx if that is the viable fix for us. Considering there isn’t a newer Apache2 version for Debian.

Found this on the forum as the issue:
This is an Apache 2.4.7 issue. See http://manual.seafile.com/deploy/deploy_with_apache.html#troubleshooting

Two possible Solutions:
Either upgrade Apache to at least 2.4.12 (in some distributions the fix has been backported to 2.4.10) or switch to Nginx.

http://manual.seafile.com/deploy/deploy_with_nginx.html
http://manual.seafile.com/deploy/https_with_nginx.html

example, if a file is named “test_file_123” we can click and download it perfectly fine.

BUT, if its “test file 123”, it reports “file does not exist”

Hi Paul,
with debian jessie i had the same problem.
Which web server you want to use, is only your thing. :wink:
If you want stay on apache, install the new version (2.4.25) from stretch repo.

A short descriptoin how i do it:
1 add stretch repos to the soure list
2 make a “apt preferences” config to stay on jessie release
3 install apache from strecht repo
ready

best regards

Oh great, can you give me a little more detail on doing this please. I’m not super unix versed…

Would there be any complications if we just moved from Apache to Nginx? Would anything else be effected?

As long as you don’t use Apache for other applications there are no drawbacks. It’ll likely perform better.

@Paul_Jackson Attached one possible solution to add the stretch repo (quick and dirty :slight_smile: )

add this two lines into /etc/apt/sources.list :
deb http://ftp.de.debian.org/debian stretch main non-free
deb http://security.debian.org/ stretch/updates main non-free

add this into /etc/apt/preferences :
Package: *
Pin: release a=stable
Pin-Priority: 700

Package: *
Pin: release a=testing
Pin-Priority: 600

Package: *
Pin: release a=stretch
Pin-Priority: 550
end of file

update package list
apt-get update

show which package should be installed
apt-cache policy apache2

install the package from stretch
apt-get -t stretch install apache2

done

But if you have not dependencies to apache, i would also recommend to use nginx.

1 Like

This helped me with my issue, thanks alot!