|
|
|
Build process is quite simple:
|
|
|
|
|
|
|
|
cmake .
|
|
|
|
make
|
|
|
|
make test
|
|
|
|
|
|
|
|
Then, if everything builds fine, you may install files in proper places.
|
|
|
|
|
|
|
|
sudo make install
|
|
|
|
|
|
|
|
NOTE: This is old good "slackware-way" of installing programs.
|
|
|
|
You may want to use [checkinstall](http://checkinstall.izto.org) or something like this.
|
|
|
|
|
|
|
|
Actual list of configurable options for first line can be found at top of `CMakeLists.txt`.
|
|
|
|
It looks like this:
|
|
|
|
|
|
|
|
option(SYMBOL "Option description" DEFAULT_VALUE)
|
|
|
|
|
|
|
|
Option can be (re)defined with `-DSYMBOL=ON` or `-DSYMBOL=OFF` on cmake command line:
|
|
|
|
|
|
|
|
cmake -D CMAKE_BUILD_TYPE=Release -DWIITH_HARDENING=ON .
|
|
|
|
|
|
|
|
Other noticeable options are:
|
|
|
|
|
|
|
|
* `CMAKE_BUILD_TYPE` (Debug, Release or unset) -- sets compiler optimization level and debugging info. Set to "Release" for production code.
|
|
|
|
* `CMAKE_C_COMPILER` -- allows specify another compiler
|
|
|
|
* `CMAKE_INSTALL_PREFIX` -- set root of install dir ($DESTDIR also will be prefixed if set).
|
|
|
|
* `INIT_SCRIPT` -- install system init script (values: off/openrc/systemd, default: off)
|
|
|
|
|
|
|
|
After building you may type `sudo make install` to install compiled binaries and other files.
|
|
|
|
Default install layout is:
|
|
|
|
|
|
|
|
/etc/f2b <- configs location
|
|
|
|
/etc/f2b/conf-available <- all available config parts
|
|
|
|
/etc/f2b/conf-enabled <- enabled config parts
|
|
|
|
/usr/bin <- non-root binaries
|
|
|
|
/usr/sbin <- root binaries
|
|
|
|
/usr/lib <- loadable modules
|
|
|
|
/usr/share/f2b <- patterns collection
|
|
|
|
/var/lib/f2b <- files with saved states of jails
|
|
|
|
|
|
|
|
After install you need additional steps before configuring f2b.
|
|
|
|
|
|
|
|
cd /etc/f2b
|
|
|
|
# make symlink to patterns collection
|
|
|
|
ln -s /usr/share/f2b/filters filters
|
|
|
|
# enable some config parts
|
|
|
|
# you need at least one backend, filter and source
|
|
|
|
cd /etc/f2b/conf-enabled
|
|
|
|
ln -s ../conf-available/05-source-files.conf ./
|
|
|
|
ls -n ../conf-available/10-backend-exec-ipset.conf ./
|
|
|
|
ln -s ../conf-available/15-filter-preg.conf ./
|
|
|
|
# make config part for local settings
|
|
|
|
touch 99-local.conf
|
|
|
|
|
|
|
|
Now you may proceed for configuration and first launch.
|