New install, need help on last step

251 views
Skip to first unread message

xper...@gmail.com

unread,
Mar 24, 2014, 10:12:13 AM3/24/14
to munkise...@googlegroups.com

Hello all. 


I have a new munkiserver install that I am trying to get to work, but I am stymied at the last step. I need to ask for your help finding out what I am doing wrong.



The setup:

Mac Mini, running 10.8.5


I followed these directions: https://gist.github.com/wbs75/6562498

*except for step 07), as I was not able to make any sense of it, without more context. I had a couple other more Mac knowledgeable techs look at it and they had no idea either


All the steps work until I get to the "passenger start" step 


This is what happens when I get to that step:


----------------------

managedsoftwareupdate:munkiserver Xperteks$ pwd
/usr/local/munkiserver
managedsoftwareupdate:munkiserver Xperteks$ passenger start
-bash: passenger: command not found

----------------------


If I move up one directory tree step to /usr/local/ I get the following:


----------------------

managedsoftwareupdate:local Xperteks$ pwd
/usr/local
managedsoftwareupdate:local Xperteks$ passenger start
=============== Phusion Passenger Standalone web server started ===============
PID file: /usr/local/passenger.3000.pid
Log file: /usr/local/passenger.3000.log
Environment: development
Accessible via: http://0.0.0.0:3000/
You can stop Phusion Passenger Standalone by pressing Ctrl-C.
Problems? Check http://www.modrails.com/documentation/Users%20guide%20Standalone.html#troubleshooting
===============================================================================
2014/03/24 10:03:56 [error] 7503#0: *4 "/usr/local/public/index.html" is not found (2: No such file or directory), client: 127.0.0.1, server: _, request: "HEAD / HTTP/1.1", host: "0.0.0.0"


-------------------------


Which says to me that its installed, but there wasn't anything in the /usr/local/ for it to work with.


If I then go back to the /usr/local/munkiserver/ folder and use the full path to passenger (what I think is the full path anyway, this might be where I am going wrong) I get this:


-------------------------

managedsoftwareupdate:munkiserver Xperteks$ /Users/Xperteks/.rvm/gems/ruby-1.9.3-p448/bin/passenger start
/Users/Xperteks/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/site_ruby/1.9.1/rubygems/dependency.rb:298:in `to_specs': Could not find 'passenger' (>= 0) among 108 total gem(s) (Gem::LoadError)
from /Users/Xperteks/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/site_ruby/1.9.1/rubygems/dependency.rb:309:in `to_spec'
from /Users/Xperteks/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/site_ruby/1.9.1/rubygems/core_ext/kernel_gem.rb:53:in `gem'
from /Users/Xperteks/.rvm/gems/ruby-1.9.3-p448/bin/passenger:22:in `<main>'
from /Users/Xperteks/.rvm/gems/ruby-1.9.3-p448@munkiserver/bin/ruby_executable_hooks:15:in `eval'
from /Users/Xperteks/.rvm/gems/ruby-1.9.3-p448@munkiserver/bin/ruby_executable_hooks:15:in `<main>'
managedsoftwareupdate:munkiserver Xperteks$ 


--------------------

Which makes me think that there is a missing piece to allow passenger to be seen.


Unfortunately I am not a Ruby/Rails/Passenger person at all. I don't know where to start troubleshooting this. Any advice?

 


Ricky Chilcott

unread,
Mar 24, 2014, 10:45:04 AM3/24/14
to munkise...@googlegroups.com
I haven't been using Phusion Passenger anymore, I've opted for Puma + Nginx, but I can help a little bit.

Check out the Phusion Passenger install page: https://www.phusionpassenger.com/download1209#open_source

Maybe try to re-install passenger via home-brew and see if that resolves your issues.

Ricky Chilcott



--
You received this message because you are subscribed to the Google Groups "munkiserver-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to munkiserver-d...@googlegroups.com.
To post to this group, send email to munkise...@googlegroups.com.
Visit this group at http://groups.google.com/group/munkiserver-dev.
For more options, visit https://groups.google.com/d/optout.

xper...@gmail.com

unread,
Mar 24, 2014, 11:23:27 AM3/24/14
to munkise...@googlegroups.com
Well, getting closer. I'm on a new, more descriptive error.

I installed 'passenger' with brew:

---------------------------------------------------------------------------------------------------------------------
managedsoftwareupdate:munkiserver Xperteks$ brew install passenger
Warning: Your Xcode (4.6.3) is outdated
Please update to Xcode 5.1.
Xcode can be updated from the App Store.
==> Installing passenger dependency: pcre
==> Downloading https://downloads.sf.net/project/machomebrew/Bottles/pcre-8.34.mountain_lion.bottle.tar.gz
######################################################################## 100.0%
==> Pouring pcre-8.34.mountain_lion.bottle.tar.gz
🍺  /usr/local/Cellar/pcre/8.34: 146 files, 5.7M
==> Installing passenger
==> Downloading https://downloads.sf.net/project/machomebrew/Bottles/passenger-4.0.40.mountain_lion.bottle.tar.gz
######################################################################## 100.0%
==> Pouring passenger-4.0.40.mountain_lion.bottle.tar.gz
==> Caveats
To activate Phusion Passenger for Apache, create /etc/apache2/other/passenger.conf:
  LoadModule passenger_module /usr/local/opt/passenger/libexec/buildout/apache2/mod_passenger.so
  PassengerRoot /usr/local/opt/passenger/libexec/lib/phusion_passenger/locations.ini
  PassengerDefaultRuby /usr/bin/ruby
