= [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]