= 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 ||
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
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
Order allow,deny
Allow from all
Order deny,allow
Deny from all
}}}
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
}}}
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]