Seahub webui error

Just updated Seafile to 7 and I can’t get the WebUI to get past the message “Sorry, but the requested page could not be found”. The seafile client generates the same error and will not sync properly. Previously I was using version 6.1, apache and fastcgi. Fastcgi is not used any more so i’m trying to use wsgi (i think that’s what its called). I’ve scoured the forums and google. I can’t seem to nail down this problem. Apache works fine by itself. Its everything under the /seafile subdirectory that is giving me issues.

I believe this is directly related to the errors i’m seeing in seahub.log, the double // look fishy. I just don’t know where I can adjust this.


Seahub.log

2019-11-19 21:42:03,067 [WARNING] django.request:152 get_response Not Found: //
2019-11-19 21:42:04,453 [WARNING] django.request:152 get_response Not Found: //
2019-11-19 21:42:05,404 [WARNING] django.request:152 get_response Not Found: //
2019-11-19 21:43:34,499 [WARNING] django.request:152 get_response Not Found: //api2/repos/
2019-11-19 21:46:13,150 [WARNING] django.request:152 get_response Not Found: //api2/repos/
2019-11-19 21:48:34,430 [WARNING] django.request:152 get_response Not Found: //api2/repos/
2019-11-19 21:51:12,602 [WARNING] django.request:152 get_response Not Found: //api2/repos/
2019-11-19 21:53:34,430 [WARNING] django.request:152 get_response Not Found: //api2/repos/
2019-11-19 21:56:12,654 [WARNING] django.request:152 get_response Not Found: //api2/repos/
2019-11-19 21:58:34,434 [WARNING] django.request:152 get_response Not Found: //api2/repos/
2019-11-19 22:01:13,142 [WARNING] django.request:152 get_response Not Found: //api2/repos/
2019-11-19 22:03:34,434 [WARNING] django.request:152 get_response Not Found: //api2/repos/
2019-11-19 22:06:12,530 [WARNING] django.request:152 get_response Not Found: //api2/repos/
2019-11-19 22:08:34,431 [WARNING] django.request:152 get_response Not Found: //api2/repos/

Ubuntu 18, Apache 2.4.29, and Seafile 7.0.5
Seafile runs in a subdirectory behind apache. Until this update it was working great.

http traffic is redirected to https

Here are my config files.


Apache default-ssl.conf

<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerName my.server.com
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
<Directory /var/www/html>
Options -Indexes
AllowOverride all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
SSLCertificateFile /etc/letsencrypt/live/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/key.pem
Include /etc/letsencrypt/options-ssl-apache.conf
ServerName my.server.com
SSLCertificateChainFile /etc/letsencrypt/live/chain.pem
Alias /seafmedia /opt/seafile/seafile-server-latest/seahub/media
Alias /media /opt/seafile/seafile-server-latest/seahub/media
<Location /media>
Require all granted
</Location>
SSLEngine On
RewriteEngine On
#
# seafile fileserver
#
ProxyPass /seafhttp http://127.0.0.1:8082
ProxyPassReverse /seafhttp http://127.0.0.1:8082
RewriteRule ^/seafhttp - [QSA,L]
#
# seahub
#
SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1
ProxyPreserveHost On
ProxyPass /seafile http://127.0.0.1:8000/
ProxyPassReverse /seafile http://127.0.0.1:8000/
</VirtualHost>
</IfModule>

Apache default.conf

<VirtualHost *:80>
ServerName my.server.com
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
ErrorDocument 404 /index.html
<Directory "/var/www/html">
Options -Indexes
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
RewriteEngine on
RewriteCond %{SERVER_NAME} =my.server.com
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>

ccnet.conf

[General]
USER_NAME = server
ID = [edit]
NAME = server
SERVICE_URL = https://my.server.com/seafile
[Client]
PORT = 13419
[Database]
ENGINE = mysql
HOST = 127.0.0.1
PORT = 3306
USER = seafile
PASSWD = pw
DB = ccnet-db
CONNECTION_CHARSET = utf8

seafile.conf

[fileserver]
port = 8082

[database]
type = mysql
host = 127.0.0.1
port = 3306
user = seafile
password = pw
db_name = seafile-db
connection_charset = utf8

[seahub]
port = 8000
fastcgi = false

seahub_settings.py

