Michael Schröpl: Alternative zu Image::Magick / Bildmanipulation

Beitrag lesen

Hi Christoph,

Also kann ich

  1. das Makefile editieren und per FTP hochladen und
  2. ein CGI-Skript schreiben, welches das Programm in ein Verzeichnis innerhalb _meines_ Webspace installiert.
    Nach (1) sollte (2) schon nicht mehr nötig sein.
    Na gut, das 'make install' zumindest ;-)

Eben - genau um diese eine Zeile geht es aber, die kann ich ohne
Dialogzugang ja nicht eintippen.

Ich muß es dann wahrscheinlich über den vollständigen Pfadnamen
aufrufen, falls ich nicht sogar $PATH entsprechend setzen kann
$PATH kannst Du direkt beim Aufruf setzen:
'PATH="$PATH:/Dein/Pfad/zum/Programm" Programm'

Mir ging es aber um die Verwendung des installierten CPAN-Moduls in
einem später via CGI aufgerufenen Perl-Skript, dessen PATH wahrscheinlich
im Webserver gesetzt (bzw. eingeschränkt) wird. Das kann ich mit einer
Konfiguration meiner Benutzerkennung kaum beeinflussen - also muß ich
die installierte Bibliothek sicherheitshalber absolut bzw. relativ
adressieren.

(Notfalls kann ich mir sogar ein eigenes "make" per FTP hochladen
und per CGI-Skript ausführbar machen ...)
Ja, nur hast Du da das Problem, das Du evt auch noch einen Compiler,
Linker, div Tools auch noch hochladen mußt

Nicht, um einen CPAN-Modul zu übersetzen - in vielen Fällen brauche
ich dazu wirklich nur "make" und "perl".

Das würde jetzt aber doch zu arg in die Eingeweide gehen um in diesem
Forum (zudem auch noch alles archiviert wird! Schade eigentlich, ich
fand die Idee mit dem Vorschlagen sehr gut. Hat wahrscheinlich das
Archiv um ca 99% entlastet, was? ;-) Platz zu haben.

Ich halte unsere Diskussion für sehr viel archivierungswürdiger als
jede einzelne 2-Frames-Frage.

Einfach keinen Compiler anzubieten ist wohl die einfachste.

Compiler != make.
Aber in der Tat ist bei vielen kommerziellen UNIXen (AIX, SunOS, ...)
heute der C-Compiler gar nicht mehr im Standardausbau mit drin, sondern
muß separat dazu gekauft werden. (Ich entwickele auf solchen Maschinen,
heul ...)

Er kann Sorge tragen, daß die Programme im cgi-bin ausschließlich
durch Interpreter gestartet werden,

Wie macht man das? (cgiwrap?)

es wäre also nötig den Aufruf in ein Script zu verpacken, das geht
aber nicht, wenn solche Befehle wie system() o.ä. einfach nicht
vorhanden sind.

Ich habe noch nie ein Perl gesehen, welches kein 'system' und keine
backticks und keine Pipes und keine ... besaß. Wie baut man das alles aus?

Was geht es ihn auch an, ob mein CGI-Skript in Perl ein anderes
Perl-Modul oder ein semantisch gleichwertiges C-Programm aufruft?
In einen C-Programm kann man sehr viele Sachen machen, die in Perl
gar nicht, oder nur mit sehr hohem Aufwand möglich sind ...

Yep, das ist klar.
Ich meinte: Wenn ich FTP darf und CGI, dann kann ich ein Binary hochladen
und per CGI das "chmod +x" drauf setzen und dann läuft es. (Schlimmsten-
falls mache ich das Einzeiler-Perl-Skript mit system() drum herum, wenn
der Perl-Interpreter nicht sämtliche Möglichkeiten, Prozesse zu starten,
ausgebaut bekommen hat - ein dermaßen abgemagertes wäre die einzige Mög-
lichkeit, den Start beliebiger Programme via CGI zu verhindern.)

Außerdem kann ich den Perlinterpreter beschränken, das C-Programm
eher weniger.

Details, bitte? Das interessiert mich sehr.

Die Frage ist doch eher, welche Privilegien meine Benutzerkennung
hat, d. h. ob sie auf /usr/bin lesend zugreifen darf etc.
Dafür gibt es Konzepte wie chroot und Benutzerkennungen/Gruppen;
nichts davon stört mich aber dabei, in meinem _eigenen_ Webspace
Programme zu übersetzen und zu installieren.
Sehr schön. Woher nimmst Du aber den Kompiler, so Du ihn nicht
mitbringst und keine Zugriff auf das System hast?

Das ist lediglich ein bootstrapping-Problem. Wenn ich CGI und system()
im Perl-Interpreter habe, dann bekomme ich (fast) alles zum Laufen
(in USA soll es diverse Provider geben, die socket-Zugriffe unterbinden

  • das ist natürlich lästig, dann läuft kein Suchmaschinen-Crawler mehr);
    schlimmstenfalls dauert es halt eine Weile. ;-)

War 'AuthType Basic' nicht einer der 'don't use it's? ;-)
Ein wenig besser kann und sollte es dann doch sein.

Welche Browser unterstützen "AuthType Digest" schon, und ab welcher Version?
(Du könntest ja mal meinen Feature-Artikel auf den neuesten Stand bringen ... ;-)

Die zugrunde liegende Idee der o.a. Telnetähnlichen Scripte ist wirklich interessant. Werde mich wohl bei Gelegenheit mal näher damit beschäftigen.

Falls es Dich interessiert - ich habe eines hier.
(368 Zeilen Perl, davon knapp 60% Kommentare.)

Viele Grüße
      Michael