To activate Phusion Passenger for Nginx, run:
  brew install nginx --with-passenger
==> Summary
🍺  /usr/local/Cellar/passenger/4.0.40: 2538 files, 111M
----------------------------------------------------------------------------------------------------

Then tried the 'passenger start' again, but got a new error: 

----------------------------------------------------------------------------------------------------
managedsoftwareupdate:munkiserver Xperteks$ passenger start
 --> Compiling passenger_native_support.bundle for the current Ruby interpreter...
     (set PASSENGER_COMPILE_NATIVE_SUPPORT_BINARY=0 to disable)
     Compilation succesful. The logs are here:
     /var/folders/8y/8nbz0wc13fg_j9x31q4g71p00000gn/T/passenger_native_support-1g48k41.log
 --> passenger_native_support.bundle successfully loaded.
*** ERROR ***
Please install daemon_controller first:
 sudo gem install daemon_controller
managedsoftwareupdate:munkiserver Xperteks$ 
 ----------------------------------------------------------------------------------------------------

So I installed the daemon_controller:

----------------------------------------------------------------------------------------------------
managedsoftwareupdate:munkiserver Xperteks$ sudo gem install daemon_controller
Password:
Fetching: daemon_controller-1.2.0.gem (100%)
Successfully installed daemon_controller-1.2.0
Installing ri documentation for daemon_controller-1.2.0
1 gem installed
managedsoftwareupdate:munkiserver Xperteks$ 
----------------------------------------------------------------------------------------------------

And tried the command again. This time I have a much more verbose error code/description. I still need more knowledgeable eyes to interpret it:

----------------------------------------------------------------------------------------------------
managedsoftwareupdate:munkiserver Xperteks$ passenger start
=============== Phusion Passenger Standalone web server started ===============
PID file: /usr/local/munkiserver/tmp/pids/passenger.3000.pid
Log file: /usr/local/munkiserver/log/passenger.3000.log

Environment: development
Accessible via: http://0.0.0.0:3000/
You can stop Phusion Passenger Standalone by pressing Ctrl-C.
Problems? Check http://www.modrails.com/documentation/Users%20guide%20Standalone.html#troubleshooting
===============================================================================
App 8080 stdout: 
App 8080 stdout: 
[ 2014-03-24 11:01:24.6283 8066/0x102ecd000 Pool2/Implementation.cpp:883 ]: Could not spawn process for group /usr/local/munkiserver#default: An error occured while starting up the preloader.
     in 'void Passenger::ApplicationPool2::SmartSpawner::handleErrorResponse(Passenger::ApplicationPool2::SmartSpawner::StartupDetails &)' (SmartSpawner.h:455)
     in 'string Passenger::ApplicationPool2::SmartSpawner::negotiatePreloaderStartup(Passenger::ApplicationPool2::SmartSpawner::StartupDetails &)' (SmartSpawner.h:566)
     in 'void Passenger::ApplicationPool2::SmartSpawner::startPreloader()' (SmartSpawner.h:206)
     in 'virtual ProcessPtr Passenger::ApplicationPool2::SmartSpawner::spawn(const Passenger::ApplicationPool2::Options &)' (SmartSpawner.h:752)
     in 'void Passenger::ApplicationPool2::Group::spawnThreadRealMain(const SpawnerPtr &, const Passenger::ApplicationPool2::Options &, unsigned int)' (Implementation.cpp:804)
[ 2014-03-24 11:01:24.6287 8066/0x102e47000 agents/HelperAgent/RequestHandler.h:2210 ]: [Client 21] Cannot checkout session.
Error page:
<p>It looks like Bundler could not find a gem. Maybe you didn't install all the gems that this application needs. To install your gems, please run:</p>
  <pre class="commands">bundle install</pre>
<p>If that didn't work, then the problem is probably caused by your application being run under a different environment than it's supposed to. Please check the following:</p>
<ol>
  <li>Is this app supposed to be run as the <code>Xperteks</code> user?</li>
  <li>Is this app being run on the correct Ruby interpreter? Below you will
      see which Ruby interpreter Phusion Passenger attempted to use.</li>
  <li>Please check whether the correct RVM gemset is being used.</li>
  <li>Sometimes, RVM gemsets may be broken.
      <a href="https://github.com/phusion/passenger/wiki/Resetting-RVM-gemsets">Try resetting them.</a></li>
