Troubleshooting guide - 2langnic/GlobaLeaks GitHub Wiki
Troubleshooting has the goal to enhance your GlobaLeaks administration skill, in order to investigate in the issues that may happen, and supply to us with more detailed report.
If the admin password is forgotten, having access to the db is possible to change it by using a script called gl-reset-password
gl-reset-password --help
Usage: gl-reset-password [options]
Options:
-h, --help show this help message and exit
-f DB_PATH, --file=DB_PATH
change password on a provided db file
[default: /var/globaleaks/db/glbackend-5.db]
-v, --verbose enable verbose output of executed commands
[default: False]
here is an example of usage:
gl-reset-password --file /var/globaleaks/db/glbackend.db
Editing DB at path /var/globaleaks/db/glbackend.db
=================================
|| Your new admin password ||
=================================
Username: admin
Password: 7cJjfDJBMwp3JnBG
=================================
If you encounter installation issue and you are not able to successfully access GlobaLeaks web interface, you should always:
- Be sure to follow strictly the Installation Guide for installation
- Be sure to match the Technical Requirements for the hardware and operating system version
If those procedure didn't worked, write us to [email protected] or come on irc.oftc.net #globaleaks looking around for help.
GlobaLeaks does have different kind of log files and logging priority to facilitate the debugging at various level.
The log files are stored in the working dir (by default /var/globaleaks), under the "log" directory, as follow:
- globaleaks.log - Main application log
- twistd.log - Logging/debugging HTTP requests and Twisted related issue
- jsondump/ - Log of json I/O of each request into this directory
globaleaks.log contain the applicative log of GlobaLeaks. You can choose the working_dir using the command line option --working-dir, and you can enhance the log verbosity using:
--loglevel DEBUG
--loglevel ERROR
--loglevel INFO
--loglevel CRITICAL (default option)
This will increase the amount of the event reported.
Privacy Note: some log entry of DEBUG and ERROR level, may contain information about the users and about the file. This option is likely better if used only while troubleshooting and not in a stable production.
maybe enabled the twisted logging, using via command line the option:
--twistd_log (or -t)
twistd.log contain the HTTP requests, with HTTP code and time of service. Some error information are presented also in twistd.log
This log is stored in /var/globaleaks/log/ (or in the specified workingdir/log)
Using the option:
--jsondump=$NUMBER_MAJOR_or_EQUAL_THAN_ZERO
Or:
-j $NUMBER_OR_ZERO
you enable an extremely verbose logging activity, and inside the directory, you can found a different file for every HTTP path contacted in the REST communications, with their requests and response logged.
the $NUMBER_MAJOR_THAN_ZERO passed to the option, specify the amount of requestes/responses that would be logged before the option deactiate.
The logs are stored in /var/globaleaks/log/jsondump/ (or in the specified workingdir/log/jsondump)
GlobaLeaks does support a method to catch all Python/Twisted language exception that represent software bugs, sending that via email as a way to preemptive detect issues.
By default this is enabled on globaleaks 0.2 and send application errors to the GlobaLeaks Project. We strongly advised to change the email for error reporting from settings.py at the line.
Different changes may be done on GlobaLeaks, this line need to be update to specify your email address, if you want receive unexpected and unhandled exception, via mail.
self.error_reporting_destmail = [email protected]
These informations are filled with some spare (not guarantee working) settings, a login password server able do send SMTP mails.
self.error_reporting_username = [email protected]
self.error_reporting_password = mysafepassword
self.error_reporting_server = a.smtp.server.address.tld
self.error_reporting_port = 12345
From the Administrator panel there are three overview option, they permit a general overview of the database content and node usage. some anomalies may be spotted from this point of view. The three view are: Tip usage (frequency of access, time to live, etc), Files reference on the DB and eventually inconsistency with files stored but not recorded on the DB (nothing that can happen normally, but if the db is removed from a running node, the files related would remain stored).
- status: is usually first, and mean that the InternalTip has been delivered the first time to the receiver.
- creation_date: aligned with the timezone of the server, the creation date mean the time when whistleblower has accessed to the submission interface.
- wb_last_access: its a relative date showing if the wb has come back with the receipt
- internalfiles: size, filename and content-type to the submitted files.
- receivertips: the status of the users tips, notified mean that they have already received an email with the new Tip notification.
- expiration_date: the absolute time of when the tip, related files and comment, would be deleted by the system (check customization guide to change it, search for "timetolive")
- context: name to the context which the submission belongs to.
- comments: comments authors and timing.
- User: name and link to the Receiver
- failed login: number of failed login since the last successful access.
- Receiver Tips: a list containing the status of the available receivertip (notified, commonly), and the notification date, if available.
- Files and download: list of available files and the number of download performed.
- Name: Original filename, interntip (ID) which belog to, date of submission and path on the disk
- Info: content-type declared by the whistleblowers browser.
- Size: in byte.
- References: number of ReceiverTips associated to that file.
When reporting an issue with the User Interface be sure to provide the following elements:
-
The browser version
-
The operating system version you are using
You should include the output (if any) of the developer console when the bug occurs. Be sure to open the developer console and then reproduce the bug.
In Chrome this can be done with: Windows: CTRL-SHIFT-J Mac OS X: ALT-⌘-J
In Firefox this can be done with: Windows: CTRL-SHIFT-K Mac OS X: ALT-⌘-K
If the issue is a UI bug (i.e. a problem in visualization) please attach a screenshot.
Look here for details on how to take a screenshot on Windows.
Look here for details on how to take a screenshot on Mac OS X