If you want to compile ZNC with OpenSSL support, you need the OpenSSL development package. On Debian/Ubuntu this is called libssl-dev, on CentOS/Fedora/Red Hat it's openssl-devel, and on openSUSE it's libopenssl-devel. A good way to install this and other dependencies is the build dependency feature of package managers (apt-get build-dep
/ yum-builddep
/ zypper source-install --build-deps-only
).
wget http://znc.in/releases/znc-latest.tar.gz
tar -xzvf znc-latest.tar.gz
cd znc-1*
./configure
(use --prefix="$HOME/.local" (cmake -DCMAKE_INSTALL_PREFIX="$HOME/.local") if you don't want a system wide installation or simply don't have root access; use --with-openssl=/path/to/openssl (cmake -DOPENSSL_ROOT_DIR=/path/to/openssl) if you have a non-standard SSL path)
(use --help to see other configure options)
make
(if you are on a dedicated server and your CPU has more than one core, you can use make -jX where X is the number of CPU cores to speed up compilation)
make install
Please note that compiling can take 5-10 minutes or more.
Upgrading / updating from a previous release, to a new version
This is really simple. You can just follow the instructions on the Installation page again, but DON'T RUN --makeconf
. Your configuration won't be deleted. If you'd like to make a backup before, however, you can backup ZNC's config folder. It is usually located at ~/.znc. You can use tar to make a backup, like this: tar cfvj znc-backup.tar.gz ~/.znc
.
Your existing configuration will be upgraded to new version when you start it. If new ZNC will complain about few missing modules, you may need to remove them from znc.conf. That can happen if some modules which were loaded to your ZNC are removed in new version. See ChangeLog for details.
Why should I keep my ZNC up-to-date?
ZNC is like any other software, it has bugs and security issues that are fixed in new versions and also gets improvements. By not upgrading you risk all kinds of security issues, don't trust your distribution to patch old releases as ZNC's code has changed so much that it's often impossible to apply patch from newer version to older version.