X-Git-Url: http://www.git.cypherpunks.ru/?a=blobdiff_plain;f=doc%2Finstallation.texi;h=1443d7f95c8f752d3fd5e5d57a2b1694f9c956bb;hb=da9420230cd4ed2ff1d8685c96b99043e529da62;hp=f1fbf0db017e817028524c0959fa1b5f804fe9df;hpb=1bca6f147bf4f16cbea245e1eaac5dc74526a7b4;p=govpn.git diff --git a/doc/installation.texi b/doc/installation.texi index f1fbf0d..1443d7f 100644 --- a/doc/installation.texi +++ b/doc/installation.texi @@ -1,48 +1,57 @@ @node Installation @unnumbered Installation -GoVPN is written on Go programming language, But -@url{https://www.gnu.org/software/make/, Make} program is recommended -also to be used. @url{https://www.gnu.org/software/texinfo/, Texinfo} is -used for building documentation. Also it depends on -@code{golang.org/x/crypto} Go libraries. +Possibly GoVPN already exists in your distribution: + +@itemize +@item @url{https://aur.archlinux.org/packages/govpn/, Arch Linux AUR} +@item @url{http://www.freshports.org/security/govpn/, FreeBSD ports} +@item @url{https://gpo.zugaina.org/net-misc/govpn, Gentoo Portage Overlay} +@item @url{https://pkgs.org/download/govpn, openSUSE OSS} +@end itemize + +GoVPN is written on @url{https://golang.org/, Go} programming language +and you have to install Go compiler (1.5+ version is highly recommended, +1.4 is the minimal sufficient): @code{lang/go} port in FreeBSD and +@code{golang} package in most GNU/Linux distributions. @emph{Make} (BSD +and GNU ones are fine) is recommended for convenient building. +@url{https://www.gnu.org/software/texinfo/, Texinfo} (6.1+ version is +recommended) is used for building documentation. Possibly you also need +to install TUN/TAP interface utilities (depending on your operating +system): @code{uml-utilities} package in most GNU/Linux distributions. + +Included required libraries: + +@multitable @columnfractions .40 .20 .40 +@headitem Library @tab Platform @tab Licence +@item @code{github.com/agl/ed25519} @tab All @tab BSD 3-Clause +@item @code{github.com/bigeagle/water} @tab GNU/Linux @tab BSD 3-Clause +@item @code{github.com/go-yaml/yaml} @tab All @tab LGPLv3 and MIT +@item @code{golang.org/x/crypto} @tab All @tab BSD 3-Clause +@end multitable + +Get @ref{Tarballs, the tarball}, check its +@ref{Integrity, integrity and authenticity} and run @command{make}. +@emph{govpn-client}, @emph{govpn-server}, @emph{govpn-verifier} +binaries will be built in the current directory: + +@verbatim +% wget http://www.govpn.info/download/govpn-2.3.tar.xz +% wget http://www.govpn.info/download/govpn-2.3.tar.xz.sig +% gpg --verify govpn-2.3.tar.xz.sig govpn-2.3.tar.xz +% tar xf govpn-2.3.tar.xz +% make -C govpn-2.3 all +@end verbatim + +There is @code{install} target respecting @env{DESTDIR}. It will +install binaries, info-documentation and utilities. + +@menu +* Prepared tarballs: Tarballs. +* Tarballs integrity check: Integrity. +* Development source code: Sources. +@end menu @include download.texi - -You @strong{have to} verify downloaded archives integrity and check -their signature to be sure that you have got trusted, untampered -software. For integrity and authentication of downloaded binaries -@url{https://www.gnupg.org/, The GNU Privacy Guard} is used. You must -download signature provided with the tarball and run for example: - -@example -gpg --verify govpn-1.5.tar.xz.sig govpn-1.5.tar.xz -@end example - -For the very first time you must also import signing public keys. They -are provided below, but be sure that you are reading them from the -trusted source. Alternatively check this page from other sources and -look for the mailing list announcements. - -You have to set up @code{$GOPATH} properly first. For example you can -clone the repository or decompress tarball and set path like this: - -@example -% mkdir -p govpn/src -% git clone https://github.com/stargrave/govpn.git govpn/src/govpn -or -% tar xfC govpn-1.5.tar.xz govpn/src && mv govpn/src/govpn-1.5 govpn/src/govpn -% export GOPATH=$(pwd)/govpn:$GOPATH -@end example - -After that you can just type @code{make} and all necessary Go libraries -will be installed and client/server binaries are built in the current -directory: - -@example -% cd govpn/src/govpn -% make -[or gmake under FreeBSD] -@end example - -@include pubkey.texi +@include integrity.texi +@include sources.texi