Content
bundle install fails after passenger installation
Added by Spike Dog over 10 years ago
Running Ubuntu 12.04 LTS, Apache 2.2.22, Passenger 4.0.48, RVM 1.25.25
OpenProject was previously installed successfully without passenger, and I could start the server manually via ‘bundle exec rails server’ from my openproject directory. I tried to create an init.d script to start the server automatically, but that wasn’t working - likely having to do with the full command being multi-term. I then installed Passenger so I could have Apache automatically start the server instead. I created my passenger.load and passenger.conf files, and set up my virtual host information. When I tried to connect to OpenProject, I got a Passenger web page error:
Could not find i18n-0.6.8 in any of the sources (Bundler::GemNotFound).
From what I gathered when passenger evokes bundler, it is looking for gems at the vendor/cache path, but that’s not where they were installed. The indication was that running ‘bundle install —path vendor/cache’ would fix the issue. However, once I tried that, I got the following error:
error: gnutls_handshake() failed: A TLS packet with unexpected length was received. while accessing https://github.com/fnando/i18n-js.git/info/refs fatal: HTTP request failed
Now, I cannot run the rails server manually either. Bundler ‘cannot find various gems in any of the sources’, even though I’m executing the command from the same directory as before. I have tried to find fixes to the handshake failure, and have removed and reinstalled packages like git, curl, libcurl3-gnutls, and libcurl4-openssl-dev to no avail. Other solutions seem to involve changing how git is being used. However, I am not running a git clone command directly; bundle install is automatically executing it as part of its process.
I am a bit at my wits end and suspect I may simply have to start over completely and hope reinstallation runs more smoothly. However, if anyone has additional suggestions - or even a solution, I would be grateful.
Replies (3)
Hi
I have not seen the error but you forgot to mention that when you switched to apache that you turned off static assets in the appropriate RD file
i.e when I used the ruby/rails web server, I edited the production.rd file and set
config.serve_static_assets = true
you need to change this to false to use apache …. ? maybe that is causing an issue.
the full set of steps I used to move to apache for a prod environment are below.
Install Passenger
gem install passenger
Compile Passenger for Apache This will take a while.
Install ruby as one of the languages
passenger-install-apache2-module
ignore the warnings about lack of memory. (I am using the Tiny AWS server)
I installed it for Ruby and python languages.
If the install fails due to lack of memory, just stop a few more processes that you do not need at the moment.
Update Apache2 Config
using your ubuntu login
cd /etc/apache2/mods-available
create a passenger.load and passenger.conf file
sudo nano passenger.load
add the line
LoadModule passenger_module /home/openproject/.rvm/gems/ruby-2.1.0/gems/passenger- 4.0.46/buildout/apache2/mod_passenger.so
sudo nano passenger.conf*
add the lines
<IfModule mod_passenger.c>
PassengerRoot /home/openproject/.rvm/gems/ruby-2.1.0/gems/passenger-4.0.46
PassengerDefaultRuby /home/openproject/.rvm/gems/ruby-2.1.0/wrappers/ruby
Note. The version number of passenger changes. passenger-4.0.46 may not be the version you install. Please check and update this.
Reset the production.rd file reset the production.rd file
sudo nano /home/openproject/openproject/config/environments/production.rb
change true back to false
config.serve_static_assets = false
Enable necessary components on Apache - Mod and Site (as the Ubuntu user)
sudo a2enmod passenger
Create virtual host file using your ubuntu login
Create virtual host file in /etc/apache2/sites-available
sudo nano /etc/apache2/sites-available/openproject.conf
add
<VirtualHost *:80>
ServerName www.example.ca
DocumentRoot /home/openproject/openproject/public
RailsEnv production
Note that the Server name is a dummy site. You can update this when you set it up in your hosts file or even better, in a DNS
Edit the apache.conf file
sudo nano /etc/apache2/apache2.conf
and add
<Directory /home/openproject/openproject/public>
Options Indexes FollowSymLinks
# This relaxes Apache security settings.
AllowOverride all
Require all granted
# MultiViews must be turned off.
Options -MultiViews
Enable openproject virtual host file
sudo a2ensite openproject
Disable default site
*sudo chgrp -R www-data /home/openproject/openproject/public
sudo chmod -R g+r /home/openproject/openproject/public*
Restart your server just to make sure everything starts up as expect
sudo shutdown –r now
Check that apache2 is running
check your site on port 80
all should be ok if you see the openproject home page
a format issue at the bottom
sudo a2dissite 000-default*
is
sudo a2dissite 000-default
Thanks. I did change the serve_static_assets back to false, so that wasn’t it. Apparently, there were some changes being made to the configuration of the firewall that server was behind, which might have interfered with its ability to retrieve files using git.
At this point, I am reattempting installation on an Ubuntu virtual machine so it is quick to restore it to a snapshot if one of the major installation steps does not go as planned, but hopefully all will go smoothly this time.