Aktualizacja systemu


Nowy system operacyjny - Debian Lenny 64 bit

I) Opis aktualizacji
1. Zmiana architektury systemu z 32 bit na 64 bit
2. Aktualizacja bibliotek i narzędzi systemowych
3. Aktualizacja języków interpretowanych serwera
4. Aktualizacja serwera http apache2 do wersji 2.2
5. Zmiany w konfiguracji serwerów

II) Procedura testowa

III) Procedura aktualizacji
1. Testy działania serwisów
2. Dostosowanie konfiguracji serwera
3. Aktualizacja

IV) Zapowiedź dalszych aktualizacji i zmian w konfiguracji oraz oprogramowaniu serwerów
1. Aktualizacja PHP do wersji PHP5.3
2. Wycofanie PHP4

V) Dedykowane MySQL


I) Opis aktualizacji

1. Zmiana architektury systemu z 32 bit na 64 bit

Nowe wersje oprogramowania instalowanego na serwerze pracują w architekturze 64 bitowej.
Architektura ta jest określana nazwą x86_64 lub amd64.
W związku ze zmianą mogą wystąpić następujące sytuacje:

a) samodzielnie kompilowane lub instalowane aplikacje muszą zostać zastąpione 64 bitowymi wersjami po aktualizacji. Serwer nadal będzie miał możliwość uruchamiania 32 bitowych aplikacji, jednak do ich działania może być konieczne przygotowanie 32 bitowych wersji bibliotek systemowych

b) moduły i biblioteki przygotowane dla języków takich jak perl, python, ruby muszą zostać wymienione na 64 bitowe odpowiedniki, w tym przypadku wersje 32 bitowe nie będą działać

c) moduły PHP wykorzystywane poprzez użycie funkcji dl() muszą zostać zastąpione przez wersje skompilowane dla nowej architektury (dotyczy to trybu CGI PHP, w trybie pracy jako moduł apache2 użycie funkcji dl() jest niemożliwe)

d) zmiana architektury pozwala na lepsze wykorzystanie zasobów serwera, jednak wiąże się to z większym zużyciem pamięci ram przez aplikacje (w zależności od aplikacji jest to 5-30% wzrost zapotrzebowania na pamięć), może okazać się że należy odpowiednio zwiększyć limity pamięci przyznanych dla aplikacji aby działały one w ten sam sposób po aktualizacji

2. Aktualizacja bibliotek i narzędzi systemowych

Nowa wersja systemu serwera wirtualnego została przygotowana w oparciu o dystrybucję Debian Lenny, wszystkie wersje bibliotek systemowych oraz narzędzi i domyślnie instalowanego oprogramowania zostały zaktualizowane do wersji która dostępna jest w tej wersji dystrybucji

3. Aktualizacja języków interpretowanych serwera

a) PHP5.2

Wraz z aktualizacją systemu została przygotowana nowsza wersja języka PHP, obecnie jest to PHP w wersji 5.2.12. Nowa wersja głównie poprawia błędy znalezione w oprogramowaniu.

b) PHP5.3

Najnowsza wersja PHP została umieszczona w systemie jako opcjonalna.
Zastępuje ona PHP w wersji 5.2 i nie ma możliwości równoległego używania obu wersji PHP. Zmiany wersji można dokonać tylko za pośrednictwem BOK Kei.pl.

PHP5.3 to także następujące zmiany w konfiguracji:
- brak możliwości użycia zendoptimizer/zendguard, w przypadku wykorzystania tej metody zabezpieczenia kodu PHP należy użyć konkurencyjnej aplikacji - ionCube
- domyślna wartość konfiguracyjna register_globals to Off
- domyślna wartość konfiguracyjna register_long_arrays to Off
- domyślna wartość konfiguracyjna magic_quotes_gpc to Off

c) Perl

Perl zostaje zaktualizowany do wersji v5.10.0. W przypadku instalacji modułów perl przez administratorów serwera lista dostępnych modułów nie zmieni się. W przypadku samodzielniej instalacji za pomocą CPAN może się okazać konieczna reinstalacja.

d) Ruby

Dostępne są równolegle 2 wersje ruby, 1.8.7 oraz 1.9.0, z tym że wersja 1.8.7 ustawiona została jako domyślna.

e) Python

Dostępne są 2 wersje języka: domyślna to 2.5.2, dodatkowo można używać starszej wersji 2.4.6.

4. Aktualizacja serwera http apache2 do wersji 2.2

5. Zmiany w konfiguracji serwerów:

