discourse/docs/INSTALL-alternatives.md

2.8 KiB

Alternative Install Options

Here lie some alternative installation options for Discourse. They're not the recommended way of doing things, hence they're a bit out of the way.

Oh, and dragons. Lots of dragons.

Web Server Alternative: apache2

If you instead want to use apache2 to serve the static pages:

# Run these commands as your normal login (e.g. "michael")
# If you don't have apache2 yet
sudo apt-get install apache2

# Edit your site details in a new apache2 config file
sudo vim /etc/apache2/sites-available/your-domain.com

# Put these info inside and change accordingly

<VirtualHost *:80>
  ServerName your-domain.com
  ServerAlias www.your-domain.com

  DocumentRoot /srv/www/apps/discourse/public

  <Directory /srv/www/apps/discourse/public>
    AllowOverride all
    Options -MultiViews
  </Directory>

  # Custom log file locations
  ErrorLog  /srv/www/apps/discourse/log/error.log
  CustomLog /srv/www/apps/discourse/access.log combined
</VirtualHost>

# Install the Passenger Phusion gem and run the install
gem install passenger
passenger-install-apache2-module

# Next, we "create" a new apache2 module, passenger
sudo vim /etc/apache2/mods-available/passenger.load

# Inside paste (change the user accodingly)
LoadModule passenger_module /home/YOUR-USER/.rvm/gems/ruby-2.0.0-p0/gems/passenger-4.0.2/libout/apache2/mod_passenger.so

# Now the passenger module configuration
sudo vim /etc/apache2/mods-available/passenger.conf

# Inside, paste (change the user accodingly)
PassengerRoot /home/YOUR-USER/.rvm/gems/ruby-2.0.0-p0/gems/passenger-4.0.2
PassengerDefaultRuby /home/YOUR-USER/.rvm/wrappers/ruby-2.0.0-p0/ruby

# Now activate them all

sudo a2ensite your-domain.com
sudo a2enmod passenger
sudo service apache2 reload
sudo service apache2 restart

If you get any errors starting or reloading apache, please check the paths above - Ruby 2.0 should be there if you are using RVM, but it could get tricky.

RVM Alternative: Systemwide installation

Taken from http://rvm.io/, the commands below installs RVM and users in the 'rvm' group have access to modify state:

# Run these commands as your normal login (e.g. "michael") \curl -s -S -L https://get.rvm.io | sudo bash -s stable
sudo adduser $USER rvm
newgrp rvm
. /etc/profile.d/rvm.sh
rvm requirements

# Build and install ruby
rvm install 2.0.0
gem install bundler

When creating the discourse user, add him/her/it to the RVM group:

# Run these commands as your normal login (e.g. "michael")
sudo adduser discourse rvm

RVM will be located in /usr/local/rvm directory instead of /home/discourse/.rvm, so update the crontab line respectively.