HTML strana i Linux CLI komande

Ili, kako kroz HTML stranu izvršiti Linux komande iz komandne linije.
Postoje (barem) dve mogućnosti : kroz CGI ili kroz PHP.
Ja sam izabrala PHP, nekako mi se činilo lakše/zgodnije/jasnije……

PHP (PHP is an acronym for “PHP: Hypertext Preprocessor”)
*********************************************************************
PHP files can contain text, HTML, CSS, JavaScript, and PHP code
PHP code are executed on the server, and the result is returned to the browser as plain HTML
PHP files have extension “.php”
In PHP, all keywords, classes, functions, and user-defined functions are NOT case-sensitive.
Odličan link za učenje PHP+HTML od početka!
*********************************************************************
Neophodno je da host na kome je web podržava PHP (što je uglavnom slučaj).
Zgodno je što se obe skripte nalaze u istom folderu (kod mene /var/www/html/katalog2), pa pozivanje može biti relativno, što je zgodno kada se cela priča prebaci na server.
PHP skripta poziva Linux skriptu.
test.php (mogu samo da skript objavim kao sliku, jer inače WordPress poludi totalno) :
php-skripta-u-html-u
Ispravnost PHP skripte može se testirati i iz nivoa komandne linije, ovako :
# php test.php
ipPhone: 2222
mail: pera.peric@moj.domen
Ova skripta izlistava IP phone broj i mail za korisnika Peru Perića, sa AD-a (videti moj stari post) :
# more skripta.sh
#!/bin/bash
ldapsearch -h IP-AD -x -D “veldaebel@moj.domen” -b “dc=moj,dc=domen” -w “moja-lozinka” “(cn=pera peric)” mail ipphone |grep -E ‘mail:|ipPhone:’
Dakle kada se kroz HTML klikne na fajl /var/www/html/katalog2/test.php dobije se :
ipPhone: 2222
mail: pera.peric@moj.domen
Sledeće što treba uraditi je ubacivanje pozivanja PHP fajla u HTML stranu.
Poenta je da ta HTML strana MORA da ima ekstenziju .php da bi web server znao da u njoj ima PHP koda :
html+php-skripta

Sledeći korak je da mojoj skripti skripta.sh prosledim ono što je već uneto na HTML stranu.
Evo kako pravim promenljivu u HTML strani i štampam je u istu (u pitanju je HTML tabela) :
promenljive1
I da moraju da budu prazni navodnici i simbol za “next line” u redu, neće da radi bez toga…..

Kako napraviti tabelu bez linija, ali da je sadržaj ćelija “zalepljen” uz gornju ivicu svake ćelije :
tabela-sa-prilepljivanjem
***************************************************
HE!! Uspela sam da izbacim “posredničku” skriptu, tako da ostade samo HTML strana i Linux SH skripta 😉
Sada je na redu definicija promenljivih u HTML skripti, njihovo prosleđivanje u Shell skriptu, koja treba da ih očita i primeni.
Dakle ovo je HTML strana (mini tabela sa dve kolone i jednim redom) iz koje pozivam Shell skriptu skripta.sh :
html-poziva-skriptu
I Shell skripta skripta.sh :
#!/bin/bash
ime=$1
ldapsearch -h 10.10.10.19 -x -D “katalog@moj.domen” -b “dc=moj,dc=domen” -w “katalog-lozinka” “(cn=$ime)” mail ipphone |grep -E ‘mail:|ipPhone:’
********************************************************
E cvrc, ako je iole veća firma SIGURNO će biti više ljudi sa istim imenom i prezimenom.
Zato za upit nad domenom treba koristiti jedinstveni parametar, a to je kod AD-a userPrincipalName.
HTML fajl ostaje isti, a Shell skripta se onda menja u :
#!/bin/bash
ime=$1
ldapsearch -h 10.10.10.19 -x -D “katalog@moj.domen” -b “dc=moj,dc=domen” -w “katalog-lozinka” “(userPrincipalName=$ime@moj.domen)” mail ipphone |grep -E ‘mail:|ipPhone:’