Update documentation

FossilOrigin-Name: 2d30985f1372881742aecd1a74547c608bb2b100d6667f534dcb4148e7b97e2d
This commit is contained in:
nekobit 2022-07-21 22:32:48 +00:00
parent 8dc34e0a53
commit 8ab015670b
2 changed files with 31 additions and 30 deletions

View File

@ -1,58 +1,63 @@
# Installing Treebird
This is a stub and isn't complete, please update it!
## 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`
- libpcre2
- Debian: `libpcre2-dev`
- Void: `pcre2 pcre2-devel`
- libfcgi
- Debian: `libfcgi-dev`
- Void: `fcgi fcgi-devel`
###### Debian
`# apt install libcurl4-gnutls-dev libpcre2-dev libfcgi-dev base-devel`
###### Void GNU/Linux
`# xbps-install libcurl libcurl-devel base-devel pcre2 pcre2-devel fcgi fcgi-devel`
###### Arch
`# pacman -S curl base-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.
If you `fossil update` any changes, `make update` should be run after updating
## Installation
- TODO?
Run `make install`, this might require root.
Run `# make install`
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!
- `/usr/local/bin/treebird` - Regular executable CGI file, test it by running it as is, it shouldn't spit anything out
### Using NGINX (and fcgiwrap)
### Using NGINX
Treebird can be served over nginx by using a FastCGI server such as fcgiwrap.
Treebird can be served over nginx by using a FastCGI daemon such as spawn-fcgi.
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](./sample/treebird.nginx.conf).
## Nginx
An example Nginx configuration is available in [treebird.nginx.conf](./sample/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`.
## Using Apache and mod_proxy_fcgi
The example is using the default configuration included with the `fcgiwrap` package on Debian.
Apache hasn't caused many troubles, and is in fact, what I use for development. You can see how to start
spawn-fcgi in `scripts/fcgistarter.sh`.
### Using Apache and mod_proxy_fcgi
Example Apache configuration is available in [treebird.apache.conf](./sample/treebird.apache.conf).
TODO
#### spawn-fcgi
Example Apache configuration is available in [treebird.apache.conf](./sample/treebird.apache.conf).
`spawn-fcgi` can be used for both Apache and Nginx. Read the manual for it to see how to work it, or view
the testing script at `scripts/fcgistarter.sh`
- Please, at all costs, avoid FCGIWrap. It's caused nothing but headaches and has proved no real use other than
spitting `Cannot get script name, are DOCUMENT_ROOT and SCRIPT_NAME (or SCRIPT_FILENAME) set and is the script executable?`
at you (even if those variables are set and the script is executable)

View File

@ -1,7 +1,3 @@
# TODO a lot of things
# THIS IS UNTESTED AND INCOMPLETE, ITS JUST FOR REFERENCE
# Give access to our directory
<Directory "/usr/local/share/treebird/dist">
Require all granted
</Directory>