[PHP] - Automatyczna aktualizacja skryptu
- youlleck
- 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
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?
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!
Best4Linux.NET - sprawdz czy twoj sprzet zadziala pod Linuksem!
- PanCiasteczko
- 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
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
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
- woti
- 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
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ź:
Proszę choćby o sugestie...
Kod: Zaznacz cały
Nie udało się połączyć z serwerem FTP localhost:21
- youlleck
- 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
Nie masz lokalnie uruchomionego servera FTP.
- woti
- 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
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
Dzięki, panie Marfeusz888
***************
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
Dzięki, panie Marfeusz888
-
- 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
woti: nie lepiej uzyc http://www.apachefriends.org/en/xampp.html ? rozpakujesz, uruchamiasz i masz wszystko gotowe
http://pakos.biz | http://polishteam.com.pl
- woti
- 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
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!
-
- 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
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.
to taki kod "demko", za login:haslo@ftp.adres.p wstaw swoje dane.
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;
}
- woti
- 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
Hmm... Nie zrozumiałem z tym "curlem"* 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ść.
-------------------
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ść.
Kto jest online
Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 2 gości