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: http://support.edokumenty.eu/trac/wiki/AdminGuide/Procedures/WindowsPostgreSQL
Cały proces składać się będzie z kilku etapów:
Dokumentacja oraz załączona paczka 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):
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:
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):
// Ś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.
//Przykładowy podgląd wpisu//
FcgidInitialEnv PATH "C:/Program Files (x86)/Subversion/bin;c:/php;C:/WINDOWS/system32;C:/WINDOWS;C:/WINDOWS/System32/Wbem;"
Edycja konfiguracji Apache oraz PHP rozpocząć należy od modyfikacji plików konfiguracyjnych.
W podstawowej konfiguracji oraz instalacji w katalogu "c:\php" nie ma potrzeby ingerencji w plik php.ini.
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.
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
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 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:
extension=php_mssql.dll
Po zrestartowaniu Apache'a podstawowy sterownik PHP do MS SQL Server będzie dostępny.
Ostatnim krokiem instalacji jest wykonanie instalacji przez przeglądarkę.
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):
LoadModule socache_shmcb_module modules/mod_socache_shmcb.so LoadModule ssl_module modules/mod_ssl.so ... # Secure (SSL/TLS) connections <IfModule ssl_module> Include conf/extra/httpd-ssl.conf SSLRandomSeed startup builtin SSLRandomSeed connect builtin </IfModule>
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):
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 <VirtualHost _default_:443> 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" <FilesMatch "\.(cgi|shtml|phtml|php)$"> SSLOptions +StdEnvVars </FilesMatch> <Directory "C:/Apache24/cgi-bin"> SSLOptions +StdEnvVars </Directory> 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" </VirtualHost>
Opcjonalnie w pliku tym może być również konfiguracja aliasów do systemu eDokumenty. Musi się ona znajdować przed frazą </VirtualHost>
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ę :
define('SELECTED_PROTOCOL', 'http');
na
define('SELECTED_PROTOCOL', 'https');
W pliku konfiguracyjnym httpd-fastcgi.conf (domyślnie: C:\Apache24\conf\extra\) w pozycji FcgitIOTimeout zmieniamy wartość na 6000.
W pliku konfiguracyjnym httpd-fastcgi.conf (domyślnie: C:\Apache24\conf\extra\) w pozycji FcgidMaxRequestLen zmieniamy wartość na 51200000.