Documentation - Turtle Kevux - Server Configuration
Author: Kevin Day
Description: Turtle Kevux Documentation for system servers.
Keywords: Kevin Day, Kevux, FLL, Featureless, Linux, Library, Distribution, Open-Source, Turtle, Documentation

# Server Configuration

## Configuring Camsource Server

Configuration Path: /home/targets/webcam/settings/
The Files:

1. camsource.conf
2. camsource.conf.v4l1
3. camsource.conf.v4l2

File 1:
This is the file processed by the camsource server, changes to this file will effect the server on restart.
File 2:
This is an example camsource.conf using a Video4Linux 1 Device.
File 3:
This is an example camsource.conf using a Video4Linux 2 Device.
Notes:

- The configuration file is an XML file, XML syntax rules do apply.
- `<path>/dev/video0</path>` specifies the Video Device to use
- `<input>0</input>` specifies the particular capture port on the card
- `<norm>ntfs0</norm>` specifies the media format the signal is transmitted as

## Configuring Lighttpd Server

Configuration Path: /home/targets/web/settings/
The Files:

1. lighttpd.conf

File 1:
This is the configration file for the lighttpd server.
Notes:

- The configuration file format is a bash-like syntax; bash comment rules apply.
- `server.document-root` specifies the system path where the website root exists, default is /home/websites/
- `server.port` specifies the port the server listens on, default is 80

## Configuring MPD Server

Configuration Path: /home/targets/music/settings/
The Files:

1. mpd.conf

File 1:
This is the configration file for the mpd server.
Notes:

- The configuration file format is a bash-like syntax; bash comment rules apply.
- `music_directory` specifies where the available music exists, default is /home/music/
- `port` specifies where the port the server listens on, default is 6600

## Configuring MaraDNS Server

Configuration Path: /home/targets/dns/settings/
The Files:

1. mararc
2. example_authoritative_mararc.txt
3. example_example_csv1
4. example_example_csv1.txt
5. example_example_csv2
6. example_full_mararc
7. example_mararc
8. example_recursive_mararc.txt

File 1:
This is the configuration file for the mararc server
Files 2-8:
These are different examples of how to configure mararc
* Files 3 & 4 appear to be identical and one will be removed in the future
Notes:

- The configuration file format is a bash-like syntax; bash comment rules apply.

## Configuring NTP Server

Configuration Path: /home/targets/time/settings/
The Files:

1. ntp.conf

File 1:
This is the configuration file for the ntp server
Notes:

- The configuration file format is a bash-like syntax; bash comment rules apply.
- This is easy to configure, just uncomment the servers you want to pull from and comment out all others

## Configuring Postgres Server

Configuration Path: /home/targets/database/settings/
The Files:

1. postgresql.conf
2. pg_hba.conf
3. pg_ident.conf

File 1:
This is the configuration file for the particular postgres database
File 2:
This file manages what computers or ip blocks can access the postgres server at all
Make sure to read the documentation present in this file
File 3:
This file maps user names to postgresql database user names
This is useful if the current username connects to the database under a different name
Make sure to read the documentation present in this file
Initial Setup:
Create the database:
`su - t_database -c '/bin/initdb -D /home/targets/database/data -E UTF8 --locale=en_US.UTF-8'`
Notes:

- The configuration file format is a bash-like syntax; bash comment rules apply.
- The configuration files are specific to each database, such that if you were to change the Create the database path from /home/targets/database/data to /home/targets/database/somewhere then you would need to edit the configuration files at /home/targets/database/somewhere/.

## Configuring RSync Server

Configuration Path: /home/targets/rsync/settings/
The Files:

1. rsyncd.conf

File 1:
This is the configuration file for the rsync server
Notes:

- The configuration file Initial Setup:
  Create the database:
  `su - postgresd -c '/bin/initdb -D /home/targets/postgresd/database'`
  format is a bash-like syntax; bash comment rules apply.

## Configuring SSH Server

Configuration Path: /home/targets/ssh/settings/
The Files:

1. sshd_config
2. banner
3. moduli
4. ssh_prng_cmds
5. ssh_host_dsa_key
6. ssh_host_dsa_key.pub
7. ssh_host_ecdsa_key
8. ssh_host_ecdsa_key.pub
9. ssh_host_key
10. ssh_host_key.pub
11. ssh_host_rsa_key
12. ssh_host_rsa_key.pub

File 1:
This is the ssh server configuration file
File 2:
This will display information to a client making a connection attempt to the server
This can expose information to an attacker that might be useful and therefore is disabled by default
Files 3 & 4:
These files are not required and may not even be used anymore; you can safely ignore these.
Files 5 to 12:
These files are auto-generated by the initng start script.
You can create these manually by calling the `setup_ssh_host_keys` script.
Notes:

- The configuration file format is a bash-like syntax; bash comment rules apply.
- The setup_ssh_host_keys command will create more files in the /home/targets/ssh/settings/ directory. These files begin with ssh_host_.
- `Port` specifies where the port the server listens on, default is 22
- `Banner` specify a file to enable, comment out to disable

## Configuring Subversion Server

Configuration Path: /home/targets/subversion/settings/
The Files:

1. servers

File 1:
This is the subversion server configuration file
Notes:

- The configuration file format is a bash-like syntax; bash comment rules apply.
- NOTE: The subversion database should already be created at /home/targets/subversion/data/
- If the server already exists, then you will need to remove the existing one as shown in the example picture (rm -Rf /home/targets/subversion/data)
- WARNING: The subversion server uses plaintext passwords in the configuration file