a) wycofane zostaje wsparcie dla szeregu modułów PHP

- eAccelerator, z eAccelerator usunięta została część odpowiedzialna za szyfrowanie stron, oraz funkcje nie związane bezpośrednio z cache opcode PHP
Powód: W nowej wersji PHP brak funkcji kodowania - brak wsparcia przez producenta

- mmcache, wsparcie dla pokazywania zaszyfrowanych stron poprzez mmcache zostało usunięte
Powód: W nowej wersji PHP brak funkcji kodowania - brak wsparcia przez producenta

- zendoptimizer/zendguard - od wersji PHP5.3 nie wspierane jest także szyfrowanie kodu za pomocą tych modułów, jest to związane z brakiem wsparcia producenta dla nowych wersji PHP
Powód: W nowej wersji PHP brak funkcji kodowania - brak wsparcia przez producenta

We wszystkich 3 przypadkach konieczne jest rozkodowanie skryptów, lub wykorzystanie dostępnego rozwiązania realizującego tą samą funkcjonalność, mianowicie ionCube www.ionCube.com).

b) zmieniona zostaje lista domyślnie zainstalowanych modułów PHP

W związku z małym zapotrzebowaniem z listy domyślnie zainstalowanych modułów PHP zostały usunięte następujące moduły (mogą być one nadal instalowane w razie potrzeby):
- fam
- gmp
- interbase
- ldap
- ming
- mnogosearch
- pdo_firebird

Do listy domyślnie dostępnych modułów zostały dodane natomiast moduły:
- imagick
- uploadprogress

c) wycofana zostaje możliwość użycia PHP4 w trybie pracy jako moduł serwera apache2

Jak juz informowaliśmy, dn. 08.08.2008r. wsparcie dla PHP4 przez developerów zostało zakończone. W związku z tym zdecydowaliśmy się na wycofanie możliwości używania PHP4 jako modułu dla serwera apache2.

Użycie PHP4 będzie możliwe tylko i wyłącznie w trybie CGI. Taki tryb pracy jest dużo wolniejszy i generuje znacznie większe obciążenie serwera , należy użyć go więc tylko w ostateczności, jeżeli potrzebne będzie wydłużenie okresu przejściowego w czasie dostosowania aplikacji do działania z PHP5. Należy się liczyć także z tym, że część skryptów nie będzie działać w trybie CGI (np. skrypty wykorzystujące autoryzację http).

W pierwszej kolejności zalecamy aktualizację aplikacji lub dostosowanie do nowej wersji PHP. Większość najczęściej instalowanych aplikacji (Wordpress, phpBB, joomla itp.) jest dostępna dla PHP 5.3, a ich aktualizacja zalecana jest również przez producentów ze względów bezpieczeństwa.

Aby włączyć tryb CGI pracy PHP oraz ustawić PHP4 jako wersję odpowiedzialną za przetwarzanie skryptów strony należy w katalogu strony utworzyć plik .htaccess o zawartości:

<IfModule !mod_PHP4.c>
AddHandler application/x-httpd-PHP4 .PHP
</IfModule>

Należy jednak pamiętać ze w takim przypadku nie będą respektowane ustawienia konfiguracji PHP realizowane poprzez .htaccess (dyrektywy PHP_value i PHP_flag).

II) Procedura testowa

Zdecydowaliśmy się na udostępnienie oddzielnego środowiska testowego działającego równolegle do środowiska produkcyjnego.

Aby przetestować działanie Państwa stron należy wykorzystać specjalnie przygotowane porty w adresach URL:

http - 9080
https - 9081

http://www.nazwadomeny.pl:9080/
https://www.nazwadomeny .pl:9081/

np.
http://www.kei.pl:9080/
https://www.kei.pl:9081/

Metoda może powodować, że w niektórych przypadkach adres portu będzie pomijany (w linkach na stronie). Dlatego można także skonfigurować IP serwera i port 9080 jako proxy w konfiguracji przeglądarki.
W takim przypadku niektóre wywołania do elementów które nie są na serwerze nie będą działać (np. zewnętrze js, grafika).

Należy zwrócić uwagę na fakt, że serwer testowy korzysta z tych samych plików co strona produkcyjna.

W przypadku samodzielnego uruchamiania demonów w środowisku serwera należy także dokonać testów i prawdopodobnie reinstalacji demonów dla nowego środowiska. W razie takiej konieczności prosimy o kontakt z naszym BOK w celu zapewnienia dostępu do shell serwera testowego.

