Blame
| 197342 | Samuli Seppänen | 2025-02-28 13:43:14 | 1 | **NOTE:** this article is outdated. The "generic" and "windows-nsis" build systems have not been in use in years. They can still be found from depths of openvpn-build Git repository, but are not that useful. The only case where you might want to look at them is when you want to cross-compile OpenVPN or build NSIS packages of it using Linux or equivalent. |
| 2 | ||||
| 3 | # Project structure |
|||
| 4 | ||||
| 5 | Look [here](/Pages/CodeRepositories) for details. |
|||
| 6 | ||||
| 7 | # Building natively on *NIX |
|||
| 8 | ||||
| 9 | If building from Git sources, first do a |
|||
| 10 | ||||
| 11 | ``` |
|||
| 12 | $ autoreconf -vi |
|||
| 13 | ``` |
|||
| 14 | ||||
| 15 | If building from a release tarball, you can skip the above step. To configure, build and install OpenVPN, use these commands: |
|||
| 16 | ||||
| 17 | ``` |
|||
| 18 | $ ./configure <configure-options> |
|||
| 19 | $ make |
|||
| 20 | $ make install |
|||
| 21 | ``` |
|||
| 22 | ||||
| 23 | In most cases, you'd use something like this: |
|||
| 24 | ||||
| 25 | ``` |
|||
| 26 | $ ./configure |
|||
| 27 | ``` |
|||
| 28 | ||||
| 29 | If you're using password authentication, you may be interested in support for password stored in (properly protected!) files: |
|||
| 30 | ||||
| 31 | ``` |
|||
| 32 | $ ./configure --enable-password-save |
|||
| 33 | ``` |
|||
| 34 | ||||
| 35 | Or, if you want to use smart cards and such, you should use |
|||
| 36 | ||||
| 37 | ``` |
|||
| 38 | $ ./configure --enable-pkcs11 |
|||
| 39 | ``` |
|||
| 40 | ||||
| 41 | # Cross-compiling on *NIX ("generic" subdir) |
|||
| 42 | ||||
| 43 | Removed, only MSVC builds are currently supported. |
|||
| 44 | ||||
| 45 | # Creating a NSIS installer ("windows-nsis" subdir) |
|||
| 46 | ||||
| 47 | Removed, only MSI installer is currently supported. |
|||
| 48 | ||||
| 49 | # Code-signing |
|||
| 50 | ||||
| 51 | [SignTool](http://msdn.microsoft.com/en-us/library/windows/desktop/aa387764%28v=vs.85%29.aspx) 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. |
|||
| 52 | ||||
| 53 | # Making the release builds of OpenVPN |
|||
| 54 | ||||
| 55 | See [wiki:Openvpn2ReleaseProcess]. |
|||
| 56 | ||||
| 57 | # External links |
|||
| 58 | ||||
| 59 | **Official OpenVPN Git repositories** |
|||
| 60 | ||||
| 61 | * https://github.com/OpenVPN/openvpn |
|||
| 62 | * https://github.com/OpenVPN/openvpn-build |
|||
| 63 | * https://github.com/OpenVPN/openvpn-vagrant |
|||
| 64 | * https://github.com/OpenVPN/tap-windows |
|||
| 65 | * https://github.com/OpenVPN/easy-rsa |
