Bahnhofstraße 22, 52134 Herzogenrath Poniedziałek - piątek: 8:00 - 16:30 kontakt@milnersoftware.de 0176 66798849

Aktualności · Porady · · 6 min czytania

Programista nie odpowiada – co robić? Lista kontrolna przejęcia strony

Programista lub agencja przestali odpowiadać? Ta lista pokazuje, co zabezpieczyć najpierw: domenę, hosting, dostępy, kopie zapasowe, licencje i pocztę.

Gezeichnete Entwürfe für das Layout einer Website

W skrócie: Jeśli Państwa programista lub agencja przestali odpowiadać, najpierw trzeba ustalić, do kogo należy domena i na kogo zawarta jest umowa hostingowa. Potem zabezpieczamy dostępy, pełną kopię zapasową i licencje. Dopóki domena i hosting są na Państwa firmę, da się rozwiązać prawie wszystko – także bez dawnego programisty.

Regularnie przejmuję strony i aplikacje, których twórca „zniknął”. Czasem zmienił zawód, czasem agencja przestała istnieć, czasem po prostu nikt nie odpisuje. Schemat jest prawie zawsze ten sam: dopóki wszystko działa, nikt tego nie zauważa. Dopiero gdy pojawia się błąd, hosting zmienia wersję PHP albo przychodzi faktura, okazuje się, że nikt nie ma dostępów.

Dlaczego to zdarza się tak często

Wiele stron oddano „pod klucz”. Programista zarejestrował domenę u swojego dostawcy, wykupił hosting na swoim koncie klienta i kupił licencje wtyczek na swój adres e-mail. Dla Państwa było to wygodne. Teraz oznacza, że ważne elementy strony zależą od osoby, z którą nie ma kontaktu.

Lista kontrolna: co trzeba ustalić

1. Domena: kto jest właścicielem, a kto rejestratorem?

Domena jest najważniejsza. Warto rozróżnić dwie rzeczy:

  • Właściciel domeny (niem. Domaininhaber): osoba lub firma, do której domena prawnie należy. Najlepiej, żeby to była Państwa firma.
  • Rejestrator / dostawca (niem. Registrar, Provider): firma, przez którą domena jest zarządzana, np. Państwa hosting.

Dla domen .de publiczne wyszukiwanie Whois w DENIC ze względu na ochronę danych nie pokazuje już danych właściciela. Często widać tam jednak, który dostawca obsługuje serwery nazw. Jako właściciel mogą Państwo zażądać informacji u dostawcy lub w DENIC. Proszę też sprawdzić stare faktury: jeśli opłaty za domenę szły bezpośrednio do hostingu, domena najpewniej jest na Państwa koncie klienta.

Do późniejszego przeniesienia domeny potrzebny jest kod AuthInfo (też Auth-Code lub kod transferu). Wydaje go aktualny dostawca właścicielowi domeny.

2. Umowa hostingowa

Na kogo jest umowa? Czy mają Państwo własne dane logowania do panelu klienta? Jeśli hosting jest na agencję, umowa może wygasnąć, gdy agencja przestanie płacić – a wtedy strona znika. Warto zapytać hostingodawcę, co dzieje się z danymi po wypowiedzeniu umowy.

3. Dostępy techniczne

Proszę spisać, co Państwo mają, a czego brakuje:

  • FTP lub SFTP
  • SSH, jeśli jest dostępny
  • baza danych (dane logowania, często przez phpMyAdmin)
  • konto administratora CMS, np. WordPress lub TYPO3
  • zarządzanie DNS
  • Google Search Console, Analytics, ewentualnie Cloudflare

Mając dostęp do panelu klienta hostingu, zwykle można samodzielnie ustawić nowe hasła do FTP i bazy danych. W WordPressie dane do bazy znajdują się w pliku wp-config.php:

define( 'DB_NAME', 'nazwa_bazy' );
define( 'DB_USER', 'uzytkownik' );
define( 'DB_PASSWORD', '...' );
define( 'DB_HOST', 'localhost' );

4. Kod źródłowy i repozytorium

Przy oprogramowaniu pisanym na zamówienie kluczowy jest kod źródłowy. Czy leży w repozytorium na GitHubie, GitLabie albo Bitbuckecie? Na czyim koncie? Jeśli na serwerze są tylko gotowe pliki, to lepsze niż nic, ale brakuje historii zmian. Przy plikach zaszyfrowanych (np. ionCube) bez oryginalnego kodu nikt nie będzie mógł sensownie pracować dalej.

5. Kopie zapasowe

Czy istnieją backupy i gdzie są przechowywane? Proszę nie zakładać, że „hosting to robi”. Najlepiej od razu wykonać własną, pełną kopię: wszystkie pliki plus eksport bazy danych. Z dostępem SSH wygląda to na przykład tak:

tar -czf backup-strony.tar.gz /sciezka/do/strony
mysqldump -u uzytkownik -p nazwa_bazy > baza.sql

