treebird/docs/INSTALL.md

2.1 KiB

Installing Treebird

Compiling

For the following GNU/Linux distributions, you will need the following libraries/packages:

  • libcurl
    • Debian: libcurl4-gnutls-dev
    • Arch: curl
    • Void: libcurl libcurl-devel
  • libcjson
    • Debian: libcjson-dev
    • Arch: cjson
    • Void: cJSON cJSON-devel
  • libpcre
    • Debian: libpcre3-dev
    • Void: libpcre2
  • libfcgi
    • Debian: libfcgi-dev
    • Void: fcgi fcgi-devel

Create a copy of config.def.h at config.h, edit the file with your information

Run make. This will also clone mastodont-c, and compile both it and Treebird.

If you git pull any changes, make update should be run after updating, as it ensures that mastodont-c is up to date.

Installation

  • TODO?

Run make install, this might require root.

If this succeeds (assuming you used default variables), you can now find Treebird at the following

  • /usr/local/share/treebird/ - Contains CSS, images, and other meta files
  • /usr/local/bin/treebird - Regular executable CGI file, test it by running it as is, it'll spit HTML out!

Using NGINX (and fcgiwrap)

Treebird can be served over nginx by using a FastCGI server such as fcgiwrap.

The example static files will be in /usr/local/share/treebird/, with treebird.cgi at /usr/local/bin/treebird.

After running make, Treebird's files will be in the dist/ directory. Copy, DO NOT MOVE, everything but treebird.cgi of this folder to your web server. Copy treebird.cgi to another directory of your choosing.

nginx

An example nginx configuration is available in treebird.nginx.conf.

  • Make sure to change example.com to your instance's domain.
  • Make sure to change the root to wherever the static files are being stored

fcgiwrap

fcgiwrap can be installed on debian with sudo apt install fcgiwrap.

The example is using the default configuration included with the fcgiwrap package on Debian.

Using Apache and mod_proxy_fcgi

TODO

Example Apache configuration is available in treebird.apache.conf.