normalement, la documentation du serveur de jeu doit te donner les infos nécessaires sur les paramètres à donner lors de l'appel.
Une fois ces paramètres connus, il est facile de créer un serveur web pour les exécuter. Voici un exemple en Python si tu installe CherryPy (disponible dans les dépôts Debian).
Il suffit de remplacer les valeurs entre guillemets avec les commandes correspontant au lancement, arrêt, reboot du serveur et de le lancer avec "nohup python script.py" où script.py est le nom du fichier dans lequel tu as mis le script.
Tu devrais allors pouvoir lancer le serveur en allant sur http://monserveur:8080/start
Au niveau des scripts c'est bon!j ai trouvé comment faire...
Maintenant je souhaiterais savoir comment depuis une page web(hébergée ailleurs que sur le serveur) faire pour lancer un script présent dans etc/init.d/
Zam dit : Maintenant je souhaiterais savoir comment depuis une page web(hébergée ailleurs que sur le serveur) faire pour lancer un script présent dans etc/init.d/
Opération assez délicate... normalement seul root peut lancer les scripts de /etc/init.d. Or lancer un programme pour lancer le script en tant que root peut être potentiellement dangereux pour le système.
Je te propose d'utiliser un mini serveur web qui puisse réceptionner la requête de démarrage (et éventuellement afficher la page web également, ça ne coûte pas vraiment plus cher).
Concernant le problème des droits, il y a deux solutions:
- le mini serveur web tourne sous root et lance bêtement le script dans /etc/init.d
- le mini serveur web tourne sous un compte utilisateur et lance un programme qui aura les droits root pour lancer le script dans /etc/init.d (solution de haute sécurité donc).
__________________________
Aidez les autres membres en publiant sur le forum le code que nous vous avons aidé à créer ! Où sont les membres de MP ?
Aucun dit : Ce script se lance en root,et dans ce script il y a un changement d utilisateur(su ...)
Vu que ca se lance en root pas besoin de mot de passe.
Qu'est-ce qui te fait dire que le script est lancé sous root ? Généralement, les scripts lancés par Apache le sont avec un utilisateur, probablement soit l'utilisateur apache, soit l'utilisateur nobody.
La solution peut passer par "sudo", comme expliqué sur cette page.
Aucun dit : Quelle est l'utilité de l extension .sh???
Car mon script serveurmatch n a pas d extension mais fonctionne quand meme^^
Sous UNIX, les extensions sont généralement facultatives. La plupart des scripts n'a pas d'extension, mais tu peux en mettre une si tu veux. Tu peux également utiliser l'extension .jpg pour un script bash ou .sh pour un script python si tu veux tout embrouiller.
__________________________
Aidez les autres membres en publiant sur le forum le code que nous vous avons aidé à créer ! Où sont les membres de MP ?
Au sujet de la premiere partie de ta reponse,je voulais te dire que mon script DOIT se lancer en root,sinon il y a une demande de mot de passe sous putty..vu qu on change d utilisateur...
Donc en root il fonctionne bien...mais depuis Putty pas apache
Et donc peut on lancer depuis le php un script se presentant sous la forme que j ai détaillé au dessus?avec une "extension" start,restart..."?
ou bien faut il un script simple?donc un script qui reboot,un autre qui stop....etc
Sinon peut on placer un script ou l on veut,par exemple dans home/user?
Et l utilisateur apache par defaut est www-data...ce que je peux changer dans les options bien sur^^
Aucun dit : Au sujet de la premiere partie de ta reponse,je voulais te dire que mon script DOIT se lancer en root,sinon il y a une demande de mot de passe sous putty..vu qu on change d utilisateur...
C'est à ça que sert sudo. Cet outil permet d'exécuter des opérations bien définies en tant que root, à partir d'un compte utilisateur.
Je ne connais pas bien l'accès au système de PHP, mais si tu peux lancer des scripts, tu dois pouvoir utiliser ce que tu as présenté ci-dessus, avec des paramètres comme "start" ou "stop" selon le contexte.
Tu peux placer le script dans le dossier de ton choix, hormis les répertoires "virtuels" comme /dev ou /proc (et évite /tmp aussi ). /home/user ou /root sont des bon choix. Note que l'utilisateur sous lequel tourne Apache doit bien entendu avoir accès à ce répertoire .
__________________________
Aidez les autres membres en publiant sur le forum le code que nous vous avons aidé à créer ! Où sont les membres de MP ?
Apres moultes heures de recherche,ca a porté ces fruits!!!
Un seul hic...je n arrive pas a me servir du htaccess...
J ai pourtant modifier le apache2.conf...comme dit sur pas mal de site...mais rien n y fait,j ai acces a tous les dossiers et fichiers sans me logger^^
Bon c est un soucy secondaire mais bon c est etrange^^
Sinon pour mes scripts...j ai refait un script au plus simple..sans changement d utilisateur...par contre j ai crée un nouvel utilisateur qui gerera tous les serveurs(qui aura les droits)et c est avec cet utilisateur que tourne apache^^plus de soucy de mdp,et j ai placé ces scripts dans var/www vu que je suis le seul a avoir l acces ftp pour ca,no problemo^^
dites moi s il y a erreur de securité dans ce que j ai fait!merci++