Putty is a free SSH client which allows you to access your account using command line. Some commands will need to be run within your account to get LovdByLess fully working.

To enable shell access on Arvixe, simply contact support and have us turn on SSH for you. It is included for free with accounts.

Use SSH to login to your account and keep that window open for further use. When logging into putty, I’m asked for a Host Name. You would type in your domain name here (as long as your domain name is fully setup on your hosting account):

What you should see before you click on Open

Then, click on Login and you are prompted for a username, type in your CPanel username. Then, type in your cPanel password. You should see this after:

Your putty screen after you have logged into SSH

2) Create a development and test database for LovdByLess

To do this, first login to the cPanel for the account. In this case, I am going to http://lvl.bee.arvixe.com/cpanel and logging in with the username lvl and the password I’ve assigned to the account.

Under MySQL Databases:

MySQL Button from within cPanel

Create a database for ‘lvl’ and ‘lvltest’. Also, create a database user with the name of ‘lvl’ and add the user to both databases. Make sure to remember the password you set for the database user. In this case, I used ‘lvldbpassword’ as the password for my lvl user. This is how my MySQL databases screen looks after this step:

MySQL Databases created along with the user assignment

After this, since CPanel adds the username_ behind your databases and database users, I have the following databases and user created:

Database #1: lvl_lvl

Database #2: lvl_lvltest

Database User: lvl_lvl

Database Password: lvldbpassword

3) Create the Ruby on Rails App for LovdByLess in the cPanel

In cPanel, click on the Ruby on Rails icon to get inside this section of your control panel:

Click on the Ruby on Rails icon to be taken to the RoR setup screen

Once inside, you will need to create an application for your LovdByLess. I will name mine ‘lvl’, set the Application path to ‘public_html/lovdbyless’ and leave all other settings as default except for Environment. Set the environment to “Development”:

If your screen looks like this, click on Create to continue

Check the “Load on Boot” icon so if the server restarts, your application will continue to function.

Furthermore, click on the “Create Rewrite” button to create a Rewrite for the domain to go to the right port for the Ruby on Rails App. On the following screen, click on Save leaving everything as is.

4) Upload LovdByLess under the public_html, unzip it and edit the config files

Click on Home on the top left of your screen to return to the home of CPanel. Click on File Manager and in the popup, choose to go to the Home Directory:

Click on the File manager and go to the public_html directory

First, we need to delete the ‘lovdbyless’ directory already in there that cPanel’s Ruby on Rails created. Click on the folder ‘lovdbyless’ and then click on Delete at the top of the screen.

Next, you will be extracting your LovdByLess files. First, you need to upload your LovdByLess zip file. Download it from http://lovdbyless.com/download.html and place it somewhere within your computer. Then, click on “Upload” in the file manager and browse to the file you downloaded from LovdByLess. After you have uploaded the file and are back at the file manager, you should be seeing something like this:

Click on the zip file and click on Extract

Click on the zip file you just uploaded and click on “Extract” at the top area of the file manager. Once done, you should see a LovdByLess folder created beside your zip file:

After extracting the zip file, you should see this in your file manager

Double click on ‘lovedbyless’ to go inside the folder. Here, you’ll see a set of files. We need to edit some configuration files to make LovdByLess know where our databases are and how our Ruby On Rails Application is setup. Double click on the “config” directory and then click on the ‘database.yml.tmp’ file. At the type, click on the “Edit” button.

On the following screen, you will see the contents of database.yml.tmp . Update it to include the proper login information for the databases you created earlier. In our case, it looks like this:

Contents of our database.yml.tmp file. Click on Save Changes after.

Go back to the File Manager. Then, you need to rename ‘database.yml.conf’ to ‘database.yml’. Do this by right clicking on ‘database.yml.tmp’ and clicking on Rename. Rename to database.yml (cutting off the .tmp at the end).

Double click on the ‘environments’ folder. Then, click on ‘development.rb’ and click on the “Edit” button at the top as you have done previously with the database file, edit the 2 lines that look like this:

config.action_controller.asset_host = “http://localhost:3000″

