How To Deploy on Bluehost

系统 1965 0

I’ve noticed a lot of people asking about this one (probable because Bluehost is so cheap :) Its pretty similar to many others, but there are a few tricks.

SSH Access, and installing the gem

Because Bluehost doesn’t allow shell access by default, you have to request it. See this article . You will need to have shell access to install the radiant gem and to run the rake tasks that will get your mysql database ready for action.

Once you have access, set up your bash profile so that it knows where gems go. Open up your root directory via ssh or ftp, and edit your .bashrc file to look like this (you might want to make a backup copy just in case):

    
      
# .bashrc

# User specific aliases and functions

# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi

export PATH="$PATH:$HOME/packages/bin:$HOME/.gems/bin"
export GEM_HOME="$HOME/.gems"
export GEM_PATH="$GEM_HOME:/usr/lib/ruby/gems/1.8"
export GEM_CACHE="$GEM_HOME/cache"

Then, create a file in that same root directory called .gemrc , and give it the following contents, replacing [YOUR_USERNAME] with… your username (the one that is your domain name, or at least the first seven letters of it).

    
      
gemhome: /home/[YOUR_USERNAME]/ruby/gems
gempath:
- /home/[YOUR_USERNAME]/ruby/gems
- /usr/lib/ruby/gems/1.8

Now you should be ready to install the Radiant gem. Log in via SSH. ( more on SSH + Bluehost ) (if you are on a mac, just type ssh yourusername@yourdomain.com into terminal) Once logged in, you can type gem list to see which gems are already installed, and make sure RubyGems is functioning properly. Then do:

    
      
% gem install radiant

This will install the gem on your account so that it can power your app once you put it on there.

Making your Radiant project

Since Bluehost has restrictions on what you can do with your ssh connection, it’s easiest to create your Radiant project locally and then move the files over manually. If you don’t have Radiant installed on your machine, install it with RubyGems by running the shell command % gem install radiant or % sudo gem install radiant (some linux machines restrict access to certain folders if you aren’t the root user, and sudo temporarily gives you that status.

Then create your app by doing:

    
      
$ radiant --database mysql WebsiteName

This will create a folder called WebsiteName (call it whatever you want) that contains all of the files for your app.

Edit the proper files within your app, then upload it

1. database.yml (in the config folder)

Put your newly created database name, username, and password into database.yml for the Production database.

2. environments.rb (in the config folder)

Uncomment the line ENV['RAILS_ENV'] ||= 'production'

3. .htaccess (in the public folder)

Replace the first four lines with this code: (notice that it says fcgid-script , not fastcgi-script or fcgi-script )

    
      
# General Apache options
AddHandler fcgid-script .fcgi
#AddHandler cgi-script .cgi
# Options +FollowSymLinks +ExecFCGI

(if you get the “Rails application failed..” when we get to that point, you can also try enabling this handler within cPanel under “Apache handlers.”)

4. dispatch.fcgi (in the config folder)

Change the first line (shebang) to #!/ramdisk/bin/ruby (note: this is not what is listed in their help section for the path to ruby. If you want to be sure you are using the right one, enter which ruby at your ssh prompt.) Then put the following before the require statements, replacing [USER_NAME] with your account user name:

    
      
ENV['RAILS_ENV'] = 'production'
ENV["GEM_HOME"]= "/home/[USER_NAME]/ruby/gems"
ENV["GEM_PATH"]= "/home/[USER_NAME]/ruby/gems:/usr/lib/ruby/gems/1.8"

Use your ftp client to transfer the folder that contains your Radiant app into your root directory on Bluehost (NOT in public_html—we don’t want people to see all of these files, especially database.yml).

Create your MySql database

Go to the “MySql Databases” tab in cPanel, and create a new database. Then create a user and password (with all permissions), and assign it to that database. Note that Bluehost appends your username to these, so you will end up with username_database and username_user. In the past I was only able to access MySql databases with my account username and password, but this appears to be fixed.

Run the rake task

With your ssh connection, navigate into the main directory of your app, and then run:

    
      
% rake production db:bootstrap

Follow the simple steps to create the first Radiant user and it will deal with creating all of the database tables for you. You can choose to create an empty site or a blog (if you are new to radiant, looking at the default code for the blog is a great way to see how clever you can be with radius tags )

Create a symlink

In the same ssh window, while in your account’s root directory, do

    
      
% ln -s ~/radiant_app_folder_name/public ~/public_html/website_name

This will place a folder in your public_html folder that will appear to contain what your app’s “public” folder contains. You should now be able to navigate to yourdomain.com/website_name and see your brand new Radiant install.

note: If this doesn’t work, let me know: nevin dot freeman at g_mail. It was a headache of trial and error for me, and I want this article to save time for future radiant users.

 

 原文: http://wiki.radiantcms.org/How_To_Deploy_on_Bluehost

How To Deploy on Bluehost


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论