-
Notifications
You must be signed in to change notification settings - Fork 33
vm_installation_and_usage_old_version
Ten dokument jest przestarzały i dotyczy środowiska opartego o obraz w wersji 7. Nowszy dokument jest tutaj
Ten dokument jest przeznaczony dla programistów. Zakładamy, że znasz *podstawy Linuksa, Apache i PHP.
Przygotuj wymagane rzeczy:
- Ściągnij i zainstaluj VMware Player (lub inny podobny program, np. VirtualBox),
- Pobierz najnowszą wersję przygotowanego przez nas obrazu serwera:
- OCPL-DEVEL Virtual Machine, version 7 (VMware, 7z, 1.22 GB),
- 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] (http://www.7-zip.org/).
- 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.
Otwórz pobraną maszynę w VMware Playerze. Zaloguj się jako user
, hasło
ubuntu
. W tym momencie prawdopodobnie będzie konieczne skonfigurowanie interfejsów sieciowych w twojej maszynie wirtualnej - jeśli nie masz doświadczenia z linkusem możesz spróbować poszukać tutoriala w internecie (można zacząć np. od: https://help.ubuntu.com/lts/serverguide/network-configuration.html).
Jeśli twoja maszyna wirtualna potrafi już pingować host w internecie znaczy, że "jest dobrze" - możesz to sprawdzić np. komendą ping wp.pl
- wynik powinien być podobny do tego:
user@ocpl-devel:~$ ping wp.pl
PING wp.pl (212.77.98.9) 56(84) bytes of data.
64 bytes from www.wp.pl (212.77.98.9): icmp_seq=1 ttl=59 time=6.44 ms
64 bytes from www.wp.pl (212.77.98.9): icmp_seq=2 ttl=59 time=6.84 ms
64 bytes from www.wp.pl (212.77.98.9): icmp_seq=3 ttl=59 time=7.07 ms
64 bytes from www.wp.pl (212.77.98.9): icmp_seq=4 ttl=59 time=8.72 ms
64 bytes from www.wp.pl (212.77.98.9): icmp_seq=5 ttl=59 time=7.13 ms
--- wp.pl ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4007ms
rtt min/avg/max/mdev = 6.445/7.245/8.728/0.783 ms
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
Otwórz w swojej przeglądarce (na komputerze hoście) stronę
http://local.opencaching.pl/
. Powinieneś zobaczyć "jako tako działający"
serwer OC.
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
. - Zaktualizuj kod źródłowy: uruchom komendę
git pull
. Jeśli pojawi się błąd dot. uprawnień ("permission denied"), zrób kolejno:git reset HEAD --hard
,git clean -df
,sudo chown -R user:user /srv/ocpl
. Jeśli wszystko poszło dobrze spróbuj znów uruchomić:git pull
. No i masz aktualny kod źródłowy OCPL :) - W aktualnej wersji maszyny VM trzeba także włączyc moduł APCu - robi się to komendą:
sudo phpenmod apcu
oraz przeładować server apache:sudo service apache2 reload
- Wydaje się, że obecna struktura bazy danych OCPL ma problemy ze standardowym ustawieniem modów mysql - dla pewności warto będzie "na razie" wyłączyć mody: wyedytuj plik
/etc/mysql/mysql.conf.d/mysqld_set_modes.cnf
, gdzie powinno znaleźć się coś podobnego do:
[mysqld]
sql-mode=""
- Po wyedytowaniu pliku konf. modów następnie konieczny będzie restart mysql:
sudo service mysql restart
- Aktualizacja OKAPI: wejdź w przeglądarce na stronę
http://local.opencaching.pl/okapi/update
. - Przejrzyj stronę
http://local.opencaching.pl/okapi/devel/dbstruct?compare_to=https://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śĺi wersja maszyny wirtualnej jest dość starta, a pewnie jest ta operacja może być trudna - różnic w strukturze bazy danych będzie bardzo wiele - wtedy poproś kogoś z RT o wystawienie ci świeżego, kompletnego obrazy bazy danych (wskazówki jak to zrobić w rozdziale Praca z bazą danych). - 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).
- Twój login:
user
, hasło:ubuntu
. Użyjsudo
jeśli potrzebujesz wykonać komendę jakoroot
. - Hasło użytkownika
root
na MySQL totoor
(do użycia np. w phpmyadmin). - Hasło użytkownika
user
na MySQL toubuntu
(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 tabeliuser
przez phpmyadmin.
-
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] (http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html). 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.
-
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 (root
/toor
). -
Jak zaaplikować pełny obraz bazy danych OCPL:
- aktualnie pełny obraz bazy danych RT udostępnia na życzenie
- taki obraz zwykle jest dosyć duży (aktualnie spakowany ma ~280MB)
- spakowany dump przegrywamy na maszynę wirtualną (np. przez sftp - na windowsie użyj WinSCP na linuxie np. polecenia scp)
- na maszynie wirt. wchodzimy do katalogu, w którym się znajduje się przegrany obraz
- używamy polecenia:
zcat <spakowany-obraz-bazy-danych.sql.gz> | mysql -u root --password=toor ocpl -vvv
- powyższe polecenie prawdopodobnie będzie działać dłuuuugo (np. kilkadziesiąt minut?), ale przynajmniej widać co aktualnie jest wpuszczane do bazy
- ostatnim niezbędnym krokiem jest regeneracja kafelków mapy - z konsoli wydać należy polecenie:
wget "http://localhost/lib/mapper_okapi.php?userid=1&z=0&x=0&y=0"
i poczekać na wynik (regeneracja kafelków jest procesem dość długotrwałym - w zależności od wydajności maszyny kilka-kilkanaście min.)
-
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. Wpiszalpine
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.
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.
Virtual Machine (VM):
(EN) Installation and usage - brief description
(PL) Przygotowanie środowiska dev.
(EN) The "Making of"
(EN) Requests for new VM version?
(PL) Wskazówki dla Windowsowców
Setup instructions without VM:
Tips for developers:
(EN) Coding style
(EN) People and their duties
(PL) Praca z repozytorium
(PL) Wprowadzenie do kodu OCPL