Bonjour
Je souhaiterais lancer un script .sh à distance sur une page html de mon serveur.
Je cherche depuis un bout de temps des explication la dessus mais je trouve des choses qui me sont pas trop claires....
Comment réaliser cela ?
Merci d'avance
Bonjour
Je souhaiterais lancer un script .sh à distance sur une page html de mon serveur.
Je cherche depuis un bout de temps des explication la dessus mais je trouve des choses qui me sont pas trop claires....
Comment réaliser cela ?
Merci d'avance
1) tu renommes ta page "page.html" en page "page.php" et tu mets à jour les liens qui mènent vers cette page
2) A l'endroit de ta page où tu veux lancer ton script shell, tu insères les lignes suivantes
<script language="php">
system("chemin vers le script shell/script shell.sh");
</script>
Et voilà.
Mon Tutoriel sur la programmation «Python»
Mon Tutoriel sur la programmation «Shell»
Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
Et on poste ses codes entre balises [code] et [/code]
Tu as aussi la solution script cgi.
Un lien au hasard : http://www.yolinux.com/TUTORIALS/Lin...ellScript.html
en fait historiquement ma page est en html. Elle tournait très bien sous windows. ca tournait de la manière suivante :
Au bas de la page j'ai un bouton qui execute un script php qui lui lance une script .bat.
Maintenant sous Lilnux.
Au bas de la page j'ai un bouton qui execute un script php qui lui lance une script .sh.
Ce script php d'origine est tout simple :
<?php
exec("./script_CSS_MATCH stop);
?>
je l'ai remplacé par :
<?php
system ("./script_CSS_MATCH stop");
?>
ca ne change pas grand chose.
N'y aurait t-il pas également une histoire de droit ?
Car l'utilisateur qui lance ce script n'est pas le même que celui qui avait fait :
./script_CSS_MATCH start sous putty ?
Je suis un peu perdu la.....
Je suis un gros débutant donc soyez compréhensif....
Met un chemin absolu pour invoquer ton script plutôt que "./". Si cela ne marche toujours pas.
Effectivement, il peut ensuite y avoir des problèmes de droits. Le script sera certainement utilisé par l'utilisateur du serveur (apache ?). Tu peux vérifier les droits de ton script avec la commande "ls -l" par exemple. Si tu utilises apache, les droits avec les quels il est lancé sont spécifiés dans le fichier de conf (de mémoire).
La réponse de valefor est un début de piste. Tu peux aussi aller voir les logs Apache car dès qu'il y a une erreur, cela est indiqué. Je te conseille de commencer par vider tout le fichier de logs, puis faire ton test puis aller voir le contenu du fichier.
Concernant ton problème de droits, il faudrait que tu te mettes au courant de la façon dont Unix les gère, cela te rendra beaucoup de services. Mais si tu mets ton script au même propriétaire et groupe que les autres fichiers environnants, tu devrais avoir moins de problème. Et n'oublie pas non plus de lui mettre le droit "x" => chmod a+x nom_du_script
Et ne prend pas Apache de Windows comme référence. Apache est un produit avant tout fait pour Linux puis ensuite porté sous Windows. Ca veut dire que si ça marche sous Linux, ce que tu fais marchera sous Windows alors que l'inverse n'est pas forcément vrai (certains mécanismes Apache Linux disparaissent sous Windows alors que si tu ramènes un outil depuis Windows où le mécanisme n'a pas été implémenté, il manquera à Linux qui ne saura pas quoi faire donc qui ne fera rien).
Mon Tutoriel sur la programmation «Python»
Mon Tutoriel sur la programmation «Shell»
Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
Et on poste ses codes entre balises [code] et [/code]
Normalement dans ta config d'Apache, t'as un dossier cgi-bin qui permet de lancer des scripts cgi, par exemple des scripts .sh. Donc, il suffit que tu crées un dossier cgi-bin et mettre tes scritpts sh dedans. Tout ce qui est droit est géré par Apache.
Partager