From fdb1cbf5038c2b0372874aa51191f2f8161c9ab1 Mon Sep 17 00:00:00 2001
From: onefang
Date: Tue, 24 Mar 2020 12:22:55 +1000
Subject: Add some installation instructions for sledjchisl.

---
 src/sledjchisl/README | 68 ++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 67 insertions(+), 1 deletion(-)

(limited to 'src')

diff --git a/src/sledjchisl/README b/src/sledjchisl/README
index 5d0a7b1..88b7952 100644
--- a/src/sledjchisl/README
+++ b/src/sledjchisl/README
@@ -2,7 +2,8 @@ I'm re-purposing this for SledjHamr https://sledjhamr.org/git/docs/index.html
 
 The general structure of SledjHamr is a bunch of servers talking to each
 other via Internet (or just local) connections.  One of them is a web
-server for assets, world data, and inventory. 
+server for assets, world data, and inventory.  Actually most of OpenSim
+is just a collection of web servers.
 
 Originally I didn't think using a web based world client was a good idea,
 however it might be better to have one, for reasons.  Now I need a web
@@ -49,3 +50,68 @@ FCGI has methods of dealing with auth and templates.  B-)
 So for now I think I'll have the text and web management front ends in
 sledjchisl.c, and the love world server as well.  I can split them up
 later if I need to.
+
+
+--------------------------------------------------------------------
+
+How to install it.
+------------------
+
+It's all still partly written, un-released, and experimental at the
+moment.  So thes are just rough notes about what is needed.
+
+There are two parts, the OpenSim runner part and the web pages part.  The
+OpenSim runner part requjires the rest of opensim-SC to be installed,
+which is covered by other documents in this source code repo.  SO the
+below only talks about the web pages part.
+
+So far I have only tried this with Apache 2, but it should work fine with
+other web servers that support FCGI.  I'm using spawn-fcgi which was
+written for lighttpd, and seems to be the proper way to support FCGI in
+Nginx as well.
+
+Until I have actually released this, it'll be source code only.  So you
+need a C development environment to compile all the C source code.
+
+Some of the dependencies are included, like LuaJIT, qLibc, the FCGI SDK,
+and toybox.  Or at least their source code git ropes are cloned during
+the build stage.  The other dependencies are the development environments
+for MariaDB or MySQL (only tested with MariaDB), OpenSSL, and UUID.  And
+spawn-fcgi.  In a Debian based Linux distro, that could be installed by
+something like -
+
+apt install libmariadbclient-dev libssl1.0-dev uuid-dev spawn-fcgi
+
+Once you have all of that, you can run the src/BuildIt.sh script to put
+it all together.  That script will also actually run the web side of
+things.  Often during this early development process, that script will
+run things under a test tool like valgrind, so you'll probably need that
+to.
+
+You'll need to configure your web server to pass web requests onto
+sledjchisl.  I'll add instructions for other popular web servers latel,
+but for now, this is what to do with Apache 2.
+
+Load the mod_proxy_fcgi module.  Include something like this in your
+virtual host definition -
+
+<FilesMatch "\.fcgi$">
+  SetHandler "proxy:unix:///opt/opensim_SC/var/cache/sledjchisl.socket|fcgi://localhost/"
+</FilesMatch>
+
+Adjust that unix:// path to match if you have installed things elsewhere.
+
+Copy the files in example/www to where eveqer your web servers document
+root is.
+
+Note that the account.html dynamic web page redirects to a HTTPS version
+of itself, so you'll need HTTPS to be working.
+
+The current web pages will then be available at something like -
+
+http://localhost/sledjchisl.fcgi/loginpage.html
+
+http://localhost/sledjchisl.fcgi/stats.html
+
+https://localhost/sledjchisl.fcgi/account.html
+
-- 
cgit v1.1