Skip to content

nonvm_windows

tripper1971 edited this page Jun 20, 2020 · 7 revisions

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

Jak uruchomić kod OC na własnym środowisku deweloperskim pod Windows

UWAGA. Ta instrukcja może być nieaktualna.

Autor: Łza (wloczynutka)

Uruchomienie kodu Bez użycia maszyny wirtualnej (kod leży na windowsowym serwerze, np xampp, zendCE)

Dla tych którzy mają alergię na "czarnego" podaję testowaną właśnie przezemnie metodę uruchomienia kodu OC bez użycia VM. Zalety:

  • Do wszystkiego jest dostęp "z myszki" i nie trzeba godzinami wklepywać komend w shellu.
  • Nie zajmujemy pamięci i procesora olbrzymim obrazem VM. (wszystko działa szybciej)
  • kod zawsze pod ręką, można o każdej chwili zajrzeć bez konieczności uruchamiania VM
  • szybsze przeszukiwanie plików i wyszukiwanie fraz w plikach.
  • w przypadku pracy z środowiskiem typu Aptana/Eclipse - kilkukrotnie szybsze indeksowanie i odświerzanie przestrzeni roboczej (refreshing/indexing workspace)

Wady to:

  • możliwa niekompatybilność innych ustawień/konfiguracji niż wymienione
  • brak CRON-a
  • uwaga na nazwy tabel i kolumn w bazie! Na windowsie czy wpiszesz NazWa_TaBeLki, czy NazwaTabelki to będzie działać, a na Linuksie (produkcji) nie. Żeby działało prawidłowo na produkcji, należy ustawić ściśle zachować pisownię nazw tabel i kolumn.

Opis dotyczy uruchomienia kodu w środowisku xampp dla windows, ale podobne kroki można przeprowadzić dla innych środowisk działających na windowsie (np. ZendCE).

krok 0

Instalujemy xampp i TortoiseGit

krok 1

Tworzymy nowy folder w xampowym httdocs, klikamy na nim prawym myszy, wybieramy 'Git clone' i wklejamy adres repozytorium OC pobierze się cały aktualny kod.

krok 2

Pobieramy i instalujemy rozszerzenie apcu (dla wersji php 5.5+) wystarczy pobrać bibliotkę odpowiednią dla Twojej wersji php. np stąd: http://pecl.php.net/package/APCu (dla xampp 1-8-1 jest to http://mazicr.wordpress.com/2012/12/28/installing-apc-for-xampp-1-8-1-windows/).

biblioteki rozpakowujemy do xampp\php\ext i dodajemy/odkomentowujemy linijkę w php.ini extension=php_apcu.dll (extension=apcu dla php 7+)

krok 3

W php.ini włączamy (przez odkomentowanie odpowiednich linijek) rozszerzenie tidy extension=php_tidy.dll (upewniamy się czy php w katalogu xampp\php\ext jest tidy.dll, jeśli nie to ssamy z internetu)

krok 4

W php.ini włączamy (przez odkomentowanie odpowiednich linijek) xdebuga - przyda się. W xampp xdebug jest dołączony standardowo, wystarczy go włączyć:

zend_extension = "C:\xampp\php\ext\php_xdebug.dll"
xdebug.remote_enable = 1
xdebug.remote_handler = "dbgp"
xdebug.remote_host = "127.0.0.1"
xdebug.remote_port=9000

krok 5

W php.ini ustawiamy short_open_tag=on

krok 6

na katalogu z kodem tworzymy vhosta np. xampp.opencaching.pl. Ważne żeby miał domenę .pl albo .nl bo inaczej language.inc.php będzie źle interpretował niektóre frazy do tłumaczenia.

Do pliku: %xampp%\apache\conf\extra\httpd-vhosts.conf dodać (przy założeniu że źródła są w C:/xampp/htdocs/opencaching-pl)

<VirtualHost *:80>
  DocumentRoot "C:/xampp/htdocs/opencaching-pl"
  ServerName localhost.oc.pl
</VirtualHost>

Do %Windows%\System32\drivers\etc\hosts dodać

127.0.0.1       localhost.oc.pl

krok 7

Przenosimy z VM kopię katalogu ocpl-dynamic-files gdzieś w dostępne miejsce, najlepiej do katalogu z kodem. Od razu ustawiamy katalog ten w tortoiseGit jako ignorowany, żeby się nie commitował i nie śmiecił na produkcji Jeśli nie masz VM, napisz do rt[- prześlemy.

krok 8

Trzeba bardzo starannie przekonfigurować settings.inc.php (to jest plik, który nie podlega commitowaniu) szczególnie zwróć uwagę, żeby:

  • adresy wskazywały na Twojego vhosta,

  • wpisać poprawne dane Twojego serwera MySQL (serwer, login, haslo, nazwa bazy). dla środowiska windows zalecane jest wpisanie ip zamiast nazwy domeny ('127.0.0.1' zamiast 'localhost') (przy kofiguracji adresu serwera bazy danych) znacznie przyśpieszy działanie bazy. (związane z wyszukiwaniem w DNS)

  • $dynbasepath wskazywało na katalog ocpl-dynamic-files. Jeśli przeniosłeś go do katalogu z kodem linijka powinna wyglądać tak: $dynbasepat = DIR.'/../ocpl-dynamic-files/';

  • wygenerować klucz do map google i wkleić go do zmiennej $googlemap_key

Przykład zmian:
$config['cookie']['name'] = 'oc';
$config['cookie']['path'] = '/';
$config['cookie']['domain'] = '.localhost.oc.pl';

$absolute_server_URI = 'http://localhost.oc.pl/';

$dynbasepath = 'C:/xampp/htdocs/ocpl-dynamic-files/';

$dbserver = '127.0.0.1';
$dbname = 'ocpldb';
$dbusername = 'root';
$dbpasswd = '';

$googlemap_key = "(own key)";

$opt['db']['admin_username'] = 'root';        //username for automatic DB updates
$opt['db']['admin_password'] = '';

$short_sitename = 'OC PL';

krok 9

Wyeksportować z VM i zaimportować kopię bazy (np przez phpmyadmina). Jeśli nie masz VM - patrz krok 7. Uwaga na rozmiar pliku i limity czasu wykonywania / przesyłanego pliku ustwione w php.ini. Może być konieczna ich zmiana, phpmyadmin wyświetla odpowienide sugestie.

Być może najszybszym, choć nie za bardzo wygodnym sposobem importu plików jest import zrzutu bazy z konsoli windowsowej:

c:\>cd c:\xampp\mysql\bin
c:\>mysql.exe -u root --password
mysql> CREATE DATABASE ocpl
mysql> USE ocpl
mysql>source filename.sql;
 }}}
### krok 10

C:\xampp\mysql\bin\my.ini na samym końcu sekcji [mysqld](małpka]opencaching.pl) dodajemy:
lower_case_table_names=2


### krok 11

Restartujemy apacha przez xampp control pannel.