</ol>
<p>-------- The exception is as follows: -------</p>
Could not find gem 'passenger (&gt;= 0) ruby' in the gems available on this machine. (Bundler::GemNotFound)
<pre>  /Users/Xperteks/.rvm/gems/ruby-1.9.3-p448@global/gems/bundler-1.5.3/lib/bundler/resolver.rb:302:in `resolve'
  /Users/Xperteks/.rvm/gems/ruby-1.9.3-p448@global/gems/bundler-1.5.3/lib/bundler/resolver.rb:172:in `start'
  /Users/Xperteks/.rvm/gems/ruby-1.9.3-p448@global/gems/bundler-1.5.3/lib/bundler/resolver.rb:133:in `block in resolve'
  /Users/Xperteks/.rvm/gems/ruby-1.9.3-p448@global/gems/bundler-1.5.3/lib/bundler/safe_catch.rb:32:in `catch'
  /Users/Xperteks/.rvm/gems/ruby-1.9.3-p448@global/gems/bundler-1.5.3/lib/bundler/safe_catch.rb:32:in `safe_catch'
  /Users/Xperteks/.rvm/gems/ruby-1.9.3-p448@global/gems/bundler-1.5.3/lib/bundler/resolver.rb:132:in `resolve'
  /Users/Xperteks/.rvm/gems/ruby-1.9.3-p448@global/gems/bundler-1.5.3/lib/bundler/definition.rb:203:in `resolve'
  /Users/Xperteks/.rvm/gems/ruby-1.9.3-p448@global/gems/bundler-1.5.3/lib/bundler/definition.rb:133:in `specs'
  /Users/Xperteks/.rvm/gems/ruby-1.9.3-p448@global/gems/bundler-1.5.3/lib/bundler/definition.rb:178:in `specs_for'
  /Users/Xperteks/.rvm/gems/ruby-1.9.3-p448@global/gems/bundler-1.5.3/lib/bundler/definition.rb:167:in `requested_specs'
  /Users/Xperteks/.rvm/gems/ruby-1.9.3-p448@global/gems/bundler-1.5.3/lib/bundler/environment.rb:18:in `requested_specs'
  /Users/Xperteks/.rvm/gems/ruby-1.9.3-p448@global/gems/bundler-1.5.3/lib/bundler/runtime.rb:13:in `setup'
  /Users/Xperteks/.rvm/gems/ruby-1.9.3-p448@global/gems/bundler-1.5.3/lib/bundler.rb:119:in `setup'
  /Users/Xperteks/.rvm/gems/ruby-1.9.3-p448@global/gems/bundler-1.5.3/lib/bundler/setup.rb:17:in `&lt;top (required)&gt;'
  /Users/Xperteks/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/site_ruby/1.9.1/rubygems/core_ext/kernel_require.rb:135:in `require'
  /Users/Xperteks/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/site_ruby/1.9.1/rubygems/core_ext/kernel_require.rb:135:in `rescue in require'
  /Users/Xperteks/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/site_ruby/1.9.1/rubygems/core_ext/kernel_require.rb:144:in `require'
  /usr/local/Cellar/passenger/4.0.40/libexec/lib/phusion_passenger/loader_shared_helpers.rb:245:in `block in run_load_path_setup_code'
  /usr/local/Cellar/passenger/4.0.40/libexec/lib/phusion_passenger/loader_shared_helpers.rb:348:in `running_bundler'
  /usr/local/Cellar/passenger/4.0.40/libexec/lib/phusion_passenger/loader_shared_helpers.rb:243:in `run_load_path_setup_code'
  /usr/local/Cellar/passenger/4.0.40/libexec/helper-scripts/rack-preloader.rb:100:in `preload_app'
  /usr/local/Cellar/passenger/4.0.40/libexec/helper-scripts/rack-preloader.rb:158:in `&lt;module:App&gt;'
  /usr/local/Cellar/passenger/4.0.40/libexec/helper-scripts/rack-preloader.rb:29:in `&lt;module:PhusionPassenger&gt;'
  /usr/local/Cellar/passenger/4.0.40/libexec/helper-scripts/rack-preloader.rb:28:in `&lt;main&gt;'</pre>
^CStopping web server... done 
----------------------------------------------------------------------------------------------------

I ran the 'bundle install' and got a list of gems with the final message being: "Your bundle is complete!" so I think that is good. Still get the same error though.

I tried running as 'rvmsudo': same error message 

I'm going to try the resting of the gems advice from the message. Anything else y'all see I might look at?

Ricky Chilcott

unread,
Mar 24, 2014, 11:28:59 AM3/24/14
to munkise...@googlegroups.com
what is the output of `ruby -v`?

What happens when you do `sudo passenger start`?

Ricky Chilcott



xper...@gmail.com

unread,
Mar 24, 2014, 11:52:13 AM3/24/14
to munkise...@googlegroups.com
OK, well the resetting the gems fixed the 'passenger start' problem, but now I have two more, haha.

The 'passenger start' command runs and I get the following on the output:

--------------------------------------------------------------------------------------
managedsoftwareupdate:munkiserver Xperteks$ passenger start
=============== Phusion Passenger Standalone web server started ===============
PID file: /usr/local/munkiserver/tmp/pids/passenger.3000.pid
Log file: /usr/local/munkiserver/log/passenger.3000.log
Environment: development
Accessible via: http://0.0.0.0:3000/
You can stop Phusion Passenger Standalone by pressing Ctrl-C.
Problems? Check http://www.modrails.com/documentation/Users%20guide%20Standalone.html#troubleshooting
===============================================================================
App 27492 stdout: 
Connecting to database specified by database.yml
[ 2014-03-24 11:38:08.0549 27478/0x1053b4000 Pool2/SmartSpawner.h:301 ]: Preloader for /usr/local/munkiserver started on PID 27492, listening on unix:/tmp/passenger.1.0.27475/generation-0/backends/preloader.27492
App 27751 stdout: 

Started HEAD "/" for 127.0.0.1 at 2014-03-24 11:38:08 -0400
--------------------------------------------------------------------------------------

But then when I go to http://localhost:3000/login in safari I see a page with the title: "ActiveRecord::StatementInvalid in SessionsController#new" 

And it complains on the command line that it can't find a 'users' table.:

--------------------------------------------------------------------------------------
Started GET "/login" for 127.0.0.1 at 2014-03-24 11:38:33 -0400
Processing by SessionsController#new as HTML
Completed 500 Internal Server Error in 44ms
ActiveRecord::StatementInvalid (Could not find table 'users'):
  <a href='txmt://open?url=file:///usr/local/munkiserver/app/helpers/application_helper.rb&line=109'>app/helpers/application_helper.rb:109:in `current_user'</a>
  <a href='txmt://open?url=file:///usr/local/munkiserver/app/controllers/sessions_controller.rb&line=39'>app/controllers/sessions_controller.rb:39:in `authorize_resource'</a>
  <a href='txmt://open?url=file:///usr/local/munkiserver/config/initializers/quiet_asset_logging.rb&line=7'>config/initializers/quiet_asset_logging.rb:7:in `call_with_quiet_assets'</a> 
--------------------------------------------------------------------------------------

Do I need to re-run one of the rake db: commands?


--------------------------------------------------------------------------------------

In answer to your questions: 

--------------------------------------------------------------------------------------
managedsoftwareupdate:munkiserver Xperteks$ ruby -v
ruby 1.9.3p448 (2013-06-27 revision 41675) [x86_64-darwin12.5.0]
--------------------------------------------------------------------------------------

--------------------------------------------------------------------------------------
managedsoftwareupdate:munkiserver Xperteks$ sudo passenger start
Password:
/Users/Xperteks/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/site_ruby/1.9.1/rubygems/dependency.rb:298:in `to_specs': Could not find 'passenger' (>= 0) among 13 total gem(s) (Gem::LoadError)

