Log inRegister
You are here: Boossy » WebDesign » WdWebsites » 1-07-Boossy » CgiBin

cgi-bin

In de cgi-bin-directory van mijn diverse omgevingen heb ik een aantal tools/scripts staan:

.htaccess

De directory is beveiligd via het control panel van !DirectAdmin:

Uw Account > Beveiligde mappen: kies dan een map en ken gebruikersnaam en wachtwoord toe.

fileman.cgi

heeft ook source files in public_html/fileman

File manager van GossamerThreads: https://www.gossamer-threads.com
  • met installer
  • recentste versie (3.0.0) dateert al van 2008, maar…
  • … heeft eigen login-beveiliging
  • … biedt de mogelijkheid om rechtstreeks vanuit de file manager bestanden te bewerken door erop te klikken, zelfs met de keuze tussen TEXT en WYSIWYG (!TinyMCE, eveneens versie uit 2008)
  • biedt naast klassieke opties (search / replace, upload, new file/Folder) ook andere mogelijkheden:
    • shell commands
    • beveiliging
  • owner & group worden in plain text getoond (niet met hun identifier)
  • permissions worden "symbolic" getoond (bv. rwx r-x r-x), en niet "octal" (bv. 755)
Issues waren/zijn er met:
  • bepalen van de Root Directory
    • installatiebestanden rechtstreeks in cgi-bin zetten
    • install.cgi moet rwxr--r-- zijn, anders start het installatiescript niet
    • luna_core.css moet naar public_html/fileman/luna/
  • owner- en permissions-kolommen overlappen
  • slechts 1 paneel
User/Password wijzigen:
  • user zit opgeslagen in: ~/cgi-bin/private/fileman.conf
  • password kan vanuit de applicatie zelf gewijzigd worden: Settings > Change Password

FileManager.php

File manager van Dull Dusk: https://www.dulldusk.com/phpfm/
  • gewoon 1 PHP-file
  • dropdown met verschillende roots, als open_basedir aanwezig is
  • kan via de Config ook met een wachtwoord beveiligd worden (niet geprobeerd)
  • heeft ook editor, maar enkel in TEXT
  • daarnaast wel een VIEWER
  • twee panelen, zoals in Explorer: een navigatiepaneel links, en de inhoud daarvan dan rechts
  • extra mogelijkheden: copy / move, select all / none, compress
Issues waren/zijn er met:
  • soms worden bestanden niet gedeselecteerd als je een ander bestand aanklikt
  • niet alle omgevingen hebben een waarde in de php.ini voor Open Basedir (open_basedir): dan krijg je geen dropdown met mogelijke roots:
    dan maar handmatig de basedir gezet:
    // $open_basedir_ini = trim(str_replace(DIRECTORY_SEPARATOR,'/',@ini_get("open_basedir")));
    $open_basedir_ini = '/home/domain/:/tmp:/var/tmp:/usr/local/lib/:/usr/local/lib/php/:/usr/local/php55/lib/php/:/usr/local/php71/lib/php/';
  • geen WYSIWYG editor
  • shell commands werken niet: je krijgt altijd de melding '[RPC]' Exec functions disabled
  • owner en group worden middels hun identifier getoond
  • permissions staan default "octal", maar kunnen via de knop "Resolve IDs" vertaald worden naar "symbolic"

lamp.pl - lamp.cgi

scriptje om vast te stellen welke versies er geïnstalleerd zijn van:
  • Linux
  • Apache
  • !MySQL
  • PHP / Per
  • diff & grep
Met de overgang van PHP 5.5 naar 7.1 ook de twee versies opgehaald - met dank aan de open_basedir die op kunststudio-livingart geactiveerd staat:

$title = "1st PHP version (phpversion())";
print "<html><head><title>$title</title></head><body>";print "<h1>$title</h1>\n";
my $output = `/usr/local/php71/bin/php phpv.php`;
print "\n$output\n";