To show your domain name instead of http://localhost:3000. Our domain name is http://lvl.bee.arvixe.com so that line will be:

config.action_controller.asset_host = “http://lvl.bee.arvixe.com”

The complete file should look like this:

What you should see after you edit the development.rb file

5) Install the required Ruby gems from within your control panel

Go back to your control panel home and look for the Ruby Gems icon:

Click on the Ruby Gems Icon to install gems

Click on it to go inside the section. You should see a section where you can install ruby gems. Put the name ‘rflickr’ and click on Install:

You should see a similar output to this:

You should see only success results

Go back to the Ruby Gems section and do the same for the following Gems:

RedCloth

rmagick

6) Run the necessary commands from command line

Go back to the putty window you had opened up and logged into and input the following command:

cd ~/public_html/lovdbyless

To navigate to where you have lovdbyless extracted

Then, invoke the following command:

rake lovdbyless:getting_started

If you get an error with the following results:

Missing the Rails 2.2.2 gem. Please `gem install -v=2.2.2 rails`, update your RAILS_GEM_VERSION setting in config/environment.rb for the Rails version you do have installed, or comment out RAILS_GEM_VERSION to use the latest version installed.

Contact Arvixe support and have them install the rails gem version 2.2.2 with ‘gem install rails -v=2.2.2

This installation of RMagick was configured with ImageMagick 6.4.8 but ImageMagick 6.5.4-4 is in use.

Contact Arvixe support and ask them to make sure the only ImageMagick installed on the system is version ImageMagick 6.4.8 . Often, the ImageMagick libraries inside /usr/local/lib need to be cleared before recompiling through cPanel’s script.

The results of a successful rake command will look like this:

The output of rake lovdbyless:getting_started should look something like this at the end

After that command, run:

rake test

When doing this command you should not receive any errors. If you don’t receive any errors, please continue.

If rake rs:start is giving you: failed to bind on 127.0.0.1:xxxx, retrying… alter config/development.sphinx.conf inside your lovdbyless directory and change the port number to 1-10 numbers higher than what is there as a different user on the system may be using that port number

If you receive the following lines at the end -

Errors running test:units, test:functionals, and test:integration!

You may have missed a step in the installation. Please go back and double check everything. If you need Support’s assistance, please contact us. We may need to start the installation from scratch however.

7) Go back to the control panel and start the LovdByLess Ruby on Rails Application

Under the Ruby on Rails icon, click on the start button. You should now be able to go to your site and view the LovdByLess installation. Go to http://Domain/login and create an account. You should be greeted with a page similar to this –

Sign up for an account on this screen. This will end up becoming your administrator account.

Once you create an account, it will log you in automatically.

Issue #1: If you don’t see any images or color, its possible that the rewrite .htaccess file was not setup properly by cpanel.

Open the .htaccess in your www root (public_html) and change RewriteRule ^/?$ to RewriteRule ^.*$

Issue #2: When trying to upload profile images or images in general, the entire application crashes. The following line shows up in the log/mongrel.log file: libgomp: Thread creation failed: Cannot allocate memory

Arvixe staff needs to set the maxmem variable for cPanel to 0 (Unlimited). This is done in /var/cpanel/cpanel.config -> maxmem=0 and then run /usr/local/cpanel/whostmgr/bin/whostmgr2 –updatetweaksettings . This can also be done from WHM under Server Configuration >> Tweak Settings >> System -> The maximum memory a cpanel process…

8) Set the account you just created to become the administrator of your LovdByLess Site

Go back to the home of your control panel and click on PHPMyAdmin:

Click on the PHPMyAdmin icon to be taken to PHPMyAdmin

Choose the _lvl database from the left drop down menu. Then click on the ‘users’ table. You should see something like this –

This is what you should see after clicking on Users. Click on the SQL tab to input the SQL statement below.

Then, click on the “SQL” tab and input the following in the the large text box –

UPDATE `users` SET `is_admin` = TRUE;

Then, click on Go.

Now, when you login to your LovdByLess, you should see an Admin icon on the top right. Click on that and you should see something like this –