Bez SSH można użyć funkcji kopii zapasowej w panelu hostingu albo pobrać pliki przez FTP i wyeksportować bazę przez phpMyAdmin.

6. Licencje wtyczek i motywów

Płatne wtyczki i motywy, np. page buildery, formularze czy wtyczki do tłumaczeń, potrzebują ważnej licencji, żeby dostawać aktualizacje. Często kupiono je na konto agencji. Gdy licencja wygaśnie, nie będzie aktualizacji bezpieczeństwa. Proszę sprawdzić w panelu WordPressa, które wtyczki wymagają licencji, i w razie wątpliwości kupić własne.

7. Poczta e-mail

Firmowa poczta często działa na tym samym hostingu lub tej samej domenie. Proszę sprawdzić, gdzie są skrzynki i kto zarządza rekordami MX w DNS. Nieostrożna zmiana przy domenie może inaczej unieruchomić także pocztę.

Co zabezpieczyć w pierwszej kolejności

  1. Domenę – bez niej cała reszta traci wartość.
  2. Pełną kopię zapasową plików i bazy, zapisaną lokalnie u Państwa.
  3. Własny dostęp administratora do hostingu i CMS.
  4. Zmianę haseł, gdy tylko mają Państwo dostęp – a po zakończeniu współpracy także wyłączenie kont dawnego programisty.
  5. Licencje i repozytorium.

Jak rozmawiać z dawnym programistą lub agencją

Najlepiej rzeczowo. Wielu programistów nie działa w złej wierze – są przeciążeni albo po prostu zapomnieli o projekcie. W praktyce pomaga:

  • Krótki e-mail z konkretną listą: transfer domeny lub kod AuthInfo, dostęp do hostingu, repozytorium, licencje.
  • Rozsądny termin, np. 14 dni.
  • Propozycja zapłaty za czas poświęcony na przekazanie. To rozwiązuje zaskakująco wiele blokad.
  • Dokumentowanie wszystkich prób kontaktu z datą.

Jeśli korespondencja z agencją idzie po niemiecku, warto pisać krótko i jednoznacznie, np. z prośbą o „Herausgabe der Zugangsdaten und des AuthInfo-Codes”.

Kiedy potrzebny jest prawnik

Nie jestem prawnikiem i nie udzielam tu porad prawnych. Z praktyki mogę jednak powiedzieć, w jakich sytuacjach moi klienci korzystali z pomocy prawnej:

  • Domena jest zarejestrowana na programistę, a on nie chce jej oddać.
  • Programista odmawia wydania dostępów lub kodu, np. z powodu niezapłaconych faktur.
  • Nie wiadomo, jakie prawa do korzystania z kodu (niem. Nutzungsrechte) mają Państwo – to zależy od umowy.
  • Agencja jest niewypłacalna; wtedy właściwym adresatem jest często syndyk (Insolvenzverwalter).

Na rozmowę z prawnikiem warto przygotować umowę, oferty, faktury i korespondencję.

Częste błędy

  • Budowa nowej strony, zanim domena jest zabezpieczona. Nowa strona nic nie da, jeśli domena nie należy do Państwa.
  • Eksperymenty na działającym systemie bez kopii zapasowej.
  • Wypowiedzenie hostingu, zanim wszystkie dane zostaną zabezpieczone.
  • Wysyłanie haseł zwykłym e-mailem. Lepiej użyć menedżera haseł.

Czego potrzebuje nowy programista do przejęcia

  • dostępu do panelu klienta hostingu albo przynajmniej FTP/SFTP i bazy danych
  • konta administratora w CMS
  • dostępu do zarządzania DNS
  • repozytorium lub pełnej kopii plików
  • listy licencji i usług zewnętrznych (płatności, newsletter, interfejsy)
  • istniejącej dokumentacji, nawet niepełnej

Mając te elementy, najpierw robię przegląd: jakie wersje działają, jaka wersja PHP, gdzie są ryzyka. Dopiero potem cokolwiek zmieniam.

Profesjonalna pomoc przy przejęciu

Jeśli nie wiedzą Państwo, od czego zacząć, mogę przejść tę listę razem z Państwem i zająć się stroną techniczną: zabezpieczeniem, inwentaryzacją i dalszym utrzymaniem. Więcej na stronie przejęcie oprogramowania. Jeśli system jest przestarzały, na stronie modernizacja starego systemu opisuję, jak krok po kroku doprowadzić go do aktualnego stanu.

Autor: Przemysław Milner

Pozostałe wpisy

Przemysław Milner Porady

WordPress nie jest zły – tylko źle zbudowany

Wolny, dziurawy, ciągle się psuje? Zwykle winny nie jest WordPress, tylko page buildery, nadmiar wtyczek i motywy „multipurpose”. Co zmienia własny motyw.

Czytaj dalej

Przemysław Milner Porady

Zhakowany WordPress? Jak to rozpoznać

Obce strony w Google, przekierowania tylko na telefonie, nieznani administratorzy – sześć objawów, po których rozpoznają Państwo włamanie na WordPressa, i co zrobić od razu.

Czytaj dalej