ONLYOFFICE / DocumentServer

ONLYOFFICE Docs is a free collaborative online office suite comprising viewers and editors for texts, spreadsheets and presentations, forms and PDF, fully compatible with Office Open XML formats: .docx, .xlsx, .pptx and enabling collaborative editing in real time.
https://www.onlyoffice.com
GNU Affero General Public License v3.0
4.87k stars 1.09k forks source link

Installation with custom Nginx installation (Deb package) #202

Open md2k opened 6 years ago

md2k commented 6 years ago

Hi Devs, i think this is minor but a bug, because deployment of document server not possible if system use custom Nginx package from Nginx Official Repo and not from Deb/Ubuntu repositories.

Document server package have strict requirements for nginx-extras, while official package from a Nginx.org have everything what is required for Nginx functionality, also it is possible that some companies managing some packages on their own.

Expecting behaviour, when package do not strictly demands specific nginx packages to avoid this problem.

Used latest available package of DocumentServer from website guides.

Thank you in advance.

agolybev commented 6 years ago

Hi @md2k, we use nginx-extras because it contains some specific features. I'll think about using nginx package instead of nginx-extras.

agolybev commented 6 years ago

@md2k, Document Server uses Secure Link nginx module. It's optional in nginx and exists in nginx-extra module only.

md2k commented 6 years ago

@agolybev you right, this module need to be compiled manually with nginx. But if this will be mentioned in Documentation in requirements, people who won't deal with custom nginx can simply install nginx-extras, otherwise it always possible to compile nginx with this module without much problems. maybe preinstall script which is check capabilities of nginx and throw warning if required functionality not available with nginx. For now i simply manually recompiling nginx and replace official ubuntu binaries and libs (we also use custom libs which even not included to nginx-extras).

agolybev commented 6 years ago

@md2k, I agree with you.

omkarnathsingh commented 6 years ago

I have custom built nginx from source, I am unable to setup document-server.

agolybev commented 6 years ago

Hi @omkarnathsingh, You could install document-server without dependency, or build it from source code too.

omkarnathsingh commented 6 years ago

I tried installing from .deb file as given in releases. It still asks for nginx-extras dependency. Will it work if I add nginx-extra module in my custom nginx while configuring it?

agolybev commented 6 years ago

@omkarnathsingh, you have to add ngx_http_secure_link_module for nginx. It is not built by default, it should be enabled with the --with-http_secure_link_module configuration parameter. See details about this module here.

omkarnathsingh commented 6 years ago

@agolybev Yes. I got to know about this module as per your information here https://github.com/ONLYOFFICE/DocumentServer/issues/202#issuecomment-344900113 , I have enabled it too. But the problem is the same. .deb file is hardcoded to get the dependency of nginx-extras making problem for me. Should I build from code? Is that the only option left.?

agolybev commented 6 years ago

@omkarnathsingh, Get onlyoffice documentserver

$ wget https://github.com/ONLYOFFICE/DocumentServer/releases/download/ONLYOFFICE-DocumentServer-5.1.2/onlyoffice-documentserver_amd64.deb

Install it with dpkg without nginx-extras dependecy

$ dpkg -i --ignore-depends=nginx-extras onlyoffice-documentserver_amd64.deb
omkarnathsingh commented 6 years ago

@agolybev Thanks a lot. It helped and worked for me. :)

omkarnathsingh commented 6 years ago

So, this issue can be closed now (I feel), as installation from .deb package is working in two ways.

  1. Ignore dependency of nginx-extras or
  2. Downgrade custom nginx to 1.10.3 and use.
agolybev commented 6 years ago

Hi @omkarnathsingh, thank you for patience. I'm going to change deb dependency from nginx-extras to nginx. It will be solution of this issue. But first I have to invent way to escape using ngx_http_secure_link_module.

Tachi107 commented 4 years ago

Hi, I'm having the same issue. I use the nginx packages provided by the official nginx repository, as it has newer versions compared to the ones found in the main Debian repo. That version was compiled with --with-http_secure_link_module, so it should perfectly work with OnlyOffice, but when I try to install the deb pakage apt says that I need nginx-extras. So I tried @agolybev 's solution, but the package ends up in a broken state, and I'm unable to remove it; the only way to remove it is to reinstall it along nginx-extras, let apt configure it, and finally remove it. How can we fix this? On what nginx modules does the DocumentServer really depend on?

Tachi107 commented 4 years ago

I ended up installing nginx-extras, grabbing the latest nginx source from nginx.org, copying most of nginx-extras compile options (such as executable, config, and cache folders) and installed the newly compiled web server on top of the nginx-extras deb package. I know this is not a super clean solution, but everything works fine. I also apt-marked as hold the nginx deb packages (libnginx-mod-http-auth-pam, libnginx-mod-http-cache-purge, libnginx-mod-http-dav-ext, libnginx-mod-http-echo, libnginx-mod-http-fancyindex, libnginx-mod-http-geoip, libnginx-mod-http-headers-more-filter, libnginx-mod-http-image-filter, libnginx-mod-http-lua, libnginx-mod-http-ndk, libnginx-mod-http-perl, libnginx-mod-http-subs-filter, libnginx-mod-http-uploadprogress, libnginx-mod-http-upstream-fair, libnginx-mod-http-xslt-filter, libnginx-mod-mail, libnginx-mod-nchan, libnginx-mod-stream, nginx-common, nginx-extras) to avoid problems when upgrading my packages

cberni commented 1 year ago

hi! we are also having problems with the nginx-extra (ubuntu package only). We use Nginx official deb packages. Using a deb install is the easiest way for us to deploy to our customers' servers in batch and not through docker. Ignore dependency don't work with apt (when package is on "Depends" in control. Recommends or Suggests looks OK).

any plans to change to nginx Depends only?

cberni commented 1 year ago

we are using nginx_1.20.2-1~jammy_amd64.deb and nginx_1.20.2-1~focal_amd64.deb (Nginx official deb packages) and it already comes with --with-http_secure_link_module module enabled by default.

maybe just take out the dependency (nginx-extras) and let the user install nginx just like installing postgresql server...