Through the admin section, you can view all users and deactivate them if necessary

There! Now you have a working LovdByLess installation. Read below on what this tutorial does not cover (and more tutorials may be written to cover these aspects)

This tutorial does not cover steps 6-13 from the README file (mainly configuration) listed below:

6. Edit config/initializers/exception_notifier.rb
7. Edit the config/environment.rb file and change the config.action_controller.session data
8. Edit config/environments/development.rb and production.rb to suit your tastes. (Specifically config.action_mailer.delivery_method)
9. Change the values in config/initializers/global_variables.rb to match your site and domain. (Specifically SITE_NAME, SITE, MAILER_TO_ADDRESS, MAILER_FROM_ADDRESS, REGISTRATION_RECIPIENTS)
10. Go to the section “About flickr integration” and follow the steps to either use flickr or not.

11 Comments on How to install LovdByLess in a cPanel Account

great tutorial the only thing i would add though is how to install gems to your individual site because you cant always load gems to the entire server well at least that the case for me thanks for the help

ive tryed everything and I still cant get this work im getting an error message becasue my hosting company wont install rflickr in the home directory so it has to be installed inside of my public_html root but I cant get it to work it installs and says it install but when i go to rake db:create:all like the manuall says you should it says flickr cannot be found and suggestion as to what im doing wrong

Gem::Specification#installation_path called from /usr/lib/ruby/gems/1.8/gems/rails-2.2.2/lib/rails/vendor_gem_source_index.rb:93.
NOTE: Gem.source_index is deprecated, use Specification. It will be removed on or after 2011-11-01.
Gem.source_index called from /usr/lib/ruby/gems/1.8/gems/rails-2.2.2/lib/rails/gem_dependency.rb:213.
NOTE: Gem::SourceIndex#search is deprecated with no replacement. It will be removed on or after 2011-11-01.
Gem::SourceIndex#search called from /usr/lib/ruby/gems/1.8/gems/rails-2.2.2/lib/rails/vendor_gem_source_index.rb:119.
NOTE: Gem::SourceIndex#search is deprecated with no replacement. It will be removed on or after 2011-11-01.
Gem::SourceIndex#search called from /usr/lib/ruby/gems/1.8/gems/rails-2.2.2/lib/rails/vendor_gem_source_index.rb:119.
/usr/lib/ruby/gems/1.8/gems/rails-2.2.2/lib/rails/gem_dependency.rb:106:in `requirement': undefined method `version_requirements’ for # (NoMethodError)
from /usr/lib/ruby/gems/1.8/gems/rails-2.2.2/lib/initializer.rb:292:in `check_gem_dependencies’
from /usr/lib/ruby/gems/1.8/gems/rails-2.2.2/lib/initializer.rb:292:in `map’
from /usr/lib/ruby/gems/1.8/gems/rails-2.2.2/lib/initializer.rb:292:in `check_gem_dependencies’
from /usr/lib/ruby/gems/1.8/gems/rails-2.2.2/lib/initializer.rb:165:in `process’
from /usr/lib/ruby/gems/1.8/gems/rails-2.2.2/lib/initializer.rb:112:in `send’
from /usr/lib/ruby/gems/1.8/gems/rails-2.2.2/lib/initializer.rb:112:in `run’
from /home/arosasj/rails_apps/lvl/config/environment.rb:7
from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:36:in `gem_original_require’
from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:36:in `require’
from /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel/rails.rb:147:in `rails’
from /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/mongrel_rails:113:in `cloaker_’
from /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel/configurator.rb:149:in `call’
from /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel/configurator.rb:149:in `listener’
from /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/mongrel_rails:99:in `cloaker_’
from /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel/configurator.rb:50:in `call’
from /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel/configurator.rb:50:in `initialize’
from /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/mongrel_rails:84:in `new’
from /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/mongrel_rails:84:in `run’
from /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel/command.rb:212:in `run’
from /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/mongrel_rails:281
from /usr/bin/mongrel_rails:19:in `load’
from /usr/bin/mongrel_rails:19