2016-11-03 12 views
0

Я пробовал последние дни для запуска текущего Seafile 6.0.5 с MySQL на моем VPS с установленным Plesk Onyx 17.Seafile 6.0.5 404 WebUI с nginx и Plesk Onyx

Если я следую за официальное руководство seafile.com =>https://manual.seafile.com/deploy/deploy_with_nginx.html

Я могу открыть WebUI от: HTTP: IP_ADRESS: 8000.

Но когда я добавляю конфигурацию NGINX и запускаю seahub в режиме fastcgi, чтобы добраться до Seafile под: https://seafile.mydomain.com (разрешает шифрование https), я вижу только логотип морского файла в левом верхнем углу, нерабочий селектор языка в правом верхнем углу угол и текст, который гласит: «Извините, но запрошенная страница не найдена».

Мои журналы/seahub_django_request.log:

2016-11-03q 04:51:11,438 [WARNING] django.request:170 get_response Not Found: /index.html 
2016-11-03 04:51:13,204 [WARNING] django.request:170 get_response Not Found: /index.html 
2016-11-03 04:58:06,150 [WARNING] django.request:170 get_response Not Found: /index.html 
... 

Мой ccnet.conf:

[General] 
USER_NAME = PrivateSeafile 
ID = id 
NAME = PrivateSeafile 
SERVICE_URL = https://seafile.mydomain.com 

[Database] 
ENGINE = mysql 
HOST = 127.0.0.1 
PORT = 3306 
USER = seafile 
PASSWD = pass 
DB = ccnet-db 
CONNECTION_CHARSET = utf8 

Мой seahub_settings.py:

SECRET_KEY = "secret" 

FILE_SERVER_ROOT = 'https://seafile.mydomain.com/seafhttp' 
#SITE_BASE = 'https://seafile.mydomain.com' 
#SITE_ROOT = '/' 

DATABASES = { 
    'default': { 
     'ENGINE': 'django.db.backends.mysql', 
     'NAME': 'seahub-db', 
     'USER': 'seafile', 
     'PASSWORD': 'pw', 
     'HOST': '127.0.0.1', 
     'PORT': '3306' 
    } 
} 

Мои дополнительные настройки Nginx в Plesk читать следует:

server_tokens off; 
proxy_set_header X-Forwarded-For $remote_addr; 
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains"; 

location ~/{ 
    if ($scheme = http) { 
     return 301 https://$http_host$request_uri?; 
    } 
    fastcgi_pass 127.0.0.1:8000; 
    fastcgi_param SCRIPT_FILENAME  $document_root$fastcgi_script_name; 
    fastcgi_param PATH_INFO   $fastcgi_script_name; 

    fastcgi_param SERVER_PROTOCOL  $server_protocol; 
    fastcgi_param QUERY_STRING  $query_string; 
    fastcgi_param REQUEST_METHOD  $request_method; 
    fastcgi_param CONTENT_TYPE  $content_type; 
    fastcgi_param CONTENT_LENGTH  $content_length; 
    fastcgi_param SERVER_ADDR   $server_addr; 
    fastcgi_param SERVER_PORT   $server_port; 
    fastcgi_param SERVER_NAME   $server_name; 
    fastcgi_param HTTPS    on; 
    fastcgi_param HTTP_SCHEME   https; 

    access_log  /var/log/nginx/seahub.access.log; 
    error_log  /var/log/nginx/seahub.error.log; 
    fastcgi_read_timeout 36000; 
} 

location /seafhttp { 
    rewrite ^/seafhttp(.*)$ $1 break; 
    proxy_pass https://127.0.0.1:8082; 
    client_max_body_size 0; 
    proxy_connect_timeout 36000s; 
    proxy_read_timeout 36000s; 
    proxy_send_timeout 36000s; 
    send_timeout 36000s; 
    proxy_request_buffering off; 
} 

location /seafdav { 
    fastcgi_pass 127.0.0.1:8080; 
    fastcgi_param SCRIPT_FILENAME  $document_root$fastcgi_script_name; 
    fastcgi_param PATH_INFO   $fastcgi_script_name; 

    fastcgi_param SERVER_PROTOCOL  $server_protocol; 
    fastcgi_param QUERY_STRING  $query_string; 
    fastcgi_param REQUEST_METHOD  $request_method; 
    fastcgi_param CONTENT_TYPE  $content_type; 
    fastcgi_param CONTENT_LENGTH  $content_length; 
    fastcgi_param SERVER_ADDR   $server_addr; 
    fastcgi_param SERVER_PORT   $server_port; 
    fastcgi_param SERVER_NAME   $server_name; 
    fastcgi_param HTTPS    on; 
    client_max_body_size 0; 
    proxy_request_buffering off; 

    access_log  /var/log/nginx/seafdav.access.log; 
    error_log  /var/log/nginx/seafdav.error.log; 
} 

location /media { 
    root /home/seafile/haiwen/seafile-server-latest/seahub; 
} 

location /.well-known/acme-challenge { 
    root /var/www/vhosts/mydomain.com/seafile.mydomain.com; 
} 

Я надеюсь, что у кого-то есть идея, как его решить. Я знаю, это что-то с Plesk, потому что я много раз использовал морской файл с сырым nginx и отлично работал.

ответ

0

Итак, я решил это, создав пользовательскую конфигурацию виртуального домена nginx для Plesk Onyx.

Для этого:

mkdir /usr/local/psa/admin/conf/templates/custom 
mkdir /usr/local/psa/admin/conf/templates/custom/domain 
cd /usr/local/psa/admin/conf/templates/custom/domain 
cp /usr/local/psa/admin/conf/templates/default/domain/nginxDomainVirtualHost.php ./ 

vim nginxDomainVirtualHost.php 

удалить или комментарий следующее:

location ~ /$ { 
    <?php echo $VAR->domain->physicalHosting->proxySettings['directoryIndex'] ?> 
} 

Plesk Документация говорят:

Сформировать новые конфигурационные файлы: через:

httpdmng --reconfigure-domain YOUR_DOMAIN 

Но на консоли ответить

команды httpdmng не найдено

Так просто открыть свой домен Apace & Nginx Настройки в панели управления Plesk и нажмите кнопку ОК.

Другая небольшая проблема дополнительного Nginx конфигурации Wich нарушить синхронизацию с локальными клиентами:

location /seafhttp { 
    rewrite ^/seafhttp(.*)$ $1 break; 
    proxy_pass https://127.0.0.1:8082; 

должен быть:

location /seafhttp { 
    rewrite ^/seafhttp(.*)$ $1 break; 
    proxy_pass http://127.0.0.1:8082; 

так только HTTP вместо HTTPS.

Надежда, которая помогает кому-либо еще;)

 Смежные вопросы

  • Нет связанных вопросов^_^