Content
Installation of OpenProject 7.4.7 on OpenSuse 15?
Hello
I am trying to install OpenProject 7.4.7 with the Suse Linux Enterprise Server 12 installer. Beside the manual installation of the libmysqlclient18 and its dependencies I get this errors on installing OpenProject (zypper install openproject):
@Resolving package dependencies…
The following NEW package is going to be installed:
openproject
1 new package to install.
Overall download size: 0 B. Already cached: 133.5 MiB. After the operation, additional 420.2 MiB will be used.
Continue? [y/n/…? shows all options] (y): y
In cache openproject-7.4.7-1532077196.a556554d.sles12.x86_64.rpm (1/1), 133.5 MiB (420.2 MiB unpacked)
Checking for file conflicts: ………………………………………………………………………..[done]
(1/1) Installing: openproject-7.4.7-1532077196.a556554d.sles12.x86_64 …………………………………..[error]
Installation of openproject-7.4.7-1532077196.a556554d.sles12.x86_64 failed:
Error: Subprocess failed. Error: RPM failed: /var/tmp/rpm-tmp.skGLrT: line 18: addgroup: command not found
error: %prein(openproject-7.4.7-1532077196.a556554d.sles12.x86_64) scriptlet failed, exit status 127
error: openproject-7.4.7-1532077196.a556554d.sles12.x86_64: install failed
@
I would appreciate any hint how to resolve this installation error. Many thanks in advance.
I added manually the following commands (as sudo):
@
groupadd openproject
useradd —gid openproject openproject
@
and then reissued the install command:
@
zypper install openproject
@
so I was able to install openproject without the error reported above.
After two days of many attempts I have to give up (also consulting the manuall installation guide [[https://github.com/opf/openproject/blob/stable/7/docs/installation/manual/README.md]]):
- OpenProject 7.4.7 Suse Linux Enterprise Server 12 installer is not convenient to be used on OpenSuse 15. There are many incompatible dependencies
- Even by installing manually appropriate gems into the bundle, there are often not working well/interfering with OpenSuse pkg.
- not all env variables are picked up, so a mix of env variables and yml configurations have to be done
- passenger and mod_passenger from OpenSuse 15 repository are working so far
- finally I am sticking on a “Incomplete response received from application” page without further error messages in the different logs
My aim was to install OpenProject in the following setting:
- installation on OpenSuse 15
- configuration/integration into an existing apache2 multi vhost configuration
- without proxy and for the first step without ssl
best regards
Hi André,
we have no prior experiences with OpenSuse15, so thanks for trying it out. I’m not sure I can follow what you mean with points two and three.
For a manual installation, you should avoid reusing the packaged environment since that freezes the Ruby gems environment (bundle install —frozen) and does not allow you to modify it.
Did you identify parts of the manual installation guide that did not properly work on OS15?
Also regarding point 5, could you attach the error.log of apache as well as the web-1/production log of OpenProject? Here you have to differentiate between:
- /var/log/openproject/*.log , the logs from the packaged installation that use a Unicorn application server that is being proxied by Apache (and thus should print into:
- web-X.log for all things that regard the webserver)
- production.log for application-related logging
- worker.log for the background jobs (little to no relevance to your use case)
- <your manual installation directory/log/*, the default log directory for the manual installation of OpenProject. Maybe in there you will find something , especially if you use passenger to spawn the application?
- /var/log/apache/error_log (or similar, not sure if this applies for OpenSuse) should contain an error if passenger failed to spawn the application e.g., due to missing gems or an invalid environment.
Best,
Oliver
Hi Oliver
Many thanks for your prompt response.
I have to state more precisely, that I followed the manual installation guide not in its full extent. I picked those things that I found could solve the different problems.
- For example I did not install ruby 2.4.4 manually as it was installed by the SLES 12 installer in /opt/openproject/vendor (once under ./ruby-2.4.4/ and then under ./bundle/ruby/)
- Neither I wanted to install ruby 2.4.4 manually to not compromise the actual system. I prefered to use the ruby installation in the bundle, as a local installation in the target openproject directory
- For this reason I moved the files from /opt/openproject into the target openproject directory from where I wanted to serve it e.g. /home/my_company/www_openproject
- Thats it is why I did not use the standard user “openproject” but “wwwrun” as the default apache2 user on SuSE to access and server directories/files.
- With /home/my_company/www_openproject/vendor/ruby-2.4.4/bin/gem (gem not present in the bundle) I could install libyaml with incorporated libxml2 to be compatible as prerequisite to start with openproject installation/configuration and there after other missing gems etc. I copied all these new items over to the /home/my_company/www_openproject/vendor/bundle directory to be addressed.
- starting “openproject run web” gives me this output
@
openproject run web
I, [2018-08-08T13:20:49.194436 #15524] INFO — : Refreshing Gem list
I, [2018-08-08T13:21:05.452395 #15524] INFO — : listening on addr=127.0.0.1:6000 fd=8
I, [2018-08-08T13:21:05.459152 #15524] INFO — : master process ready
I, [2018-08-08T13:21:05.465534 #15561] INFO — : worker=0 ready
@
- and this output for " px aux | grep openproject":
@
wwwrun 15907 52.4 2.4 544636 200380 ? Sl 13:28 0:18 Passenger AppPreloader: /home/my_company/www_openproject
wwwrun 15956 0.4 2.3 544536 193136 ? Sl 13:28 0:00 Passenger AppPreloader: /home/my_company/www_openproject (forking…)
@
- in /var/log/openproject/ I have only cron-logs and production.log. later shows me:
@
…
W, [2018-08-08T13:36:57.533698 MAW-45] WARN — : [auth_saml] Missing settings from ‘/home/my_company/www_openproject/config/plugins/auth_saml/settings.yml’, skipping omniauth registration.
W, [2018-08-08T13:36:57.693582 MAW-45] WARN — : hook registered
W, [2018-08-08T13:36:59.482147 MAW-45] WARN — : Creating scope :order_by_name. Overwriting existing method Sprint.order_by_name.
@
- /home/my_company/www_openproject/log points by symlink to /var/log/openproject (it is as it was created by the SLES 12 installer).
- finally the apache2 “error_log” shows nothing special that gives a hint to the issue (IP 12.41.100.x: is my client to try accessing the openproject url):
@
[Wed Aug 08 13:36:42.168412 2018] [ssl:warn] [pid 15352] AH01873: Init: Session Cache is not configured [hint: SSLSessionCache]
[Wed Aug 08 13:36:42.403812 2018] [mpm_prefork:notice] [pid 15352] AH00163: Apache/2.4.33 (Linux/SUSE) OpenSSL/1.1.0h-fips PHP/7.2.5 Phusion_Passenger/5.3.4 configured — resuming normal operations
[Wed Aug 08 13:36:42.403887 2018] [core:notice] [pid 15352] AH00094: Command line: ‘/usr/sbin/httpd-prefork -D SYSCONFIG -D SSL -C PidFile /var/run/httpd.pid -C Include /etc/apache2/sysconfig.d//loadmodule.conf -C Include /etc/apache2/sysconfig.d//global.conf -f /etc/apache2/httpd.conf -c Include /etc/apache2/sysconfig.d//include.conf -D SYSTEMD -D FOREGROUND’
[Wed Aug 08 13:41:57.043503 2018] [negotiation:error] [pid 16283] [client 212.41.100.x:56429] AH00690: no acceptable variant: /usr/share/apache2/error/HTTP_NOT_FOUND.html.var
h
@
- apache2 configuration is straight forward:
@
<VirtualHost *>
ServerAdmin admin@my_company.net
ServerName projects.my_company.net
PassengerRuby /home/my_company/www_openproject/openproject/bin/ruby
DocumentRoot /home/my_company/www_openproject/openproject/public
<Directory “/home/my_company/www_openproject/openproject/public”>
Options -MultiViews
AllowOverride all
Require all granted
UserDir disabled
@
For a manual installation it would be best, if all nessesary components (also ruby, gems, etc., libs ) would be installable in one single directory by the admin choice.
Thank you very much and best regards,
André
Hi Andŕe,
the manual installation uses a user-based installation (the home of which you can freely choose) and uses rbenv to install a bundled ruby environment into the local user’s PATH.
There is little difference in the end result compared to the packaged installation. In the end, the packaged installation only does all the bundling and environment installation upfront, which is why we need to depend on specific versions for SSL and other libraries in order to build the gems we depend on.
In any case, trying to run the packaged web server (unicorn) with openproject run web with the Apache configuration you attached will not work. The packaged installation relies on a Proxy configuration to the unicorn server running at localhost:6000.
In a passenger installation, it spawns its own web server directly from Apache, so you will want to avoid running Unicorn alongside it.
My suggestion would be to purge the package, keep the user, install rbenv and nodenv to the user’s home as per the manual guide and install passenger integration manually (https://github.com/opf/openproject/blob/stable/7/docs/installation/manual/README.md#serve-openproject-with-apache-and-passenger) to ensure PassengerRoot is set.
An alternative would be to support OpenSuse15 from our package repository vendor, but that is not currently on the list of supported distributions - and each distribution requires additional maintenance so I don’t see that happening without, e.g., a support contract.
Best,
Oliver
Hi Oliver
Many thanks again for your response. I will give a try in the next days an give a report here.
best regards, André