Dodatkowo proszę pamiętać, że nowe domeny i konta zakładane na produkcyjnym serwerze nie będą widoczne na serwerze testowym. Konfiguracja takich domen musi zostać wprowadzona przez BOK Kei.pl.

III) Procedura aktualizacji

Aktualizacja obejmuje następujące etapy:

1. Testy działania serwisów

Zalecamy przetestowanie każdej ze stron działających na serwerze, w razie problemów związanych z działaniem stron w PHP5 bardzo prosimy o aktualizację oprogramowania serwisu lub aktywację wymuszenia wersji PHP4 poprzez .htaccess.

W razie problemów z serwisem, które nie mogą zostać naprawione przed terminem aktualizacji, lub brakiem możliwości przeprowadzenia testów prosimy o kontakt w celu indywidualnego ustalenia terminu aktualizacji.

Na przeprowadzenie testów przewidujemy okres 3 tygodni.

2. Dostosowanie konfiguracji serwera

Zmiana architektury serwera oraz wersji oprogramowania może spowodować konieczność modyfikacji w konfiguracji serwera dla zapewnienia poprawnego działania stron. Zmiany wprowadzone w środowisku testowym zostaną przeniesione w czasie aktualizacji.

Mogą Państwo także zdecydować się na jednoczesną aktualizację wersji PHP do PHP5.3.

3. Aktualizacja

O terminie aktualizacji zostaną Państwo poinformowani drogą mailową. Aktualizacja związana jest z około 5 minutową przerwą w pracy serwera.

IV) Zapowiedź dalszych aktualizacji i zmian w konfiguracji oraz oprogramowaniu serwerów

1. Aktualizacja PHP do wersji PHP5.3

Zalecamy aby jednocześnie z bieżącą aktualizacją zdecydowali się Państwo na przejście na PHP w wersji PHP5.3. Obligatoryjna aktualizacja PHP do wersji PHP5.3 jest planowana na grudzień 2011.

2. Wycofanie PHP4

W związku z zakończeniem wsparcia dla PHP4 planujemy usunąć całkowicie możliwość korzystania z tej wersji PHP na naszych serwerach. Przewidywany termin to grudzień 2011.

V) Dedykowane MySQL

Od czerwca 2008 roku dla wszystkich nowych platform e-Biznes (Aztec oraz Luna) uruchamiane są dedykowane serwery baz danych na lokalnym adresie IP.
Bazy danych MySQL dla platform zainstalowanych przed tym terminem (aktualnie bazy współdzielone) będą wydzielane na osobne serwery bazodanowe od sierpnia 2010.
Szczegółowa data aktualizacji zostanie przedstawiona Państwu w korespondencji mailowej.

Lokalne serwery MySQL są to bazy z tzw. superuserem czyli umożliwiające pełen dostęp do wszystkich funkcji (np. triggers (wyzwalacze), stored procedures (procedury składowane), functions (funkcje)) oraz wszystkich baz założonych w ramach usługi.

Najważniejsze cechy dedykowanego serwera bazodanowego:
- superuser (dostępne do triggers (wyzwalacze), stored procedures (procedury składowane), functions (funkcje))
- statystyki pracy bazy pozwalające na znalezienie problemów w zapytaniach
- możliwość optymalizacji konfiguracji bazy wg. własnych potrzeb
- większe bezpieczeństwo baz - wyłączne limity połączeń itp.
- ograniczenie dla połączeń z zewnątrz do 5 na sekundę

Dostęp do dedykowanego serwera bazodanowego:
W obrębie sieci Kei.pl (strony, skrypty umieszczone na serwerach w Kei.pl) dostęp do lokalnych MySQL uzyskiwany jest przez podanie jako nazwy hosta: numer_serwera.m.tld.pl.

Z poza sieci Kei.pl (zdalne połączenie z serwerem) połączenia można nawiązywać poprzez jakąkolwiek domenę kierującą na właściwą platformę Aztec lub Luna (w szczególności może to być host typu: numer_serwera.v.tld.pl).

Ważne:
1. Należy pamiętać o tym iż bazy założone bezpośrednio z aplikacji phpMyAdmin nie będą widoczne w panelu Webas.
W zakładce MySQL/modyfikacja widoczne są wyłącznie bazy danych założone w panelu Webas.
2. Transfer do baz danych z poza sieci Kei.pl wliczany jest do transferu całej platformy.
3. Serwery baz danych instalowane są na specjalnie do tego przeznaczonych maszynach, a generowane przez nich obciążenie rozliczane niezależnie od obciążenia generowanego przez platformę.

Zaufali nam