from /Users/Xperteks/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/site_ruby/1.9.1/rubygems/dependency.rb:309:in `to_spec'
from /Users/Xperteks/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/site_ruby/1.9.1/rubygems/core_ext/kernel_gem.rb:53:in `gem'
from /Users/Xperteks/.rvm/gems/ruby-1.9.3-p448@munkiserver/bin/passenger:22:in `<main>'

from /Users/Xperteks/.rvm/gems/ruby-1.9.3-p448@munkiserver/bin/ruby_executable_hooks:15:in `eval'
from /Users/Xperteks/.rvm/gems/ruby-1.9.3-p448@munkiserver/bin/ruby_executable_hooks:15:in `<main>'
managedsoftwareupdate:munkiserver Xperteks$ 
--------------------------------------------------------------------------------------

And the 'rvmsudo' variant:

--------------------------------------------------------------------------------------
managedsoftwareupdate:munkiserver Xperteks$ rvmsudo passenger start
Warning: can not check `/etc/sudoers` for `secure_path`, falling back to call via `/usr/bin/env`, this breaks rules from `/etc/sudoers`. Run:
    export rvmsudo_secure_path=1
to avoid the warning, put it in shell initialization file to make it persistent.
In case there is no `secure_path` in `/etc/sudoers`. Run:
    export rvmsudo_secure_path=0
to avoid the warning, put it in shell initialization file to make it persistent.
 --> Downloading Phusion Passenger support binaries for your platform
     Checking whether the downloaded Watchdog binary is usable
     Checking whether the downloaded HelperAgent binary is usable
     Checking whether the downloaded LoggingAgent binary is usable
     All good
 --> Downloading web helper for your platform
     Checking whether the downloaded binary is usable
     All good

=============== Phusion Passenger Standalone web server started ===============
PID file: /usr/local/munkiserver/tmp/pids/passenger.3000.pid
Log file: /usr/local/munkiserver/log/passenger.3000.log
Environment: development
Accessible via: http://0.0.0.0:3000/
You can stop Phusion Passenger Standalone by pressing Ctrl-C.
Problems? Check http://www.modrails.com/documentation/Users%20guide%20Standalone.html#troubleshooting
===============================================================================
App 28007 stdout: 
Connecting to database specified by database.yml
[ 2014-03-24 11:48:25.0096 27991/0x104935000 Pool2/SmartSpawner.h:301 ]: Preloader for /usr/local/munkiserver started on PID 28007, listening on unix:/tmp/passenger.1.0.27988/generation-0/backends/preloader.28007
App 28033 stdout: 

Started HEAD "/" for 127.0.0.1 at 2014-03-24 11:48:25 -0400 
--------------------------------------------------------------------------------------

Which does start the app, but I still get the "can't find table 'users'" 
 

Ricky Chilcott

unread,
Mar 24, 2014, 11:55:23 AM3/24/14
to munkise...@googlegroups.com
Ok, great. So yes, you’ll need to ‘rake’ the database.

run `RAILS_ENV=production rake db:create db:migrate`

Ricky Chilcott



xper...@gmail.com

unread,
Mar 24, 2014, 12:09:38 PM3/24/14
to munkise...@googlegroups.com
Hmmm, still getting the same error. 

I had to remove the previous 'production.sqlite3' from db/

Then I ran the command:

--------------------------------------------------------------------------------
managedsoftwareupdate:oldDB Xperteks$ RAILS_ENV=production rake db:create db:migrate
(in /usr/local/munkiserver)
==  CreatePackageBranches: migrating ==========================================
-- create_table(:package_branches)
   -> 0.0019s
==  CreatePackageBranches: migrated (0.0021s) =================================
==  CreateInstallItems: migrating =============================================
-- create_table(:install_items)
   -> 0.0018s
==  CreateInstallItems: migrated (0.0021s) ====================================
==  CreateRequireItems: migrating =============================================
-- create_table(:require_items)
   -> 0.0018s
==  CreateRequireItems: migrated (0.0020s) ====================================
==  CreateUninstallItems: migrating ===========================================
-- create_table(:uninstall_items)
   -> 0.0017s
==  CreateUninstallItems: migrated (0.0018s) ==================================
==  CreateUpdateForItems: migrating ===========================================
-- create_table(:update_for_items)
   -> 0.0017s
==  CreateUpdateForItems: migrated (0.0019s) ==================================
==  CreateUserAllowedItems: migrating =========================================
-- create_table(:user_allowed_items)
   -> 0.0017s
==  CreateUserAllowedItems: migrated (0.0019s) ================================
==  CreateUserInstallItems: migrating =========================================
-- create_table(:user_install_items)
   -> 0.0017s
==  CreateUserInstallItems: migrated (0.0019s) ================================
==  CreateUserUninstallItems: migrating =======================================
-- create_table(:user_uninstall_items)
   -> 0.0017s
==  CreateUserUninstallItems: migrated (0.0018s) ==============================
==  CreatePackages: migrating =================================================
-- create_table(:packages)
   -> 0.0097s
==  CreatePackages: migrated (0.0101s) ========================================
==  CreateComputers: migrating ================================================
-- create_table(:computers)
   -> 0.0020s
==  CreateComputers: migrated (0.0021s) =======================================
==  CreateBundles: migrating ==================================================
-- create_table(:bundles)
   -> 0.0018s
==  CreateBundles: migrated (0.0019s) =========================================
==  CreateUnits: migrating ====================================================
-- create_table(:units)
   -> 0.0017s
==  CreateUnits: migrated (0.0019s) ===========================================
==  CreateEnvironments: migrating =============================================
-- create_table(:environments)
   -> 0.0015s
==  CreateEnvironments: migrated (0.0017s) ====================================
==  CreateComputerModels: migrating ===========================================
-- create_table(:computer_models)
   -> 0.0018s
==  CreateComputerModels: migrated (0.0022s) ==================================
==  CreateComputerGroups: migrating ===========================================
-- create_table(:computer_groups)
   -> 0.0017s
==  CreateComputerGroups: migrated (0.0019s) ==================================
==  CreateUsers: migrating ====================================================
-- create_table(:users)
   -> 0.0024s
==  CreateUsers: migrated (0.0026s) ===========================================
==  CreateBundleItems: migrating ==============================================
-- create_table(:bundle_items)
   -> 0.0015s
==  CreateBundleItems: migrated (0.0017s) =====================================
==  CreateUnitSettings: migrating =============================================
-- create_table(:unit_settings)
   -> 0.0021s
==  CreateUnitSettings: migrated (0.0022s) ====================================
==  CreateUserSettings: migrating =============================================
-- create_table(:user_settings)
   -> 0.0016s
==  CreateUserSettings: migrated (0.0017s) ====================================
==  CreateVersionTrackers: migrating ==========================================
-- create_table(:version_trackers)
   -> 0.0017s
==  CreateVersionTrackers: migrated (0.0019s) =================================
==  CreateIcons: migrating ====================================================
-- create_table(:icons)
   -> 0.0017s
==  CreateIcons: migrated (0.0020s) ===========================================
==  CreatePackageCategories: migrating ========================================
-- create_table(:package_categories)
   -> 0.0016s
==  CreatePackageCategories: migrated (0.0018s) ===============================
==  CreateClientLogs: migrating ===============================================
-- create_table(:client_logs)
   -> 0.0019s
==  CreateClientLogs: migrated (0.0020s) ======================================
==  CreateMissingManifests: migrating =========================================
-- create_table(:missing_manifests)
   -> 0.0018s
==  CreateMissingManifests: migrated (0.0021s) ================================
==  AddHostnameToComputers: migrating =========================================
-- add_column(:computers, :hostname, :string, {:default=>""})
   -> 0.0010s
==  AddHostnameToComputers: migrated (0.0011s) ================================
==  CreateManagedInstallReports: migrating ====================================
-- create_table(:managed_install_reports)
   -> 0.0447s
==  CreateManagedInstallReports: migrated (0.0451s) ===========================
==  CreateSystemProfiles: migrating ===========================================
-- create_table(:system_profiles)
   -> 0.0027s
==  CreateSystemProfiles: migrated (0.0029s) ==================================
==  CreateSpPrinter: migrating ================================================
-- create_table(:sp_printers)
   -> 0.0025s
==  CreateSpPrinter: migrated (0.0027s) =======================================
==  CreateConfigurations: migrating ===========================================
-- create_table(:configurations)
   -> 0.0015s
==  CreateConfigurations: migrated (0.0033s) ==================================
==  AddConfigurationToItems: migrating ========================================
-- add_column(:computers, :configuration_id, :integer)
   -> 0.0009s
-- add_column(:computer_groups, :configuration_id, :integer)
   -> 0.0004s
-- add_column(:units, :configuration_id, :integer)
   -> 0.0003s
==  AddConfigurationToItems: migrated (0.0019s) ===============================
==  AddInstallScriptsToPackages: migrating ====================================
-- add_column(:packages, :preinstall_script, :text)
   -> 0.0009s
-- add_column(:packages, :postinstall_script, :text)
   -> 0.0004s
==  AddInstallScriptsToPackages: migrated (0.0015s) ===========================
==  AddUninstallScirptsToPackages: migrating ==================================
-- add_column(:packages, :uninstall_script, :text)
   -> 0.0010s
==  AddUninstallScirptsToPackages: migrated (0.0011s) =========================
==  AddPrePostUninstallScriptsToPackages: migrating ===========================
-- add_column(:packages, :preuninstall_script, :text)
   -> 0.0010s
-- add_column(:packages, :postuninstall_script, :text)
   -> 0.0005s
==  AddPrePostUninstallScriptsToPackages: migrated (0.0016s) ==================
==  CreateOptionalInstallItems: migrating =====================================
-- create_table(:optional_install_items)
   -> 0.0017s
==  CreateOptionalInstallItems: migrated (0.0018s) ============================
==  AddUnattendedInstallToPackages: migrating =================================
-- add_column(:packages, :unattended_install, :boolean, {:default=>false})
   -> 0.0010s
==  AddUnattendedInstallToPackages: migrated (0.0012s) ========================
==  AddUnattendedUninstallToPackages: migrating ===============================
-- add_column(:packages, :unattended_uninstall, :boolean, {:default=>false})
   -> 0.0010s
==  AddUnattendedUninstallToPackages: migrated (0.0012s) ======================
==  AddIconIdToVersionTrackers: migrating =====================================
-- add_column(:version_trackers, :icon_id, :integer)
   -> 0.0009s
==  AddIconIdToVersionTrackers: migrated (0.0010s) ============================
==  AddDescriptionToVersionTrackers: migrating ================================
-- add_column(:version_trackers, :description, :text)
   -> 0.0009s
==  AddDescriptionToVersionTrackers: migrated (0.0010s) =======================
==  CreateDownloadLinks: migrating ============================================
-- create_table(:download_links)
   -> 0.0017s
==  CreateDownloadLinks: migrated (0.0019s) ===================================
==  CreateWarranties: migrating ===============================================
-- create_table(:warranties)
   -> 0.0031s
==  CreateWarranties: migrated (0.0044s) ======================================
==  CreateNotifications: migrating ============================================
-- create_table(:notifications)
   -> 0.0015s
==  CreateNotifications: migrated (0.0017s) ===================================
==  AddShortNameToUnit: migrating =============================================
-- add_column(:units, :shortname, :string)
   -> 0.0009s
==  AddShortNameToUnit: migrated (0.0012s) ====================================
==  AddShortNameToComputer: migrating =========================================
-- add_column(:computers, :shortname, :string)
   -> 0.0009s
==  AddShortNameToComputer: migrated (0.0011s) ================================
==  AddShortNameToBundle: migrating ===========================================
-- add_column(:bundles, :shortname, :string)
   -> 0.0009s
==  AddShortNameToBundle: migrated (0.0010s) ==================================
==  AddShortNameToComputerGroup: migrating ====================================
-- add_column(:computer_groups, :shortname, :string)
   -> 0.0013s
==  AddShortNameToComputerGroup: migrated (0.0016s) ===========================
==  AddForceInstallAfterDateToPackage: migrating ==============================
-- add_column(:packages, :force_install_after_date, :datetime)
   -> 0.0010s
==  AddForceInstallAfterDateToPackage: migrated (0.0012s) =====================
==  AddHostnameToMissingManifests: migrating ==================================
-- add_column(:missing_manifests, :hostname, :string)
   -> 0.0010s
==  AddHostnameToMissingManifests: migrated (0.0011s) =========================
==  CreatePrivileges: migrating ===============================================
-- create_table(:privileges)
   -> 0.0016s
==  CreatePrivileges: migrated (0.0018s) ======================================
==  CreatePermissions: migrating ==============================================
-- create_table(:permissions)
   -> 0.0016s
==  CreatePermissions: migrated (0.0018s) =====================================
==  CreateUserGroups: migrating ===============================================
-- create_table(:user_groups)
   -> 0.0016s
==  CreateUserGroups: migrated (0.0018s) ======================================
==  CreateUserGroupMemberships: migrating =====================================
-- create_table(:user_group_memberships)
   -> 0.0015s
==  CreateUserGroupMemberships: migrated (0.0016s) ============================
==  AddLastReportAtToComputer: migrating ======================================
-- add_column(:computers, :last_report_at, :datetime)
   -> 0.0091s
==  AddLastReportAtToComputer: migrated (0.0093s) =============================
==  CreateManagedUpdateItems: migrating =======================================
-- create_table(:managed_update_items)
   -> 0.0015s
==  CreateManagedUpdateItems: migrated (0.0016s) ==============================
==  RemoveDefaultValuesFromTextColumns: migrating =============================
==  RemoveDefaultValuesFromTextColumns: migrated (0.2858s) ====================
==  AddUnitIdAndPackageCategoryIdToPackageBranch: migrating ===================
-- add_column(:package_branches, :unit_id, :integer)
   -> 0.0009s
-- add_column(:package_branches, :package_category_id, :integer)
   -> 0.0004s
==  AddUnitIdAndPackageCategoryIdToPackageBranch: migrated (0.0014s) ==========
==  AddDismissedToMissingManifests: migrating =================================
-- add_column(:missing_manifests, :dismissed, :boolean, {:default=>false})
   -> 0.0009s
==  AddDismissedToMissingManifests: migrated (0.0010s) ========================
--------------------------------------------------------------------------------

Then when I run 'passenger start' I get:

--------------------------------------------------------------------------------
managedsoftwareupdate:munkiserver Xperteks$ passenger start
=============== Phusion Passenger Standalone web server started ===============
PID file: /usr/local/munkiserver/tmp/pids/passenger.3000.pid
Log file: /usr/local/munkiserver/log/passenger.3000.log
Environment: development
Accessible via: http://0.0.0.0:3000/
You can stop Phusion Passenger Standalone by pressing Ctrl-C.
Problems? Check http://www.modrails.com/documentation/Users%20guide%20Standalone.html#troubleshooting
===============================================================================
App 28999 stdout: 

Connecting to database specified by database.yml
[ 2014-03-24 12:07:50.4771 28984/0x10a585000 Pool2/SmartSpawner.h:301 ]: Preloader for /usr/local/munkiserver started on PID 28999, listening on unix:/tmp/passenger.1.0.28981/generation-0/backends/preloader.28999
App 29257 stdout: 

Started HEAD "/" for 127.0.0.1 at 2014-03-24 12:07:50 -0400 
--------------------------------------------------------------------------------

and the same error on the command line:

--------------------------------------------------------------------------------
Started GET "/login" for 127.0.0.1 at 2014-03-24 12:08:27 -0400

Processing by SessionsController#new as HTML
Completed 500 Internal Server Error in 42ms

ActiveRecord::StatementInvalid (Could not find table 'users'):
  <a href='txmt://open?url=file:///usr/local/munkiserver/app/helpers/application_helper.rb&line=109'>app/helpers/application_helper.rb:109:in `current_user'</a>
  <a href='txmt://open?url=file:///usr/local/munkiserver/app/controllers/sessions_controller.rb&line=39'>app/controllers/sessions_controller.rb:39:in `authorize_resource'</a>
  <a href='txmt://open?url=file:///usr/local/munkiserver/config/initializers/quiet_asset_logging.rb&line=7'>config/initializers/quiet_asset_logging.rb:7:in `call_with_quiet_assets'</a> 