$command=`php -v`;
$title = "2nd PHP version (php -v)";
print "<html><head><title>$title</title></head><body>";print "<h1>$title</h1>\n";
print $command;

Op HostingSquad wordt .pl niet erkend als extensie (bestand wordt als text getoond) - gewoon de extensie wijzigen in .cgi volstaat

phpinfo.php - phpinfo()

het klassieke script om alles over de PHP-installatie te weten te komen: versies, OS, build date, paden enz.

phpv.php - phpversion()

toont uitsluitend het versienummer van php

sizes.php

Geen idee waar ik het script precies vandaan heb, maar het is gebaseerd op: https://stackoverflow.com/questions/7121479/listing-all-the-folders-subfolders-and-files-in-a-directory-using-php#answer-7121809

Toont de boomstructuur vanaf een bepaalde root met de bestandsgrootte.

Heel handig om grote bestanden op te sporen voor opkuisdoeleinden!

Eigen wijziging:
  • datum van laatste wijziging toegevoegd:
$fileModTime = date ("d/m/Y H:i:s", filemtime($fileName));

Issue:
  • is niet bruikbaar out of the box, je moet eerst nog de $root zetten, hoewel dat niet duidelijk is bij het eerste gebruik of ook nergens vermeld staat:
  • dus je kunt zeggen:
<span style='background-color: transparent;'>$root = "../../..";</span>
  • jaloers als ik was van de dropdown van FileManager.php, heb ik zelf een dropdown gemaakt (zie c9 Webdesign > .trials):
<body>
<form action="" method="post">
<select name="root" onchange="this.form.submit();">
<option value="" selected disabled hidden>Choose here</option>
<option value="/home/domain/domains">/home/domain/domains</option>
<option value="/tmp">/tmp/</option>
<option value="/var/tmp">/var/tmp/</option>
<option value="/usr/local/lib/php">/usr/local/lib/php/</option>
<option value="/usr/local/php71/lib/php">/usr/local/php71/lib/php/</option>
</select>
</form>
<?php
 $root = $_POST['root'];
  • als het echt te groot wordt, wordt de sizes.php onbruikbaar - de output duurt zo lang dat hij onvolledig wordt afgebroken - in dat geval kun je via de command prompt volgende commando lanceren:
    • ls -sR / > filesAndSizes.txt (snel)
      of
    • find / -exec ls -lh {} \; (traag)

FileRun

Buiten de cgi-bin-directory heb ik ook nog twee andere file managers geïnstalleerd, FileRun is er een van.

Het is wel een file manager voor niet-servergerelateerde files - een cloud-dienst als Pydio eigenlijk.

Server Requirements Output:

Server requirements

Please check the following results and fix any possible problem before continuing.
For optimizing your server's PHP configuration for FileRun, please check this page.
Requirement Status Notes
PHP Version 7.1.17 OK
PHP extension: PDO/MySQL Loaded OK
PHP configuration: open_basedir OK
PHP extension: OpenSSL Loaded OK
PHP configuration: memory_limit 256M OK
PHP configuration: display_errors 0 You will not be able to see eventual error messages. You will only see blank pages instead.
PHP configuration: error_reporting 22519 OK
PHP configuration: "exec" Disabled You will not be able to use any third-party programs (like ImageMagick for example) with this function disabled.
PHP extension: mbstring Loaded OK
PHP extension: zlib Loaded OK
PHP extension: GD Loaded OK
PHP extension: Exif Not loaded EXIF data will not be read from image files.
Please read here how to enable the PHP Exif extension in your PHP installation.
File permissions Writable OK

KodExplorer

Buiten de cgi-bin-directory heb ik ook nog twee andere file managers geïnstalleerd, FileRun is de andere, en heb ik bij een opruimactie echt wel leren appreciëren:
  • context-menu zoals in Windows
  • prullenbak zoals in Windows
Issues:
  • heel gebrekkige vertaling (copy=exemplaar, knippen=scheren, …)

This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback
This page was cached on 21 Mar 2024 - 23:08.