Dokumentacja fillup - MS SQL e-file.pl 28 lipca 2017 Spis treści Wstęp 2 Wymagania sprzętowe 2 Windows Server 2012.......................... 2 Windows 10............................... 3 MS SQL Server............................. 3 Podsumowanie - zalecany serwer.................... 3 Instalacja i konfiguracja IIS - Windows Server 4 Instalowanie skryptów za pomocą instalatora............. 5 Instalacja skryptów manualnie..................... 5 Instalacja i konfiguracja serwera Apache 6 Sterownik sqlsrv 6 Tworzenie bazy danych 9 Zapis do bazy danych.......................... 9 Dodatkowe informacje......................... 11 1
Wstęp Na tej stronie można znaleźć informację jak zainstalować skrypty PHP, które są niezbędne do komunikacji z bazą danych MS SQL. Skrypty można zainstalować na dwa sposoby: przez instalator oraz manualnie. Wybór serwera jest dowolny, aplikację testowaliśmy zarówno na serwerze Apache jak i IIS. Dla systemu Windows Server polecamy IIS z uwagi na mniej skomplikowany proces instalacji. Wymagania sprzętowe Podczas przygotowania maszyny należy się zapoznać z wymaganiami sprzętowymi systemu operacyjnego oraz MS SQL Server i dodać około 2GB RAM na potrzeby PHP. Windows Server 2012 Procesor minimum: 64-bit; 1,4 GHz zalecane: 2 GHz lub szybszy Pamięć RAM minimum: 512 MB HDD minimum: 32 GB 2
Windows 10 Procesor 1 GHz lub szybszy Pamięć RAM minimum 1 GB dla wersji 32-bitowej minimum 2 GB dla wersji 64-bitowej HDD minimum 16 GB dla wersji 32-bitowej minimum 20 GB dla wersji 64-bitowej MS SQL Server Procesor minimum 1,4 GHz zalecane 2 GHz lub szybszy Pamięć RAM minimum 1 GB zalecane 4 GB lub więcej Podsumowanie - zalecany serwer Procesor 64-bitowy, 2 GHz Pamięć RAM 8 GB HDD 60 GB 3
Uwaga! Domyślna konfiguracja serwera IIS przydziela około 120 MB pamięci RAM interpreterowi PHP. Testowana przez nas baza danych zawierająca 50 000 formularzy wymagała przydzielenia 768 megabajtów RAM do jednorazowego załadowania pełnych danych wszystkich formularzy. Domyślnie program przy starcie ładuje jedynie nagłówki formularzy, więc 768 megabajtów zawiera spory zapas wolnej pamięci w przypadku normalnego użytkowania programu. W przypadku błędu połączenia z bazą danych zalecamy sprawdzenie pliku z logami PHP, który na serwerze IIS znajduje się w następującej lokalizacji C:\Windows\temp. Dla PHP w wersji 5.6 będzie to plik PHP56_errors.log. Pełna ścieżka do plików logów PHP znajduje się w pliku php.ini. Aby zmienić wielkość przydzielonej interpreterowi PHP pamięci RAM, w pliku php.ini należy ustawić parametr memory_limit. Zalecamy ustawić memory_limit=2048m Instalacja i konfiguracja IIS - Windows Server Instalację w systemie Windows Server można przeprowadzić za pomocą domyślnie zainstalowanego oprogramowania Server Manager (Menadżer serwera) oraz oprogramowania, które trzeba pobrać - Web Platform Installer. Żeby uruchomić program należy: Zainstalować serwer IIS - link W funkcjach dodać również Funkcje programu.net Framework 3.5 oraz 4.0 Zainstalować MS SQL Server Pobrać i zainstalować Web Platform Installer - link I za jego pomocą zainstalować: PHP dla IIS w wersji co najmniej 5.4 - link PHP Manager for IIS 4
Instalowanie skryptów za pomocą instalatora Uruchomić Instalator - połączenie z MS SQL Zapoznać się z umową licencyjną oraz zaakceptować ją Wybrać ścieżkę, w której mają być wypakowane pliki (w przypadku pierwszej instalacji zalecamy pozostawienie domyślnej ścieżki, którą proponuje instalator). W przypadku, kiedy pliki zostały wypakowane w proponowanej przez instalator ścieżce, po zakończeniu użytkownik zostanie przekierowany na stronę konfiguracyjną. Ustawić prawa zapisu dla użytkowników (Prawym przyciskiem wywołać menu w folderze ze skryptami, wybrać właściwości a następnie zakładkę zabezpieczenia). Zainstalować sterowniki dla połączenia z bazą MS SQL - instrukcja Ważne! Dla katalogu C:\windows \temp należy ustawić prawa zapisu dla użytkowników. W przeciwnym wypadku pojawi się błąd zapisu plików sesji. Instalacja skryptów manualnie Rozpakować fillup_install.zip i umieścić katalog efile w katalogu www serwera (domyślnie C:\inetpub\wwwroot) Ustawić prawa zapisu dla użytkowników (Prawym przyciskiem wywołać menu w folderze ze skryptami, wybrać właściwości a następnie zakładkę zabezpieczenia). Zainstalować sterowniki dla połączenia z bazą MS SQL - instrukcja Ważne! Dla katalogu C:\windows\temp należy ustawić prawa zapisu dla użytkowników. W przeciwnym wypadku pojawi się błąd zapisu plików sesji. 5
Instalacja i konfiguracja serwera Apache Żeby uruchomić program należy: Zainstalować Serwer Apache Zainstalować MS SQL Server Zainstalować PHP w wersji co najmniej 5.4 Otworzyć port 80 (dodać regułę) i odblokować Apache a w firewallu Windows a Rozpakować fillup_install.zip i umieścić katalog efile w katalogu www serwera Apache Zainstalować sterowniki dla połączenia z bazą MS SQL - instrukcja Sterownik sqlsrv Dla PHP 5.4-5.6 wejśc pod link i pobrać SQLSRV32.EXE. Po pobraniu kliknąć dwa razy na plik i podać ścieżkę, gdzie mają zostać wypakowane pliki. Dla PHP 7.0-7.1 sterowniki znajdują się pod tym linkiem. 6
Po wypakowaniu należy wybrać odpowiednią bibliotekę i skopiować do katalogu rozszerzeń w miejscu instalacji PHP folder ext. Po uruchomieniu pliku phpinfo.php w przeglądarce (lub wybraniu php info z menu home.php) powinien się pokazać podobny ekran: 7
1. wersja PHP 2. Miejsce instalacji PHP (tam można znaleźć folder ext oraz plik php.ini potrzebny w dalszej części konfiguracji) 3. Thread Safety (potrzebne w wyborze biblioteki) dla Thread Safety disabled php_sqlsrv_x_nts.dll dla Thread Safety enabled php_sqlsrv_x_ts.dll Gdzie X to wersja PHP Po wybraniu odpowiedniej biblioteki i skopiowaniu do folderu ext należy otworzyć plik php.ini i dopisać następującą linię: extension=nazwa_biblioteki dla przykładu, kiedy skopiujemy bibliotekę dla PHP 5.6 gdzie php.ini pokazuje Thread Safety disabled: extension=php_sqlsrv_56_nts.dll Ważne! Jeżeli memory_limit nie zostało ustawione wcześniej w pliku php.ini, ustaw: memory_limit=2048m Po zapisaniu pliku php.ini należy zresetować serwer. Poprawnie zainstalowany sterowanik będzie widoczny w phpinfo.php 8
Tworzenie bazy danych Bazę danych można utworzyć na dwa sposoby: 1. przez SQL Server Managment Studio 2. wpisać nazwę bazy w skrypcie - wtedy skrypt utworzy bazę o podanej nazwie. Ważne! Jeżeli użytkownik sam tworzy bazę danych ważne jest, żeby w zakładce Options (Opcje ) w Collation ustawić Polish_100_CI_AS. Zapis do bazy danych Żeby program mógł zapisywać dane w bazie danych MS SQL należy: Jeżeli instalator nie przekierował użytkownika do przeglądarki lub użytkownik wybrał instalację manualną należy w przeglądarce uruchomić adres: http://[areds_serwera]/efile/home.php w większości przypadków adres będzie wyglądał następująco: http://127.0.0.1/efile/home.php 9
Powinna się wyświetlić strona, na której wyświetlane są podstawowe informacje na temat sterownika sqlsrv, wersji php oraz prawa zapisu. Jeżeli wszystkie warunki zostały spełnione z menu Akcje wybrać opcję instalacja Pojawi się strona, gdzie należy podać nazwę serwera MS SQL, nazwę bazy danych, która będzie lub została utworzona przez użytkownika oraz nazwę i hasło administratora serwera MS SQL. 10
Po wprowadzeniu tych danych i zatwierdzeniu formularza, uruchomiona zostanie próba połączenia z serwerem, tworzenie bazy danych (jeżeli nie została utworzona przez użytkownika), definiowanie struktury tabel oraz dodanie podstawowego użytkownika w programie - Administrator z domyślnym hasłem admin. Ważne! Zalecamy zmianę domyślnego hasła na swoje po pierwszym uruchomieniu programu. Po bezbłędnym zakończeniu instalacji bazy, na dole strony zostanie wyświetlony link, który należy podać w programie. Przykładowy link: http://127.0.0.1/efile/ Ważne! Należy pamiętać o umieszczeniu znaku / na końcu linku. Żeby wprowadzić link należy uruchomić program, z prawego menu wybrać Narzędzia Ustawienia Dane aplikacji z sekcji Miejsce zapisu danych wybrać Zapisuj na serwerze i zatwierdzić przyciskiem Zmień miejsce zapisu danych Następnie w oknie, które się pojawi należy podać link do połączenia z serwerem (link z dołu strony instalacji). Dodatkowe informacje Istnieje możliwość utworzenia dwóch kopii katalogu zawierającego skrypt PHP, tworząc w ten sposób dwie niezależne konfiguracje połączenia z bazami danych. Należy tylko pamiętać o usunięciu pliku config.php po wykonaniu kopii. 11
Przykład: Na serwerze znajdują się dwie kopie skryptów w katalogach: C:\inetpub\wwwroot\efile_1 C:\inetpub\wwwroot\efile_2 Dla każdej kopii ustawiono inną nazwę bazy danych (mogą być na tym samym serwerze MS SQL). W ten sposób część pracowników może w programie pracować na (fizycznie) innej bazie danych. Domyślną nazwę katalogu efile można zmienić, natomiast odradzamy zmianę struktury plików i katalogów wewnątrz. 12