Version 14 (modified by jachtelik, 10 years ago) |
---|
Przewodnik administratora > Instalacja systemu na serwerze Windows (Apache + PHP + FastCGI)
Menu
Wstęp
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
Instalacja
Cały proces składać się będzie z kilku etapów:
- Konfiguracja podstawowa
- Instalacja serwera kontroli wersji (Subversion)
- Pobierania i instalacji Apache+PHP
- Konfiguracja serwera
- Konfiguracja rozszerzeń PHP
- Instalacja i konfiguracja systemu eDokumenty
0. Konfiguracja podstawowa
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):
- files - katalog dla plików niewersjonowanych
- maildir - katalog dla poczty email
- public_frp (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)
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:
- Subversion (Windows)
- TortoiseSVN - interfejs graficzny do systemu zarządzania wersją (przydatny do konfiguracji).
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/');
2. Pobieranie i instalacja Apache + PHP
- Pobrać i rozpakować paczkę new_apache_php_fcgi.7z
3. Konfiguracja Apache, PHP
Edycja konfiguracji Apache oraz PHP rozpocząć należy od modyfikacji plików konfiguracyjnych.
- 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.
- 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.
- 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.
4. Konfiguracja rozszerzeń PHP
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.
5. Instalacja i konfiguracja systemu eDokumenty
Ostatnim krokiem instalacji jest wykonanie instalacji przez przeglądarkę.
Konfiguracja SSL (OpenSSL)
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>
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');
Pojawiające się problemy:
- 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.