Upgrade Debian 6 squeeze do 7 wheezy
Support dla Debian oraz PHP
Support dla Debian 8
https://wiki.debian.org/LTS/
Support dla PHP
http://php.net/supported-versions.php
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