Installation instructions » History » Version 38
Paul Kelly, 12/03/2010 06:55 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 | If you are using Foreman for unattended installations then you can enable management of the Puppet CA, autosign and reports plus DHCP, DNS and TFTP boot files via the use of a smart proxy. |
||
190 | (This feature is currently under development and will be available soon.) |
||
191 | |||
192 | 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. |
||
193 | 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. |
||
194 | 1 | Ohad Levy | |
195 | 8 | Ohad Levy | h1. Future Updates |
196 | 1 | Ohad Levy | |
197 | 9 | Ohad Levy | see [[Upgrade instructions]] |
198 | 1 | Ohad Levy | |
199 | 9 | Ohad Levy | h1. Problems? |
200 | |||
201 | see [[Troubleshooting]] |