= 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 || ''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]] 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ą [http://support.edokumenty.eu/trac/wiki/AdminGuide/UpgradeDebian7to8 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 systemy w gałęzi 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. Aktualizacja dystrybucji z Jessie na Stretch, Debian 8 na Debian 9''' 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. Downgrade do PHP 5.6 lub aktualizacja do PHP 7.2''' Ten punkt zostanie podzielony na dwa oddzielne w zależności od tego jaką ścieżkę wybierzemy przechodzimy do podpunktu a) Downgrade do PHP 5.6 lub podpunktu b) Aktualizacja do PHP 7.2 '''3a. Downgrade do PHP 5.6''' 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 Odtworzenie linku symbolicznego do php.ini {{{ ln -s /etc/php5/apache2/php.ini /etc/php5/cli/ }}} '''3b. Aktualizacja do PHP 7.2''' W tym podpunkcie zajmiemy się aktualizacją PHP do wersji 7.2 a także zmianą ZendLoadera na IONCubeLoadera. Gotowe pliki konfiguracyjne można pobrać z [http://support.edokumenty.eu/download/installation/linux-os/php72_fcgi_apache_conf.zip poniższej lokalizacji]. Po wgraniu plików wystarczy tylko restart usług Apache oraz PHP-FPM '''4. Aktualizacja PostgreSQLa do wersji 10/11''' Przystępujemy do aktualizacji PostgreSQLa do wersji 10/11. Po zainstalowaniu PostgreSQLa będą dostępne dwa klastry dla wersji 9.6 oraz wersji 10/11, 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 }}} lub {{{ apt-get install postgresql-11 }}} 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/[WERSJA_POSTGRESQL]/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/10/main/pg_hba.conf local edokumenty edokumenty md5 local edokumenty http md5 }}} Następnym krokiem jest uruchomienie PostgreSQL {{{ /etc/init.d/postgresql start }}} Możemy również wykonać aktualizację clustra za pomocą poleceń opisanych w artykule [http://support.edokumenty.eu/trac/wiki/AdminGuide/PgUpgrade 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 [http://support.edokumenty.eu/trac/wiki/AdminGuide/UpgradeDebian7to8 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