X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=README;h=7c66b6510615e20f543c126328f43ddee2fe7910;hb=08e1b05fdeffaf4e355bc3001348630ac9909eee;hp=ce7393ba84fc2c376bdffe9b4e93195e51759fdf;hpb=4c141ec5e9ba1a0e8fd4bc266c0a2979a6ec1dd9;p=oweals%2Fgnunet.git diff --git a/README b/README index ce7393ba8..7c66b6510 100644 --- a/README +++ b/README @@ -29,9 +29,10 @@ packages. Hence please make sure to use the versions listed below. These are the direct dependencies for running GNUnet: - libextractor >= 0.6.1 -- libmicrohttpd >= 0.9.2 +- libmicrohttpd >= 0.9.18 - libgcrypt >= 1.2 - libcurl >= 7.21.0 +- libunistring >= 0.9.2 - libltdl >= 2.2 (part of GNU libtool) - sqlite >= 3.0 (default database) - mysql >= 5.1 (alternative to sqLite) @@ -66,23 +67,38 @@ If you install from source, you need to install GNU libextractor first (download from http://www.gnu.org/software/libextractor/). We also recommend installing GNU libmicrohttpd (download from http://www.gnu.org/software/libmicrohttpd/). Then you can start the -actual GNUnet compilation process with: +actual GNUnet compilation and installation process with: -$ ./configure --prefix=$HOME --with-extractor=$HOME +$ export GNUNET_PREFIX=/usr/local # or other directory of your choice +$ addgroup gnunetdns +$ adduser gnunet gnunet +$ ./configure --prefix=$GNUNET_PREFIX --with-extractor=$LE_PREFIX $ make # make install # sudo -u gnunet mkdir ~/.gnunet/ # sudo -u gnunet touch ~/.gnunet/gnunet.conf # sudo -u gnunet gnunet-arm -s -This will compile and install GNUnet to $HOME/bin/, $HOME/lib/ and -$HOME/share/ and start the system with the default configuration. It -is recommended that you add a user "gnunet" to run "gnunet-arm". You -can then still run the end-user applications as another user. If you -create a user "gnunet", it is recommended that you edit the -configuration file slightly so that data can be stored in -"/var/lib/gnunet"; you may also want to use "/etc/gnunet.conf" for the -location of the configuration file in this case. +This will create the users and groups needed for running GNUnet +securely and then compile and install GNUnet to $GNUNET_PREFIX/bin/, +$GNUNET_PREFIX/lib/ and $GNUNET_PREFIX/share/ and start the system +with the default configuration. It is strongly recommended that you +add a user "gnunet" to run "gnunet-arm". You can then still run the +end-user applications as another user. + +If you create a system user "gnunet", it is recommended that you edit +the configuration file slightly so that data can be stored in the +system user home directory at "/var/lib/gnunet"; you may also want to +use "/etc/gnunet.conf" for the location of the configuration file in +this case. + +You can avoid running 'make install' as root if you run configure +with the "--with-sudo=yes" option and have extensive sudo rights +(can run "chmod +s" and "chown" via 'sudo'). If you run 'make install' +as a normal user without sudo rights (or the configure option), +certain binaries that require additional priviledges will not be +installed properly (and autonomous NAT traversal, WLAN, DNS/GNS and +the VPN will then not work). Note that additional, per-user configuration files (~/.gnunet/gnunet.conf) need to be created by each user (for example, @@ -105,19 +121,19 @@ Configuration ============= GNUnet uses two types of configuration files, one that specifies the -system-wide defaults (typically located in /usr/share/gnunet/defaults -.conf) and a second one that overrides default values with -user-specific preferences. The user-specific configuration file -should be located in "~/.gnunet/gnunet.conf" or its location can be -specified by giving the "-c" option to the respective GNUnet -application. +system-wide defaults (typically located in +$GNUNET_PREFIX/share/gnunet/config.d/) and a second one that overrides +default values with user-specific preferences. The user-specific +configuration file should be located in "~/.gnunet/gnunet.conf" or its +location can be specified by giving the "-c" option to the respective +GNUnet application. The defaults that are shipped with the installation are usually ok, you may want to adjust the limitations (space consumption, bandwidth, etc.) though. The configuration files are human-readable. Note that you MUST create "~/.gnunet/gnunet.conf" explicitly before starting -GNUnet. You can either copy "defaults.conf" or simply create an empty -file. +GNUnet. You can either run gnunet-setup (available as part of the +gnunet-gtk source package) or simply create an empty file. Usage @@ -160,9 +176,11 @@ together with a description. To publish files on GNUnet, use the The GTK user interface is shipped separately. After downloading and -installing gnunet-gtk, you can invoke the GUI with: +installing gnunet-gtk, you can invoke the setup tool and the +file-sharing GUI with: -$ gnunet-gtk +$ gnunet-setup +$ gnunet-fs-gtk For further documentation, see our webpage. @@ -190,10 +208,11 @@ $ make install $ export GNUNET_PREFIX=$SOMEWHERE $ make check -If any testcases fail to pass on your system, run "contrib/report.sh" -and report the output together with information about the failing -testcase to the Mantis bugtracking system at -https://gnunet.org/bugs/. +Some of the testcases require python >= 2.6 and pexpect to be +installed. If any testcases fail to pass on your system, run +"contrib/report.sh" and report the output together with +information about the failing testcase to the Mantis bugtracking +system at https://gnunet.org/bugs/. Running http on port 80 and https on port 443 @@ -202,18 +221,18 @@ Running http on port 80 and https on port 443 In order to hide GNUnet's HTTP/HTTPS traffic perfectly, you might consider running GNUnet's HTTP/HTTPS transport on port 80/443. However, we do not recommend running GNUnet as root. Instead, forward -port 80 to say 8080 with this command (as root, in your startup +port 80 to say 1080 with this command (as root, in your startup scripts): -# iptables -t nat -A PREROUTING -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 8080 +# iptables -t nat -A PREROUTING -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 1080 or for HTTPS # iptables -t nat -A PREROUTING -p tcp -m tcp --dport 443 -j REDIRECT --to-ports 4433 -Then set in the HTTP section of gnunet.conf the "ADVERTISED-PORT" to -"80" and "PORT" to 8080 and similarly in the HTTPS section the -"ADVERTISED-PORT" to "443" and "PORT" to 4433. +Then set in the HTTP section of gnunet.conf the "ADVERTISED_PORT" to +"80" and "PORT" to 1080 and similarly in the HTTPS section the +"ADVERTISED_PORT" to "443" and "PORT" to 4433. You can do the same trick for the TCP and UDP transports if you want to map them to a priviledged port (from the point of view of the