# -*- coding: utf-8 -*-
SECRET_KEY = "[edit]"
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'seahub-db',
        'USER': 'seafile',
        'PASSWORD': 'pw',
        'HOST': '127.0.0.1',
        'PORT': '3306'
    }
}

EMAIL_USE_TLS = True
EMAIL_HOST = 'my.server.com'        # smtp server
EMAIL_HOST_USER = ''    # username and domain
EMAIL_HOST_PASSWORD = ''    # password
EMAIL_PORT = 25
DEFAULT_FROM_EMAIL = EMAIL_HOST_USER
SERVER_EMAIL = EMAIL_HOST_USER
FILE_SERVER_ROOT = 'https://my.server.com/seafhttp'
SERVE_STATIC = False
MEDIA_URL = '/media/'
COMPRESS_URL = MEDIA_URL
STATIC_URL = MEDIA_URL + 'assets/'
SITE_ROOT = '/seafile/'
LOGIN_URL = '/seafile/accounts/login/'    # NOTE: since version 5.0.4

gunicorn.conf

import os

daemon = True
workers = 5

# default localhost:8000
bind = "127.0.0.1:8000"

# Pid
pids_dir = '/opt/seafile/pids'
pidfile = os.path.join(pids_dir, 'seahub.pid')

# for file upload, we need a longer timeout value (default is only 30s, too short)
timeout = 1200

limit_request_line = 8190

More logs


ccnet.log

[11/19/19 15:34:35] ../common/session.c(398): Accepted a local client
[11/19/19 15:34:35] ../common/session.c(398): Accepted a local client
[11/19/19 15:34:35] ../common/session.c(398): Accepted a local client
[11/19/19 15:34:48] ../common/session.c(398): Accepted a local client
[11/19/19 15:34:48] ../common/peer.c(943): Local peer down
[11/19/19 15:35:05] ../common/session.c(398): Accepted a local client
[11/19/19 15:42:03] ../common/session.c(398): Accepted a local client
[11/19/19 15:42:05] ../common/session.c(398): Accepted a local client

seafile.log

[11/19/19 15:34:35] http-server.c(175): fileserver: worker_threads = 10
[11/19/19 15:34:35] http-server.c(190): fileserver: fixed_block_size = 8388608
[11/19/19 15:34:35] http-server.c(205): fileserver: web_token_expire_time = 3600
[11/19/19 15:34:35] http-server.c(220): fileserver: max_indexing_threads = 1
[11/19/19 15:34:35] http-server.c(235): fileserver: max_index_processing_threads= 3
[11/19/19 15:34:35] http-server.c(257): fileserver: cluster_shared_temp_file_mode = 600
[11/19/2019 03:34:35 PM] ../common/mq-mgr.c(54): [mq client] mq cilent is started

controller.log

[11/19/19 15:23:08] seafile-controller.c(596): seafdav not enabled.
[11/19/19 15:34:10] seafile-controller.c(634): shutting down ccnet-server ...
[11/19/19 15:34:34] seafile-controller.c(175): starting ccnet-server ...
[11/19/19 15:34:34] seafile-controller.c(79): spawn_process: ccnet-server -F /opt/seafile/conf -c /opt/seafile/ccnet -f /opt/seafile/logs/ccnet.log -d -P /opt/seafile/pids/ccnet.pid
[11/19/19 15:34:34] seafile-controller.c(94): spawned ccnet-server, pid 10471
[11/19/19 15:34:35] seafile-controller.c(623): ccnet daemon connected.
[11/19/19 15:34:35] seafile-controller.c(207): starting seaf-server ...
[11/19/19 15:34:35] seafile-controller.c(79): spawn_process: seaf-server -F /opt/seafile/conf -c /opt/seafile/ccnet -d /opt/seafile/seafile-data -l /opt/seafile/logs/seafile.log -P /opt/seafile/pids/seaf-server.pid
[11/19/19 15:34:35] seafile-controller.c(94): spawned seaf-server, pid 10475
[11/19/19 15:34:35] seafile-controller.c(596): seafdav not enabled.

Any guidance would be appreciated. I’m not sure where else to look for a problem.

Hey. I had this problem after a server upgrade. I was using nginx with the proxy_pass directive and it somehow stopped working the way I used it. In the end I basically replaced proxy_pass http://127.0.0.1:8000; with proxy_pass http://localhost:8000; and everything worked again.