--------------------------------------------------------------------------------


Thoughts? 



Pepijn Bruienne

unread,
Mar 24, 2014, 12:11:53 PM3/24/14
to munkise...@googlegroups.com, xper...@gmail.com
You need to start it in production mode, it's using the development DB right now and you raked the production DB in the previous step:

passenger start -a 0.0.0.0 -p 3000 -d -e production

Thanks,
Pepijn.

From: xper...@gmail.com xper...@gmail.com
Reply: munkise...@googlegroups.com munkise...@googlegroups.com
Date: March 24, 2014 at 12:09:39 PM
To: munkise...@googlegroups.com munkise...@googlegroups.com
Subject:  Re: [munkiserver-dev] New install, need help on last step

=============== Phusion Passenger Standalone web server started ===============
PID file: /usr/local/munkiserver/tmp/pids/passenger.3000.pid
Log file: /usr/local/munkiserver/log/passenger.3000.log
Environment: development
-- 
Pepijn Bruienne
Sent with Airmail

xper...@gmail.com

unread,
Mar 24, 2014, 12:36:36 PM3/24/14
to munkise...@googlegroups.com, xper...@gmail.com
Pepijn,

That did it! Excellent!


Now my next question: how do I get it to run on port 80?

I tried the command "rvmsudo passenger start -a 0.0.0.0 -p 80 -d -e production --user=Xperteks" (as advised by passenger itself) but I get:

