Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

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 10.10.2.13 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 / http://10.220.100.209:180/
#  ProxyPassReverse / http://10.220.100.209:180/
  DocumentRoot /var/www/pwpusher/public
  <Directory /var/www/pwpusher/public>
    allow from all
    Options -MultiViews
  </Directory>
  RailsEnv private

  ServerName pwpush.intranet

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

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

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

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 10.10.2.13] 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 10.10.2.13] 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

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

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

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

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

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

share|improve this question
add comment

1 Answer

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

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): https://github.com/pglombardo/PasswordPusher/issues

share|improve this answer
add comment

Your Answer

 
discard

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.