Project

General

Profile

Installation instructions » History » Version 39

Paul Kelly, 12/03/2010 09:03 AM

1 8 Ohad Levy
{{toc}}
2 1 Ohad Levy
3 38 Paul Kelly
h1. Requirements for the foreman core component
4 8 Ohad Levy
5 1 Ohad Levy
before you start, make sure you have:
6
7
* Puppet >= 0.24-4
8
* rake >= 0.84 
9 8 Ohad Levy
* rubygems
10
* ruby-sqlite3 (libsqlite3-ruby) if you are going to use sqlite as your database
11
* git (if installing from source )
12 1 Ohad Levy
13 37 Jochen Schalanda
The installation has been successfully tested on RHEL[5,6], Fedora[13,14], Debian Linux 5.0 (Lenny) and Ubuntu Linux 9.04, 10.04, and 10.10. 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
20
You may try out the puppet Foreman module, this should take care for most of the basic setup.
21
22 25 Ohad Levy
The module could be downloaded via: http://github.com/ohadlevy/puppet-foreman/tarball/master
23 1 Ohad Levy
24
you may use puppet (if you don't want to add it as a module to your puppetmaster) in the following way:
25
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
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
33 21 Ohad Levy
<pre>
34 35 Andrew Niemantsverdriet
echo include foreman | puppet  --verbose --modulepath /path_to/extracted_tarball
35 21 Ohad Levy
</pre>
36
37 13 Ohad Levy
*Its recommend to review the module prior usage.*
38
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
# For stable packages
45
deb http://deb.theforeman.org/ stable main
46
47
# For testing packages
48
deb http://deb.theforeman.org/ testing main
49
</pre>
50
51
The public key for "secure APT":http://wiki.debian.org/SecureApt can be downloaded "here":http://deb.theforeman.org/foreman.asc
52
53
You can add this key with
54
<pre>
55
sudo apt-key add foreman.asc
56
</pre>
57
58
or combine downloading and registering:
59
<pre>
60
wget -q http://deb.theforeman.org/foreman.asc -O- | sudo apt-key add -
61
</pre>
62
63
The key fingerprint is
64
<pre>
65
1DCB 15D1 2CA1 40EE F494  7E57 66CF 053F E775 FF07
66
Foreman Archive Signing Key <packages@theforeman.org>
67
</pre>
68
69
To install Foreman, run
70
71
<pre>
72
sudo apt-get update
73
74
# Depending on the database you want to use with Foreman,
75
# install one of these:
76
sudo apt-get install foreman-mysql
77
sudo apt-get install foreman-pgsql
78
sudo apt-get install foreman-sqlite3
79
</pre>
80
81 36 Jochen Schalanda
h3. Debian Linux 5.0 (Lenny)
82
83
Users of Debian Lenny will have to use "rake":http://packages.debian.org/lenny-backports/rake from @lenny-backports@.
84
85
See http://backports.debian.org/Instructions/ for instructions on how to add @lenny-backports@ to your list of repositories and install a package from it.
86
87 1 Ohad Levy
88 23 Ohad Levy
h2. RPM
89
90 32 Ohad Levy
We maintain a repository for RHEL and Fedora (and clones) - you may add it via:
91 23 Ohad Levy
92
h3. Puppet 
93 1 Ohad Levy
94 23 Ohad Levy
<pre>
95
yumrepo { 'foreman':
96
    descr => 'Foreman Repo',
97 32 Ohad Levy
    baseurl => 'http://yum.theforeman.org/stable',
98 23 Ohad Levy
    gpgcheck => '0',
99
    enabled => '1'
100
}
101
</pre>
102
103
h3. Quick and dirty
104 1 Ohad Levy
105 23 Ohad Levy
<pre>
106
cat > /etc/yum.repos.d/foreman.repo << EOF
107
[foreman]
108
name=Foreman Repo
109 32 Ohad Levy
baseurl=http://yum.theforeman.org/stable
110 23 Ohad Levy
gpgcheck=0
111 1 Ohad Levy
enabled=1
112 23 Ohad Levy
EOF
113
</pre>
114
115 1 Ohad Levy
<pre>
116
yum install foreman
117 23 Ohad Levy
</pre>
118
119
120 30 Ohad Levy
if you just want to get the rpms:
121 23 Ohad Levy
122 32 Ohad Levy
http://yum.theforeman.org
123
124 23 Ohad Levy
125 8 Ohad Levy
h2. Latest stable release
126 7 Ohad Levy
127 30 Ohad Levy
Latest stable version can be found under the files section
128 19 Ohad Levy
129 8 Ohad Levy
h2. Latest source code
130 7 Ohad Levy
131
You can get the latest source code of Foreman from the git repository hosted at github.
132
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.
133
134 1 Ohad Levy
to get latest "stable" version do:
135
136 4 Ohad Levy
<pre><code>git clone git://github.com/ohadlevy/foreman.git foreman
137
cd foreman
138 1 Ohad Levy
git submodule init
139
git submodule update
140
</code></pre>
141
142
* if you are behind a proxy or firewall and dont have access to github using the git protocol, use http protocol instead (e.g.)
143 5 Rama Krishna
<pre>
144
git clone http://github.com/ohadlevy/foreman.git foreman
145
cd foreman
146 1 Ohad Levy
sed -i 's/git:\/\//http:\/\//g' .gitmodules
147
git submodule init
148 5 Rama Krishna
git submodule update
149
</pre>
150
151 12 Ohad Levy
h3. Daily snapshot
152
153
You can also fetch the latest daily snapshot of the development version at:
154 28 Ohad Levy
http://theforeman.org/foreman-nightly.tar.bz2
155 12 Ohad Levy
156 3 Ohad Levy
157 8 Ohad Levy
h1. Initial setup
158 1 Ohad Levy
159 8 Ohad Levy
h2. Database
160 6 Ohad Levy
161
Foreman uses a database, this database can be shared with Puppet store-configs (they are compatible, as Foreman extends the puppet database schema).
162 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+.
163 1 Ohad Levy
164 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.
165
166 1 Ohad Levy
In both cases, please use the *production* settings.
167 6 Ohad Levy
168 1 Ohad Levy
to initialize the database schema type:
169 11 Ohad Levy
<pre>
170
RAILS_ENV=production rake db:migrate
171
</pre>
172 6 Ohad Levy
173 8 Ohad Levy
h2. Import Data from Puppet
174 6 Ohad Levy
175
At this point, you might want to go through the [[FAQ]] to see how can you import your data into Foreman.
176
177 8 Ohad Levy
h2. Start The Web Server
178 6 Ohad Levy
179 26 Ohad Levy
if you installed via rpm, just start the foreman service, or start the built in web server by typing:
180 1 Ohad Levy
<code>./script/server -e production</code>
181
182 6 Ohad Levy
and point your browser to http://foreman:3000
183 1 Ohad Levy
184 26 Ohad Levy
If you would like to keep the server running, its recommend to setup passenger or use the RPM.
185 1 Ohad Levy
example usage with passenger can be found here: http://github.com/ohadlevy/puppet-foreman/blob/master/foreman/templates/foreman-vhost.conf.erb
186 38 Paul Kelly
187
h1. Smart proxy installation
188
189
(This feature is currently under development and will be available soon.)
190
191
A smart proxy is an autonomous web-based foreman component that is placed on a host performing a specific function in the host commissioning phase. 
192 1 Ohad Levy
It receives requests from Foreman to perform operations that are required during the commissioning process and executes them on its behalf. More details can be found on the [[Foreman Architecture]] page.
193 39 Paul Kelly
194
To fully manage the commissioning process then a smart proxy will have to manipulate these services, DHCP, DNS, Puppet CA, Puppet reports and TFTP. These services may exist on separate machines or several of them may be hosted on the same machine. As each smart proxy instance is capable of managing all the of these services, there is only need for one proxy per host.
195
In the special case of a smart proxy managing a windows DHCP server, the host machine must be running Windows and support the *netsh dhcp* utility, it does not need to be the Microsoft DHCP server itself.
196
197
h2. Download
198
199
Download the smart proxy code from
200
* the git repository 
201
* the rpm location
202
* the this zip file. 
203
204
When downloaded, extract into a suitable location and follow the README file.
205 1 Ohad Levy
206 8 Ohad Levy
h1. Future Updates
207 1 Ohad Levy
208 9 Ohad Levy
see [[Upgrade instructions]]
209 1 Ohad Levy
210 9 Ohad Levy
h1. Problems?
211
212
see [[Troubleshooting]]