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ł
mysql
jeśli nie jest domyślnie zaznaczony. - Wskaż folder
conf
z 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 UNINSTALL
W 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 None
naAllowOverride All
. - W dyrektywę
DirectoryIndex
należ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_tag
naOn
.display_errors
naOff
.upload_max_filesize
na30M
(lub więcej - ogranicza wielkość przesyłanych plików).memory_limit
na512M
(lub więcej).post_max_size
musi 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.sql
Moż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.php
i wpisz w nim polecenia połączenia z bazą MySQL. Przykładowa zawartość plikudbConnect.php
znajduje 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.js
i wpisz w nim klucz API uzyskany z Random.org. Przykładowa zawartość plikukey.js
znajduje 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.