= Upgrade Debian 6 squeeze do 7 wheezy = ''Support dla Debian oraz PHP''[[BR]] Support dla Debian 8 [https://wiki.debian.org/LTS/ https://wiki.debian.org/LTS/][[BR]] Support dla PHP [http://php.net/supported-versions.php http://php.net/supported-versions.php][[BR]] [[BR]] Przy podniesieniu systemu z wersji 6 (squeeze) do wersji 7 (wheezy) należy uwzględnić podniesienie wersji PHP z 5.3 do 5.4 oraz PostgreSQL. W przypadku postgresa doinstaluje się kolejny serwer bazodanowy ale działa na porcie 5433 a nie na domyślny 5432, na tym porcie w dalszym ciągu działa postgres 8.4. Po upgrade systemu należy pamiętać o podmianie ZendGuardLoadera (zależy od wersji PHP) oraz kodu aplikacji eDokumenty. '''Przed przystąpieniem do prac BEZWZGLĘDNIE należy pamiętać o wykonaniu KOPI BEZPIECZEŃSTWA, całego systemu, bazy danych, katalogu /home/edokumenty.''' Zaczynamy od aktualizacji systemu w ramach gałęzi, której aktualnie się znajduje (tj. squeeze): {{{ #apt-get update #apt-get upgrade }}} Jeśli system nie był długo aktualizowany pewnie trzeba będzie uruchomić system ponownie ze względu na nowszą wersję jądra systemu. {{{ #reboot }}} Edytujemy plik /etc/apt/sources.list, zmieniamy dotychczasowe wpisy dla squeeze na wheezy np: {{{ deb http://ftp.pl.debian.org/debian/ wheezy main non-free contrib deb-src http://ftp.pl.debian.org/debian/ wheezy main non-free contrib deb http://security.debian.org/ wheezy/updates main contrib non-free deb-src http://security.debian.org/ wheezy/updates main contrib non-free # squeeze-updates, previously known as 'volatile' deb http://ftp.pl.debian.org/debian/ wheezy-updates main contrib non-free deb-src http://ftp.pl.debian.org/debian/ wheezy-updates main contrib non-free }}} {{{ #apt-get update #apt-get dist-upgrade }}} Po pobraniu i zainstalowaniu paczek należy jeszcze raz ponownie uruchomić serwer: {{{ #reboot }}} Po ponownym uruchomieniu trzeba podmienić Zend'a, pobrać go można ze strony: http://framework.zend.com/ oraz kod aplikacji eDokumenty: http://www.edokumenty.eu/ PostgreSQL: Obecnie mamy zainstalowane dwa serwery postgresa 8.4 i 9.3 Trzeba wykonać zrzut bazy danych z postgresa 8.4: {{{ #su - postgres $psql -U edokumenty -f edokumenty_upgrade.sql edokumenty (polecenie zakłada że eDokumenty działają na bazie edokumenty i właścicielem bazy jest użytkownik edokumenty) }}} W nowym klastrze trzeba utworzyć użytkownika oraz bazę: {{{ $createuser -p 5433 --no-superuser --no-createdb --no-createrole http $createuser -p 5433 --no-superuser --no-createdb --no-createrole edokumenty $createdb -p 5433 -E UTF8 edokumenty -O edokumenty }}} Następnie wrzucamy do serwera psql zrzut wykonany chwilę wcześniej: {{{ $psql -p 5433 -U edokumenty -f edokumenty_upgrade.sql edokumenty }}} Po podmianie kodu aplikacji eDokumenty sprawdzamy czy aplikacja działa poprawnie na z nową bazą w tym celu w pliku konfiguracyjnym eDokumentów nadpisujemy: {{{ /home/edokumenty/public_html/apps/edokumenty/config.inc }}} POSTGRES_CONNECT_STRING dodając na końcu (przed apostrofem końcowym) port=5433. Jeśli wszytko działa poprawnie możemy zmienić porty dla serwerów PostgreSQL. W tym celu edytujemy pliki konfiguracyjne obu instancji zmieniając opcję port. dla PostgreSQL 9.3 {{{ vim /etc/postgresql/9.3/main/postgresql.conf port=5432 }}} dla starego PostgreSQL 8.4 {{{ vim /etc/postgresql/8.4/main/postgresql.conf port=5433 }}} Zatrzymujemy Postgres 8.4 i uruchamiamy ponownie 9.3: {{{ /etc/init.d/postgresql/8.4 stop /etc/init.d/postgresql/9.3 restart }}} Aby serwer PostgreSQL 8.4 nie uruchamiał się razem ze startem systemu należy usunąć katalog: /etc/postgresql/8.4 {{{ mv /etc/postgresql/8.4 /root/ }}} == Pozostałe informacje == Dla serwerów wykorzystujących połączenie do bazy ORACLE należy ponownie zainstalować rozszerzenie pecl oci8. Samo wcześniej działające oprogramowanie instantclient zapewne nadal działa po upgrade co można sprawdzić poleceniem: {{{ sqlplus user@YOUR_TNS }}} Pomocny jest manual na tej stronie: [http://www.vionblog.com/oracle-instant-client-and-php-oci8-on-debian-squeeze/] Działająca ścieżka: {{{ aptitude install php-pear php5-dev build-essential unzip libaio1 pecl install oci8 (podanie ścieżki zachowując z przodu nazwę instantclient i przecinek) instantclient,/usr/lib/oracle/11.2.0.3.0/client64 /etc/init.d/apache restart }}}