Installing Typo on Fedora 6 slice from Slicehost
Like it says on the typo wiki download page, it could be as easy as
$ gem install typo $ typo install /some/directory
For the above to work, we need to satisfy some dependencies. This post will step through what is needed to get a typo instance up and running on a new Fedora 6 Slice from Slicehost .
You need to have the rails stack in place, see my earlier post Installing Rails on Fedora 6, and download the script install_rails_fc6-sh
Assuming a brand new Fedora 6 slice from Slicehost with DNS set up, login in to your slice and change the root password.
[root@localhost ~]$ slogin example.com
On your local server, as root, copy the script to your slice
[root@localhost ~]$ ssh example.com cat < install_rails_fc6-sh ">" install_rails_fc6-sh
Log back into your slice, and execute the script
[root@localhost ~]$ slogin example.com [root@example.com ~]$ /bin/bash install_rails_fc6-sh
Next we need sqlite3. The gem thinks sqlite3-ruby is a required dependency even if you don’t plan on using sqlite3.
Before you install sqlite3, you’ll need c++
[root@exammple.com ~]$ yum install gcc-c++
I couldn’t figure out how to yum install sqlite3, so we’ll roll our own. Change to your favorite source directory to build source
[root@example.com ~]$ cd /usr/local/src [root@example.com src]$ /usr/bin/wget http://www.sqlite.org/sqlite-3.3.13.tar.gz [root@example.com src]/bin/tar xvf sqlite-3.3.13.tar.gz [root@example.com src]$ cd sqlite-3.3.13 [root@example.com sqlite-3.3.13]$ ./configure [root@example.com sqlite-3.3.13]$ /usr/bin/make [root@example.com sqlite-3.3.13]$ /usr/bin/make install
Now you should be able to run
[root@example.com ~]$ /usr/bin/gem install typo [root@example.com ~]$ typo install /var/www/apps/mytypo-directory
Obviously, change mytypo-directory to whatever you’d like to call your typo install directory.
I like the apache+mongrel setup, so I followed the configuration that the excellent deprec gem uses.
Download typo.conf and move it to your slice in the directory /etc/httpd/conf/apps/.
Edit the file, replacing example.com with your hostname, change the <directory> directive, and set the balance member ports to the ones you’ll configure the cluster with.
Check your config with
[root@example.com ~]$ /usr/sbin/apachectl configtest
Configure the mongrels as shown here
Change directories to the directory where you installed typo
[root@example.com ~]$ cd /var/www/apps/mytypo-directory [root@example.com directory]$ /usr/bin/mongrel_rails cluster::configure -e production -p 8000 -N 2 -c /var/www/apps/mytypo-directory -a 127.0.0.1
If you didn’t run install_rails_fc6-sh, you’ll need to configure mongrel to run after reboot
[root@example.com ~]$ /sbin/chkconfig --add mongrel_cluster [root@example.com ~]$ /sbin/chkconfig --level 345 mongrel_cluster on
If the chkconfig commands fail with a don't know, make sure that you have the init script in /etc/init.d/. Copy it from the gem
[root@example.com ~]$ /bin/cp /usr/lib64/ruby/gems/1.8/gems/mongrel_cluster-0.2.1/resources/mongrel_cluster /etc/init.d/
Restart apache
[root@example.com ~]$ /usr/sbin/apachectl graceful
and login to your typo instance via your browser at the URL
http://www.example.com/admin
In this post, we installed typo directly on the slice as root to simplify the steps. You want to setup a user and install typo as that user. Also, in this post we used the default sqlite3 database.
Finally, there are a few things left to consider like backing up the database and putting your instance of typo under version control. I’ll cover these topics in a future post.
Update: 5 April
I revised the steps to make them a little clearer, and tested on my sandbox slice.