Project

General

Profile

Installation instructions » History » Version 34

Ohad Levy, 11/10/2010 06:44 PM

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 8 Ohad Levy
* ruby-sqlite3 (libsqlite3-ruby) if you are going to use sqlite as your database
11 8 Ohad Levy
* git (if installing from source )
12 1 Ohad Levy
13 33 Ohad Levy
The installation has been successfully tested on RHEL[5,6], Fedora[13,14] and Ubuntu 8.04 - 10.04, for older operating systems you might need additional packages (e.g. sqlite)
14 34 Ohad Levy
It is also known to work on Solaris and Mac.
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 25 Ohad Levy
The module could be downloaded via: http://github.com/ohadlevy/puppet-foreman/tarball/master
23 1 Ohad Levy
24 1 Ohad Levy
you may use puppet (if you don't want to add it as a module to your puppetmaster) in the following way:
25 1 Ohad Levy
26 32 Ohad Levy
if you are using RHEL, EPEL repo must be enabled http://fedoraproject.org/wiki/EPEL
27 1 Ohad Levy
28 25 Ohad Levy
If you are using puppet store configs please set $using_store_configs to true in foreman/manifests/init.pp.
29 25 Ohad Levy
If you want this module to configure passenger as well, set $using_passenger to true in foreman/manifests/init.pp
30 21 Ohad Levy
31 25 Ohad Levy
usage:
32 25 Ohad Levy
33 21 Ohad Levy
<pre>
34 25 Ohad Levy
echo include foreman | puppet  --verbose --modulepath /path_to/tarball
35 21 Ohad Levy
</pre>
36 21 Ohad Levy
37 13 Ohad Levy
*Its recommend to review the module prior usage.*
38 13 Ohad Levy
39 31 Jochen Schalanda
h2. Debian / Ubuntu Packages
40 29 Ohad Levy
41 31 Jochen Schalanda
Add one of the following lines to your @/etc/apt/sources.list@:
42 1 Ohad Levy
43 31 Jochen Schalanda
<pre>
44 31 Jochen Schalanda
# For stable packages
45 31 Jochen Schalanda
deb http://deb.theforeman.org/ stable main
46 31 Jochen Schalanda
47 31 Jochen Schalanda
# For testing packages
48 31 Jochen Schalanda
deb http://deb.theforeman.org/ testing main
49 31 Jochen Schalanda
</pre>
50 31 Jochen Schalanda
51 31 Jochen Schalanda
The public key for "secure APT":http://wiki.debian.org/SecureApt can be downloaded "here":http://deb.theforeman.org/foreman.asc
52 31 Jochen Schalanda
53 31 Jochen Schalanda
You can add this key with
54 31 Jochen Schalanda
<pre>
55 31 Jochen Schalanda
sudo apt-key add foreman.asc
56 31 Jochen Schalanda
</pre>
57 31 Jochen Schalanda
58 31 Jochen Schalanda
or combine downloading and registering:
59 31 Jochen Schalanda
<pre>
60 31 Jochen Schalanda
wget -q http://deb.theforeman.org/foreman.asc -O- | sudo apt-key add -
61 31 Jochen Schalanda
</pre>
62 31 Jochen Schalanda
63 31 Jochen Schalanda
The key fingerprint is
64 31 Jochen Schalanda
<pre>
65 31 Jochen Schalanda
1DCB 15D1 2CA1 40EE F494  7E57 66CF 053F E775 FF07
66 31 Jochen Schalanda
Foreman Archive Signing Key <packages@theforeman.org>
67 31 Jochen Schalanda
</pre>
68 31 Jochen Schalanda
69 31 Jochen Schalanda
To install Foreman, run
70 31 Jochen Schalanda
71 31 Jochen Schalanda
<pre>
72 31 Jochen Schalanda
sudo apt-get update
73 31 Jochen Schalanda
74 31 Jochen Schalanda
# Depending on the database you want to use with Foreman,
75 31 Jochen Schalanda
# install one of these:
76 31 Jochen Schalanda
sudo apt-get install foreman-mysql
77 31 Jochen Schalanda
sudo apt-get install foreman-pgsql
78 31 Jochen Schalanda
sudo apt-get install foreman-sqlite3
79 31 Jochen Schalanda
</pre>
80 31 Jochen Schalanda
81 1 Ohad Levy
82 23 Ohad Levy
h2. RPM
83 23 Ohad Levy
84 32 Ohad Levy
We maintain a repository for RHEL and Fedora (and clones) - you may add it via:
85 23 Ohad Levy
86 23 Ohad Levy
h3. Puppet 
87 1 Ohad Levy
88 23 Ohad Levy
<pre>
89 23 Ohad Levy
yumrepo { 'foreman':
90 23 Ohad Levy
    descr => 'Foreman Repo',
91 32 Ohad Levy
    baseurl => 'http://yum.theforeman.org/stable',
92 23 Ohad Levy
    gpgcheck => '0',
93 23 Ohad Levy
    enabled => '1'
94 23 Ohad Levy
}
95 23 Ohad Levy
</pre>
96 23 Ohad Levy
97 23 Ohad Levy
h3. Quick and dirty
98 1 Ohad Levy
99 23 Ohad Levy
<pre>
100 23 Ohad Levy
cat > /etc/yum.repos.d/foreman.repo << EOF
101 23 Ohad Levy
[foreman]
102 23 Ohad Levy
name=Foreman Repo
103 32 Ohad Levy
baseurl=http://yum.theforeman.org/stable
104 23 Ohad Levy
gpgcheck=0
105 1 Ohad Levy
enabled=1
106 23 Ohad Levy
EOF
107 23 Ohad Levy
</pre>
108 23 Ohad Levy
109 1 Ohad Levy
<pre>
110 1 Ohad Levy
yum install foreman
111 23 Ohad Levy
</pre>
112 23 Ohad Levy
113 23 Ohad Levy
114 30 Ohad Levy
if you just want to get the rpms:
115 23 Ohad Levy
116 32 Ohad Levy
http://yum.theforeman.org
117 32 Ohad Levy
118 23 Ohad Levy
119 8 Ohad Levy
h2. Latest stable release
120 7 Ohad Levy
121 30 Ohad Levy
Latest stable version can be found under the files section
122 19 Ohad Levy
123 8 Ohad Levy
h2. Latest source code
124 7 Ohad Levy
125 7 Ohad Levy
You can get the latest source code of Foreman from the git repository hosted at github.
126 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.
127 7 Ohad Levy
128 1 Ohad Levy
to get latest "stable" version do:
129 1 Ohad Levy
130 4 Ohad Levy
<pre><code>git clone git://github.com/ohadlevy/foreman.git foreman
131 4 Ohad Levy
cd foreman
132 1 Ohad Levy
git submodule init
133 1 Ohad Levy
git submodule update
134 1 Ohad Levy
</code></pre>
135 1 Ohad Levy
136 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.)
137 5 Rama Krishna
<pre>
138 5 Rama Krishna
git clone http://github.com/ohadlevy/foreman.git foreman
139 5 Rama Krishna
cd foreman
140 1 Ohad Levy
sed -i 's/git:\/\//http:\/\//g' .gitmodules
141 1 Ohad Levy
git submodule init
142 5 Rama Krishna
git submodule update
143 5 Rama Krishna
</pre>
144 5 Rama Krishna
145 12 Ohad Levy
h3. Daily snapshot
146 12 Ohad Levy
147 12 Ohad Levy
You can also fetch the latest daily snapshot of the development version at:
148 28 Ohad Levy
http://theforeman.org/foreman-nightly.tar.bz2
149 12 Ohad Levy
150 3 Ohad Levy
151 8 Ohad Levy
h1. Initial setup
152 1 Ohad Levy
153 8 Ohad Levy
h2. Database
154 6 Ohad Levy
155 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).
156 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+.
157 1 Ohad Levy
158 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.
159 6 Ohad Levy
160 1 Ohad Levy
In both cases, please use the *production* settings.
161 6 Ohad Levy
162 1 Ohad Levy
to initialize the database schema type:
163 11 Ohad Levy
<pre>
164 11 Ohad Levy
RAILS_ENV=production rake db:migrate
165 11 Ohad Levy
</pre>
166 6 Ohad Levy
167 8 Ohad Levy
h2. Import Data from Puppet
168 6 Ohad Levy
169 6 Ohad Levy
At this point, you might want to go through the [[FAQ]] to see how can you import your data into Foreman.
170 6 Ohad Levy
171 8 Ohad Levy
h2. Start The Web Server
172 6 Ohad Levy
173 26 Ohad Levy
if you installed via rpm, just start the foreman service, or start the built in web server by typing:
174 1 Ohad Levy
<code>./script/server -e production</code>
175 1 Ohad Levy
176 6 Ohad Levy
and point your browser to http://foreman:3000
177 1 Ohad Levy
178 26 Ohad Levy
If you would like to keep the server running, its recommend to setup passenger or use the RPM.
179 26 Ohad Levy
example usage with passenger can be found here: http://github.com/ohadlevy/puppet-foreman/blob/master/foreman/templates/foreman-vhost.conf.erb
180 1 Ohad Levy
181 8 Ohad Levy
h1. Future Updates
182 1 Ohad Levy
183 9 Ohad Levy
see [[Upgrade instructions]]
184 1 Ohad Levy
185 9 Ohad Levy
h1. Problems?
186 9 Ohad Levy
187 9 Ohad Levy
see [[Troubleshooting]]