-------------------------------------------------------------------------------------
managedsoftwareupdate:munkiserver Xperteks$ rvmsudo passenger start -a 0.0.0.0 -p 80 -d -e production --user=Xperteks

Warning: can not check `/etc/sudoers` for `secure_path`, falling back to call via `/usr/bin/env`, this breaks rules from `/etc/sudoers`. Run:
    export rvmsudo_secure_path=1
to avoid the warning, put it in shell initialization file to make it persistent.
In case there is no `secure_path` in `/etc/sudoers`. Run:
    export rvmsudo_secure_path=0
to avoid the warning, put it in shell initialization file to make it persistent.
*** ERROR ***
The address 0.0.0.0:80 is already in use by another process, perhaps another
Phusion Passenger Standalone instance.
If you want to run this Phusion Passenger Standalone instance on another port,
use the -p option, like this:
  passenger start -p 81
managedsoftwareupdate:munkiserver Xperteks$ 
 -------------------------------------------------------------------------------------

I'm going to try a reboot ("have you turned it off and on again?"), but if there is a setting I need to use, please let me know

Thanks for your help gents!

Ricky Chilcott

unread,
Mar 24, 2014, 12:38:20 PM3/24/14
to munkise...@googlegroups.com, xper...@gmail.com
Run passenger on port 3000 (or whatever) and then have apache or nginx be a proxy on port 80 to pass request to port 3000.  If you're going to have a larger number of clients (over 50 or 100) and/or large packages (several gigs), you should also look at setting up XSendFile to make apache/nginx serve static files.

