vm_installation_and_usage

Wojciech Rygielski edited this page May 24, 2016 · 7 revisions

UWAGA: Ten dokument został automatycznie przekonwertowany podczas migracji Google Code -> GitHub i może zawierać błędne formatowanie.

Jak uruchomić serwer OC na własnym komputerze

Brief instructions in English (po polsku jest niżej)

If you're reading this in English then we assume you know what to do (we will be brief).

  • Get the VM image: The link can be found below ("Krok 1" chapter, in Polish). This VM will never be exactly up-to-date, but it should allow you to work on most of the OC modules.

  • Passwords:

    • Shell: username: user, password: ubuntu.
    • Shell root: Use sudo to execute commands as root.
    • MySQL: username: user, password: ubuntu.
    • MySQL root: username: root, password: toor.
    • Samba: user user, password ubuntu.
    • GUI: Once you have the web running, you can login as any user by using password haslo.
  • Setup:

    • Update the hosts file on your host (!) machine - bind your guest's IP address (the one from ifconfig) to local.opencaching.pl and local.m.opencaching.pl domains.

    • Update the code and database to their latest versions:

      • git pull in /srv/ocpl directory,
      • http://local.opencaching.pl/okapi/update (just visit it in your host's browser),
      • http://local.opencaching.pl/okapi/devel/dbstruct?compare_to=http://opencaching.pl/okapi/devel/dbstruct (apply this diff to your VM's MySQL database),
      • You may be required to do some additional steps from time to time (e.g. install a missing dependency). Some of these dependencies might be list on our "VM TODO" list here (in Polish). Contact RT in case of problems.
    • If you intend to push your changes to the server:

      • Remember to update the code periodically (see above).
      • You may want to switch tracked repo url to your fork, or to SSH protocol.
      • Be aware that all the stuff you push to master branch goes online on our production servers immediately!
      • You need write access to our repo in order to push changes (contact us).

