Version 19 (modified by JP, 10 years ago)

Uszczegółowienie, Dodanie opisu upgrade oci8

Upgrade Debian 6 squeeze do 7 wheezy

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