Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm trying to setup PasswordPusher as my first ruby app ever. Building and running the webrick server as instructed in README works fine.

It was only when I tried to add Apache ProxyPass and ProxyPassReverse that the page load slowed down to several minutes.

So I gave mod_passenger a whirl but now it's unable to find the password table. Here's what I get in log/production.log.

Started GET "/" for at Sun Jun 10 08:07:19 +0200 2012
  Processing by PasswordsController#new as HTML
Completed 500 Internal Server Error in 1ms

ActiveRecord::StatementInvalid (Could not find table 'passwords'):
  app/controllers/passwords_controller.rb:77:in `new'
  app/controllers/passwords_controller.rb:77:in `new'

While in log/private.log I get a lot more output so here's just a snippet but it looks to me like it's working with the database. Edit: This was actually old log output, maybe from db:create.

Migrating to AddUserToPassword (20120220172426)
   (0.3ms)  ALTER TABLE "passwords" ADD "user_id" integer
   (0.0ms)  PRAGMA index_list("passwords")
   (0.2ms)  CREATE INDEX "index_passwords_on_user_id" ON "passwords" ("user_id")
   (0.7ms)  INSERT INTO "schema_migrations" ("version") VALUES ('20120220172426')
   (0.1ms)  select sqlite_version(*)
   (0.1ms)  SELECT "schema_migrations"."version" FROM "schema_migrations" 
   (0.0ms)  PRAGMA index_list("passwords")
   (0.0ms)  PRAGMA index_info('index_passwords_on_user_id')
   (4.6ms)  PRAGMA index_list("rails_admin_histories")
   (0.0ms)  PRAGMA index_info('index_rails_admin_histories')
   (0.0ms)  PRAGMA index_list("users")
   (4.8ms)  PRAGMA index_info('index_users_on_unlock_token')
   (0.0ms)  PRAGMA index_info('index_users_on_reset_password_token')
   (0.0ms)  PRAGMA index_info('index_users_on_email')
   (0.0ms)  PRAGMA index_list("views")

In my vhost I have it set to use RailsEnv private.

<VirtualHost *:80>
#  ProxyPreserveHost on
#  ProxyPass /
#  ProxyPassReverse /
  DocumentRoot /var/www/pwpusher/public
  <Directory /var/www/pwpusher/public>
    allow from all
    Options -MultiViews
  RailsEnv private

  ServerName pwpush.intranet

  ErrorLog /var/log/apache2/error.log
  LogLevel debug
  CustomLog /var/log/apache2/access.log combined

My passenger.conf in mods-enabled is default for Debian.

<IfModule mod_passenger.c>
  PassengerRoot /usr
  PassengerRuby /usr/bin/ruby

In the apache error.log I get something more cryptic to me.

[Sun Jun 10 06:25:07 2012] [notice] Apache/2.2.16 (Debian) Phusion_Passenger/2.2.11 PHP/5.3.3-7+squeeze9 with Suhosin-Patch mod_ssl/2.2.16 OpenSSL/0.9.8o configured -- resuming normal operations
/var/www/pwpusher/vendor/bundle/ruby/1.8/bundler/gems/modernizr-rails-09e9e6a92d67/lib/modernizr/rails/version.rb:3: warning: already initialized constant VERSION
cache: [GET /] miss
[Sun Jun 10 08:07:19 2012] [debug] mod_deflate.c(615): [client] Zlib: Compressed 728 to 423 : URL /
/var/www/pwpusher/vendor/bundle/ruby/1.8/bundler/gems/modernizr-rails-09e9e6a92d67/lib/modernizr/rails/version.rb:3: warning: already initialized constant VERSION
cache: [GET /] miss
[Sun Jun 10 10:17:16 2012] [debug] mod_deflate.c(615): [client] Zlib: Compressed 728 to 423 : URL /

Maybe that's routine stuff. I can see the rake command create files in the relative app root db/. I have private.sqlite3, production.sqlite3 among others. And here's my config/database.yml.

base: &base
  adapter: sqlite3
  timeout: 5000

  database: db/development.sqlite3
  <<: *base

  database: db/test.sqlite3
  <<: *base

  database: db/private.sqlite3
  <<: *base

  database: db/production.sqlite3
  <<: *base

I've tried setting absolute paths in it but that did not help.

share|improve this question

Your configs look valid and are similar to what I'm running for Passwordpusher @

Make sure that you run the db:create/db:migrate rake tasks with the proper environment:

RAILS_ENV=private bundle exec rake db:create db:migrate

Not providing the RAILS_ENV part will cause rake to use the default which is 'development'.

To validate, make sure that db/private.sqlite3 is created and timestamped correctly in the OS.

If this still doesn't work, submit an issue here and I'll give you a hand (I'm the author of PasswordPusher):

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.