[[TOC(inline, depth=1)]] = Project structure = Look [wiki:CodeRepositories here] for details. = Building natively on *NIX = If building from Git sources, first do a {{{ $ autoreconf -vi }}} If building from a release tarball, you can skip the above step. To configure, build and install OpenVPN, use these commands: {{{ $ ./configure $ make $ make install }}} In most cases, you'd use something like this: {{{ $ ./configure }}} If you're using password authentication, you may be interested in support for password stored in (properly protected!) files: {{{ $ ./configure --enable-password-save }}} Or, if you want to use smart cards and such, you should use {{{ $ ./configure --enable-pkcs11 }}} = Cross-compiling on *NIX ("generic" subdir) = Removed, only MSVC builds are currently supported. = Creating a NSIS installer ("windows-nsis" subdir) = Removed, only MSI installer is currently supported. = Code-signing = [http://msdn.microsoft.com/en-us/library/windows/desktop/aa387764%28v=vs.85%29.aspx SignTool] is used to sign OpenVPN installer, libraries and executables.. Official OpenVPN releases will be signed with OpenVPN Technologies, Inc. code signing keys. However, it's fairly easy to build a custom version of OpenVPN and sign it with your own code-signing keys. = Making the release builds of OpenVPN = See [wiki:Openvpn2ReleaseProcess]. = External links = '''Official OpenVPN Git repositories''' * https://github.com/OpenVPN/openvpn * https://github.com/OpenVPN/openvpn-build * https://github.com/OpenVPN/openvpn-vagrant * https://github.com/OpenVPN/tap-windows * https://github.com/OpenVPN/easy-rsa