Version 19 (modified by jpo, 6 years ago)

--

Aktualizacja systemy Debian 8 Jessie do Debian 9 Stretch

Debian 8 (Jessie) Debian 9 (Stretch)
Domyślne PostgreSQL 9.6 10
PHP 5.6 7.0
Opcjonalne PostgreSQL 10 11
PHP 5.6 downgrade 5.6/7.2

Poniższa instrukcja przedstawia sposób aktualizacji systemu operacyjnego Linux. Aktualizacja systemu jest przeprowadzana w celu podniesienia wersji PHP do wersji 7.2, jest także możliwość pozostania przy wersji PHP 5.6 (PHP 5.6 przestaje być wspierany w grudniu 2018r).

Jeśli aktualizujemy system z wersji 7 Debian zalecamy zapoznanie się z instrukcją Aktualizacja systemy Debian 7 Wheezy do Debian 8 Jessie, która zawiera wszelkie uwagi dotyczące zmian w Apache gdzie aktualizowany jest z wersji 2.2 do 2.4.

Przed przystąpieniem do prac BEZWZGLĘDNIE należy pamiętać o wykonaniu KOPI BEZPIECZEŃSTWA, całego systemu, bazy danych, katalogu /home/edokumenty.

1. AKTUALIZACJA SYSTEMU LINUX W GAŁĘZI (tj. Jessie, Debian 8) Zaczynamy od aktualizacji systemu w ramach gałęzi, której aktualnie się znajduje (tj. Jessie, Debian 8):

#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

Przed aktualizacją dystrybucji wykonujemy kopię klików konfiguracyjnych

tar -pczf etc.tar.gz /etc 

2. Po aktualizacji systemu edytujemy plik /etc/apt/sources.list, zmieniamy dotychczasowe wpisy dla Jessie na Stretch

deb http://httpredir.debian.org/debian stretch main
deb http://httpredir.debian.org/debian stretch-updates main
deb http://security.debian.org stretch/updates main

Możemy również skorzystać z polecenia, który wykona zmiany

sed -i 's/jessie/stretch/g' /etc/apt/sources.list

Następnym krokiem jest zaktualizowanie pakietów

apt-get update

oraz aktualizacja dystrybucji

apt-get dist-upgrade

W niektórych przypadkach aktualizacji dystrybucji systemu mogą pojawić się problemy z aktualizacją komponentów PHP. W tym przypadku należy usunąć link symboliczny do php.ini z /etc/php5/cli i przeniesienie php.ini z /etc/php5/apache2/. Po zakończonej aktualizacji i restarcie systemu ponownie tworzymy link symboliczny do php.ini. Wznowienie aktualizacji wykonujemy poleceniem

apt-get -f install

Po zakończonej aktualizacji wykonujemy restart systemu

reboot

3. Po aktualizacji systemu do Linux Debian 9, Stretch, na naszym serwerze dostępna będzie wersja PHP 7.0:

php -v

Aktualizacja nie odinstaluje poprzedniej wersji czyli PHP 5.6 z której będziemy mogli nadal korzystać wystarczy tylko wykonać poniższe polecenie które odinstaluje PHP 7.0:

sudo apt-get remove php7.0*

Po tej czynności nadal będziemy mogli korzystać z eDokumentów działających na PHP w wersji 5.6

4. Odtworzenie linku symbolicznego do php.ini

ln -s /etc/php5/apache2/php.ini /etc/php5/cli/

5. Przystępujemy do aktualizacji PostgreSQLa do wersji 10. Po zainstalowaniu PostgreSQLa będą dostępne dwa klastry dla wersji 9.6 oraz wersji 10, odpowiednio na portach 5432 i 5433. Instalację przeprowadzamy za pomocą polecenia

Aktualizujemy dotyczący pakietów dla nowej wersji Debiana obecnie jest to stretch

deb http://apt.postgresql.org/pub/repos/apt/ stretch-pgdg main
apt-get update
apt-get install postgresql-10

Po zainstalowaniu PostgreSQL a przed odtworzeniem bazy należy pamiętać aby wgrać pliki tssearch_data dla wyszukiwarki.

wget http://support.edokumenty.eu/download/deployment/components/tsearch_data_polish_20120730.zip
unzip tsearch_data_polish_20120730.zip
cp tsearch_data_polish/* /usr/share/postgresql/10/tsearch_data/

Po tych czynnościach możemy przystąpić do odtworzenia bazy danych

Możemy wykonać zrzut bazy z PostgreSQL na porcie 5432.

#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

Następnym krokiem jest zatrzymanie PostgreSQL

/etc/init.d/postgresql stop

W pliku konfiguracyjnym zmieniamy porty dla PostgreSQL aby nowy działał na domyślnym porcie 5432 Starego PostgreSQL zmieniamy na 5433

vim /etc/postgresql/9.6/main/postgresql.conf 
port=5433

W konfiguracji nowego PostgreSQL zmieniamy na 5432

vim /etc/postgresql/10/main/postgresql.conf 
port=5432

W pliku konfiguracyjnym pg_hba.conf dla aktualnej wersji PostgreSQL dodajemy wpisy

vim /etc/postgresql/9.4/main/pg_hba.conf

local edokumenty all trust

Następnym krokiem jest uruchomienie PostgreSQL

/etc/init.d/postgresql start

Możemy również wykonać aktualizację clustra za pomocą poleceń opisanych w artykule Upgrade PostgreSQL

W przypadku aktualizacji z Linux Debian 8 większość elementów została już wykonana przy okazji aktualizacji do tej wersji systemu. W Debian 8 powinniśmy już posiadać zaktualizowany repozytoria SVN opisane w poniższym artykule Aktualizacja systemy Debian 7 Wheezy do Debian 8 Jessie, a także podmieniony Zend Loader dla PHP 5.6, poprawnie prawnie skonfigurowanego Apache a także PostgreSQLa w wersji 9.6