Octave Web-Interface FAQ
Octave web interface FAQ
FAQ
This section answeres some questions I received via email and short descriptions how we resolved the problems.
FAQ
In diesem Abschnitt werden ein paar Fragen, die ich über Email erhalten habe, (als Kopie bzw. Kurzbeschreibung) beantwortet.
Is the software available for Windows platforms?
Short answer: No. The web interface was compliant in the beginning but as installing Octave and gnuplot for CLI usage was already too much hazzle the support for windows was dropped in an early stage.
Gibt es die Software für Windows?
In Kürze: Nein, leider nicht. Die Webschnittstelle war anfangs kompatibel, jedoch stellte sich schnell heraus, dass die Installation von kommandozeilenbasiertem Octave mit Gnuplot (ohne GUI) ein sich immer wieder änderndes Problem darstellte. Daher wurde der Support für diese Platform gestrichen.
Can I protect my scripts with user/password?
Yes. A simple way is to add basic authentication in the /var/www/octave/.htaccess
file.
The sample is for a password file containing SHA1 hashes of the passwords (no plain
text), however I would recommend to specify the location of this file not in the www-root.
Kann ich Skripts mit Nutzernamen und Passwort schützen?
Ja. Der einfachste Weg ist in /var/www/octave/.htaccess
ein paar Zeilen hinzuzufügen.
Das Beispiel arbeitet mit einer SHA1-Passwortdatei im Verzeichnis der Webschnittstelle, ich
empfehle allerdings einen anderen Speicherort zu wählen.
<FilesMatch "htoctaveusers$">
Order Allow,Deny
Deny from all
</FilesMatch>
AuthType Basic
AuthName "Restricted script access"
AuthUserFile /var/www/octave/.htoctaveusers
Require valid-user
# Add users type in the shell:
# $ htpasswd -csb /var/www/octave/.htoctaveusers USERNAME PASSWORD
# [...]
Alternatively you can use PHP and database techniques or LDAP connectors to do so. Introducing this is out of the scope here. But a good location to hook this user check is the web interface config file:
Alternativen sind PHP-Techniken, die auf Datenbanken bzw. LDAP basieren. Auf diese Möglichkeiten einzugehen würde den Rahmen der Antwort sprengen, aber eine gute Stelle diese Nutzervalidierung aufzurugen ist die Konfigdatei der Webschnittstellt:
<?
// /var/www/octave/include/config.php
// auth.php "`dies()`" with a 401 status if not logged in or authentication fails.
require_once($_SERVER['DOCUMENT_ROOT'] . "/PATH/auth.php");
// [...]
I am modifying the web interface. How to debug?
Simple: Set enable the swlib tracer in the config file and use the tracer::trace(...)
function:
<?
// /var/www/octave/include/config.php
$WEBOCTAVE_OCTAVE_TRACE_LEVEL = LOG_DEBUG; // Modify this as chatty you like the software
$WEBOCTAVE_OCTAVE_TRACE_PRINT_PROTOCOL = true;
/// Your file/location/ where you work:
[...]
use sw\Tracer;
Tracer::trace("Hello, here a text!", LOG_ERROR);
Tracer::trace("Hello, here a text!", LOG_WARNING);
Tracer::trace("Hello, here a text!", LOG_NOTICE);
Tracer::trace("Hello, here a text!", LOG_DEBUG);
$var = array('something', array('key1' => 'sub-something', 'key2' => true));
Tracer::trace_r($var, "Content of variable \$var", LOG_DEBUG);