Also note, that some of our developers (esp. those who don't "like" Linux) chose to NOT use VM and they set up their environments themselves.

Instalacja

Ten dokument jest przeznaczony dla programistów. Zakładamy, że znasz *podstawy Linuksa, Apache i PHP.

Krok 1.

Przygotuj wymagane rzeczy:

  • Ściągnij i zainstaluj VMware Player (lub inny podobny program, np. VirtualBox),
  • Pobierz najnowszą wersję przygotowanego przez nas obrazu serwera:
  • Jeśli nie chcesz naszej wirtualnej maszyny i wolisz postawić serwer OC na własnej maszynie, to ten dokument może być przydatny.
  • Jeśli masz problem z rozpakowaniem formatu 7z, pobierz program 7-Zip.
  • Jeśli korzystasz z VirtualBoxa (zamiast VMware), przed uruchmieniem ustaw w System/Processor "Enable PAE/NX", jeśli masz problem z siecią, to możesz też spróbować w Network zmienić tryb NAT na Bridged.

Krok 2.

Otwórz pobraną maszynę w VMware Playerze. Zaloguj się jako user, hasło ubuntu. Odpal komendę ifconfig i zwróć uwagę na adres przy inet addr. U każdego pojawia się inny adres (najczęściej ma formę 192.168.x.x). Musisz ten adres dodać do pliku hosts na Twoim komputerze hoście następująco:

192.168.x.x local.opencaching.pl
192.168.x.x local.m.opencaching.pl

Krok 3.

Otwórz w swojej przeglądarce (na komputerze hoście) stronę http://local.opencaching.pl/. Powinieneś zobaczyć "jako tako działający" serwer OC.

Krok 4.

Wersja OC, którą widzisz, może być stara - mniej więcej tak stara jak wirtualna maszyna, którą pobrałeś. Żeby ją zaktualizować do najnowszej wersji:

  • Wejdź z konsoli do katalogu /srv/ocpl.
  • Uruchom komendę git pull. (Po wykonaniu tej komendy konieczne jest wykonanie kolejnych. Jeśli tego nie zrobisz, kod nie będzie zgodny z bazą danych.)
  • Wejdź w przeglądarce na stronę http://local.opencaching.pl/okapi/update.
  • Przejrzyj stronę http://local.opencaching.pl/okapi/devel/dbstruct?compare_to=http://opencaching.pl/okapi/devel/dbstruct i zaaplikuj odpowiednie ALTERy na swojej bazie. Zwróć uwagę, że ten skrypt jest generowany automatycznie, może być nie do końca poprawny i być może należy go poprawić. W razie wątpliwości, napisz do nas.
  • Jeśli chcesz mieć zawsze aktualną wersję, to powinieneś co jakiś czas te operacje powtarzać.

W razie problemów, napisz do nas (rt@opencaching.pl).

Nazwy i hasła

  • Twój login: user, hasło: ubuntu. Użyj sudo jeśli potrzebujesz wykonać komendę jako root.
  • Hasło użytkownika root na MySQL to toor (do użycia np. w phpmyadmin).
  • Hasło użytkownika user na MySQL to ubuntu (do użycia np. w phpmyadmin).
  • Aby zalogować się na stronie jako dowolny użytkownik (np. jako Ty), wpisz jego login i hasło haslo (bez Ł). Listę użytkowników możesz przeglądać w tabeli user przez phpmyadmin.

Praca z konsolą

  • W wielu przypadkach praca z konsolą nie jest potrzebna. Jeśli nie przepadasz za Linuksem, to praktycznie każdą czynność możesz wykonać zdalnie z Windowsa, a ten dział możesz pominąć.

  • Jeśli łączysz się z Windowsa, użyj PuTTy. W polu "Host Name" wpisz adres IP maszyny. Skocz do zakładki "Translation", w polu "Remote character set" wybierz "UTF-8". Wróć do zakładki "Session", w polu pod "Saved Sessions" wpisz "ocpl-devel" i kliknij "Save". Potem możesz już szybko łączyć się klikając dwukrotnie "ocpl-devel".

  • W PuTTy użyj środkowego klawisza myszy do kopiowania zaznaczonego tekstu, prawego do wklejania.

Praca z bazą danych

  • Z bazy zostały usunięte wszystkie prywatne dane użytkowników. Możesz się zalogować jako dowolny użytkownik, ale masz dostęp tylko do jego publicznych danych.

  • Baza była wzorowana na starym dumpie danych, więc nazwy użytkowników (oraz wszelkie inne pozostałe dane) nie będą aktualne. Nie dziw się więc, że w bazie nie ma któregoś Twojego kesza itp. To są dane tylko i wyłącznie testowe.

  • Z bazy zostało usuniętych wiele danych, m.in. w celu ograniczenia jej wielkości. Pierwszą rzeczą, którą zauważysz to braki w znalezionych skrzynkach (lub, inaczej mówiąc, wpisach do logów). Jedynie co trzydziesty wpis do logu znajduje się w bazie.

  • Możesz uzyskać bardziej aktualną (i mniej okrojoną) wersję bazy kontaktując się z RT.

  • Maszyna posiada zainstalowanego phpmyadmin-a (http://local.opencaching.pl/phpmyadmin/). Logowanie, jak wyżej (user/ubuntu).

Praca z kodem PHP

  • Kod OC leży w /srv/ocpl. Możesz go edytować przez konsolę lub zdalnie, z poziomu hosta). Zobacz też Sposoby edycji zdalnej z Windowsa.

  • Sprawdzaj co jakiś czas maile wysyłane do użytkownika user. Pojawiają się w nich komunikaty i informacje o błędach. Wpisz alpine aby uruchomić klienta poczty.

  • Jeśli dostajesz "Error 500", to zajrzyj do logów Apache (np. komendą tail /var/log/apache2/error.log). Ostatnia linia w tym logu powie Ci co źle robisz.

Czegoś brakuje?

Jeśli czegoś Ci brakuje na naszej wirtualnej maszynie, napisz nam o tym. Być może w następnej wersji dodamy. Aktualna lista rzeczy do dodania.