Running into an error screen or unable to access the web app? Run through the following checks first.
This guide contains:
The first thing we're going to check is whether the god process monitoring service is running.
Run the following command in the console:
$ god status
This command should return:
If the command fails, try restarting with:
$ sudo /etc/init.d/god restart
$ god status
Command still not returning correctly? Check out the relevant log files by running:
$ vi /var/log/god.log
God process are working? Let's check whether the Web applications are running.
Unicorn is the application server so we're going check how many "unicorn master" processes are running with the following commands in the console:
$ ps aux | grep "[u]nicorn master"
We should see 2 processes: one corresponds to the CIC (the Combat Information Center, also known as the Dradis Administrator Console) and the other corresponds to Dradis itself.
The expected output looks like:
dradisp+ 978 0.0 1.5 52348 30948 ? Sl 06:08 0:00 unicorn master
--env production --config-file config/unicorn.rb --daemonize config.ru dradisp+ 1003 0.0 6.0 778160 122744 ? Sl 06:09 0:06 unicorn master
--env production --config-file config/unicorn.rb --daemonize config.ru
Did the "unicorn master" check uncover an issue with the CIC process? Time to dig into the relevant log files!
To access from the command line, just run this command with any of the filepaths above:
$ vi FILEPATH
Did the "unicorn master" check uncover an issue with the Dradis process? Time to dive into the log files!
To access the log files from the command line, just run the following command with any of the complete filepaths above:
$ vi FILEPATH
This section includes specific errors that you might encounter and the possible solution for resolving the error.
404 Not Found - nginx
Most likely this issue is caused by a down unicorn service and the god process check is giving you a false positive. Try starting up the dradispro-unicorn server using the command:
$ god start dradispro-unicorn
If nothing has changed, check the unicorn error logs. It should tell you why the server is failing to start:
$ vi /opt/dradispro/dradispro/shared/log/unicorn.err.log
If you get an error about a missing web file (js/css/html) or image file, it might be that something went wrong with your instance that an asset is now missing. To fix this, try running the following commands to compile the assets and restart the server:
$ RAILS_ENV=production bundle exec rails assets:precompile
$ god restart dradispro-unicorn
Site cannot be reached!
If the site is unresponsive and unreachable, it might be that the nginx server is down. Run the following command to check if the nginx service is running:
$ ps ax | grep nginx
If the service is not there, try starting up the nginx service using the command:
$ sudo service nginx start
If that didn't work, there might be an issue with your custom nginx configuration. The relevant files can be found in /etc/nginx/sites-*. The following command should help test the configuration:
$ sudo service nginx configtest
You might get an Internal Server Error (500) and an error message along the lines of
NameError: undefined local variable or
NoMethodError: undefined method.
Unfortunately, this might be a bug in the code and the only way to resolve this is patch to the server. If you encounter this, note down the steps you took to reach this error and contact the Support team so we can try to replicate this and resolve this issue right away.
No smoking guns with the processes or in the log files? Let's check your connectivity to make sure the VM can reach our activation server.
Our activation server is at https://portal.securityroots.com. To test the connectivity, run the following from the console as dradispro:
If the command succeeds (transmits and receives packets), you've got connectivity! Continue on to the next step.
If the command fails, it looks like we need to establish connectivity first.
Check the DNS configuration in `/etc/resolv.conf` and update the DNS servers. You can try adding this content:
Run the ping command again to confirm that you've established a connection with the activation server.
Note: You may need to prepend
sudo to your editor (such as
sudo vim, or
sudo nano /etc/resolv.conf) in order to make these changes if you receive permission errors when trying to save your changes.
Run the following command from the console as dradispro:
$ curl -i https://portal.securityroots.com
This command should return the remove page.
If it doesn't, it may be that DNS is working but traffic is being stopped (by a firewall?). If you know who to contact internally to get this solved, please let them know that you need access to tcp/443 on portal.securityroots.com.
If the ping command resolves to "host unknown", make sure that your Dradis image adapters are set up properly.
Your Dradis image should have two adapters, NAT and Host-only. They should already be set, but make sure to check them and make changes if needed. If they are set up correctly, go to step 3.
To add a Host-only interface, open VirtualBox's Preferences > Network. You can use the default values. (remember to enable the DHCP Server)
Once that is done, update the Dradis image's Network settings with the NAT adapter and another adapter for the Host-only network (choosing the one you made in Step 1).
Next, you'd need to make sure the two interfaces (eth0 and eth1) are configured. You can do that by editing the file /etc/network/interfaces with your preferred text editor and make it look like this:
# This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). # The loopback network interface auto lo iface lo inet loopback # NAT auto eth0 iface eth0 inet dhcp # Host only auto eth1 iface eth1 inet dhcp # The primary network interface allow-hotplug eth0 iface eth0 inet dhcp
Check if the interfaces are up with the command
$ ip a
Check if any interfaces are DOWN and UP them with the command
$ ip link set <interface_name> up
$ ip link set eth1 up
Restart the instance and test with the command
$ ping portal.securityroots.com
A proxy can be configured by adding
these lines to
export http_proxy="http(s)://<proxy>:<port>" export https_proxy="http(s)://<proxy>:<port>"(or whatever is needed in your own network) and then restarting your app with:
$ god restart
When using a proxy, we have seen cases where
curl connects properly, but Dradis Pro refuses
to reach the activation server.
In that case, to test if Dradis Pro is using the proxy properly, try executing the test script already included in the app:
$ cd /opt/dradispro/dradispro/current $ RAILS_ENV=production bundle exec rails runner /opt/dradispro/bin/dp-test-proxy.rb
The output of the last command must say it is using the proxy and must include
If it doesn't, something about your proxy configuration may be incompatible with Dradis. Adjusting your proxy settings may resolve the error. If not, please contact our Support team to perform an offline activation of your Dradis instance.
Still running into issues after walking through the 3 steps above? Please reach out to our Support team and we'll give you a hand.
Next help article: My tool output won't upload! →