README | README | |||
---|---|---|---|---|
skipping to change at line 30 | skipping to change at line 30 | |||
Please note that for many of its dependencies GNUnet requires very | Please note that for many of its dependencies GNUnet requires very | |||
recent versions of the libraries which are often NOT to be found in | recent versions of the libraries which are often NOT to be found in | |||
stable distributions in 2011. While using older packages may in some | stable distributions in 2011. While using older packages may in some | |||
cases on some operating systems may seem to work in some limited | cases on some operating systems may seem to work in some limited | |||
fashion, we are in many cases aware of serious problems with older | fashion, we are in many cases aware of serious problems with older | |||
packages. Hence please make sure to use the versions listed below. | packages. Hence please make sure to use the versions listed below. | |||
These are the direct dependencies for running GNUnet: | These are the direct dependencies for running GNUnet: | |||
- libextractor >= 0.6.1 | - libextractor >= 0.6.1 | |||
- libmicrohttpd >= 0.9.21 | - libmicrohttpd >= 0.9.18 | |||
- libgcrypt >= 1.2 | - libgcrypt >= 1.2 | |||
- libcurl >= 7.21.0 | - libcurl >= 7.21.0 | |||
- libunistring >= 0.9.2 | ||||
- libltdl >= 2.2 (part of GNU libtool) | - libltdl >= 2.2 (part of GNU libtool) | |||
- sqlite >= 3.0 (default database) | - sqlite >= 3.0 (default database) | |||
- mysql >= 5.1 (alternative to sqLite) | - mysql >= 5.1 (alternative to sqLite) | |||
- postgres >= 8.3 (alternative to sqLite) | - postgres >= 8.3 (alternative to sqLite) | |||
Recommended autotools for compiling the SVN version are: | Recommended autotools for compiling the SVN version are: | |||
- autoconf >= 2.59 | - autoconf >= 2.59 | |||
- automake >= 1.11.1 | - automake >= 1.11.1 | |||
- libtool >= 2.2 | - libtool >= 2.2 | |||
skipping to change at line 66 | skipping to change at line 67 | |||
GNUnet requires the GNU MP library (http://www.gnu.org/software/gmp/) | GNUnet requires the GNU MP library (http://www.gnu.org/software/gmp/) | |||
and libgcrypt (http://www.gnupg.org/). You can specify the path to | and libgcrypt (http://www.gnupg.org/). You can specify the path to | |||
libgcrypt by passing "--with-gcrypt=PATH" to configure. You will also | libgcrypt by passing "--with-gcrypt=PATH" to configure. You will also | |||
need either sqlite (http://www.sqlite.org/), MySQL | need either sqlite (http://www.sqlite.org/), MySQL | |||
(http://www.mysql.org/) or PostGres (http://www.postgres.org/). | (http://www.mysql.org/) or PostGres (http://www.postgres.org/). | |||
If you install from source, you need to install GNU libextractor first | If you install from source, you need to install GNU libextractor first | |||
(download from http://www.gnu.org/software/libextractor/). We also | (download from http://www.gnu.org/software/libextractor/). We also | |||
recommend installing GNU libmicrohttpd (download from | recommend installing GNU libmicrohttpd (download from | |||
http://www.gnu.org/software/libmicrohttpd/). Then you can start the | 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 | |||
# make install | # make install | |||
# sudo -u gnunet mkdir ~/.gnunet/ | # sudo -u gnunet mkdir ~/.gnunet/ | |||
# sudo -u gnunet touch ~/.gnunet/gnunet.conf | # sudo -u gnunet touch ~/.gnunet/gnunet.conf | |||
# sudo -u gnunet gnunet-arm -s | # sudo -u gnunet gnunet-arm -s | |||
This will compile and install GNUnet to $HOME/bin/, $HOME/lib/ and | This will create the users and groups needed for running GNUnet | |||
$HOME/share/ and start the system with the default configuration. It | securely and then compile and install GNUnet to $GNUNET_PREFIX/bin/, | |||
is recommended that you add a user "gnunet" to run "gnunet-arm". You | $GNUNET_PREFIX/lib/ and $GNUNET_PREFIX/share/ and start the system | |||
can then still run the end-user applications as another user. If you | with the default configuration. It is strongly recommended that you | |||
create a user "gnunet", it is recommended that you edit the | add a user "gnunet" to run "gnunet-arm". You can then still run the | |||
configuration file slightly so that data can be stored in | end-user applications as another user. | |||
"/var/lib/gnunet"; you may also want to use "/etc/gnunet.conf" for the | ||||
location of the configuration file in this case. | 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 | You can avoid running 'make install' as root if you run configure | |||
with the "--with-sudo=yes" option and have extensive sudo rights | with the "--with-sudo=yes" option and have extensive sudo rights | |||
(can run chmod +s and chown via sudo). If you run 'make install' | (can run "chmod +s" and "chown" via 'sudo'). If you run 'make install' | |||
as a normal user without sudo rights (or the configure option), | as a normal user without sudo rights (or the configure option), | |||
certain binaries that require additional priviledges will not be | certain binaries that require additional priviledges will not be | |||
installed properly (and NAT traversal, WLAN and VPN will not work). | installed properly (and autonomous NAT traversal, WLAN, DNS/GNS and | |||
the VPN will then not work). | ||||
Note that additional, per-user configuration files | Note that additional, per-user configuration files | |||
(~/.gnunet/gnunet.conf) need to be created by each user (for example, | (~/.gnunet/gnunet.conf) need to be created by each user (for example, | |||
by running gnunet-setup). Note that gnunet-setup is a separate | by running gnunet-setup). Note that gnunet-setup is a separate | |||
download and requires recent versions of GTK+ and Glade; you can also | download and requires recent versions of GTK+ and Glade; you can also | |||
edit the configuration file by hand, but this is not recommended. For | edit the configuration file by hand, but this is not recommended. For | |||
more general information about the GNU build process read the INSTALL | more general information about the GNU build process read the INSTALL | |||
file. | file. | |||
If you are compiling the code from subversion, you have to run | If you are compiling the code from subversion, you have to run | |||
skipping to change at line 111 | skipping to change at line 120 | |||
running of ". bootstrap" that looks like "macro `AM_PATH_GTK' not | running of ". bootstrap" that looks like "macro `AM_PATH_GTK' not | |||
found in library", you may need to run aclocal by hand with the -I | found in library", you may need to run aclocal by hand with the -I | |||
option, pointing to your aclocal m4 macros, i.e. | option, pointing to your aclocal m4 macros, i.e. | |||
$ aclocal -I /usr/local/share/aclocal | $ aclocal -I /usr/local/share/aclocal | |||
Configuration | Configuration | |||
============= | ============= | |||
GNUnet uses two types of configuration files, one that specifies the | GNUnet uses two types of configuration files, one that specifies the | |||
system-wide defaults (typically located in /usr/share/gnunet/defaults | system-wide defaults (typically located in | |||
.conf) and a second one that overrides default values with | $GNUNET_PREFIX/share/gnunet/config.d/) and a second one that overrides | |||
user-specific preferences. The user-specific configuration file | default values with user-specific preferences. The user-specific | |||
should be located in "~/.gnunet/gnunet.conf" or its location can be | configuration file should be located in "~/.gnunet/gnunet.conf" or its | |||
specified by giving the "-c" option to the respective GNUnet | location can be specified by giving the "-c" option to the respective | |||
application. | GNUnet application. | |||
The defaults that are shipped with the installation are usually ok, | The defaults that are shipped with the installation are usually ok, | |||
you may want to adjust the limitations (space consumption, bandwidth, | you may want to adjust the limitations (space consumption, bandwidth, | |||
etc.) though. The configuration files are human-readable. Note that | etc.) though. The configuration files are human-readable. Note that | |||
you MUST create "~/.gnunet/gnunet.conf" explicitly before starting | you MUST create "~/.gnunet/gnunet.conf" explicitly before starting | |||
GNUnet. You can either run gnunet-setup (available as part of the | GNUnet. You can either run gnunet-setup (available as part of the | |||
gnunet-gtk source package) or simply create an empty file. | gnunet-gtk source package) or simply create an empty file. | |||
Usage | Usage | |||
===== | ===== | |||
skipping to change at line 164 | skipping to change at line 173 | |||
This will display a list of results to the console. Then use | This will display a list of results to the console. Then use | |||
$ gnunet-download -o FILENAME GNUNET_URI | $ gnunet-download -o FILENAME GNUNET_URI | |||
to retrieve a file. The GNUNET_URI is printed by gnunet-search | to retrieve a file. The GNUNET_URI is printed by gnunet-search | |||
together with a description. To publish files on GNUnet, use the | together with a description. To publish files on GNUnet, use the | |||
"gnunet-publish" command. | "gnunet-publish" command. | |||
The GTK user interface is shipped separately. After downloading and | 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. | For further documentation, see our webpage. | |||
Hacking GNUnet | Hacking GNUnet | |||
============== | ============== | |||
Contributions are welcome, please submit bugs to | Contributions are welcome, please submit bugs to | |||
https://gnunet.org/bugs/. Please make sure to run contrib/report.sh | https://gnunet.org/bugs/. Please make sure to run contrib/report.sh | |||
and include the output with your bug reports. More about how to | and include the output with your bug reports. More about how to | |||
report bugs can be found in the GNUnet FAQ on the webpage. Submit | report bugs can be found in the GNUnet FAQ on the webpage. Submit | |||
End of changes. 10 change blocks. | ||||
21 lines changed or deleted | 32 lines changed or added | |||
This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |