[PHP] - Automatyczna aktualizacja skryptu

Bash, C, C++, Java, PHP, Ruby, GTK, Qt i wiele innych - wszystko tutaj.
Awatar użytkownika
youlleck
Sędziwy Jeż
Sędziwy Jeż
Posty: 62
Rejestracja: 01 lut 2008, 00:19
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: Openbox
Architektura: x86_64
Kontakt:

[PHP] - Automatyczna aktualizacja skryptu

Post autor: youlleck »

Witam!

Chciałbym napisać updater do dość rozbudowanej aplikacji internetowej.
Aplikacja sobie sprawdza co jakiś czas, czy jest nowa wersja. Jeśli jest, pobiera zipa do folderu updates i tam go rozpakowuje, po czym go usuwa.
W katalogu updates są pliki .php w nowszej wersji razem z zachowaną strukturą katalogów.
Teoretycznie wystarczy przenieść teraz zawartość updates katalog wyżej, ale jak uporać się z problemem uprawnień plików? Trzymać wszystkie pliki aplikacji z uprawnieniami zapisu dla apache'a to nie dość, że niebezpieczne, to jeszcze nietaktowne. Jako, że pliki te należą do usera, który loguje sie przez ftp, chmod() ze skryptu nie wchodzi w grę.
Wygląda na to, że jedyną opcją jest poprosić usera o dane do logowania przez ftp, zrobic chmod 666, przerzucić zawartość uploads wyżej i przywrócić poprzednie uprawnienia.

Wiem, że wordpress sie automatycznie aktualizuje, ale nie przypominam sobie, żebym mu podawał dane do ftp a pliki na serwerze są użytkownika ftp i skrypt nie ma uprawnień do ich modyfikacji... Ktoś sie orientuje jak to działa? :)
Problem rozwiazany? Dodaj [SOLVED] do tytulu watku!

Best4Linux.NET - sprawdz czy twoj sprzet zadziala pod Linuksem!
Awatar użytkownika
PanCiasteczko
Piegowaty Guziec
Piegowaty Guziec
Posty: 11
Rejestracja: 07 sty 2007, 16:03
Płeć: Mężczyzna
Wersja Ubuntu: 10.10
Środowisko graficzne: Fluxbox
Architektura: x86

Odp: [PHP] - Automatyczna aktualizacja skryptu

Post autor: PanCiasteczko »

Wordpress właśnie przy instalacji/aktualizacji czegokolwiek się pyta o hasło FTP.
User który te pliki nadpisuje musi mieć do tego prawa i nic za bardzo nie wyczarujesz tutaj.
Chyba że jest to dedykowany serwer i Ci się bardzo chce to możesz również napisać prosty programik w C który jedyne co robi to kopiuje te pliki i ustawić mu SUID.
Ale by się to mijało z celem chyba.
Zawsze można też trzymać dane FTP w pliku żeby się nie pytać za każdym razem bo w wordpressie też jest taka opcja:
http://wordpress.praktycznie.net/automa ... ordpressie
Awatar użytkownika
woti
Sędziwy Jeż
Sędziwy Jeż
Posty: 63
Rejestracja: 25 sty 2008, 21:04
Płeć: Mężczyzna
Wersja Ubuntu: 14.04
Środowisko graficzne: GNOME
Architektura: x86_64
Lokalizacja: Szczecin
Kontakt:

Re: [PHP] - Automatyczna aktualizacja skryptu

Post autor: woti »

Moje pytanie jest w przybliżeniu na temat, ale nie chce zakładać nowego wątku - licząc, że właśnie tu mądrzejsi zauważą problem: na własnym kompie = localhost testuję WordPress. Gdy jednak chcę doładować moduły wtyczki wprost przez Firefox'a ( w Operze tak samo) i "Dodaj nową" - nie przyjmuje żadnego loginu/hasła do localhost (ani do localhost, ani do "strony"). Próbowałem wszelkich kombinacji, podając nawet ścieżke do /plugins. I zawsze jest odpowiedź:

Kod: Zaznacz cały

Nie udało się połączyć z serwerem FTP localhost:21
Proszę choćby o sugestie...
Awatar użytkownika
youlleck
Sędziwy Jeż
Sędziwy Jeż
Posty: 62
Rejestracja: 01 lut 2008, 00:19
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: Openbox
Architektura: x86_64
Kontakt:

Re: [PHP] - Automatyczna aktualizacja skryptu

Post autor: youlleck »

Nie masz lokalnie uruchomionego servera FTP.
Awatar użytkownika
woti
Sędziwy Jeż
Sędziwy Jeż
Posty: 63
Rejestracja: 25 sty 2008, 21:04
Płeć: Mężczyzna
Wersja Ubuntu: 14.04
Środowisko graficzne: GNOME
Architektura: x86_64
Lokalizacja: Szczecin
Kontakt:

Re: [PHP] - Automatyczna aktualizacja skryptu

Post autor: woti »

