# Running GoAhead

GoAhead is built to listen on default ports specified at build time. These are typically set to port 80 for HTTP and port 443 for SSL. However, you can override these via GoAhead command line options. If goahead is invoked with an IP address or port number on the command line, GoAhead will listen on that IP address and not the default.

The GoAhead command line usage is:

    goahead [options] [documents] [IP]:[PORT]

If the PORT component is omitted, GoAhead will listen on port 80. If the IP address is omitted and a port is supplied, GoAhead will listen on all network interfaces. An optional document root directory can be supplied for the location of the web pages.

## GoAhead Command Options

Option | Description
--- | ---
--auth filename | Define the name of the authentication configuration file. This is by default auth.txt. If GoAhead is built with PAM support (Unix Pluggable Authentication Modules), then passwords will be authenticated from the system password database.
--debugger | Disable timeouts to make it easier to debug.
--log logSpec | Specify a file to log messages. This will override the ErrorLog directive in the configuration file. The logSpec syntax is logName[:logLevel]. When the maximum size is exceeded, the log file will be rotated to logName.old and a new log file will be started. The log level is a number between 0 and 9 where 0 is the least verbose. The -l option is an alias for --log.
--home directory | Specify the starting directory for the root of the server. This directory contains GoAhead configuration file.
--route routeFile | This option overrides the default route configuration file name of "route.txt". When GoAhead starts, it reads the route configuration file to load URI routes. These routes define what actions should be taken when various client requests are received.
--verbose | Shorthand for --log stderr:2. The -v option is an alias for --verbose.
--version | Display the goahead version number

© Embedthis Software. All rights reserved.