Ze względu na przetwarzanie dużej ilości danych program działa w środowisku serwerowym (Apache, PHP, MySQL). Nie jest wymagany konkretny system, ale testy były wykonywane na Windows (konkretnie na Windows 10).
Za serwer może posłużyć w miarę dowolny, współczesny komputer. Zalecane parametry:
- CPU: 3 GHz, quad, 64-bit.
- RAM: 8 GB.
- Dysk: 20 GB wolnego miejsca. Uwaga! Zalecana jest instalacja na dysku typu SSD!
Zamiast dysku SSD można ew. użyć dwóch dysków HDD, ale program będzie działał zauważalnie wolniej (nawet 10 razy wolniej).
Można też spróbować użyć dwóch wolniejszych komputerów. Jeden na serwer SQL, a drugi na serwer Apache+PHP. Ważne! Ze na wydajność oraz ze względów bezpieczeństwa zalecane jest korzystanie wyłącznie z sieci lokalnej.
Dostęp do programu odbywa się przez przeglądarkę (najlepiej Firefox lub Chrome). W starych IE (starszym niż ten z Windows 7), wygląd niektórych elementów może być dziwny -- zwłaszcza losowania.
Zalecany jest dostęp lokalny, czyli z tego samego komputera, na którym jest Apache. Wówczas niepotrzebne jest szyfrowanie połączenie i konfigurowanie uwierzytelniania (logowania).
Do obsługi plików CSV najlepiej zainstalować Apache Open Office lub ew. Libre Office . MS Excel może wystarczyć do eksportu plików CSV, ale nie poradzi sobie z kodowaniem UTF-8 przy eksporcie plików CSV.
Na komputerze muszą być zainstalowane i skonfigurowane następujące programy serwerowe:
- Apache 2.2 lub nowszy.
- PHP 5.3 lub nowszy. Wymagane rozszerzenie
mysql. - MySQL 5.1 lub nowszy. Uwaga! Musi być skonfigurowany na obsługę UTF-8.
Poza tym, że używane jest rozszerzenie mysql, to nie ma konkretnych wymagań do wersji PHP. Można próbować instalować POLos na zintegrowanych pakietach serwerowych typu XAMPP, czy WampServer.
Zalecane wersje to:
- httpd-2.2.25-win32-x86-openssl-0.9.8y.msi
- mysql-5.1.50-win32 (full).msi
- php-5.3.5-Win32-VC6-x86.msi
Na serwerze należy zainstalować Apache, PHP i MySQL.
Ważne! Niektóre rzeczy powinny być skonfigurowane podczas instalacji! Szczegóły poniżej.
- Instalacja Apache.
- Instalacja PHP. Ważne etapy:
- Przy instalacji zaznacz moduł
mysqljeśli nie jest domyślnie zaznaczony. - Wskaż folder
confz zainstalowanego Apache. Bez tego PHP nie będzie działał poprawnie.
- Przy instalacji zaznacz moduł
- Instalacja MySQL.
- Najlepiej wybrać wstępną konfigurację, która będzie w stanie obsłużyć dużą ilość danych (serwerową).
- Musisz wybrać obsługę kodowanie UTF-8.
Uwaga! Instalator PHP 5.3 może mieć problem z ustawieniem ścieżki w konfiguracji Apache. Po instalacji upewnij się, że na końcu httpd.conf znajduje się coś w rodzaju:
#BEGIN PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL
PHPIniDir "c:/Program Files (x86)/PHP/"
LoadModule php5_module "c:/Program Files (x86)/PHP/php5apache2_2.dll"
#END PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALLW pliku httpd.conf znajduje się główna konfiguracja Apache.
- Należy zmienić konfigurację głównego folderu ze skryptami. W wypadku typowej instalacji Windows to
<Directory "C:/Program Files (x86)/Apache Software Foundation/Apache2.2/htdocs">. Należy zmienić w niejAllowOverride NonenaAllowOverride All. - W dyrektywę
DirectoryIndexnależy dodaćindex.php. Czyli zmienić ją na:DirectoryIndex index.php index.html.
Dodatkowo w wypadku użycia poza siecią lokalną należy włączyć moduły:
mod_rewrite-- do przekierowań.mod_ssl-- do szyfrowania (HTTPS).
Należy pamiętać, że po zmianie konfiguracji konieczny jest restart usługi Apache.
W pliku php.ini znajduje się główna konfiguracja PHP.
Należy ustawić:
short_open_tagnaOn.display_errorsnaOff.upload_max_filesizena30M(lub więcej - ogranicza wielkość przesyłanych plików).memory_limitna512M(lub więcej).post_max_sizemusi być większeupload_max_filesize, ale mniejsze odmemory_limit. Zalecane jest ustawienie przynajmniej o 10M większe odupload_max_filesize.
Upewnij się także, że upload_tmp_dir, session.save_path oraz error_log wskazują na istniejący folder.
Należy pamiętać, że po zmianie konfiguracji konieczny jest restart usługi Apache.
O ile pamiętało się, żeby podczas instalacji MySQL skonfigurować przez kreator usługę, to większość domyślnych ustawień powinna wystarczyć.
Należy jedynie my.ini należy powiększyć max_allowed_packet na około 2 razy więcej niż plik CSV. Jeśli w pliku my.ini nie ma wpisu "max_allowed_packet", to należy go dodać w sekcji [mysqld]. Powinno to wyglądać tak:
max_allowed_packet = 100M Na początek należy utworzyć bazę danych. Można to zrobić w konsoli MySQL lub przez phpMyAdmin.
Tworzenie bazy i użytkownika:
CREATE DATABASE polos_db;
GRANT ALL ON polos_db.*
TO polos_user@localhost IDENTIFIED BY '...jakieś hasło do bazy...';Tworzenie struktury:
mysql -uroot -pHasloRoot --database=polos_db < __TABLES.sqlMożna też zaimportować strukturę w phpMyAdmin. Plik __TABLES.sql znajduje się w folderze .sql.
Uwaga! Wykonanie pliku __TABLES.sql kasuje bieżące dane.
- Najpierw skopiuj pliki na serwer Apache np. do folderu
htdocs\polos. - Utwórz plik
polos\inc\dbConnect.phpi wpisz w nim polecenia połączenia z bazą MySQL. Przykładowa zawartość plikudbConnect.phpznajduje się w dbConnect.example.php. Oczywiście należy w nim wpisać właściwe hasło. - Utwórz plik
polos\js\random-org\key.jsi wpisz w nim klucz API uzyskany z Random.org. Przykładowa zawartość plikukey.jsznajduje się w key.example.js.
Zamiast ręcznego kopiowania plików można skorzystać ze skryptu _install.bat. Skopiuje on najnowsze pliki POLos z zewnętrznego serwera (z Github). Ułatwi także przyszłe aktualizacje.
Więcej informacji w UPDATE.md.