System Administration

System Administration information

Noodle SSO can be setup with IWA directly, or via SAML;

For non managed users there is also an option to store the password in the web browser:

  1. Add a web shortcut to the users startup
  2. Options:
    • Enable  the "Noodle > System Tools > Settings > User Settings > Remember my login information" feature
      • http[s]://YOUR.DOMAIN.TLD[:PORT]/[IntraNet.po|Noodle.po]
      • This option will ask for a password if the user ever clicks logout.
      • A link can be downloaded from the profile page.

This page is for those who host on their own Windows server and are trying to diagnose the cause of a 404.

  1. If your browser on the server is displaying the page (http://127.0.0.1) properly, it's a networking problem:
    • check port forwarding, routing, firewalls, and dns on the server, client, and every device inbetween.
  2. If your browser on the server is displaying the wrong page or anything other than a timeout, it's a service conflict (logs contains "Address already in use"):
    • Use a different port or stop and disable other services using port 80.
      • Windows - built in:
        • sc config http start= disabled
        • net stop http /y
      • Linux - list what is using the port:
        • netstat -lnp | grep ":80"
  3. If /logs/err.log said it can't find a class:
    • use 7z to check the build is not corrupted.
  4. If there is no noodle.log it's a .bat or Java problem:
    • run the intranet.bat one line at a time to isolate the problem.
    • reinstall Java and update intranet.bat to the new java.exe .
  5. If there is no java.exe in the task manager it's a config problem:
    • look in the log file for errors.
    • run a copy of intranet.bat without the loop or exit to find errors not in the log.

Set your clock to 24h for best results.

A simple windows backup example:

echo test once then you can double click to backup
exit -1
net stop Noodle
TASKKILL /T /F /IM java.exe
net stop PostgreSQL-9.1
FOR /F "TOKENS=1 eol=/ DELIMS=-" %%A IN ('DATE/T') DO SET yyyy=%%A
FOR /F "TOKENS=2 eol=/ DELIMS=-" %%A IN ('DATE/T') DO SET mm=%%A
FOR /F "TOKENS=3 eol=/ DELIMS=- " %%A IN ('DATE/T') DO SET dd=%%A
FOR /F "TOKENS=1 eol=/ DELIMS=:" %%A IN ('TIME/T') DO SET hh=%%A
FOR /F "TOKENS=2 eol=/ DELIMS=:" %%A IN ('TIME/T') DO SET mn=%%A
SET timedate=%yyyy%%mm%%dd%_%hh%%mn%
SET FOLDER=D:\PGSQL_data_backup_%timedate%
xcopy /E /C /I /H /Q "C:\Program Files (x86)\PostgreSQL\9.1\data" %FOLDER%
net start PostgreSQL-8.4
net start Noodle
"C:\Program Files (x86)\7-Zip\7z.exe" a %FOLDER%.7z %FOLDER%
rmdir /S /Q %FOLDER%
echo %FOLDER%.7z

Noodle verifies redirects it sends to your browser.
If you are accessing Noodle through one IP/domain this will not effect you.
If you use multiple IP/domains via NAT etc you will need one of 3 solutions:

  1. Add the IP/domains to the hosts file
  2. Add the IP/domains to your DNS (as A/CNAME and PTR) pointing to the Noodle server
  3. Add the following to noodle.properties: URLOverride = "https://noodle.domain.tld , or just: URLOverride = "/"

Be sure to update the "URL for Noodle" in the settings so that links in emails will resolve properly.
If you use multiple IPs without a domain name links in emails can not be expected to work reliably.
If you use multiple IPs on the same server you must bind to one of them.

If the Noodle log contains something like this:

2012.01.24 13:48:51: .intranet,ALERT: ConnectionAllocator: failed to allocate a new connection
2012.01.24 13:48:51: .intranet,ALERT+ The connection pool is empty!
2012.01.24 13:48:51: .intranet,ALERT+ due tocom.inet.tds.ab: Msg 4064, Level 11, State 1, Line 1, Sqlstate 01000
2012.01.24 13:48:51: .intranet,ALERT+ [WIN-5A73M1LPPMU]Cannot open user default database. Login failed.Error code: 4064
2012.01.24 13:48:51: .intranet,ALERT+ SQLState: 01000

Unlisted codes:

01 ambiguous
02 Invalid userid
05 Invalid userid
06 Attempt to use a Windows login name with SQL Authentication
07 Login disabled and password mismatch
08 Password mismatch or password policy clash
09 Invalid password
11 Valid login but server access failure
12 Valid login but server access failure
13 SQL Server service paused
16 user does not have permissions to log into the target database
18 Change password required
27 could not determine the initial database for the session.
4064 Cannot open user default database. Login failed. (wait a few more seconds for the database to start and use net start in the intranet.bat)
18456 can be caused by a firewall

SQL to list all error codes for your MSSQL version:

SELECT error,description FROM sysmessages where msglangid='1033' order by error;

If your server has more than one (non lo) IP you will need to bind Noodle to one of them for the license key to work.
Add the address to the connection In server.xml

Restart the service for changes to take effect.

Noodle works with PostgreSQL and uses the contributions which are included in the windows installer but installed separately with package management systems like apt and yum.

before PGSQL-v9 will need:

CREATE LANGUAGE plpgsql;

All versions need a user, database and rights and the following to load the lo-manage triggers (the Noodle installer for Windows will do this for you):

ALTER USER noodleuser WITH SUPERUSER;

You will need these SQLs if you are upgrading from an old version.

Noodle uses 4 things on the server

  1. The Noodle folder (older versions are named IntraNet)
  2. The database folders (can be on a different server)
  3. The Java Folder
  4. Optional tools; ffmpeg, anything used by custom search filters, etc

On Windows the Noodle folder is in %PROGRAMFILES(x86)% by default.

On Linux the Noodle folder is in /opt/ by default.

Among other things the Noodle folder contains the following of potential interest:

  1. conf/server.xml (connection settings)
  2. conf/noodle.properties (application settings)
  3. logs
  4. optional files like MOTD.html/custom.js/noodle.jks

Noodle will run on almost anything ($5 raspberrypi included) but we recommend the following setups:

Moderate dedicated server or VM only running operating system, Java, database, and Noodle:

  • 4GB RAM (1 for the OS 0.5 for Noodle and the rest for the RDBMS)
  • Dual core
  • 1TB drive space
  • 100mbps

Big configuration:

  • 2GB RAM + the size of your database
  • Quad core (any more cores will likely not be used)
  • AES-NI
  • software raid 0 (or SSDs)
  • 10mbps per user

An off site backup is recommended.

When using a VM shared IO can be a issue so be sure to verify your VM is getting the speed it needs.

How to reset PostgreSQL password on Windows:

0) Kill java from the task manager
1) Update your

%PROGRAMFILES%\PostgreSQL\9.0\data\pg_hba.conf

to "trust" for local connections.
2) Restart the PostgreSQL service
3) Connect as user postgres with PGAdmin
4) Set your password:

ALTER USER postgres WITH PASSWORD 'Pgsq1p@ssword';

5) Undo your changes to pg_hba.conf
6) Restart the PostgreSQL service
7) Restart the Noodle service