in the introducer's base directory, just type 'tahoe start'). Inside that
base directory, there will be a pair of files 'introducer.furl' and
'vdrive.furl'. Make a copy of these, as they'll be needed on the client
- nodes. (If you want to use a publically available test grid, get the introducer.furl and vdrive.furl files from http://allmydata.org/trac/tahoe/wiki/TestGrid instead of running your own introducer.)
+ nodes. (If you want to use a publically available test grid, get the
+ introducer.furl and vdrive.furl files from
+ http://allmydata.org/trac/tahoe/wiki/TestGrid instead of running your own
+ introducer.)
To construct a client node, pick a new working directory for it, then run
'tahoe create-client --basedir $HERE'. Copy the two .furl files from the
on the grid. You can follow its progress by looking at the
$HERE/logs/twistd.log file.
- To actually use the client, enable the web interface by writing a port
- number (like "8123") into a file named $HERE/webport and then restarting the
- node with 'tahoe restart --basedir $HERE'. This will prompt the client node
- to run a webserver on the desired port, through which you can view, upload,
- download, and delete files. This 'webport' file is actually a "strports
+ create-client will put port specification into a file named $HERE/webport,
+ unless overridden by the --webport option to create-client. The presence of
+ a port specification in the webport file prompts the client node to run a
+ webserver on the desired port, through which you can view, upload, download,
+ and delete files. The contents of the webport file is actually a "strports
specification", defined in
http://twistedmatrix.com/documents/current/api/twisted.application.strports.html
, so you can have it only listen on a local interface by writing
- "tcp:8123:interface=127.0.0.1" to this file, or make it use SSL by writing
+ "tcp:8123:interface=127.0.0.1" to this file (that's what create-client does
+ by default), or make it use SSL by writing
"ssl:8123:privateKey=mykey.pem:certKey=cert.pem" instead.
A client node directory can also be created without installing the code
webport (optional): This controls where the client's webserver should listen,
providing vdrive access as defined in webapi.txt . This file should contain a
Twisted "strports" specification, such as "8123" or
-"tcp:8123:interface=127.0.0.1".
+"tcp:8123:interface=127.0.0.1". The 'tahoe create-client' command sets the
+webport to "tcp:8123:interface=127.0.0.1" by default, and is overridable by
+the "--webport" option.
client.port (optional): This controls which port the node listens on. If not
provided, the node will ask the kernel for any available port, and write it
Lines that do not provide a port number will use the same client.port as the
automatically-discovered addresses.
-authorized_keys.SSHPORT: This enables an SSH-based interactive Python shell,
-which can be used to inspect the internal state of the node, for debugging.
-To cause the node to accept SSH connections on port 8022, symlink
-"authorized_keys.8022" to your ~/.ssh/authorized_keys file, and it will
-accept the same keys as the rest of your account.
+authorized_keys.SSHPORT (optional): This enables an SSH-based interactive
+Python shell, which can be used to inspect the internal state of the node,
+for debugging. To cause the node to accept SSH connections on port 8022,
+symlink "authorized_keys.8022" to your ~/.ssh/authorized_keys file, and it
+will accept the same keys as the rest of your account.
== Node State ==
control.furl : this file contains a FURL that provides access to a control
port on the client node, from which files can be uploaded and downloaded.
This file is created with permissions that prevent anyone else from reading
-it, to insure that only the owner of the client node can use this feature.
-This port is intended for debugging and testing use.
+it (on operating systems that support such a concept), to insure that only
+the owner of the client node can use this feature. This port is intended for
+debugging and testing use.
== Introducer/vdrive-server configuration ==