forked from root/threadr.lostcave.ddnss.de
added installation instructions
parent
18b82274f3
commit
9cf94dbc78
65
README.md
65
README.md
|
@ -7,7 +7,7 @@ Now, that it is being revived, the original scope of the project doesn’t reall
|
||||||
|
|
||||||
- [x] come back online (see issue #2)
|
- [x] come back online (see issue #2)
|
||||||
- [x] go FOSS (make the source code publicly available under a FOSS license (see issue #5))
|
- [x] go FOSS (make the source code publicly available under a FOSS license (see issue #5))
|
||||||
- [ ] make the code portable so everyone can set up their own instance
|
- [x] make the code portable so everyone can set up their own instance
|
||||||
- [ ] get generic forum functionality going (sign-up, creation of boards, creation of threads within boards, messages, profiles)
|
- [ ] get generic forum functionality going (sign-up, creation of boards, creation of threads within boards, messages, profiles)
|
||||||
|
|
||||||
Once these two are given, here are some additional goals both from the original scope of the project as well as my own ideas. Input is welcome.
|
Once these two are given, here are some additional goals both from the original scope of the project as well as my own ideas. Input is welcome.
|
||||||
|
@ -22,12 +22,72 @@ Once these two are given, here are some additional goals both from the original
|
||||||
|
|
||||||
\- BodgeMaster
|
\- BodgeMaster
|
||||||
|
|
||||||
|
UPDATE: The ThreadR Forum Engine is now technically host-independent. By default, it still contains the configuration for our local instance but all host-dependent stup information is configurable now. It is still heavily WIP.
|
||||||
|
|
||||||
|
# Installation
|
||||||
|
First of all, keep in mind that the ThreadR Forum Engine is still in early development and things are subject to change.
|
||||||
|
|
||||||
|
For now, the only way to set up an instance is doing it the manual way; automatic setup will be added in the future.
|
||||||
|
|
||||||
|
This setup guide is assuming that you are on a UNIX-like system and have the following already installed and set up properly:
|
||||||
|
- Apache with PHP
|
||||||
|
- MySQL or MariaDB
|
||||||
|
- Python 2 (Will be changed to Python 3 soon. If Python 2 complains about shit, it's safe to assume that someone forgot to update this.)
|
||||||
|
- Bash
|
||||||
|
|
||||||
|
Installation:
|
||||||
|
|
||||||
|
- To install ThreadR Forum Engine, clone this repository into a directory that the web server has access to but that it outside of any web root.
|
||||||
|
- Symlink the directory `threadr/` to your desired location on the web root.
|
||||||
|
- Optionally symlink the file `default.html` to all places that you want to redirect to your ThreadR instance.
|
||||||
|
- Add a database to your MySQL/MariaDB server that contains the tables shown below.
|
||||||
|
- Create a MySQL/MariaDB user for ThreadR and grant usage privileges for the tables to it.
|
||||||
|
- adjust the files in `config/` to your setup
|
||||||
|
- run ./deployment-script.sh to apply configuration
|
||||||
|
|
||||||
|
WARNING: Currently, the configuration is permanent. It cannot be changed once the deployment script has been executed. This is a relic of our old deployment system and will change in the future.
|
||||||
|
|
||||||
|
Database tables:
|
||||||
|
- boards
|
||||||
|
- `id` (int, primary key, auto increment)
|
||||||
|
- `name` (varchar)
|
||||||
|
- `user_friendly_name` (varchar)
|
||||||
|
- `private` (boolean or tinyint(1))
|
||||||
|
- `public_visible` (boolean or tinyint(1))
|
||||||
|
- posts
|
||||||
|
- `id` (int, primary key, auto increment)
|
||||||
|
- `board_id` (int)
|
||||||
|
- `user_id` (int)
|
||||||
|
- `post_time` (timestamp, default current_timestamp())
|
||||||
|
- `edit_time` (timestamp, may be null, default null, on update current_timestamp())
|
||||||
|
- `content` (text, may be null, default null)
|
||||||
|
- `attachment_hash` (bigint(20), may be null, default null)
|
||||||
|
- `attachment_name` (varchar, may be null, default null)
|
||||||
|
- `title` (varchar)
|
||||||
|
- `reply_to` (int, default -1)
|
||||||
|
- profiles (do we even use this?)
|
||||||
|
- `id` (smallint (why? this makes no sense whatsoever), primary key, index (why? probably wanted to do unique))
|
||||||
|
- `email` (varchar, index (I think that’s supposed to be unique?))
|
||||||
|
- `real_name` (varchar)
|
||||||
|
- `status` (varchar)
|
||||||
|
- `about` (very long varchar)
|
||||||
|
- `website` (varchar)
|
||||||
|
- users
|
||||||
|
- `id` (smallint (again, this makes no sense), primary key)
|
||||||
|
- `name` (varchar, index (again, that’s probably supposed to be unique))
|
||||||
|
- `authentication_string` (varchar(128))
|
||||||
|
- `authentication_salt` (varchar)
|
||||||
|
- `authentication_algorithm` (varchar)
|
||||||
|
- `time_created` (timestamp, default current_timestamp())
|
||||||
|
- `time_altered` (timestamp, default current_timestamp(), on update current_timestamp())
|
||||||
|
- `verified` (boolean or tinyint(1), default 0)
|
||||||
|
|
||||||
# Git based automatic web deployment system
|
# Git based automatic web deployment system
|
||||||
This repository will be automagically pulled by the web server each time something is pushed by a user.
|
This repository will be automagically pulled by the web server each time something is pushed by a user.
|
||||||
|
|
||||||
Dear Developers, Please use pushes sparingly because it takes a while for the server to replace all code variables.
|
Dear Developers, Please use pushes sparingly because it takes a while for the server to replace all code variables.
|
||||||
|
|
||||||
What this thing does basicalle equates to:
|
What this thing does basically equates to:
|
||||||
```
|
```
|
||||||
ssh <user>@<threadr.ip|no public access set up currently>
|
ssh <user>@<threadr.ip|no public access set up currently>
|
||||||
cd /var/www/git
|
cd /var/www/git
|
||||||
|
@ -39,6 +99,7 @@ cd web-deployment
|
||||||
exit
|
exit
|
||||||
logout
|
logout
|
||||||
```
|
```
|
||||||
|
TBD: Remove this section when the ThreadR project moves to its final home and this repository is only used for our local setup.
|
||||||
|
|
||||||
## Symlinks
|
## Symlinks
|
||||||
The following files and directories are linked to areas where they can be accessed by the web server:
|
The following files and directories are linked to areas where they can be accessed by the web server:
|
||||||
|
|
Loading…
Reference in New Issue