= [wiki:AdminGuide Przewodnik administratora] > Instalacja systemu na serwerze Windows (Apache + PHP + FastCGI) = #top === Menu === 1. [#intro Wstęp] 2. [#zend Instalacja i Konfiguracja] 3. [#ssl Konfiguracja SSL (OpenSSL)] 4. [#troubleshooting Znane problemu] == Wstęp == #intro W niniejszym artykule przedstawiono sposób instalacji i konfiguracji systemu eDokumenty na serwerach Windows wykorzystując do tego Apache + PHP w trybie FastCGI. Sugeruje się aby przed przystąpieniem do instalacji serwera Apache dokonać instalacji serwera baz danych: PostgreSQL, który to proces opisany jest na stronie: [wiki:AdminGuide/Procedures/WindowsPostgreSQL http://support.edokumenty.eu/trac/wiki/AdminGuide/Procedures/WindowsPostgreSQL] [#top Powrót do menu] == Instalacja == #zend Cały proces składać się będzie z kilku etapów: 0. [#intro Konfiguracja podstawowa] 1. [#svn Instalacja serwera kontroli wersji (Subversion)] 2. [#install Pobierania i instalacji Apache+PHP] 3. [#config Konfiguracja serwera] 4. [#ext Konfiguracja rozszerzeń PHP] 5. [#edokumenty Instalacja i konfiguracja systemu eDokumenty] 6. [#abiword Instalacja dodatkowych komponentów] === 0. Konfiguracja podstawowa === #intro Dokumentacja oraz załączona paczka [http://support.edokumenty.eu/download/installation/windows/new_apache_php_fcgi.7z new_apache_php_fcgi.7z] zakłada instalację systemu eDokumenty w lokalizacji "D:\edokumenty\" Strukturę katalogów nalezy utworzyć w ścieżce: {{{D:\edokumenty\}}} W tej lokalizacji należy utworzyć strukturę katalogów (lub przenieść z innego serwera): * files - katalog dla plików niewersjonowanych * maildir - katalog dla poczty email * ''public_ftp'' (opcjonalny) - publiczne repozytorium plików dostępne w Eksploratorze plików dostępnym w systemie eDokumenty * public_html - tu znajdują się pliki programu * repos - katalog bazy danych systemu kontroli wersji (Subversion) * repository - katalog, który przechowuje pliki wersjonowane * ''users'' (opcjonalny) - prywatne (użytkownika) repozytorium plików dostępne w Eksploratorze plików dostępnym w systemie eDokumenty === 1. Instalacja i konfiguracja serwera kontroli wersji (Subversion) === #svn Przed instalacja Zend Server-a należy zainstalować w systemie serwer systemu kontroli wersji. W tym celu ze strony należy pobrać dwa narzędzia: * [http://sourceforge.net/projects/win32svn/files/latest/download Subversion (Windows)] * [http://tortoisesvn.net/downloads.html TortoiseSVN] - interfejs graficzny do systemu zarządzania wersją (przydatny do konfiguracji). Podczas instalacji komponentów SVN należy zwrócić uwagę na numer wersji. [http://sourceforge.net/projects/win32svn/files/1.8.13/Setup-Subversion-1.8.13.msi/download Subversion 1.8.13] [http://tortoisesvn.software.informer.com/download/ TortoiseSVN (32bit/64bit) 1.8.11.26392-x-svn-1.8.13] W pierwszej kolejności należy zainstalować Subversion, a dopiero potem TortoiseSVN. Po zainstalowaniu serwera i narzędzia należy utworzyć repozytorium. W tym celu należy na katalogu repos kliknąć prawym przyciskeim myszy i kliknąć opcję ''TortoiseSVN > Create repository here''. Następnie należy prawym klawiszem myszy na katalogu repository kliknąć opcję SVN Checkout. W oknie, które się otworzy należy wybrać ścieżkę do katalogu repos. Uwaga, należy zwrócić uwagę, aby druga ścieżka wskazywała na katalog repository. Ostatnim krokiem jest konfiguracja ścieżek w pliku config.inc (po skońćzonej instalacji systemu eDokumenty) Plik config.inc znajduje się w katalogu /public_html/apps/edokumenty/: {{{ #!php // Ścieżka do repozytorium plików, na Linux względna, na Windows bezwzględna define('REPOSITORY_PATH', 'D:/www/eDokumenty/repository/'); define('NOT_VERSIONED_REPOSITORY_PATH', 'D:/www/eDokumenty/files/'); }}} Następnie w pliku '''httpd-fastcgi.conf''' (domyślnie C:\Apache24\conf\extra) należy dodać wpis z lokalizacją do pliku SVN. WAŻNE aby ścieżka do pliku SVN znajdował się na początku. {{{ #!php //Przykładowy podgląd wpisu// FcgidInitialEnv PATH "C:/Program Files (x86)/Subversion/bin;c:/php;C:/WINDOWS/system32;C:/WINDOWS;C:/WINDOWS/System32/Wbem;" }}} === 2. Pobieranie i instalacja Apache + PHP === #install 1. Pobrać i rozpakować paczkę [http://support.edokumenty.eu/download/installation/windows/new_apache_php_fcgi.7z new_apache_php_fcgi.7z] Paczka instalacyjna zawiera Apache 2.4 oraz PHP 5.4 === 3. Konfiguracja Apache, PHP === #config Edycja konfiguracji Apache oraz PHP rozpocząć należy od modyfikacji plików konfiguracyjnych. 1. Pierwszym z nich jest '''php.ini''' w lokalizacji (domyślnie): {{{ "C:\php\php.ini" }}} W podstawowej konfiguracji oraz instalacji w katalogu "c:\php" nie ma potrzeby ingerencji w plik php.ini. 2. Modyfikacja pliku '''httpd.conf''' {{{ c:\Apache24\conf\httpd.conf }}} W podstawowej konfiguracji oraz instalacji Apache w katalogu "c:\Apache24" oraz PHP w "c:\php" należy tylko zmienić ścieżki dotyczące lokalizacji systemu eDokumenty. 3. Plik '''httpd-vhosts.conf''' {{{ c:\Apache24\conf\extra\httpd-vhosts.conf }}} W podstawowej konfiguracji oraz instalacji Apache w katalogu "c:\Apache24" oraz PHP w "c:\php" należy tylko zmienić ścieżki dotyczące lokalizacji systemu eDokumenty. Przechodzimy do linii komend (uruchamianej z użytkownika Administrator): cd c:\Apache24\bin - przechodzimy do katalogu httpd.exe -k install -n "Apache2.4" - instalacja usługi w systemie Następnie uruchamiamy ApacheMonitor i klikamy START na usłudze Apache2.4 W razie błędów, problemów z uruchomieniem może przydać się komenda deinstalacji usługi: httpd.exe -k uninstall - odinstalowanie usługi w systemie Do poprawnej instalacji Apache wymagany jest komponent Visual C++ Redistributable [#top Powrót do menu] === 4. Konfiguracja rozszerzeń PHP === #ext W tej części opisano sposób instalacji rozszerzeń na przykładzie sterowników PHP do serwera baz danych Microsoft SQL Server. Pierwszym krokiem jest pobranie sterowników ze strony producenta [http://www.microsoft.com/en-us/download/details.aspx?id=20098 Microsoft Drivers 3.0 for PHP for SQL Server] (instalator zamieszczono również w załącznikach). Podczas instalacji instalator zapyta się, gdzie rozpakować pliki. Należy wskazać domyślny katalog rozszerzeń PHP: czyli: {{{ c:\php\ext }}}. Następnym punktem procesu jest dodanie odpowiedniego wpisu do pliku '''php.ini''': {{{ #!ini extension=php_mssql.dll }}} Po zrestartowaniu Apache'a podstawowy sterownik PHP do MS SQL Server będzie dostępny. [#top Powrót do menu] === 5. Instalacja i konfiguracja systemu eDokumenty === #edokumenty Ostatnim krokiem instalacji jest wykonanie [DeployerGuide/Others/WebInstallation instalacji przez przeglądarkę]. == Konfiguracja SSL (OpenSSL) == #ssl Konfigurację SSL w Apache 2.4 należy rozpocząć od pliku: '''httpd.conf''' w katalogu {{{C:\Apache24\conf\}}}, w którym zmieniamy następujące linie (odkomentowujemy): {{{ #!ini LoadModule socache_shmcb_module modules/mod_socache_shmcb.so LoadModule ssl_module modules/mod_ssl.so ... # Secure (SSL/TLS) connections Include conf/extra/httpd-ssl.conf SSLRandomSeed startup builtin SSLRandomSeed connect builtin }}} Następnie w pliku konfiguracyjnym: '''httpd-ssl.conf''' (domyślnie: {{{C:\Apache24\conf\extra\}}}) muszą być odkomentowane następujące linie: (kompletny plik z usuniętymi zbędnymi i zakomentowanymi liniami): {{{ #!ini SSLRandomSeed startup builtin SSLRandomSeed connect builtin Listen 443 AddType application/x-x509-ca-cert .crt AddType application/x-pkcs7-crl .crl SSLPassPhraseDialog builtin SSLSessionCache "shmcb:C:/Apache24/logs/ssl_scache(512000)" SSLSessionCacheTimeout 300 DocumentRoot "D:/public_html" ServerAdmin you@example.com ErrorLog "C:/Apache24/logs/error.log" SSLEngine on SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL SSLCertificateFile "C:/Apache24/conf/localhost.crt" SSLCertificateKeyFile "C:/Apache24/conf/localhost.key" SSLOptions +StdEnvVars SSLOptions +StdEnvVars BrowserMatch ".*MSIE.*" \ nokeepalive ssl-unclean-shutdown \ downgrade-1.0 force-response-1.0 CustomLog "C:/Apache24/logs/ssl_request_log" \ "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b" }}} Opcjonalnie w pliku tym może być również konfiguracja aliasów do systemu eDokumenty. Musi się ona znajdować przed frazą {{{ #!ini Alias /apps/edokumenty/engine "D:/public_html/apps/edokumenty/engine.php" Alias /apps/upgrade/engine "D:/public_html/apps/upgrade/engine.php" Alias /sync "D:/public_html/apps/sync/engine.php" Alias /vdisk "D:/public_html/apps/edokumenty/webdav.php" }}} '''Uwaga!!! '''. Nalezy zwrócić uwagę, że nie ma tutaj opcji SSLMutex. Musi być bezwzględnie usunięta. W pliku '''config.inc''' systemu eDokumenty zmieniamy linię : {{{ #!php define('SELECTED_PROTOCOL', 'http'); }}} na {{{ #!php define('SELECTED_PROTOCOL', 'https'); }}} [#top Powrót do menu] === 6. Instalacja dodatkowych komponentów: === #abiword Aby umożliwić podgląd dokumentów (doc, rft, itd) w systemie eDokumenty na serwerze powinna zostać zainstalowana aplikacja !AbiWord. Po instalacji aplikacje !AbiWord musimy dodać do zmiennych środowiskowych systemu. A także dokonać zmian w pliku '''httpd-fastcgi.conf''' (domyślnie C:\Apache24\conf\extra): {{{ #!php //Przykładowy podgląd wpisu// FcgidInitialEnv PATH "C:/Program Files (x86)/Subversion/bin;c:/Abiword/bin;c:/php;C:/WINDOWS/system32;C:/WINDOWS;C:/WINDOWS/System32/Wbem;" }}} w pliku '''php.ini''' (domyślnie C:\php) należy od komentować linię: {{{ #!php extension=php_fileinfo.dll }}} Do zmiennych środowiskowych systemu Windows dodajemy ścieżkę do programu !AbiWord Po wprowadzonych zmianach restartujemy Apache. [#top Powrót do menu] === Pojawiające się problemy: === #troubleshooting - Podczas wysyłania e-maili z załącznikami, Fast-CGI przestaje reagować. W pliku konfiguracyjnym '''httpd-fastcgi.conf''' (domyślnie: C:\Apache24\conf\extra\) w pozycji '''FcgitIOTimeout''' zmieniamy wartość na 6000. - Podczas wysyłania zeskanowanych plików za pomocą BSScanServera pojawiał się błąd. W logu BSScanServer pojawiał się wpis: ''ERROR: EIdHTTPProtocolException error raised, with message : HTTP/1.1 500 Internal Server Error'' W pliku konfiguracyjnym '''httpd-fastcgi.conf''' (domyślnie: C:\Apache24\conf\extra\) w pozycji '''FcgidMaxRequestLen''' zmieniamy wartość na 51200000. [#top Powrót do menu]