Project

General

Profile

Installation instructions » History » Version 22

Ohad Levy, 04/07/2010 05:13 AM

1 8 Ohad Levy
{{toc}}
2 1 Ohad Levy
3 8 Ohad Levy
h1. Requirements
4 8 Ohad Levy
5 1 Ohad Levy
before you start, make sure you have:
6 1 Ohad Levy
7 1 Ohad Levy
* Puppet >= 0.24-4
8 1 Ohad Levy
* rake >= 0.84 
9 8 Ohad Levy
* rubygems
10 17 Ohad Levy
* rack = 1.0.1
11 8 Ohad Levy
* ruby-sqlite3 (libsqlite3-ruby) if you are going to use sqlite as your database
12 8 Ohad Levy
* git (if installing from source )
13 1 Ohad Levy
14 19 Ohad Levy
The installation has been successfully tested on RHE5 and Ubuntu 8.04 -  9.10,  for older operating systems you might need additional packages (e.g. sqlite)
15 1 Ohad Levy
16 8 Ohad Levy
h1. Download
17 1 Ohad Levy
18 13 Ohad Levy
h2. Puppet Module ready to use
19 13 Ohad Levy
20 13 Ohad Levy
You may try out the puppet Foreman module, this should take care for most of the basic setup.
21 13 Ohad Levy
22 13 Ohad Levy
The module could be found here: source:extras/puppet/foreman
23 13 Ohad Levy
24 22 Ohad Levy
The module is included in the official tarbar in the extras/puppet sub directory, you may extract it from this archive: http://thetorque.org/foreman-nightly.tar.bz2
25 21 Ohad Levy
26 22 Ohad Levy
you may use puppet (if you don't want to add it as a module to your puppetmaster) in the following way:
27 21 Ohad Levy
28 21 Ohad Levy
<pre>
29 21 Ohad Levy
echo include foreman | puppet  --verbose --modulepath /path_to/tarball/extras/puppet
30 21 Ohad Levy
</pre>
31 21 Ohad Levy
32 21 Ohad Levy
if you would like to setup passenger as well, you can 
33 21 Ohad Levy
34 21 Ohad Levy
<pre>
35 21 Ohad Levy
echo include foreman::passenger | puppet  --verbose --modulepath /path_to/tarball/extras/puppet
36 21 Ohad Levy
</pre>
37 21 Ohad Levy
38 13 Ohad Levy
*Its recommend to review the module prior usage.*
39 13 Ohad Levy
40 8 Ohad Levy
h2. Latest stable release
41 7 Ohad Levy
42 1 Ohad Levy
Latest stable version can be found "here":http://theforeman.org/attachments/download/60/foreman-0.1-4.tar.bz2
43 19 Ohad Levy
44 8 Ohad Levy
h2. Latest source code
45 7 Ohad Levy
46 7 Ohad Levy
You can get the latest source code of Foreman from the git repository hosted at github.
47 7 Ohad Levy
This is the preferred way to get Foreman if you want to benefit from the latest improvements. By using the git repository you can also upgrade more easily.
48 7 Ohad Levy
49 1 Ohad Levy
to get latest "stable" version do:
50 1 Ohad Levy
51 4 Ohad Levy
<pre><code>git clone git://github.com/ohadlevy/foreman.git foreman
52 4 Ohad Levy
cd foreman
53 1 Ohad Levy
git submodule init
54 1 Ohad Levy
git submodule update
55 1 Ohad Levy
</code></pre>
56 1 Ohad Levy
57 1 Ohad Levy
* if you are behind a proxy or firewall and dont have access to github using the git protocol, use http protocol instead (e.g.)
58 5 Rama Krishna
<pre>
59 5 Rama Krishna
git clone http://github.com/ohadlevy/foreman.git foreman
60 5 Rama Krishna
cd foreman
61 1 Ohad Levy
sed -i 's/git:\/\//http:\/\//g' .gitmodules
62 1 Ohad Levy
git submodule init
63 5 Rama Krishna
git submodule update
64 5 Rama Krishna
</pre>
65 5 Rama Krishna
66 12 Ohad Levy
h3. Daily snapshot
67 12 Ohad Levy
68 12 Ohad Levy
You can also fetch the latest daily snapshot of the development version at:
69 12 Ohad Levy
http://thetorque.org/foreman-nightly.tar.bz2
70 12 Ohad Levy
71 3 Ohad Levy
72 8 Ohad Levy
h1. Initial setup
73 1 Ohad Levy
74 8 Ohad Levy
h2. Database
75 6 Ohad Levy
76 6 Ohad Levy
Foreman uses a database, this database can be shared with Puppet store-configs (they are compatible, as Foreman extends the puppet database schema).
77 14 Ohad Levy
By default, SQLite is used, if you want to use other database (e.g. [[FAQ#I-want-to-use-MySQL|MySQL]]) please modify the configuration file under +config/database.yml+.
78 1 Ohad Levy
79 6 Ohad Levy
If you want to share the database with Puppets (storeconfig), just modify +config/database.yml+ to point to the same database configuration as puppet is.
80 6 Ohad Levy
81 1 Ohad Levy
In both cases, please use the *production* settings.
82 6 Ohad Levy
83 1 Ohad Levy
to initialize the database schema type:
84 11 Ohad Levy
<pre>
85 11 Ohad Levy
RAILS_ENV=production rake db:migrate
86 11 Ohad Levy
</pre>
87 6 Ohad Levy
88 8 Ohad Levy
h2. Import Data from Puppet
89 6 Ohad Levy
90 6 Ohad Levy
At this point, you might want to go through the [[FAQ]] to see how can you import your data into Foreman.
91 6 Ohad Levy
92 8 Ohad Levy
h2. Start The Web Server
93 6 Ohad Levy
94 6 Ohad Levy
Start the built in web server by typing:
95 1 Ohad Levy
<code>./script/server -e production</code>
96 1 Ohad Levy
97 6 Ohad Levy
and point your browser to http://foreman:3000
98 1 Ohad Levy
99 20 Ohad Levy
If you would like to keep the server running, its recommend to setup passenger, an example puppet manifest could be found source:extras/puppet/foreman/templates/foreman-vhost.conf.erb
100 1 Ohad Levy
101 8 Ohad Levy
h1. Future Updates
102 1 Ohad Levy
103 9 Ohad Levy
see [[Upgrade instructions]]
104 1 Ohad Levy
105 9 Ohad Levy
h1. Problems?
106 9 Ohad Levy
107 9 Ohad Levy
see [[Troubleshooting]]