trick/docs/documentation/web/Webserver.md

84 lines
3.4 KiB
Markdown
Raw Normal View History

| [Home](/trick) → [Documentation Home](../Documentation-Home) → Web Server |
|------------------------------------------------------------------|
# Adding a Web Server to Your Sim
2019-11-19 20:21:07 +00:00
2022-08-15 19:16:29 +00:00
If Trick is [configured with Civetweb](Configure-Civetweb.md),
adding a web server to your simulation simply requires including the CivetServer sim module into your **S_define** file:
2019-11-19 20:21:07 +00:00
```
#include "sim_objects/CivetServer.sm"
2019-11-19 20:21:07 +00:00
```
## Configuration of the Web Server
2019-11-19 20:21:07 +00:00
The following (input.py) parameters are available to configure your web server:
2019-11-19 20:21:07 +00:00
|Parameter Name | Default Value | Description |
|---------------------------|---------------------------|-----------------------------------------------------------------|
|web.server.enable | False |Must be explicitly enabled |
|web.server.port | "8888" |Web servers “listen” port |
|web.server.document_root | "www" |Web servers document root |
|web.server.debug | False |Print Client/Server Communication. |
|web.server.ssl_enable | False |Encrypt traffic. Uses https instead of http. |
|web.server.path_to_ssl_cert|"~/.ssl/server.pem" |Path to your certificate. This is only used if ssl_enable = True|
|web.server.error_log_file | "civet_server_error.log" |CivetWeb error log file. |
2019-11-19 20:21:07 +00:00
For your web server to be active, you must at least specify the following :
2019-11-19 20:21:07 +00:00
```python
web.server.enable = True
2019-11-19 20:21:07 +00:00
```
To have your web server listen on port 8890, rather than 8888, you would specify:
2019-11-19 20:21:07 +00:00
```python
web.server.port = "8890"
```
To serve files from a directory called ```my_document_root```, rather than ```www```:
```python
web.server.document_root = "my_document_root"
2019-11-19 20:21:07 +00:00
```
To see client/server communication:
```python
web.server.debug = True
```
## When the Web Server Starts
The web server, if enabled, will start during sim initialization. When it does, it will look for the specified document root directory. By default thats “www”. If root directory doesnt exist, one will be created with a simple index.html file , a style sheet, and a couple of directories.
2019-11-19 20:21:07 +00:00
## Connecting to Your Web Server
Assuming that you accepted the default port, connect to ```http://localhost:8888/``` (```https://localhost:8888/``` if ssl_enable=True) from your web browser. This will display the index.html file in your root directory.
2019-11-19 20:21:07 +00:00
## The Default Document Root Directory
The default document root directory that was initially created for you is minimal.
2019-11-19 20:21:07 +00:00
```
www/
index.html
style.css
apps/
images/
```
2019-11-19 20:21:07 +00:00
**index.html** is the file thats displayed when you connect to http://localhost:8888/.
2019-11-19 20:21:07 +00:00
**style.css** is a CSS style-sheet thats included by index.html to give it some pizzazz.
2019-11-19 20:21:07 +00:00
The **apps** directory contains links to some example html/javascript applications
in ```$TRICK_HOME/trick_source/web/apps```.
2019-11-19 20:21:07 +00:00
The **images** directory contains trick_icon.png.
2019-11-19 20:21:07 +00:00
**You are encouraged to add to, modify, and/or delete these files and directories to best suite the needs of your project.**
2019-11-19 20:21:07 +00:00
2022-08-15 19:16:29 +00:00
Continue to [Configuring Trick with Civetweb](Configure-Civetweb)