Ricky Chilcott



Pepijn Bruienne

unread,
Mar 24, 2014, 12:41:41 PM3/24/14
to xper...@gmail.com, munkise...@googlegroups.com, xper...@gmail.com
That's correct, since you started the OS X built-in web server, Apache. I believe the instructions you followed also installed the Passenger module for Apache 2 ("04) Make adjustments .conf to match your environment") so at this point you should be able to issue an "apachectl restart" and Passenger should be running on port 80 with your Munkiserver ready and waiting. The "passenger start" command is to verify your configuration is correct and everything works.

Also, Ricky's suggestion re: XSendFile is important - it allows Apache or Nginx to serve your static files (pkg, dmg) directly vs. having Rails serve them, for which it is not optimized.

Thanks,
Pepijn.

From: xper...@gmail.com xper...@gmail.com
Reply: munkise...@googlegroups.com munkise...@googlegroups.com
Date: March 24, 2014 at 12:36:37 PM
To: munkise...@googlegroups.com munkise...@googlegroups.com
Cc: xper...@gmail.com xper...@gmail.com
Subject:  Re: [munkiserver-dev] New install, need help on last step

--
You received this message because you are subscribed to the Google Groups "munkiserver-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to munkiserver-d...@googlegroups.com.
To post to this group, send email to munkise...@googlegroups.com.
Visit this group at http://groups.google.com/group/munkiserver-dev.
For more options, visit https://groups.google.com/d/optout.

Ricky Chilcott

unread,
Mar 24, 2014, 12:42:43 PM3/24/14
to munkise...@googlegroups.com, xper...@gmail.com
I remember the days before MySQL and XSendFile in Munkiserver.  It was a bear!

Ricky Chilcott


Riley Shott

unread,
Mar 24, 2014, 12:43:37 PM3/24/14
to munkise...@googlegroups.com
The following guide may be of help. It explains how to setup & use the Apache (or Nginx) Passenger module to serve out the application. It also goes over how to install xsendfile module:

From: "Ricky Chilcott" <ri...@rickychilcott.com>
To: munkise...@googlegroups.com
Cc: xper...@gmail.com
Sent: Monday, 24 March, 2014 09:38:20
Subject: Re: [munkiserver-dev] New install, need help on last step

Pepijn Bruienne

unread,
Mar 24, 2014, 12:47:55 PM3/24/14
to Riley Shott, munkise...@googlegroups.com
Heh, I was just about to point to that link as well. That write-up should help quite a bit.

Of course, now that I've been reminded of the inherent "Getting Things Started" trials and tribulations with your average Rails app, I might try to give Dockerizing Munkiserver a whirl. I can imagine it would pose a lower threshold if new users could simply fire off a "docker run -d munkiserver/munkiserver:latest" instead of the lengthy list of seemingly magical incantations that are required.

Thanks,
Pepijn.

-- 

Riley Shott

unread,
Mar 24, 2014, 1:48:58 PM3/24/14
to munkise...@googlegroups.com
Awhile back I did create a Puppet module to bring up a munkiserver instance. Looking back, it's a bit crude (first major attempt at writing a Puppet module), but it should bring up a production-ready instance of Munkiserver (MySQL DB, listening on port 443, etc...). However, some pre-setup is required before you use it, and it can only be used on Mac OS X.


The writeup of how to use it is below:


</end_self_plug> :)

-Riley


Reply all
Reply to author
Forward
0 new messages