= Aktualizacja systemy Debian 7 Wheezy do Debian 8 Jessie = || || || Debian 7 (Wheezy) || Debian 8 (Jessie) || ||Domyślne || PostgreSQL || 9.1 ||. 9.4|| || || PHP || 5.4 ||. 5.6 || ||Opcjonalne || PostgreSQL || 9.5 ||. 9.6|| || || PHP || 5.4 ||. 5.6 || ''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]] WAŻNE! W związku z tym, iż PHP 5.6 jest bardzo restrykcyjny w sprawie weryfikacji jednostki wydającej certyfikat dla serwerów poczty. W przypadku nie zaufanego źródła konieczne jest zmiana połączenia na nie szyfrowane. Poniższa instrukcja przedstawia sposób aktualizacji systemu operacyjnego Linux. Aktualizacja systemu jest przeprowadzana w celu podniesienia wersji PHP do wersji 5.6, instalacji PostgreSQL oraz aktualizacji Apache do wersji 2.4. Należy pamiętać, ze po instalacji będziemy posiadali w systemie dwa działające silniki PostgreSQL, jeden nasz obecny działający na porcie 5432 oraz nowy na porcie 5433. Po upgrade systemu należy pamiętać o podmianie !ZendGuardLoadera (wersji system 32-bit lub 64-bit) oraz kodu aplikacji eDokumenty dla PHP 5.6. '''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.''' Zaczynamy od aktualizacji systemu w ramach gałęzi, której aktualnie się znajduje (tj. Wheezy): {{{ #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 wheezy na jessie {{{ deb http://ftp.de.debian.org/debian/ jessie main contrib non-free deb-src http://ftp.de.debian.org/debian/ jessie main contrib non-free #Od 20 marca są niedostępne #deb http://httpredir.debian.org/debian jessie-updates main contrib non-free #deb-src http://httpredir.debian.org/debian jessie-updates main contrib non-free deb http://security.debian.org/ jessie/updates main contrib non-free deb-src http://security.debian.org/ jessie/updates main contrib non-free }}} 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 }}} Odtworzenie linku symbolicznego do php.ini {{{ ln -s /etc/php5/apache2/php.ini /etc/php5/cli/ }}} '''3.''' Po aktualizacji dystrybucji musimy podmienić Zenda dla nowego php 5.6 [http://support.edokumenty.eu/download/deployment/components/ Komponenty ZEND] Ścieżkę dla Zenda znajdziemy w php.ini. A także zaktualizować kod aplikacji eDokumenty '''4.''' W przypadku problemów z uruchomieniem Apache po aktualizacji systemu należy zweryfikować błędy, które będzie nam zwracał Apache podczas jego uruchomienia. To możemy sprawdzić poleceniem {{{ systemctl status apache2.service }}} W załączniku znajdują się przykładowe pliki konfiguracyjne Apache2. Po zakończonej aktualizacji systemu należy wprowadzić modyfikację w konfiguracji Apache. W pliku /etc/apache2/sites-enabled/000-default musimy zmodyfikować linię Wpis z Apache22 {{{ Options -Indexes FollowSymLinks MultiViews AllowOverride Options Order allow,deny allow from all # Odwo³ania do nazwy serwera przekieruj± do edokumentów }}} Zmieniamy na {{{ Options -Indexes FollowSymLinks MultiViews AllowOverride Options Require all granted # Odwo³ania do nazwy serwera przekieruj± do edokumentów }}} Kolejnym krokiem jest modyfikacja ''/etc/apache2/mods-available'' wprowadzamy zmiany w pliku '''userdir.conf''' Domyślny plik w systemie Linux Debian {{{ UserDir public_html UserDir disabled root AllowOverride FileInfo AuthConfig Limit Indexes Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec Order allow,deny Allow from all Order deny,allow Deny from all }}} Plik userdir.conf po modyfikacjach, do pliku dodajemy '''''HEAD REPORT''''' {{{ UserDir public_html UserDir disabled root AllowOverride FileInfo AuthConfig Limit Indexes Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec Require all granted Require all granted }}} Po wprowadzeniu mofygikacji w pliku userdir.conf wykonujemy restart Apache {{{ /etc/init.d/apache2 restart }}} '''5.''' Obecnie mamy zainstalowane dwa silniki PostreSQL jeden działą na poracie 5432 drugi na 5433. W przypadku gdy nowa wersja PostgreSQL nie zostanie należy wykonać polecenie {{{ apt-get install postgresql-9.6 }}} 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/9.6/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.1/main/postgresql.conf port=5433 }}} W konfiguracji nowego PostgreSQL zmieniamy na 5432 {{{ vim /etc/postgresql/9.4/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 }}} '''6.''' Po aktualizacji systemu konieczna będzie także aktualizacja repozytorium plików {{{ su - www-data cd /home/edokumenty/repository }}} Sprawdzamy status repozytorium {{{ svn status }}} W przypadku otrzymania komunikatu o starej wersji repozytorium, korzystamy z polecenia. W celu zaktualizowania go do najnowszej wersji {{{ svn upgrade }}} W przypadku gdy powyższą czynność wykonamy z konta roota należy naprawić uprawnienia do folderów repos oraz repository. Naprawa uprawnień została opisana w poniższym artykule [http://support.edokumenty.eu/trac/wiki/AdminGuide/FilePermissions Uprawnienia do plików systemu eDokumenty]