aboutsummaryrefslogtreecommitdiffstats
path: root/README.md
blob: 376d607879c382fb44d9c628abcb514bcd30d87f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
# Simple Rust and Python based CMS

Copyright (c) 2011-2024 Michael Buesch <m@bues.ch>


## Building

Run the `build.sh` script to build the CMS system.

The build requires the `cargo-audit` and `cargo-auditable` Rust crates installed:

```sh
cargo install cargo-audit cargo-auditable
```

The Python part requires the `Cython` compiler installed:

```sh
apt install cython3 python3 build-essential
```

After installing all build dependencies, run the build script:

```sh
./build.sh
```

## Installing

After building, run the `install-users.sh` script to create the user/group structure for CMS in the operating system:

```sh
./install-users.sh
```

After that, run the `install.sh` script.
It will install the CMS system into `/opt/cms/`.

```sh
./install.sh
```

Then create the database inside of `/opt/cms/etc/cms/db/`.
You may start with the example db:

```sh
cp -r ./example/db/* /opt/cms/etc/cms/db/
```


## Configuring Apache httpd

Configure the CMS CGI binary as CGI `ScriptAlias`:

```
ScriptAlias /cms /opt/cms/libexec/cms-cgi/cms.cgi

<Directory /opt/cms/libexec/cms-cgi>
    AllowOverride None
    Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch -Indexes
    Require all granted
</Directory>

# Redirect all 404 to the CMS 404 handler (optional)
ErrorDocument 404 /cms/__nopage/__nogroup.html
```
bues.ch cgit interface