Project

General

Profile

MS DHCP » History » Version 5

Ohad Levy, 10/19/2011 04:43 PM

1 1 Paul Kelly
h1. MS DHCP
2
3
The Microsoft smart-proxy installation procedure is very basic compared to the RPM or APT based solution. 
4
5
It is required that this procedure is executed as an administrator.
6
7 4 Ohad Levy
# Go to the smart-proxy repository at https://github.com/ohadlevy/smart-proxy
8
# Select download and choose the latest revision
9
# Extract this to a directory that does not have any spaces in its name.
10
# Go to the rubyinstaller webpage at http://rubyinstaller.org/downloads/
11
# Download and install the latest ruby 1.8.7 release. (Allow the ruby associations to be installed.)
12
# Open a CMD window and, using *gem install --version X.X.X --platform ?????*, add these gems
13 5 Ohad Levy
<pre>
14 1 Paul Kelly
 columnize (0.3.2)
15
 highline (1.6.1)
16
 json (1.4.6 x86-mswin32)
17
 linecache (0.43 mswin32)
18
 mime-types (1.16)
19
 mocha (0.9.11)
20
 net-ping (1.3.7)
21
 rack (1.2.0)
22
 rake (0.8.7)
23
 rest-client (1.6.1)
24
 sinatra (1.1.0)
25
 tilt (1.1)
26
 win32-api (1.4.6 x86-mswin32-60)
27
 win32-open3 (0.3.2 x86-mswin32-60)
28
 win32-service (0.7.1 x86-mswin32-60)
29
 windows-api (0.4.0)
30
 windows-pr (1.1.2)
31 5 Ohad Levy
</pre>
32 1 Paul Kelly
33 2 Kai Stian Olstad
Command to download them all:
34
<pre>
35
wget http://rubygems.org/downloads/columnize-0.3.2.gem \
36
     http://rubygems.org/downloads/haml-3.0.24.gem \
37
     http://rubygems.org/downloads/highline-1.6.1.gem \
38
     http://rubygems.org/downloads/json-1.4.6-x86-mswin32.gem \
39
     http://rubygems.org/downloads/linecache-0.43-mswin32.gem \
40
     http://rubygems.org/downloads/mime-types-1.16.gem \
41
     http://rubygems.org/downloads/mocha-0.9.11.gem \
42
     http://rubygems.org/downloads/net-ping-1.3.7.gem \
43
     http://rubygems.org/downloads/rack-1.2.0.gem \
44
     http://rubygems.org/downloads/rake-0.8.7.gem \
45
     http://rubygems.org/downloads/rest-client-1.6.1.gem \
46
     http://rubygems.org/downloads/sinatra-1.1.0.gem \
47
     http://rubygems.org/downloads/tilt-1.1.gem \
48
     http://rubygems.org/downloads/win32-api-1.4.6-x86-mswin32-60.gem \
49
     http://rubygems.org/downloads/win32-open3-0.3.2-x86-mswin32-60.gem \
50
     http://rubygems.org/downloads/win32-service-0.7.1-x86-mswin32-60.gem \
51
     http://rubygems.org/downloads/windows-api-0.4.0.gem \
52
     http://rubygems.org/downloads/windows-pr-1.1.2.gem
53
</pre>
54 3 Kai Stian Olstad
55
To get it to work on Windows 2008 R2 some of the packages has to change
56
<pre>
57
 columnize (0.3.2)
58
 highline (1.6.1)
59
 json (1.4.6 x86-mingw32)
60
 linecache (0.43 mswin32)
61
 mime-types (1.16)
62
 mocha (0.9.11)
63
 net-ping (1.3.7)
64
 rack (1.2.0)
65
 rake (0.8.7)
66
 rest-client (1.6.1)
67
 sinatra (1.1.0)
68
 tilt (1.1)
69
 win32-api (1.4.6 x86-mingw32)
70
 win32-open3 (0.3.2 x86-mingw32)
71
 win32-service (0.7.1 x86-mswin32-60)
72
 windows-api (0.4.0)
73
 windows-pr (1.1.2)
74
</pre>
75
76
Command to download them all:
77
<pre>
78
wget http://rubygems.org/downloads/columnize-0.3.2.gem \
79
     http://rubygems.org/downloads/haml-3.0.24.gem \
80
     http://rubygems.org/downloads/highline-1.6.1.gem \
81
     http://rubygems.org/downloads/json-1.4.6-x86-mingw32.gem \
82
     http://rubygems.org/downloads/linecache-0.43-mswin32.gem \
83
     http://rubygems.org/downloads/mime-types-1.16.gem \
84
     http://rubygems.org/downloads/mocha-0.9.11.gem \
85
     http://rubygems.org/downloads/net-ping-1.3.7.gem \
86
     http://rubygems.org/downloads/rack-1.2.0.gem \
87
     http://rubygems.org/downloads/rake-0.8.7.gem \
88
     http://rubygems.org/downloads/rest-client-1.6.1.gem \
89
     http://rubygems.org/downloads/sinatra-1.1.0.gem \
90
     http://rubygems.org/downloads/tilt-1.1.gem \
91
     http://rubygems.org/downloads/win32-api-1.4.6-x86-mingw32.gem \
92
     http://rubygems.org/downloads/win32-open3-0.3.2-x86-mingw32.gem \
93
     http://rubygems.org/downloads/win32-service-0.7.1-x86-mswin32-60.gem \
94
     http://rubygems.org/downloads/windows-api-0.4.0.gem \
95
     http://rubygems.org/downloads/windows-pr-1.1.2.gem
96
</pre>
97
98 1 Paul Kelly
8) CD to the root of the smart-proxy install directory
99
9) Edit config/settings.yml so that it looks a bit like this
100
101
_Sample config/settings.yml file_
102
<pre>
103
 ---
104
 # HTTPS settings
105
 :ssl_certificate: c:\documents\smart-proxy\config\signed.pem
106
 :ssl_private_key: c:\documents\smart-proxy\config\private.pem
107
 :ssl_ca_file:     c:\documents\smart-proxy\config\ca.pem
108
109
 :trusted_hosts: [ foreman.someware.com]
110
111
 :daemon: false
112
113
114
 # Enable DHCP management
115
 :dhcp: true
116
 # The vendor can be either isc or native_ms
117
 :dhcp_vendor: native_ms
118
 # The dhcp_server is only used by the native_ms implementation
119
 :dhcp_server: 172.29.90.240
120
121
 # Where our proxy log files are stored
122
 # filename or STDOUT
123
 # Unix setting
124
 #:log_file: log/proxy.log
125
 # Windows setting
126
 :log_file: c:\tmp\proxy.log
127
 # valid options are
128
 # Logger::WARN, Logger::DEBUG, Logger::Error, Logger::Fatal, Logger:INFO, LOGGER::UNKNOWN
129
 #:log_level: Logger::DEBUG
130
</pre>
131
132
10) Create the SSL key
133
10.1) Login to your puppetmaster
134
10.2) puppetca --generate _Smart-proxy FQDN_. (Do not use an alias here.)
135
10.3) Copy the private key, the public certificate and the ca.pem from /var/lib/puppet/ssl over to the locations that you specified in the setting file.
136
11) Test the installation by running ruby bin\smart-proxy.rb
137
12) Install the program as a service
138
12.1) ruby extra\register-service.rb
139
12.2) This may install the service but not run it. If so then try to start the service from the Ordinary Microsoft services snapin utility.
140
13) You may test connectivity by running the *extra\query.rb* utility from your foreman host. (Note that this file comes from the _extra_ directory in the smart-proxy release.)