-
Notifications
You must be signed in to change notification settings - Fork 16
/
20-configure.html
347 lines (331 loc) · 17.4 KB
/
20-configure.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
<!-- Start Configure Pane -->
<div class="row-fluid"> <!-- Configure Header -->
<div class="col-md-9 col-md-offset-3">
<h1>Configure the Server</h1>
</div>
</div> <!-- row -->
<div class="tabbable"> <!-- Configure Menu Options -->
<div class="row-fluid">
<div class="col-md-3 iiab-left-nav">
<h2>Configuration</h2>
<ul class="nav nav-pills nav-stacked">
<li class="active"><a href="#confServices">Services Enabled</a></li>
<li><a href="#confNetwork">Network Parameters</a></li>
<li><a href="#confNetFilter">Internet Caching/Filtering</a></li>
<li><a href="#confHostapd">Internal Wi-Fi AP</a></li>
<!-- <li><a href="#confPortal">Server Portal</a></li>
<li><a href="#confServices">Services Enabled</a></li> -->
<li><a href="#confWhitelist" call-after="getWhitelist">Edit Permitted URLs</a></li>
</ul>
<h2>Actions</h2>
<div class="action-buttons">
<button id="SAVE-WHITELIST" type="button" class="btn btn-lg btn-success">Update Permitted URLs List</button>
<button id="SET-CONF-CMD" type="button" class="btn btn-lg btn-success">Save Configuration</button>
<button id="RUN-ANSIBLE" type="button" class="btn btn-lg btn-danger">Install Configured Options</button>
</div>
</div> <!-- left column -->
<div class="col-md-9"> <!-- right column -->
<div class="tab-content">
<div class="tab-pane" id="confNetwork"> <!-- Start Configure Network Pane -->
<h2>Network Parameters</h2>
<p><b>WARNING:</b> If you change the Hostname or Domain Name, you will need to refresh the browser after clicking Install Configured Options.</p>
<form role="form" class="form-horizontal" id="confNetworkForm">
<div class="form-group">
<div class="col-sm-4"><label>Hostname</label><input type="text" class="form-control" name="iiab_hostname" id="iiab_hostname" onblur="return iiab_hostnameVal()"></div>
<div class="col-sm-4"><label>Domain Name (no inital dot)</label><input type="text" class="form-control" name="iiab_domain" id="iiab_domain" onblur="return iiab_domainVal()"></div>
</div>
<h3>Server's Role in the Network</h3>
<div class="radio">
<label><input type="radio" name="gui_desired_network_role" id="gui_desired_network_role-Gateway" value="Gateway">Gateway - You need two or more network adapters, one of which must be connected to the Internet or a larger Network (WAN).</label>
</div>
<div class="radio">
<label><input type="radio" name="gui_desired_network_role" id="gui_desired_network_role-Appliance" value="Appliance">Appliance - You only need one network adapter, which must be connected to the Internet or a larger Network (WAN).</label>
</div>
<div class="radio">
<label><input type="radio" name="gui_desired_network_role" id="gui_desired_network_role-LanController" value="LanController">LAN Controller - You only need one network adapter. It is probably part of a standalone Network (LAN).</label>
</div>
<h2>Advanced Network Parameters</h2>
<h3>Dual Use Internal WiFi Adapter</h3>
<div class="checkbox">
<label><input type="checkbox" name="wifi_up_down" id="wifi_up_down" >Check to use the internal WiFi adapter as two devices.</label>
</div>
<h3>Network Discovered at Last Boot</h3>
<div id="discoveredNetwork">
Gateway Found<BR>
WAN Device p2p1<BR>
LAN Device p7p1<BR>
**** HARD CODED FOR TESTING ***
</div>
<h3>Override IP Addresses</h3>
<div class="checkbox">
<label><input type="checkbox" name="gui_static_wan" id="gui_static_wan" >Check to use a static WAN IP Address instead of DHCP</label>
</div>
<p><b>Please Note:</b> These parameters only take effect when you have checked the box above and have the necessary Network Adapters.</p>
<div class="row"><label class="col-md-3">Static WAN IP Address</label><div class="col-md-3"><input type="text" class="form-control" name="gui_static_wan_ip" id="gui_static_wan_ip"></div></div>
<div class="row"><label class="col-md-3">Static WAN Mask</label><div class="col-md-3"><input type="text" class="form-control" name="gui_static_wan_netmask" id="gui_static_wan_netmask"></div></div>
<div class="row"><label class="col-md-3">Static WAN Gateway</label><div class="col-md-3"><input type="text" class="form-control" name="gui_static_wan_gateway" id="gui_static_wan_gateway"></div></div>
<div class="row"><label class="col-md-3">Static WAN Name Server</label><div class="col-md-3"><input type="text" class="form-control" name="gui_static_wan_nameserver" id="gui_static_wan_nameserver"></div></div>
<h3>Firewall</h3>
<p><b>Please Note:</b> This parameter will only rarely be changed and may require reboot to take effect.</p>
<h3>Inbound</h3>
<div class="radio">
<label><input type="radio" name="ports_externally_visible" id="ports_externally_visible-0" value="0">No Ports Externally Visible.</label>
</div>
<div class="radio">
<label><input type="radio" name="ports_externally_visible" id="ports_externally_visible-1" value="1">Only the SSH Port is Externally Visible.</label>
</div>
<div class="radio">
<label><input type="radio" name="ports_externally_visible" id="ports_externally_visible-2" value="2">Add http-or-https Ports Externally Visible.</label>
</div>
<div class="radio">
<label><input type="radio" name="ports_externally_visible" id="ports_externally_visible-3" value="3">Add Common IIAB Services Ports Externally Visible.</label>
</div>
<div class="radio">
<label><input type="radio" name="ports_externally_visible" id="ports_externally_visible-4" value="4">Add Samba Port Externally Visible.</label>
</div>
<div class="radio">
<label><input type="radio" name="ports_externally_visible" id="ports_externally_visible-5" value="5">All Ports Except Database Externally Visible.</label>
</div>
<h3>Outbound</h3>
<div class="checkbox">
<label>
<input type="checkbox" name="iiab_gateway_enabled" id="iiab_gateway_enabled">Check to Enable traffic from LAN to WAN
</label>
</div>
</form>
</div> <!-- network pane -->
<!-- MOVE THIS DOWN TO 2ND TO END OR JUST IN MENU -->
<div class="tab-pane" id="confNetFilter"> <!-- Start Configure Network Filter Pane -->
<h2>Internet Caching/Filtering</h2>
<p><b>Please Note:</b> These parameters only take effect when you have selected the Gateway Role on the previous screen and have the necessary Network Adapters.</p>
<form role="form" id="confNetFilterForm">
<div class="checkbox squid_service">
<label>
<input type="checkbox" name="squid_enabled" id="squid_enabled">Check to Enable local Web Page storage for later fast access (Squid cache)
</label>
</div>
<div class="checkbox squid_service">
<label>
<input type="checkbox" name="gw_squid_whitelist" id="xo-gw_squid_whitelist">Check to Restrict Web Page Access to a Specific List of Sites (Permitted URLs)
</label>
</div>
<div class="checkbox">
<label>
<input type="checkbox" name="gw_block_https" id="xo-gw_block_https">Check to Block all HTTPS Access to Web Page
</label>
</div>
<div class="checkbox dansguardian_service">
<label>
<input type="checkbox" name="dansguardian_enabled" id="dansguardian_enabled">Check to Restrict Web Page Access according to Words in the Content (DansGuardian)
</label>
</div>
</form>
</div> <!-- network Filter pane -->
<div class="tab-pane" id="confHostapd"> <!-- Start Configure Hostapd Pane -->
<h2>Internal Wi-Fi Access Point</h2>
<p><b>Please Note:</b> These parameters only take effect if there is an internal Wi-Fi adapter and hostapd is enabled.</p>
<form role="form" id="confHostapdForm">
<div class="checkbox">
<label>
<input type="checkbox" name="hostapd_enabled" id="hostapd_enabled">Check to Enable the internal Wi-Fi adapter as an Access Point.
</label>
</div>
<div class="row"><label class="col-md-3">Internal Wi-Fi Access Point Name</label><div class="col-md-3"><input type="text" class="form-control" name="host_ssid" id="host_ssid"></div></div>
<div class="row"><label class="col-md-3">Internal Wi-Fi Access Point Mode</label><div class="col-md-3"><input type="text" class="form-control" name="host_wifi_mode" id="host_wifi_mode"></div></div>
<div class="row"><label class="col-md-3">Internal Wi-Fi Access Point Channel</label><div class="col-md-3"><input type="text" class="form-control" name="host_channel" id="host_channel"></div></div>
<div class="checkbox">
<label>
<input type="checkbox" name="hostapd_secure" id="hostapd_secure">Check to Make the internal Wi-Fi Access Point Secure.
</label>
</div>
<div class="row"><label class="col-md-3">Internal Wi-Fi Access Point Password</label><div class="col-md-3"><input type="text" class="form-control" name="hostapd_password" id="hostapd_password"></div></div>
<div class="checkbox">
<label>
<input type="checkbox" name="captiveportal_enabled" id="captiveportal_enabled">Check to Enable Captive Portal
</label>
</div>
</form>
</div> <!-- Configure Hostapd pane -->
<div class="tab-pane active" id="confServices"> <!-- Start Configure Services Pane -->
<h2>Check Each Service to Enable</h2>
<p>Services not already installed will be installed.</p>
<form role="form" id="confServicesForm">
<h3>Content Apps</h3>
<div class="checkbox kiwix_service">
<label>
<input type="checkbox" name="kiwix_enabled" id="kiwix_enabled">Kiwix, serves Wikipedias and other content from sources below. You must also install content.
</label>
</div>
<div class="checkbox kalite_service">
<label>
<input type="checkbox" name="kalite_enabled" id="kalite_enabled">KA Lite, serves Khan Academy videos and Exercises. You must also install content.
</label>
</div>
<div class="checkbox kolibri_service">
<label>
<input type="checkbox" name="kolibri_enabled" id="kolibri_enabled">Kolibri, which provides offline access to a wide range of quality, openly licensed educational content.
</label>
</div>
<div class="checkbox osm_vector_maps_service">
<label>
<input type="checkbox" name="osm_vector_maps_enabled" id="osm_vector_maps_enabled">IIAB Maps, to install OpenStreetMap vectors maps for entire continents, and satellite photos for local regions.
</label>
</div>
<div class="checkbox calibreweb_service">
<label>
<input type="checkbox" name="calibreweb_enabled" id="calibreweb_enabled">Calibre-Web, to build your own community E-Book library. Teachers can add docs, and create bookshelves.
</label>
</div>
<div class="checkbox jupyterhub_service">
<label>
<input type="checkbox" name="jupyterhub_enabled" id="jupyterhub_enabled">JupyterHub Notebooks for interactive blogging, graphing, and Python programming
</label>
</div>
<div class="checkbox internetarchive_service">
<label>
<input type="checkbox" name="internetarchive_enabled" id="internetarchive_enabled">Internet Archive Decentralized Web that helps you create your own offline digital library e.g. from http://dweb.archive.org
</label>
</div>
<div class="checkbox sugarizer_service">
<label>
<input type="checkbox" name="sugarizer_enabled" id="sugarizer_enabled">Sugarizer provides Sugar Labs activities directly on your IIAB server.
</label>
</div>
<!--
<div class="checkbox xo_services_service">
<label>
<input type="checkbox" name="xo_services_enabled" id="xo_services_enabled">Services for XO Laptops such as Registration, Backup, and the Activity Server
</label>
</div>
<div class="checkbox ejabberd_service">
<label>
<input type="checkbox" name="ejabberd_enabled" id="ejabberd_enabled">Chat and Collaboration Server for XO Laptops and Others.
</label>
</div>
-->
<h3>Portals</h3>
<div class="checkbox">
<label>
<input type="checkbox" name="wordpress_enabled" id="wordpress_enabled">Check to Enable WordPress.
</label>
</div>
<div class="checkbox">
<label>
<input type="checkbox" name="mediawiki_enabled" id="mediawiki_enabled">Check to Enable MediaWiki.
</label>
</div>
<div class="checkbox moodle_service">
<label>
<input type="checkbox" name="moodle_enabled" id="moodle_enabled">Moodle, a Courseware Manager and E-Learning Platform.
</label>
</div>
<h3>Media Sharing, Printing, and Games</h3>
<div class="checkbox nextcloud_service">
<label>
<input type="checkbox" name="nextcloud_enabled" id="nextcloud_enabled">Nextcloud is a local server-based facility for sharing files, photos, contacts, calendars, etc.
</label>
</div>
<div class="checkbox samba_service">
<label>
<input type="checkbox" name="samba_enabled" id="samba_enabled">Samba provides Network File Sharing.
</label>
</div>
<div class="checkbox cups_service">
<label>
<input type="checkbox" name="cups_enabled" id="cups_enabled">CUPS provides support for printers.
</label>
</div>
<div class="checkbox usb_lib_service">
<label>
<input type="checkbox" name="usb_lib_enabled" id="usb_lib_enabled">USB based content libraries.
</label>
</div>
<div class="checkbox minetest_service">
<label>
<input type="checkbox" name="minetest_enabled" id="minetest_enabled">Minetest, an open source, educational computer game.
</label>
</div>
<h3>Communications and Computer Lab</h3>
<div class="checkbox azuracast_service">
<label>
<input type="checkbox" name="azuracast_enabled" id="azuracast_enabled">AzuraCast,a self-hosted web radio management suite.
</label>
</div>
<div class="checkbox lokole_service">
<label>
<input type="checkbox" name="lokole_enabled" id="lokole_enabled">Lokole Email, Offline email that can transmit (and receive) a local community's emails every night.
</label>
</div>
<div class="checkbox pbx_service">
<label>
<input type="checkbox" name="pbx_enabled" id="pbx_enabled">PBX (including Asterisk and FreePBX) is a network based local phone system.
</label>
</div>
<div class="checkbox gitea_service">
<label>
<input type="checkbox" name="gitea_enabled" id="gitea_enabled">Gitea is a local git repository server.
</label>
</div>
<div class="checkbox nodered_service">
<label>
<input type="checkbox" name="nodered_enabled" id="nodered_enabled">Node-RED enables electronics projects with a flow-based development tool for visual programming.
</label>
</div>
<h3>For Monitoring and Administration</h3>
<!-- removed ajenti and others-->
<div class="checkbox monit_service">
<label>
<input type="checkbox" name="monit_enabled" id="monit_enabled">Monit watches critical applications and restarts them if they fail.
</label>
</div>
<div class="checkbox munin_service">
<label>
<input type="checkbox" name="munin_enabled" id="munin_enabled">Munin collects and graphs system-level statistics.
</label>
</div>
<div class="checkbox vnstat_service">
<label>
<input type="checkbox" name="vnstat_enabled" id="vnstat_enabled">vnStat gathers and displays networking statistics.
</label>
</div>
<div class="checkbox awstats_service">
<label>
<input type="checkbox" name="awstats_enabled" id="awstats_enabled">AWStats graphs statistics on web server usage.
</label>
</div>
<div class="checkbox phpmyadmin_service">
<label>
<input type="checkbox" name="phpmyadmin_enabled" id="phpmyadmin_enabled">phpMyAdmin allows maintenance of mysql databases.
</label>
</div>
<div class="checkbox openvpn_service">
<label>
<input type="checkbox" name="openvpn_enabled" id="openvpn_enabled">OpenVPN allows a secure connection between servers over the Internet for remote maintenance.
</label>
</div>
<div class="checkbox remoteit_service">
<label>
<input type="checkbox" name="remoteit_enabled" id="remoteit_enabled">Remote.It is a friendlier way to remotely manage your IIAB server.
</label>
</div>
<!--
To Add
mosquitto_enabled
-->
</form>
</div> <!-- services pane -->
<div class="tab-pane" id="confWhitelist"> <!-- Start Configure Whitelist Pane -->
<h2>Edit Permitted URLs</h2>
<p><b>Please Note:</b> These parameters only take effect when you have Checked Server should act as a Gateway to the Internet the previous screen.</p>
<form role="form" id="confWhiteListForm">
<div class="form-group">
<label for="iiab_whitelist">Permitted URLs</label>
<textarea rows="20" name="iiab_whitelist" class="form-control" id="iiab_whitelist" placeholder="Enter a list of permitted URLs."></textarea>
</div>
</form>
</div> <!-- End Whitelist pane -->
</div> <!-- tab-content -->
</div> <!-- right column -->
</div> <!-- row -->
</div> <!-- tabbable Configure Menu Options -->
<!-- Configure -->