Listen on port 8081 by default instead of 80

pull/7/head
Ferry Boender 7 years ago
parent 58d79a1dbb
commit 9c3fde01c6
  1. 8
      README.md
  2. 2
      contrib/scriptform.init.d_debian
  3. 2
      contrib/scriptform.init.d_redhat
  4. 22
      doc/MANUAL.md
  5. 4
      src/scriptform.py

@ -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 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 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: 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 can control ScriptForm with the `--start` and `--stop` options. By default it
runs on port 80, which we can change with the `-p` option. 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 This puts ScriptForm in the background as a daemon. It creates a PID file and a
log file. log file.
@ -205,7 +205,7 @@ log file.
$ tail scriptform.py.log $ tail scriptform.py.log
2015-04-08 07:57:27,160:DAEMON:INFO:Starting 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,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: In order to stop the daemon:

@ -20,7 +20,7 @@ PIDFILE=/var/run/scriptform.pid
LOGFILE=/var/log/scriptform.log LOGFILE=/var/log/scriptform.log
DAEMON=/usr/bin/scriptform DAEMON=/usr/bin/scriptform
FORM_CONFIG= FORM_CONFIG=
PORT=8080 PORT=8081
DAEMON_ARGS="--port $PORT --pid-file $PIDFILE --log-file $LOGFILE $FORM_CONFIG" DAEMON_ARGS="--port $PORT --pid-file $PIDFILE --log-file $LOGFILE $FORM_CONFIG"
# Define LSB log_* functions. # Define LSB log_* functions.

@ -18,7 +18,7 @@ PIDFILE=/var/run/scriptform.pid
LOGFILE=/var/log/scriptform.log LOGFILE=/var/log/scriptform.log
DAEMON=/usr/bin/scriptform DAEMON=/usr/bin/scriptform
FORM_CONFIG= FORM_CONFIG=
PORT=8080 PORT=8081
DAEMON_ARGS="--port $PORT --pid-file $PIDFILE --log-file $LOGFILE $FORM_CONFIG" DAEMON_ARGS="--port $PORT --pid-file $PIDFILE --log-file $LOGFILE $FORM_CONFIG"
start() { start() {

@ -176,18 +176,18 @@ production ready.
Sriptform can be run directly from the shell in the foreground with the `-f` Sriptform can be run directly from the shell in the foreground with the `-f`
(`--foreground`) option. This is most useful for testing and development: (`--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 You can specify the `-r` option to automatically reload the JSON file upon each
request: request:
$ /usr/bin/scriptform -p8000 -r -f ./formdef.json $ /usr/bin/scriptform -p8081 -r -f ./formdef.json
### <a name="invocations_daemon">Daemon</a> ### <a name="invocations_daemon">Daemon</a>
If you do not specify the `-f` option, Scriptform will go into the background: 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 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: Configure:
Redirect permanent /scriptform /scriptform/ Redirect permanent /scriptform /scriptform/
ProxyPass /scriptform/ http://localhost:8000/ ProxyPass /scriptform/ http://localhost:8081/
ProxyPassReverse /scriptform/ http://localhost:8000/ ProxyPassReverse /scriptform/ http://localhost:8081/
Make sure the path ends in a slash! (That's what the redirect is for). Make sure the path ends in a slash! (That's what the redirect is for).
Otherwise, you may encounter the following error: 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: 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 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:8000/) you will immediately see 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 the form. If we had multiple forms in this form configuration, you would first
see a list of all the forms. 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:
<pre>$DISK</pre> <pre>$DISK</pre>
END_OF_TEXT 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 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 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 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 And start Scriptform (not required if it's still running and you're using the
same .json file): 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. without entering a name.
As you can see, Scriptform makes form values available to scripts through the As you can see, Scriptform makes form values available to scripts through the

@ -135,7 +135,7 @@ class ScriptForm(object):
self.form_config_singleton = form_config self.form_config_singleton = form_config
return 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`. Start the webserver on address `listen_addr` and port `listen_port`.
This call is blocking until the user hits Ctrl-c, the shutdown() method 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, action="store_true", default=False,
help="Generate password") help="Generate password")
parser.add_option("-p", "--port", dest="port", action="store", type="int", 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", parser.add_option("-f", "--foreground", dest="foreground",
action="store_true", default=False, action="store_true", default=False,
help="Run in foreground (debugging)") help="Run in foreground (debugging)")

Loading…
Cancel
Save