From 9c3fde01c6d72c1440a985b55d6fc045c336e599 Mon Sep 17 00:00:00 2001 From: Ferry Boender Date: Wed, 19 Apr 2017 18:23:47 +0200 Subject: [PATCH] Listen on port 8081 by default instead of 80 --- README.md | 8 ++++---- contrib/scriptform.init.d_debian | 2 +- contrib/scriptform.init.d_redhat | 2 +- doc/MANUAL.md | 22 +++++++++++----------- src/scriptform.py | 4 ++-- 5 files changed, 19 insertions(+), 19 deletions(-) diff --git a/README.md b/README.md index 6e44582..694cf64 100644 --- a/README.md +++ b/README.md @@ -101,9 +101,9 @@ Set some rights and create the initial `htpasswd` file: We can now start ScriptForm to start serving the form over HTTP. By default it starts as a daemon, so we specify the `-f` option to start it in the foreground -instead. +instead. We also specify the port, even though 8081 is already the default. - $ scriptform -f -p8080 ./test_server.json + $ scriptform -f -p8081 ./test_server.json The user is presented with the following form: @@ -197,7 +197,7 @@ ScriptForm can run both in daemon mode or in the foreground. In daemon mode, we can control ScriptForm with the `--start` and `--stop` options. By default it runs on port 80, which we can change with the `-p` option. - $ ./scriptform -p8000 ./test_server.json + $ ./scriptform -p8081 ./test_server.json This puts ScriptForm in the background as a daemon. It creates a PID file and a log file. @@ -205,7 +205,7 @@ log file. $ tail scriptform.py.log 2015-04-08 07:57:27,160:DAEMON:INFO:Starting 2015-04-08 07:57:27,161:DAEMON:INFO:PID = 5614 - 2015-04-08 07:57:27,162:SCRIPTFORM:INFO:Listening on 0.0.0.0:8000 + 2015-04-08 07:57:27,162:SCRIPTFORM:INFO:Listening on 0.0.0.0:8081 In order to stop the daemon: diff --git a/contrib/scriptform.init.d_debian b/contrib/scriptform.init.d_debian index 719b2d5..e4f4c65 100755 --- a/contrib/scriptform.init.d_debian +++ b/contrib/scriptform.init.d_debian @@ -20,7 +20,7 @@ PIDFILE=/var/run/scriptform.pid LOGFILE=/var/log/scriptform.log DAEMON=/usr/bin/scriptform FORM_CONFIG= -PORT=8080 +PORT=8081 DAEMON_ARGS="--port $PORT --pid-file $PIDFILE --log-file $LOGFILE $FORM_CONFIG" # Define LSB log_* functions. diff --git a/contrib/scriptform.init.d_redhat b/contrib/scriptform.init.d_redhat index 477408a..a5ec8b6 100755 --- a/contrib/scriptform.init.d_redhat +++ b/contrib/scriptform.init.d_redhat @@ -18,7 +18,7 @@ PIDFILE=/var/run/scriptform.pid LOGFILE=/var/log/scriptform.log DAEMON=/usr/bin/scriptform FORM_CONFIG= -PORT=8080 +PORT=8081 DAEMON_ARGS="--port $PORT --pid-file $PIDFILE --log-file $LOGFILE $FORM_CONFIG" start() { diff --git a/doc/MANUAL.md b/doc/MANUAL.md index e3fa023..6d695d5 100644 --- a/doc/MANUAL.md +++ b/doc/MANUAL.md @@ -176,18 +176,18 @@ production ready. Sriptform can be run directly from the shell in the foreground with the `-f` (`--foreground`) option. This is most useful for testing and development: - $ /usr/bin/scriptform -p8000 -f ./formdef.json + $ /usr/bin/scriptform -p8081 -f ./formdef.json You can specify the `-r` option to automatically reload the JSON file upon each request: - $ /usr/bin/scriptform -p8000 -r -f ./formdef.json + $ /usr/bin/scriptform -p8081 -r -f ./formdef.json ### Daemon If you do not specify the `-f` option, Scriptform will go into the background: - $ /usr/bin/scriptform -p8000 ./formdef.json + $ /usr/bin/scriptform -p8081 ./formdef.json $ A pid file will be written in the current directory, or to the file specified @@ -260,8 +260,8 @@ Enable Apache modules mod_proxy and mod_proxy_http: Configure: Redirect permanent /scriptform /scriptform/ - ProxyPass /scriptform/ http://localhost:8000/ - ProxyPassReverse /scriptform/ http://localhost:8000/ + ProxyPass /scriptform/ http://localhost:8081/ + ProxyPassReverse /scriptform/ http://localhost:8081/ Make sure the path ends in a slash! (That's what the redirect is for). Otherwise, you may encounter the following error: @@ -336,10 +336,10 @@ Fix the permisions so it is executable: Now start Scriptform with our newly created form configuration file: - $ scriptform -p8000 -f -r ./sf_tutorial.json + $ scriptform -p8081 -f -r ./sf_tutorial.json -This starts the built-in webserver which will serve the form on port 8000. When -you open it in your browser (http://127.0.0.1:8000/) you will immediately see +This starts the built-in webserver which will serve the form on port 8081. When +you open it in your browser (http://127.0.0.1:8081/) you will immediately see the form. If we had multiple forms in this form configuration, you would first see a list of all the forms. @@ -378,7 +378,7 @@ Now modify the `job_sysinfo.sh` script to output HTML instead of plain text:
$DISK
END_OF_TEXT -Open http://127.0.0.1:8000 in your browser and submit the form. That looks a +Open http://127.0.0.1:8081 in your browser and submit the form. That looks a little better, doesn't it? The `html` output type lets you embed HTML in the output of the script. The default output type is `escaped`, which escaped any HTML and just outputs plain text wrapped in a Scriptform response header and @@ -441,9 +441,9 @@ Make it executable: And start Scriptform (not required if it's still running and you're using the same .json file): - $ scriptform -p8000 -f -r ./sf_tutorial.json + $ scriptform -p8081 -f -r ./sf_tutorial.json -Point your browser to http://127.0.0.01:8000. Try submitting the form with and +Point your browser to http://127.0.0.01:8081. Try submitting the form with and without entering a name. As you can see, Scriptform makes form values available to scripts through the diff --git a/src/scriptform.py b/src/scriptform.py index 954d32f..ed15ac4 100755 --- a/src/scriptform.py +++ b/src/scriptform.py @@ -135,7 +135,7 @@ class ScriptForm(object): self.form_config_singleton = form_config return form_config - def run(self, listen_addr='0.0.0.0', listen_port=80): + def run(self, listen_addr='0.0.0.0', listen_port=8081): """ Start the webserver on address `listen_addr` and port `listen_port`. This call is blocking until the user hits Ctrl-c, the shutdown() method @@ -187,7 +187,7 @@ def main(): # pragma: no cover action="store_true", default=False, help="Generate password") parser.add_option("-p", "--port", dest="port", action="store", type="int", - default=80, help="Port to listen on (default=80)") + default=8081, help="Port to listen on (default=8081)") parser.add_option("-f", "--foreground", dest="foreground", action="store_true", default=False, help="Run in foreground (debugging)")