Problem with Onlyoffice and apache 2.4

Hi all,

I installed Onlyoffice Document Server via Subfolder with docker on my seafile server 6.2.4 - ubuntu 14.04 and apache 2.4. Seafile works fine with https and everything is ok.
Here is the command i ran, as it is on the seafile doc:

docker run -dit -p 8080:80 --restart always --name oods onlyoffice/documentserver

On Firefox, when i type http://:8080, the DocumentServer web page appears with no problem. when it’s http:///oods , i have the firefox message “the connection failed” and cannot access to the DocumentServer web page.

Here is my apache conf file :

User daemon Group daemon
  LoadModule authn_core_module modules/mod_authn_core.so
   LoadModule authz_core_module modules/mod_authz_core.so
   LoadModule unixd_module modules/mod_unixd.so
   LoadModule proxy_module modules/mod_proxy.so
   LoadModule proxy_http_module modules/mod_proxy_http.so
   LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so
   LoadModule headers_module modules/mod_headers.so
   LoadModule setenvif_module modules/mod_setenvif.so


    <VirtualHost _default_:443>
            ServerAdmin webmaster@localhost
            ServerName my_seafile_server
            Alias /media /datas/seafile-server-latest/seahub/media
            DocumentRoot /var/www

            # Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
            # error, crit, alert, emerg.
            # It is also possible to configure the loglevel for particular
            # modules, e.g.
            #LogLevel info ssl:warn

            ErrorLog ${APACHE_LOG_DIR}/error.log
            CustomLog ${APACHE_LOG_DIR}/access.log combined

            # For most configuration files from conf-available/, which are
            # enabled or disabled at a global level, it is possible to
            # include a line for only one particular virtual host. For example the
            # following line enables the CGI configuration for this host only
            # after it has been globally disabled with "a2disconf".
            #Include conf-available/serve-cgi-bin.conf

SSL Engine Switch:

            #   Enable/Disable SSL for this virtual host.
            SSLEngine on

            #   A self-signed (snakeoil) certificate can be created by installing
            #   the ssl-cert package. See
            #   /usr/share/doc/apache2/README.Debian.gz for more info.
            #   If both key and certificate are stored in the same file, only the
            #   SSLCertificateFile directive is needed.
            SSLCertificateFile       /etc/ssl/secret.crt
            SSLCertificateKeyFile    /etc/ssl/private/secret.key

<FilesMatch “.(cgi|shtml|phtml|php)$”>
SSLOptions +StdEnvVars

<Directory /usr/lib/cgi-bin>
SSLOptions +StdEnvVars

BrowserMatch “MSIE [2-6]”
nokeepalive ssl-unclean-shutdown
downgrade-1.0 force-response-1.0
# MSIE 7 and newer should be able to use keepalive
BrowserMatch “MSIE [17-9]” ssl-unclean-shutdown

             RewriteEngine On

            <Location /media>
            ProxyPass !
            Require all granted
            </Location>

          #

seafile fileserver

ProxyPass /seafhttp http://127.0.0.1:8082
ProxyPassReverse /seafhttp http://127.0.0.1:8082
RewriteRule ^/seafhttp - [QSA,L]
LimitRequestBody 104857600

seahub

SetEnvIf Request_URI . proxy-fcgi-pathinfo=unescape
SetEnvIf Authorization “(.*)” HTTP_AUTHORIZATION=$1
ProxyPass / fcgi://127.0.0.1:8000/

Define VPATH /oods
Define DS_ADDRESS my_seafile_server:8080

<Location ${VPATH}>
Require all granted
SetEnvIf Host "^(.)$" THE_HOST=$1
RequestHeader setifempty X-Forwarded-Proto http
RequestHeader setifempty X-Forwarded-Host %{THE_HOST}e
RequestHeader edit X-Forwarded-Host (.
) $1${VPATH}
ProxyAddHeaders Off
ProxyPass “http://${DS_ADDRESS}/”
ProxyPassReverse “http://${DS_ADDRESS}/”

    </VirtualHost>

Can you tell me what i did wrong and find a solution to solve the issue ?

Thanx for your response.

Regards. Fred

I’m not certain that you have a problem. The label ‘oods’ is an elective name for the Docker container. When you spin-up a container from a Docker image you can give it a name if desired. This name can be used in lieu of the cryptic container ID in scripts, etc., making it easier for humans to deal with referencing the container. You can read a little about naming here.

Is something else going on where you would expect http://oods to be resolved? Or have you perhaps added it to /etc/hosts? I can see http://{IP_address}:8080 working. Have you tried that as well?

This is an onlyoffice related problem. Why are there so many posts in the Seafile forum about not working only office instances/servers. Is the documentation from the OO manufacture that bad?

Hi DerDanilo,

Yes, it is curious that there are so many issues integrating OnlyOffice when the Manual makes it look as easy as falling off a log.

I suspect (and it is only a suspicion) that the trouble is coming from something done (or maybe not done) to the Seafile Server before the integration with OnlyOffice begins. That is, you can have a perfectly happy functioning Seafile but it does not connect to OODS correctly when you follow the procedure outlined in the Manual.

I believe it works because you and @christophdb have both done it and Christoph has even documented it in a YouTube movie, here.

Perhaps it’s something you know and do in your Seafile setup that is so obvious to you that you take it for granted. Or maybe you are using a different distro from Ubuntu 16 that works while those on Ubuntu are left wondering.

In any case, it’s far from settled and I think we need to carefully document the setup if this is going to be a standard feature described in the Seafile Manual.

I am still working on the community manual. It is a big project and should help people, not confuse them more because it’s not ready. You are very welcome to provide your input there to make the onlyoffice part working properly. Please drop me a PM if you are interessted. No public links to the not finished manual yet.