Project

General

Profile

Installation instructions » History » Version 7

Ohad Levy, 09/11/2009 03:41 PM

1 1 Ohad Levy
h2. Requirements
2 1 Ohad Levy
3 1 Ohad Levy
before you start, make sure you have:
4 1 Ohad Levy
5 1 Ohad Levy
* Puppet >= 0.24-4
6 1 Ohad Levy
* rake >= 0.84 
7 1 Ohad Levy
* git
8 1 Ohad Levy
9 1 Ohad Levy
The installation has been successfully tested on RHE5 and Ubuntu 8.04 -  9.04,  for older operating systems you might need additional packages (e.g. sqlite)
10 1 Ohad Levy
11 1 Ohad Levy
h2. Download
12 1 Ohad Levy
13 7 Ohad Levy
h3. Latest stable release
14 7 Ohad Levy
15 7 Ohad Levy
Latest stable version can be found "here":http://theforeman.org/attachments/download/21/foreman-0.1.tar.bz2
16 7 Ohad Levy
17 7 Ohad Levy
h3. Latest source code
18 7 Ohad Levy
19 7 Ohad Levy
You can get the latest source code of Foreman from the git repository hosted at github.
20 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.
21 7 Ohad Levy
22 1 Ohad Levy
to get latest "stable" version do:
23 1 Ohad Levy
24 4 Ohad Levy
<pre><code>git clone git://github.com/ohadlevy/foreman.git foreman
25 4 Ohad Levy
cd foreman
26 1 Ohad Levy
git submodule init
27 1 Ohad Levy
git submodule update
28 1 Ohad Levy
</code></pre>
29 1 Ohad Levy
30 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.)
31 5 Rama Krishna
<pre>
32 5 Rama Krishna
git clone http://github.com/ohadlevy/foreman.git foreman
33 5 Rama Krishna
cd foreman
34 5 Rama Krishna
sed -i 's/git:\/\//http:\/\//g' .gitmodules
35 5 Rama Krishna
git submodule init
36 5 Rama Krishna
git submodule update
37 5 Rama Krishna
</pre>
38 5 Rama Krishna
39 3 Ohad Levy
40 1 Ohad Levy
h2. Initial setup
41 1 Ohad Levy
42 6 Ohad Levy
h3. Database
43 1 Ohad Levy
44 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).
45 6 Ohad Levy
By default, SQLite is used, if you want to use other database (e.g. MySQL) please modify the configuration file under +config/database.yml+.
46 6 Ohad Levy
47 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.
48 6 Ohad Levy
49 6 Ohad Levy
In both cases, please use the *production* settings.
50 6 Ohad Levy
51 1 Ohad Levy
to initialize the database schema type:
52 1 Ohad Levy
<code>RAILS_ENV=production rake db:migrate</code>
53 6 Ohad Levy
54 6 Ohad Levy
h3. Import Data from Puppet
55 6 Ohad Levy
56 6 Ohad Levy
At this point, you might want to go through the [[FAQ]] to see how can you import your data into Foreman.
57 6 Ohad Levy
58 6 Ohad Levy
h3. Start The Web Server
59 6 Ohad Levy
60 6 Ohad Levy
Start the built in web server by typing:
61 1 Ohad Levy
<code>./script/server -e production</code>
62 1 Ohad Levy
63 6 Ohad Levy
and point your browser to http://foreman:3000
64 6 Ohad Levy
65 1 Ohad Levy
If you would like to keep the server running, I would recommend to setup passenger, an puppet manifest example could be found [[Passenger setup example|here]].
66 1 Ohad Levy
67 1 Ohad Levy
68 6 Ohad Levy
h2. Future Updates
69 1 Ohad Levy
70 1 Ohad Levy
If you would like to update to the latest version of the foreman, execute the following on the foreman directory
71 1 Ohad Levy
<pre><code>git pull
72 6 Ohad Levy
git submodule init
73 6 Ohad Levy
git submodule update
74 1 Ohad Levy
RAILS_ENV=production rake db:migrate
75 1 Ohad Levy
</code></pre>
76 1 Ohad Levy
77 1 Ohad Levy
and restart your web service.