Kontrola demona przez php

Potrzebujesz pomocy z C, C++, perl, python, itp.
Robert007
Beginner
Posty: 169
Rejestracja: 19 stycznia 2010, 07:39

Kontrola demona przez php

Post autor: Robert007 »

Witajcie.

Jak można się połączyć z demonem, który będzie wykonywał polecenia nadane przez skrypt PHP? Nie chodzi tu o łączenie się przez ssh2 w PHP.

Przykładowo jest zbudowany panel revoGames (revogames.accesto.pl) właśnie na łączeniu się z serwerami przez demona. A jak się połączyć?

Z pomocą Google za wiele nie znalazłem lub źle szukałem.

Pozdrawiam,
Robert.
Awatar użytkownika
Bastian
Member
Posty: 1424
Rejestracja: 30 marca 2008, 16:09
Lokalizacja: Poznañ

Post autor: Bastian »

Przez gniazda?
Robert007
Beginner
Posty: 169
Rejestracja: 19 stycznia 2010, 07:39

Post autor: Robert007 »

A może jaśniej? Jakieś linki?
fnmirk
Senior Member
Posty: 8324
Rejestracja: 03 grudnia 2007, 06:37

Post autor: fnmirk »

Awatar użytkownika
Bastian
Member
Posty: 1424
Rejestracja: 30 marca 2008, 16:09
Lokalizacja: Poznañ

Post autor: Bastian »

Robert007
Beginner
Posty: 169
Rejestracja: 19 stycznia 2010, 07:39

Post autor: Robert007 »

fnmirk, aż takich linków mi nie trzeba. Tylko za bardzo nie zrozumiałem co to za gniazdo.

Ok. Połączę się ale czy za pomocą jakieś funkcji można używać poleceń roota czy chociaż wykonywać skrypty powłoki? W google są tylko przykłady połączeń, to czy aby on nie pobiera tylko danych?
Awatar użytkownika
Bastian
Member
Posty: 1424
Rejestracja: 30 marca 2008, 16:09
Lokalizacja: Poznañ

Post autor: Bastian »

Słuchaj. Da się to oczywiście zrobić tylko trzeba to oprogramować. Do wywoływania poleceń z powłoki służy funkcja exec(). Jednak nie pytaj prosze jak to zrobić, bo musiałbym po prostu Tobie ten program napisać.
Robert007
Beginner
Posty: 169
Rejestracja: 19 stycznia 2010, 07:39

Post autor: Robert007 »

Funkcji exec() dotychczas używałem w php ale chciałbym się łączyć z innego serwera nie używając funkcji ssh2 (panel, który kontroluję kilkoma serwerami, aby panel był na jednym serwerze). Wiem, że panel mógłby być na każdym z serwerów ale to mija się z celem.
Awatar użytkownika
lessmian2
Member
Posty: 1088
Rejestracja: 30 kwietnia 2008, 19:38
Lokalizacja: Kraków

Post autor: lessmian2 »

Może się powtórzę, ale temat był już wałkowany X razy na forum. Ogólnie rzecz ujmując, dzielisz ten "panel" na dwie odrębne aplikacje, spełniające różnie funkcje. Jedna to panel do zarządzania działający po http. Druga to aplikacja (niekoniecznie demon, równie dobrze może być uruchamiania z inetd) działająca na każdym z zarządzanych serwerów. Aplikacja ta słucha na jakimś IP/porcie, najprawdopodobniej z uprawnieniami roota, i wykonuje to, co zostało wyklikane w panelu. Komunikacja między panelem a częścią wykonawczą odbywa się przez jakiś protokół (możesz wymyślić swój lub użyć gotowców typu JSON, RPC czy cokolwiek co się według Ciebie nada). Najlepiej by było gdybyś spojrzał w źródła jakiegoś ogólnie dostępnego panelu tego typu i zobaczył jak to działa.
Awatar użytkownika
Bastian
Member
Posty: 1424
Rejestracja: 30 marca 2008, 16:09
Lokalizacja: Poznañ

Post autor: Bastian »

Dokładnie tak jak napisał lessmian2. Poza tym, zauważ, że tak właśnie konstruuje się aplikacje sieciowe. Dzieli się je na część kliencką i serwerową.
ODPOWIEDZ