3 // DO NOT EDIT. This file was automatically generated from
4 // DocBook XML. See plc_www/doc/README.
6 $_title= "MyPLC User's Guide";
8 require_once('session.php');
9 require_once('header.php');
10 require_once('nav.php');
12 ?><div class="article" lang="en">
13 <div class="titlepage">
15 <div><h1 class="title">
16 <a name="id224920"></a>MyPLC User's Guide</h1></div>
17 <div><div class="author"><h3 class="author"><span class="firstname">Mark Huang</span></h3></div></div>
18 <div><div class="revhistory"><table border="1" width="100%" summary="Revision history">
19 <tr><th align="left" valign="top" colspan="3"><b>Revision History</b></th></tr>
21 <td align="left">Revision 1.0</td>
22 <td align="left">April 7, 2006</td>
23 <td align="left">MLH</td>
25 <tr><td align="left" colspan="3">
29 <div><div class="abstract">
30 <p class="title"><b>Abstract</b></p>
31 <p>This document describes the design, installation, and
32 administration of MyPLC, a complete PlanetLab Central (PLC)
33 portable installation contained within a
34 <span><strong class="command">chroot</strong></span> jail. This document assumes advanced
35 knowledge of the PlanetLab architecture and Linux system
42 <p><b>Table of Contents</b></p>
44 <dt><span class="section"><a href="#id225358">1. Overview</a></span></dt>
45 <dt><span class="section"><a href="#id225202">2. Installation</a></span></dt>
46 <dt><span class="section"><a href="#id267666">3. Quickstart</a></span></dt>
48 <dt><span class="section"><a href="#ChangingTheConfiguration">3.1. Changing the configuration</a></span></dt>
49 <dt><span class="section"><a href="#id268154">3.2. Installing nodes</a></span></dt>
50 <dt><span class="section"><a href="#id268229">3.3. Administering nodes</a></span></dt>
51 <dt><span class="section"><a href="#id268323">3.4. Creating a slice</a></span></dt>
53 <dt><span class="appendix"><a href="#id268397">A. Configuration variables</a></span></dt>
54 <dt><span class="bibliography"><a href="#id270521">Bibliography</a></span></dt>
57 <div class="section" lang="en">
58 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
59 <a name="id225358"></a>1. Overview</h2></div></div></div>
60 <p>MyPLC is a complete PlanetLab Central (PLC) portable
61 installation contained within a <span><strong class="command">chroot</strong></span>
62 jail. The default installation consists of a web server, an
63 XML-RPC API server, a boot server, and a database server: the core
64 components of PLC. The installation is customized through an
65 easy-to-use graphical interface. All PLC services are started up
66 and shut down through a single script installed on the host
67 system. The usually complex process of installing and
68 administering the PlanetLab backend is reduced by containing PLC
69 services within a virtual filesystem. By packaging it in such a
70 manner, MyPLC may also be run on any modern Linux distribution,
71 and could conceivably even run in a PlanetLab slice.</p>
73 <a name="Architecture"></a><p class="title"><b>Figure 1. MyPLC architecture</b></p>
74 <div class="mediaobject" align="center">
75 <img src="architecture.png" align="middle" width="270" alt="MyPLC architecture"><div class="caption"><p>MyPLC should be viewed as a single application that
76 provides multiple functions and can run on any host
81 <div class="section" lang="en">
82 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
83 <a name="id225202"></a>2. Installation</h2></div></div></div>
84 <p>Though internally composed of commodity software
85 subpackages, MyPLC should be treated as a monolithic software
86 application. MyPLC is distributed as single RPM package that has
87 no external dependencies, allowing it to be installed on
88 practically any Linux 2.6 based distribution:</p>
90 <a name="id225260"></a><p class="title"><b>Example 1. Installing MyPLC.</b></p>
91 <pre class="programlisting"># If your distribution supports RPM
92 rpm -U myplc-0.3-1.planetlab.i386.rpm
94 # If your distribution does not support RPM
96 rpm2cpio myplc-0.3-1.planetlab.i386.rpm | cpio -diu</pre>
98 <p>MyPLC installs the following files and directories:</p>
99 <div class="itemizedlist"><ul type="disc">
100 <li><p><code class="filename">/plc/root.img</code>: The main
101 root filesystem of the MyPLC application. This file is an
102 uncompressed ext3 filesystem that is loopback mounted on
103 <code class="filename">/plc/root</code> when MyPLC starts. The
104 filesystem, even when mounted, should be treated an opaque
105 binary that can and will be replaced in its entirety by any
106 upgrade of MyPLC.</p></li>
107 <li><p><code class="filename">/plc/root</code>: The mount point
108 for <code class="filename">/plc/root.img</code>. Once the root filesystem
109 is mounted, all MyPLC services run in a
110 <span><strong class="command">chroot</strong></span> jail based in this
113 <p><code class="filename">/plc/data</code>: The directory where user
114 data and generated files are stored. This directory is bind
115 mounted into the <span><strong class="command">chroot</strong></span> jail on
116 <code class="filename">/data</code>. Files in this directory are marked
117 with <span><strong class="command">%config(noreplace)</strong></span> in the RPM. That
118 is, during an upgrade of MyPLC, if a file has not changed
119 since the last installation or upgrade of MyPLC, it is subject
120 to upgrade and replacement. If the file has chanegd, the new
121 version of the file will be created with a
122 <code class="filename">.rpmnew</code> extension. Symlinks within the
123 MyPLC root filesystem ensure that the following directories
124 (relative to <code class="filename">/plc/root</code>) are stored
125 outside the MyPLC filesystem image:</p>
126 <div class="itemizedlist"><ul type="circle">
127 <li><p><code class="filename">/etc/planetlab</code>: This
128 directory contains the configuration files, keys, and
129 certificates that define your MyPLC
130 installation.</p></li>
131 <li><p><code class="filename">/var/lib/pgsql</code>: This
132 directory contains PostgreSQL database
134 <li><p><code class="filename">/var/www/html/alpina-logs</code>: This
135 directory contains node installation logs.</p></li>
136 <li><p><code class="filename">/var/www/html/boot</code>: This
137 directory contains the Boot Manager, customized for your MyPLC
138 installation, and its data files.</p></li>
139 <li><p><code class="filename">/var/www/html/download</code>: This
140 directory contains Boot CD images, customized for your MyPLC
141 installation.</p></li>
142 <li><p><code class="filename">/var/www/html/install-rpms</code>: This
143 directory is where you should install node package updates,
144 if any. By default, nodes are installed from the tarball
146 <code class="filename">/var/www/html/boot/PlanetLab-Bootstrap.tar.bz2</code>,
147 which is pre-built from the latest PlanetLab Central
148 sources, and installed as part of your MyPLC
149 installation. However, nodes will attempt to install any
150 newer RPMs located in
151 <code class="filename">/var/www/html/install-rpms/planetlab</code>,
152 after initial installation and periodically thereafter. You
153 must run <span><strong class="command">yum-arch</strong></span> and
154 <span><strong class="command">createrepo</strong></span> to update the
155 <span><strong class="command">yum</strong></span> caches in this directory after
156 installing a new RPM. PlanetLab Central cannot support any
157 changes to this file.</p></li>
158 <li><p><code class="filename">/var/www/html/xml</code>: This
159 directory contains various XML files that the Slice Creation
160 Service uses to determine the state of slices. These XML
161 files are refreshed periodically by <span><strong class="command">cron</strong></span>
162 jobs running in the MyPLC root.</p></li>
166 <p><code class="filename">/etc/init.d/plc</code>: This file
167 is a System V init script installed on your host filesystem,
168 that allows you to start up and shut down MyPLC with a single
169 command. On a Red Hat or Fedora host system, it is customary to
170 use the <span><strong class="command">service</strong></span> command to invoke System V
172 <div class="example">
173 <a name="StartingAndStoppingMyPLC"></a><p class="title"><b>Example 2. Starting and stopping MyPLC.</b></p>
174 <pre class="programlisting"># Starting MyPLC
178 service plc stop</pre>
180 <p>Like all other registered System V init services, MyPLC is
181 started and shut down automatically when your host system boots
182 and powers off. You may disable automatic startup by invoking
183 the <span><strong class="command">chkconfig</strong></span> command on a Red Hat or Fedora
185 <div class="example">
186 <a name="id243542"></a><p class="title"><b>Example 3. Disabling automatic startup of MyPLC.</b></p>
187 <pre class="programlisting"># Disable automatic startup
190 # Enable automatic startup
191 chkconfig plc on</pre>
194 <li><p><code class="filename">/etc/sysconfig/plc</code>: This
195 file is a shell script fragment that defines the variables
196 <code class="envar">PLC_ROOT</code> and <code class="envar">PLC_DATA</code>. By default,
197 the values of these variables are <code class="filename">/plc/root</code>
198 and <code class="filename">/plc/data</code>, respectively. If you wish,
199 you may move your MyPLC installation to another location on your
200 host filesystem and edit the values of these variables
201 appropriately, but you will break the RPM upgrade
202 process. PlanetLab Central cannot support any changes to this
204 <li><p><code class="filename">/etc/planetlab</code>: This
205 symlink to <code class="filename">/plc/data/etc/planetlab</code> is
206 installed on the host system for convenience.</p></li>
209 <div class="section" lang="en">
210 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
211 <a name="id267666"></a>3. Quickstart</h2></div></div></div>
212 <p>Once installed, start MyPLC (see <a href="#StartingAndStoppingMyPLC" title="Example 2. Starting and stopping MyPLC.">Example 2, “Starting and stopping MyPLC.”</a>). MyPLC must be started as
213 root. Observe the output of this command for any failures. If no
214 failures occur, you should see output similar to the
216 <div class="example">
217 <a name="id267786"></a><p class="title"><b>Example 4. A successful MyPLC startup.</b></p>
218 <pre class="programlisting">Mounting PLC: [ OK ]
219 PLC: Generating network files: [ OK ]
220 PLC: Starting system logger: [ OK ]
221 PLC: Starting database server: [ OK ]
222 PLC: Generating SSL certificates: [ OK ]
223 PLC: Generating SSH keys: [ OK ]
224 PLC: Starting web server: [ OK ]
225 PLC: Bootstrapping the database: [ OK ]
226 PLC: Starting crond: [ OK ]
227 PLC: Rebuilding Boot CD: [ OK ]
228 PLC: Rebuilding Boot Manager: [ OK ]
231 <p>If <code class="filename">/plc/root</code> is mounted successfully, a
232 complete log file of the startup process may be found at
233 <code class="filename">/plc/root/var/log/boot.log</code>. Possible reasons
234 for failure of each step include:</p>
235 <div class="itemizedlist"><ul type="disc">
236 <li><p><code class="literal">Mounting PLC</code>: If this step
237 fails, first ensure that you started MyPLC as root. Check
238 <code class="filename">/etc/sysconfig/plc</code> to ensure that
239 <code class="envar">PLC_ROOT</code> and <code class="envar">PLC_DATA</code> refer to the
240 right locations. You may also have too many existing loopback
241 mounts, or your kernel may not support loopback mounting, bind
242 mounting, or the ext3 filesystem. Try freeing at least one
243 loopback device, or re-compiling your kernel to support loopback
244 mounting, bind mounting, and the ext3
246 <li><p><code class="literal">Starting database server</code>: If
247 this step fails, check
248 <code class="filename">/plc/root/var/log/pgsql</code> and
249 <code class="filename">/plc/root/var/log/boot.log</code>. The most common
250 reason for failure is that the default PostgreSQL port, TCP port
251 5432, is already in use. Check that you are not running a
252 PostgreSQL server on the host system.</p></li>
253 <li><p><code class="literal">Starting web server</code>: If this
255 <code class="filename">/plc/root/var/log/httpd/error_log</code> and
256 <code class="filename">/plc/root/var/log/boot.log</code> for obvious
257 errors. The most common reason for failure is that the default
258 web ports, TCP ports 80 and 443, are already in use. Check that
259 you are not running a web server on the host
261 <li><p><code class="literal">Bootstrapping the database</code>:
262 If this step fails, it is likely that the previous step
263 (<code class="literal">Starting web server</code>) also failed. Another
264 reason that it could fail is if <code class="envar">PLC_API_HOST</code> (see
265 <a href="#ChangingTheConfiguration" title="3.1. Changing the configuration">Section 3.1, “Changing the configuration”</a>) does not resolve to
266 the host on which the API server has been enabled. By default,
267 all services, including the API server, are enabled and run on
268 the same host, so check that <code class="envar">PLC_API_HOST</code> is
269 either <code class="filename">localhost</code> or resolves to a local IP
271 <li><p><code class="literal">Starting crond</code>: If this step
272 fails, it is likely that the previous steps (<code class="literal">Starting
273 web server</code> and <code class="literal">Bootstrapping the
274 database</code>) also failed. If not, check
275 <code class="filename">/plc/root/var/log/boot.log</code> for obvious
276 errors. This step starts the <span><strong class="command">cron</strong></span> service and
277 generates the initial set of XML files that the Slice Creation
278 Service uses to determine slice state.</p></li>
280 <p>If no failures occur, then MyPLC should be active with a
281 default configuration. Open a web browser on the host system and
282 visit <code class="literal">http://localhost/</code>, which should bring you
283 to the front page of your PLC installation. The password of the
284 default administrator account
285 <code class="literal">root@localhost.localdomain</code> (set by
286 <code class="envar">PLC_ROOT_USER</code>) is <code class="literal">root</code> (set by
287 <code class="envar">PLC_ROOT_PASSWORD</code>).</p>
288 <div class="section" lang="en">
289 <div class="titlepage"><div><div><h3 class="title">
290 <a name="ChangingTheConfiguration"></a>3.1. Changing the configuration</h3></div></div></div>
291 <p>After verifying that MyPLC is working correctly, shut it
292 down and begin changing some of the default variable
293 values. Shut down MyPLC with <span><strong class="command">service plc stop</strong></span>
294 (see <a href="#StartingAndStoppingMyPLC" title="Example 2. Starting and stopping MyPLC.">Example 2, “Starting and stopping MyPLC.”</a>). With a text
295 editor, open the file
296 <code class="filename">/etc/planetlab/plc_config.xml</code>. This file is
297 a self-documenting configuration file written in XML. Variables
298 are divided into categories. Variable identifiers must be
299 alphanumeric, plus underscore. A variable is referred to
300 canonically as the uppercase concatenation of its category
301 identifier, an underscore, and its variable identifier. Thus, a
302 variable with an <code class="literal">id</code> of
303 <code class="literal">slice_prefix</code> in the <code class="literal">plc</code>
304 category is referred to canonically as
305 <code class="envar">PLC_SLICE_PREFIX</code>.</p>
306 <p>The reason for this convention is that during MyPLC
307 startup, <code class="filename">plc_config.xml</code> is translated into
308 several different languages—shell, PHP, and
309 Python—so that scripts written in each of these languages
310 can refer to the same underlying configuration. Most MyPLC
311 scripts are written in shell, so the convention for shell
312 variables predominates.</p>
313 <p>The variables that you should change immediately are:</p>
314 <div class="itemizedlist"><ul type="disc">
315 <li><p><code class="envar">PLC_NAME</code>: Change this to the
316 name of your PLC installation.</p></li>
317 <li><p><code class="envar">PLC_ROOT_PASSWORD</code>: Change this
318 to a more secure password.</p></li>
319 <li><p><code class="envar">PLC_NET_DNS1</code>,
320 <code class="envar">PLC_NET_DNS2</code>: Change these to the IP addresses
321 of your primary and secondary DNS servers. Check
322 <code class="filename">/etc/resolv.conf</code> on your host
324 <li><p><code class="envar">PLC_MAIL_SUPPORT_ADDRESS</code>:
325 Change this to the e-mail address at which you would like to
326 receive support requests.</p></li>
327 <li><p><code class="envar">PLC_DB_HOST</code>,
328 <code class="envar">PLC_API_HOST</code>, <code class="envar">PLC_WWW_HOST</code>,
329 <code class="envar">PLC_BOOT_HOST</code>: Change all of these to the
330 preferred FQDN of your host system.</p></li>
332 <p>After changing these variables, save the file, then
333 restart MyPLC with <span><strong class="command">service plc start</strong></span>. You
334 should notice that the password of the default administrator
335 account is no longer <code class="literal">root</code>, and that the
336 default site name includes the name of your PLC installation
337 instead of PlanetLab.</p>
339 <div class="section" lang="en">
340 <div class="titlepage"><div><div><h3 class="title">
341 <a name="id268154"></a>3.2. Installing nodes</h3></div></div></div>
342 <p>Install your first node by clicking <code class="literal">Add
343 Node</code> under the <code class="literal">Nodes</code> tab. Fill in
344 all the appropriate details, then click
345 <code class="literal">Add</code>. Download the node's configuration file
346 by clicking <code class="literal">Download configuration file</code> on
347 the <span class="bold"><strong>Node Details</strong></span> page for the
348 node. Save it to a floppy disk or USB key as detailed in [<a href="#TechsGuide" title="[TechsGuide]">1</a>].</p>
349 <p>Follow the rest of the instructions in [<a href="#TechsGuide" title="[TechsGuide]">1</a>] for creating a Boot CD and installing
350 the node, except download the Boot CD image from the
351 <code class="filename">/download</code> directory of your PLC
352 installation, not from PlanetLab Central. The images located
353 here are customized for your installation. If you change the
354 hostname of your boot server (<code class="envar">PLC_BOOT_HOST</code>), or
355 if the SSL certificate of your boot server expires, MyPLC will
356 regenerate it and rebuild the Boot CD with the new
357 certificate. If this occurs, you must replace all Boot CDs
358 created before the certificate was regenerated.</p>
359 <p>The installation process for a node has significantly
360 improved since PlanetLab 3.3. It should now take only a few
361 seconds for a new node to become ready to create slices.</p>
363 <div class="section" lang="en">
364 <div class="titlepage"><div><div><h3 class="title">
365 <a name="id268229"></a>3.3. Administering nodes</h3></div></div></div>
366 <p>You may administer nodes as <code class="literal">root</code> by
367 using the SSH key stored in
368 <code class="filename">/etc/planetlab/root_ssh_key.rsa</code>.</p>
369 <div class="example">
370 <a name="id268250"></a><p class="title"><b>Example 5. Accessing nodes via SSH. Replace
371 <code class="literal">node</code> with the hostname of the node.</b></p>
372 <pre class="programlisting">ssh -i /etc/planetlab/root_ssh_key.rsa root@node</pre>
374 <p>Besides the standard Linux log files located in
375 <code class="filename">/var/log</code>, several other files can give you
376 clues about any problems with active processes:</p>
377 <div class="itemizedlist"><ul type="disc">
378 <li><p><code class="filename">/var/log/pl_nm</code>: The log
379 file for the Node Manager.</p></li>
380 <li><p><code class="filename">/vservers/pl_conf/var/log/pl_conf</code>:
381 The log file for the Slice Creation Service.</p></li>
382 <li><p><code class="filename">/var/log/propd</code>: The log
383 file for Proper, the service which allows certain slices to
384 perform certain privileged operations in the root
386 <li><p><code class="filename">/vserver/pl_netflow/var/log/netflow.log</code>:
387 The log file for PlanetFlow, the network traffic auditing
391 <div class="section" lang="en">
392 <div class="titlepage"><div><div><h3 class="title">
393 <a name="id268323"></a>3.4. Creating a slice</h3></div></div></div>
394 <p>Create a slice by clicking <code class="literal">Create Slice</code>
395 under the <code class="literal">Slices</code> tab. Fill in all the
396 appropriate details, then click <code class="literal">Create</code>. Add
397 nodes to the slice by clicking <code class="literal">Manage Nodes</code>
398 on the <span class="bold"><strong>Slice Details</strong></span> page for
400 <p>A <span><strong class="command">cron</strong></span> job runs every five minutes and
402 <code class="filename">/plc/data/var/www/html/xml/slices-0.5.xml</code>
403 with information about current slice state. The Slice Creation
404 Service running on every node polls this file every ten minutes
405 to determine if it needs to create or delete any slices. You may
406 accelerate this process manually if desired.</p>
407 <div class="example">
408 <a name="id268381"></a><p class="title"><b>Example 6. Forcing slice creation on a node.</b></p>
409 <pre class="programlisting"># Update slices.xml immediately
410 service plc start crond
412 # Kick the Slice Creation Service on a particular node.
413 ssh -i /etc/planetlab/root_ssh_key.rsa root@node \
414 vserver pl_conf exec service pl_conf restart</pre>
418 <div class="appendix" lang="en">
419 <h2 class="title" style="clear: both">
420 <a name="id268397"></a>A. Configuration variables</h2>
421 <p>Listed below is the set of standard configuration variables
422 and their default values, defined in the template
423 <code class="filename">/etc/planetlab/default_config.xml</code>. Additional
424 variables and their defaults may be defined in site-specific XML
425 templates that should be placed in
426 <code class="filename">/etc/planetlab/configs/</code>.</p>
427 <div class="variablelist"><dl>
428 <dt><span class="term">PLC_NAME</span></dt>
433 Default: PlanetLab Test</p>
434 <p>The name of this PLC installation. It is used in
435 the name of the default system site (e.g., PlanetLab Central)
436 and in the names of various administrative entities (e.g.,
437 PlanetLab Support).</p>
439 <dt><span class="term">PLC_SLICE_PREFIX</span></dt>
445 <p>The abbreviated name of this PLC
446 installation. It is used as the prefix for system slices
447 (e.g., pl_conf). Warning: Currently, this variable should
450 <dt><span class="term">PLC_ROOT_USER</span></dt>
455 Default: root@localhost.localdomain</p>
456 <p>The name of the initial administrative
457 account. We recommend that this account be used only to create
458 additional accounts associated with real
459 administrators, then disabled.</p>
461 <dt><span class="term">PLC_ROOT_PASSWORD</span></dt>
467 <p>The password of the initial administrative
468 account. Also the password of the root account on the Boot
471 <dt><span class="term">PLC_ROOT_SSH_KEY_PUB</span></dt>
476 Default: /etc/planetlab/root_ssh_key.pub</p>
477 <p>The SSH public key used to access the root
478 account on your nodes.</p>
480 <dt><span class="term">PLC_ROOT_SSH_KEY</span></dt>
485 Default: /etc/planetlab/root_ssh_key.rsa</p>
486 <p>The SSH private key used to access the root
487 account on your nodes.</p>
489 <dt><span class="term">PLC_DEBUG_SSH_KEY_PUB</span></dt>
494 Default: /etc/planetlab/debug_ssh_key.pub</p>
495 <p>The SSH public key used to access the root
496 account on your nodes when they are in Debug mode.</p>
498 <dt><span class="term">PLC_DEBUG_SSH_KEY</span></dt>
503 Default: /etc/planetlab/debug_ssh_key.rsa</p>
504 <p>The SSH private key used to access the root
505 account on your nodes when they are in Debug mode.</p>
507 <dt><span class="term">PLC_ROOT_GPG_KEY_PUB</span></dt>
512 Default: /etc/planetlab/pubring.gpg</p>
513 <p>The GPG public keyring used to sign the Boot
514 Manager and all node packages.</p>
516 <dt><span class="term">PLC_ROOT_GPG_KEY</span></dt>
521 Default: /etc/planetlab/secring.gpg</p>
522 <p>The SSH private key used to access the root
523 account on your nodes.</p>
525 <dt><span class="term">PLC_NET_DNS1</span></dt>
530 Default: 128.112.136.10</p>
531 <p>Primary DNS server address.</p>
533 <dt><span class="term">PLC_NET_DNS2</span></dt>
538 Default: 128.112.136.12</p>
539 <p>Secondary DNS server address.</p>
541 <dt><span class="term">PLC_MAIL_ENABLED</span></dt>
547 <p>Set to false to suppress all e-mail notifications
550 <dt><span class="term">PLC_MAIL_SUPPORT_ADDRESS</span></dt>
555 Default: root+support@localhost.localdomain</p>
556 <p>This address is used for support
557 requests. Support requests may include traffic complaints,
558 security incident reporting, web site malfunctions, and
559 general requests for information. We recommend that the
560 address be aliased to a ticketing system such as Request
563 <dt><span class="term">PLC_MAIL_BOOT_ADDRESS</span></dt>
568 Default: root+install-msgs@localhost.localdomain</p>
569 <p>The API will notify this address when a problem
570 occurs during node installation or boot.</p>
572 <dt><span class="term">PLC_MAIL_SLICE_ADDRESS</span></dt>
577 Default: root+SLICE@localhost.localdomain</p>
578 <p>This address template is used for sending
579 e-mail notifications to slices. SLICE will be replaced with
580 the name of the slice.</p>
582 <dt><span class="term">PLC_DB_ENABLED</span></dt>
588 <p>Enable the database server on this
591 <dt><span class="term">PLC_DB_TYPE</span></dt>
596 Default: postgresql</p>
597 <p>The type of database server. Currently, only
598 postgresql is supported.</p>
600 <dt><span class="term">PLC_DB_HOST</span></dt>
605 Default: localhost</p>
606 <p>The fully qualified hostname or IP address of
607 the database server. This hostname must be resolvable and
608 reachable by the rest of your installation.</p>
610 <dt><span class="term">PLC_DB_PORT</span></dt>
616 <p>The TCP port number through which the database
617 server should be accessed.</p>
619 <dt><span class="term">PLC_DB_NAME</span></dt>
624 Default: planetlab3</p>
625 <p>The name of the database to access.</p>
627 <dt><span class="term">PLC_DB_USER</span></dt>
632 Default: pgsqluser</p>
633 <p>The username to use when accessing the
636 <dt><span class="term">PLC_DB_PASSWORD</span></dt>
642 <p>The password to use when accessing the
643 database. If left blank, one will be
646 <dt><span class="term">PLC_API_ENABLED</span></dt>
652 <p>Enable the API server on this
655 <dt><span class="term">PLC_API_DEBUG</span></dt>
661 <p>Enable verbose API debugging. Do not enable on
662 a production system!</p>
664 <dt><span class="term">PLC_API_HOST</span></dt>
669 Default: localhost</p>
670 <p>The fully qualified hostname or IP address of
671 the API server. This hostname must be resolvable and
672 reachable by the rest of your installation, as well as your
675 <dt><span class="term">PLC_API_PORT</span></dt>
681 <p>The TCP port number through which the API
682 should be accessed. Warning: SSL (port 443) access is not
683 fully supported by the website code yet. We recommend that
684 port 80 be used for now and that the API server either run
685 on the same machine as the web server, or that they both be
686 on a secure wired network.</p>
688 <dt><span class="term">PLC_API_PATH</span></dt>
693 Default: /PLCAPI/</p>
694 <p>The base path of the API URL.</p>
696 <dt><span class="term">PLC_API_MAINTENANCE_USER</span></dt>
701 Default: maint@localhost.localdomain</p>
702 <p>The username of the maintenance account. This
703 account is used by local scripts that perform automated
704 tasks, and cannot be used for normal logins.</p>
706 <dt><span class="term">PLC_API_MAINTENANCE_PASSWORD</span></dt>
712 <p>The password of the maintenance account. If
713 left blank, one will be generated. We recommend that the
714 password be changed periodically.</p>
716 <dt><span class="term">PLC_API_MAINTENANCE_SOURCES</span></dt>
722 <p>A space-separated list of IP addresses allowed
723 to access the API through the maintenance account. The value
724 of this variable is set automatically to allow only the API,
725 web, and boot servers, and should not be
728 <dt><span class="term">PLC_API_SSL_CRT</span></dt>
733 Default: /etc/planetlab/api_ssl.crt</p>
734 <p>The signed SSL certificate to use for HTTPS
735 access. If not specified or non-existent, a self-signed
736 certificate will be generated.</p>
738 <dt><span class="term">PLC_API_SSL_KEY</span></dt>
743 Default: /etc/planetlab/api_ssl.key</p>
744 <p>The corresponding SSL private key used for
745 signing the certificate, and for signing slice tickets. If
746 not specified or non-existent, one will be
749 <dt><span class="term">PLC_API_SSL_KEY_PUB</span></dt>
754 Default: /etc/planetlab/api_ssl.pub</p>
755 <p>The corresponding SSL public key. If not
756 specified or non-existent, one will be
759 <dt><span class="term">PLC_WWW_ENABLED</span></dt>
765 <p>Enable the web server on this
768 <dt><span class="term">PLC_WWW_DEBUG</span></dt>
774 <p>Enable debugging output on web pages. Do not
775 enable on a production system!</p>
777 <dt><span class="term">PLC_WWW_HOST</span></dt>
782 Default: localhost</p>
783 <p>The fully qualified hostname or IP address of
784 the web server. This hostname must be resolvable and
785 reachable by the rest of your installation, as well as your
788 <dt><span class="term">PLC_WWW_PORT</span></dt>
794 <p>The TCP port number through which the
795 unprotected portions of the web site should be
798 <dt><span class="term">PLC_WWW_SSL_PORT</span></dt>
804 <p>The TCP port number through which the protected
805 portions of the web site should be accessed.</p>
807 <dt><span class="term">PLC_WWW_SSL_CRT</span></dt>
812 Default: /etc/planetlab/www_ssl.crt</p>
813 <p>The signed SSL certificate to use for HTTPS
814 access. If not specified or non-existent, a self-signed
815 certificate will be generated.</p>
817 <dt><span class="term">PLC_WWW_SSL_KEY</span></dt>
822 Default: /etc/planetlab/www_ssl.key</p>
823 <p>The corresponding SSL private key. If not
824 specified or non-existent, one will be
827 <dt><span class="term">PLC_BOOT_ENABLED</span></dt>
833 <p>Enable the boot server on this
836 <dt><span class="term">PLC_BOOT_HOST</span></dt>
841 Default: localhost</p>
842 <p>The fully qualified hostname or IP address of
843 the boot server. This hostname must be resolvable and
844 reachable by the rest of your installation, as well as your
847 <dt><span class="term">PLC_BOOT_PORT</span></dt>
853 <p>The TCP port number through which the
854 unprotected portions of the boot server should be
857 <dt><span class="term">PLC_BOOT_SSL_PORT</span></dt>
863 <p>The TCP port number through which the protected
864 portions of the boot server should be
867 <dt><span class="term">PLC_BOOT_SSL_CRT</span></dt>
872 Default: /etc/planetlab/boot_ssl.crt</p>
873 <p>The signed SSL certificate to use for HTTPS
874 access. If not specified, or non-existent a self-signed
875 certificate will be generated.</p>
877 <dt><span class="term">PLC_BOOT_SSL_KEY</span></dt>
882 Default: /etc/planetlab/boot_ssl.key</p>
883 <p>The corresponding SSL private key. If not
884 specified or non-existent, one will be
889 <div class="bibliography">
890 <div class="titlepage"><div><div><h2 class="title">
891 <a name="id270521"></a>Bibliography</h2></div></div></div>
892 <div class="biblioentry">
893 <a name="TechsGuide"></a><p>[1] <span class="author"><span class="firstname">Mark</span> <span class="surname">Huang</span>. </span><span class="title"><i><a href="http://www.planet-lab.org/doc/TechsGuide.php" target="_top">PlanetLab
894 Technical Contact's Guide</a></i>. </span></p>
897 </div><?php require('footer.php'); ?>