OK. Ale co zrobić? Próby instalowania serwerów to jakby ciut za mało (próbowałem) - może nie potrafię tego ustawić? Ale stale działa standardowy serwer ftp nautilusa (łączę się nim z katalogiem "strony"/CMS na zewnętrznym serwerze. Tutaj natomiast chodzi o testowanie CMS'a na własnym kompie. A może coś trzeba by zmienić w ustawieniach przeglądarki?
***************
Po długich rozmowach z wujem G znalazłem BARDZO PRECYZYJNIE NAPISANY:
http://jakilinux.org/aplikacje/instalac ... -maszynie/
i zadziałało (z drobnymi modyfikacjami typu wpisać sudo, bo terminala używam nie jako root + "ręczna" edycja pliku z repozytoriami).
Ważne, że teraz znając:
- Adres serwera Apache sprawdzać poleceniem "ifconfig"
- Adres serwera (jak Apache):
- Nazwa użytkownik FTP: nazwa usera kompa
- Hasło FTP: główne do kompa
Zapewne można to pokomplikować - ale to TYLKO do użytku wewnętrznego :pt36:
Dzięki, panie Marfeusz888 :clap:
Pakos
Sędziwy Jeż
Sędziwy Jeż
Posty: 83
Rejestracja: 26 sie 2005, 08:06
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: GNOME
Architektura: x86_64
Lokalizacja: Łazy
Kontakt:

Re: [PHP] - Automatyczna aktualizacja skryptu

Post autor: Pakos »

woti: nie lepiej uzyc http://www.apachefriends.org/en/xampp.html ? rozpakujesz, uruchamiasz i masz wszystko gotowe ;)
http://pakos.biz | http://polishteam.com.pl
Awatar użytkownika
woti
Sędziwy Jeż
Sędziwy Jeż
Posty: 63
Rejestracja: 25 sty 2008, 21:04
Płeć: Mężczyzna
Wersja Ubuntu: 14.04
Środowisko graficzne: GNOME
Architektura: x86_64
Lokalizacja: Szczecin
Kontakt:

Re: [PHP] - Automatyczna aktualizacja skryptu

Post autor: woti »

OK - może i tak, ale Apacz chodzi u mnie od roku (i może pochodzi do 2015 razem z Ubu 10). Dotychczas nie miałem potrzeby FTP... Aliści dla kolegów rozpoczynających podchody do CMS - na pewno dobra rada. W powyższym art. o tyle fajnie, że jest o tym, jak to wszystko skonfigurować. I do tego PO POLSKU!
kolgreen
Piegowaty Guziec
Piegowaty Guziec
Posty: 18
Rejestracja: 27 lis 2010, 18:43
Płeć: Mężczyzna
Wersja Ubuntu: 10.04
Środowisko graficzne: GNOME
Architektura: x86

Re: [PHP] - Automatyczna aktualizacja skryptu

Post autor: kolgreen »

Kurcze, nie wiem, ale trochę tutaj zagmatwane to wszystko :) Chyba chodzi ci o to co napiszę poniżej. Ja robie to za pomocą CURL'a.

Kod: Zaznacz cały

function setup_from_ftp($folder,$file){
		$ch = curl_init('ftp://login:haslo@ftp.adres.pl/'.$folder.'/'.$file);
		$fh = fopen($file, 'w');
		curl_setopt($ch, CURLOPT_FILE, $fh);
		curl_exec($ch);
		fclose($fh);
		curl_close($ch);

		//inicjacja obslugi Zip
		$zip = new ZipArchive;

		//wypakowywanie
		if ($zip->open($file) !== TRUE) {
			//echo "<p class='message_error'>Błąd przy rozpakowywaniu archiwum</p>";
			return false;
		} else {
		  //wypakowanie do miejsca gdzie znajduje sie ten skrypt
		  $zip->extractTo(getcwd());
		  $zip->close();
		  //echo "<p class='message_success'>Archiwum $file rozpakowane popranie</p>";
		  
		//usuwanie archiwum
		@unlink($file);
		//echo "<p class='message_success'>Tymczasowy plik $file wykasowany poprawnie</p>";
		return true;
		}
to taki kod "demko", za login:haslo@ftp.adres.p wstaw swoje dane.
Awatar użytkownika
woti
Sędziwy Jeż
Sędziwy Jeż
Posty: 63
Rejestracja: 25 sty 2008, 21:04
Płeć: Mężczyzna
Wersja Ubuntu: 14.04
Środowisko graficzne: GNOME
Architektura: x86_64
Lokalizacja: Szczecin
Kontakt:

Re: [PHP] - Automatyczna aktualizacja skryptu

Post autor: woti »

Hmm... Nie zrozumiałem z tym "curlem"* :pt36: Ale nie muszę - mam com chciał i działa jak chcę.
-------------------
Programowanie itd. to dla mnie poziom zaawansowany, aja ja jestem zwykłym klikaczem. Co jednocześnie dowodzi, że linuksy, serwery, ftp-y i CMS-y są dla zwyczajnych zjadaczy chleba do opanowania. Wystarczy upór i cierpliwość.
ODPOWIEDZ

Wróć do „Programowanie”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 2 gości