Zmiany pomiędzy wersją 3 and wersją 4 dla AdminGuide/UpgradeDebian9to10

Pokaż
Ignoruj:
Data i czas:
08/16/19 12:49:17 (5 years temu)
Autor:
jpo (IP: 83.144.106.170)
Komentarz:

--

Legend:

Bez zmian
Dodane
Usunięte
Zmienione
  • AdminGuide/UpgradeDebian9to10

    v3 v4  
    5656sed -i 's/stretch/buster/g' /etc/apt/sources.list.d/pgdg.list 
    5757 
    58  
    59  
     58deb http://apt.postgresql.org/pub/repos/apt/ buster-pgdg main 
     59}}} 
     60{{{ 
    6061sed -i 's/stretch/buster/g' /etc/apt/sources.list.d/edokumenty.list 
     62deb http://ftp.debian.org/debian buster-backports main 
     63}}} 
     64{{{ 
    6165sed -i 's/stretch/buster/g' /etc/apt/sources.list.d/php.list 
     66deb https://packages.sury.org/php/ buster main 
    6267}}} 
    6368 
     
    8388}}} 
    8489 
    85 '''3. Downgrade do PHP 5.6 lub aktualizacja do PHP 7.2'''  
    8690 
    87 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 
     91'''3. Aktualizacja PostgreSQLa do wersji 10/11'''  
    8892 
     93Jeśli aktualizujemy Debiana z wersji 9 (Stretch) to prawdopodobnie będziemy już mieli zainstalowaną wersję PostgreSQL w wersji 10 lub 11. Jeśli jednak tak nie jest postępuje zgodnie z poniższa instrukcją. 
    8994 
    90 '''3a. Downgrade do PHP 5.6''' 
    91  
    92 Po aktualizacji systemu do Linux Debian 9, Stretch, na naszym serwerze dostępna będzie wersja PHP 7.0: 
    93 {{{ 
    94 php -v 
    95 }}} 
    96 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: 
    97 {{{ 
    98 sudo apt-get remove php7.0* 
    99 }}} 
    100 Po tej czynności nadal będziemy mogli korzystać z eDokumentów działających na PHP w wersji 5.6 
    101 Odtworzenie linku symbolicznego do php.ini 
    102 {{{ 
    103 ln -s /etc/php5/apache2/php.ini /etc/php5/cli/ 
    104 }}} 
    105  
    106 Przy pozostaniu na wersji php 5.6 - eDokumenty będą działać tak jak do tej pory. 
    107  
    108 '''3b. Aktualizacja do PHP 7.2'''  
    109  
    110 W tym podpunkcie zajmiemy się aktualizacją PHP do wersji 7.2 a także zmianą ZendLoadera na IONCubeLoadera. 
    111  
    112 Przed instalacją nowych pakietów musimy posprzątać nie potrzebne elementy w tym PHP oraz ZendLoadrera. Jeśli korzystaliśmy z PHP 5.6 wykonujemy poniższe polecenie: 
    113 {{{ 
    114 apt-get purge php5 php5-common php5-dev php5-imap php5-ldap php5-odbc php5-readline php5-sybase php5-cli php5-curl php5-gd php5-json php5-memcached php5-pgsql php5-sqlite php5-xsl 
    115 }}} 
    116 Jeśli świeżo aktualizowaliśmy do Debian 9 Stretch możemy również usunąć pakiety PHP 7.0 poniższym poleceniem. 
    117 {{{ 
    118 sudo apt-get remove php7.0* 
    119 }}} 
    120  
    121 Usuńmy również ręczenie pliki ZendLoadera nie będą nam już potrzebne. Pliki powinny znajdować się w lokalizacji: 
    122 {{{ 
    123 /usr/lib/php/ZendGuardLoader.so 
    124 /usr/lib/php/opcache.so 
    125 }}} 
    126  
    127 Przystępujemy do instalacja PHP 7.2 w środowisku Debian 9. Dodajemy repozytoria dla PHP 7.2 
    128 {{{ 
    129 sudo apt install ca-certificates apt-transport-https  
    130 wget -q https://packages.sury.org/php/apt.gpg -O- | sudo apt-key add - 
    131 echo "deb https://packages.sury.org/php/ stretch main" | sudo tee /etc/apt/sources.list.d/php.list 
    132 }}} 
    133 {{{ 
    134 apt-get update 
    135 }}} 
    136 Przystępujemy do instalacji pakietów PHP 7.2: 
    137 {{{ 
    138 apt install php7.2-fpm php7.2-cli php7.2-common php7.2-curl php7.2-mbstring php7.2-mysql php7.2-xml php7.2-gd php7.2-pgsql php7.2-bcmath php7.2-sqlite3 php7.2-imap php7.2-xsl php7.2-ldap php7.2-odbc php7.2-json php7.2-sybase php7.2-readline php7.2-soap 
    139 }}} 
    140  
    141 {{{ 
    142 apt-get install php7.2-zip 
    143 }}} 
    144 Modułu do Apache2 dla FCGI 
    145 {{{ 
    146 apt install apache2 libapache2-mod-fcgid 
    147 }}} 
    148  
    149 Dla FCGI instalujemy REDIS zamiast memcached 
    150 {{{ 
    151 apt-get install redis-server 
    152 apt-get install php7.2-redis 
    153 }}} 
    154  
    155 Konfiguracja dla Redis, którą wprowadzamy w pliku '''/etc/redis/redis.cont''' 
    156 {{{ 
    157 save 1200 1 
    158 save 600 10 
    159 save 120 10000 
    160 }}} 
    161  
    162 Włączamy obsługę modułu FCGI w Apache 
    163 {{{ 
    164 sudo a2enmod actions fcgid alias proxy_fcgi 
    165 }}} 
    166  
    167 Dodajemy IonCubeLoadera, plik znajduje się w paczce konfiguracyjnej [http://support.edokumenty.eu/download/installation/linux-os/php72_fcgi_apache_conf.zip tutaj]. Po umieszczeniu go na serwerze np 
    168 {{{ 
    169 /usr/lib/php/ 
    170 }}} 
    171  
    172 Dodajemy w pierwszej linii pliku php.ini w lokalizacjach 
    173 {{{ 
    174 /etc/php/7.2/fmp/php.ini 
    175 /etc/php/7.2/cli/php.ini 
    176 }}} 
    177 następujący wpis: 
    178 {{{ 
    179 zend_extension=/usr/lib/php/ioncube_loader_lin_7.2.so 
    180 }}} 
    181 W plikach php.ini dodajemy również 
    182 {{{ 
    183 session.save_handler = redis 
    184 session.save_path = "tcp://127.0.0.1:6379" 
    185 }}} 
    186 oraz modyfikujemy wartości dla: 
    187 {{{ 
    188 memory_limit = 512M 
    189 upload_max_filesize = 32M 
    190 post_max_size = 64M 
    191 expose_php = Off 
    192 }}} 
    193  
    194 Kolejnym krokiem jest modyfikacja pliku www.conf 
    195 {{{ 
    196 vim /etc/php/7.2/fpm/pool.d/www.conf 
    197 }}} 
    198 modyfikujemy wpis 
    199 {{{ 
    200 security.limit_extensions = .php engine 
    201 pm.max_children = 8 
    202 }}} 
    203  
    204 Ostatnim elementem jest zmiana handlera w Apache w pliku default.conf oraz default-ssl.conf, obecny wpis: 
    205 {{{ 
    206 <FilesMatch "(.+[.]inc$|.+[.]php$|engine)"> 
    207      SetHandler application/x-httpd-php 
    208 </FilesMatch> 
    209 }}} 
    210 modyfikujemy następująco 
    211 {{{ 
    212 <FilesMatch "(.+[.]inc$|.+[.]php$|engine$)"> 
    213     SetHandler "proxy:unix:/var/run/php/php7.2-fpm.sock|fcgi://localhost/" 
    214 </FilesMatch>  
    215 }}} 
    216  
    217 W plikach konfiguracyjnych default.conf oraz default-ssl.conf Apache dodajemy również, na potrzeby autoryzacji WebDAV oraz CalDAV: 
    218 {{{ 
    219 SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1 
    220 }}}  
    221  
    222 Z poziomu konsoli wykonujemy polecenie: 
    223 {{{ 
    224 a2enmod headers 
    225 }}} 
    226  
    227 W plikach konfiguracyjnych '''conf-enabled/security.conf''' w Apache wprowadzamy następujące zmiany: 
    228 {{{ 
    229 ServerSignature Off 
    230 Header set X-Content-Type-Options: "nosniff" 
    231 Header set X-Frame-Options: "sameorigin" 
    232 Header always set Referrer-Policy "same-origin" 
    233 }}} 
    234  
    235 Uruchomienie moduł tłumaczącego dla Ready_™. 
    236 Dodajemy moduł do php 7.2 - bsedt.so w lokalizacji  
    237 {{{ 
    238 /usr/lib/php/20170718 
    239 }}} 
    240 Następnie tworzymy pliki bsedt.ini w folderach php: 
    241 {{{ 
    242 /etc/php/7.2/mods-available/bsedt.ini 
    243 }}} 
    244 Zawartość pliki bsedt.ini 
    245 {{{ 
    246 extension=bsedt.so 
    247 }}} 
    248 Tworzymy symlinki do pliku bsedt.ini 
    249 {{{ 
    250 ln -s /etc/php/7.2/mods-available/bsedt.ini /etc/php/7.2/cli/conf.d/bsedt.ini 
    251 ln -s /etc/php/7.2/mods-available/bsedt.ini /etc/php/7.2/fpm/conf.d/bsedt.ini 
    252 }}} 
    253 W pliku '''php.ini''' dla '''/etc/php/7.2/cli/''' oraz '''/etc/php/7.2/cli/''' dodajemy wpis: 
    254 {{{ 
    255 [bsedt] 
    256 bsedt.lang_path="/home/edokumenty/public_html/apps/edokumenty/share/lang" 
    257 bsedt.lang=en_UK 
    258 }}} 
    259  
    260 Wyłączamy moduł opcache poprzez zakomentowanie w '''/etc/php/7.2/mods-available/opcache.ini''' 
    261  
    262  
    263 Po zakończeniu konfiguracji restartujemy usługi Apache oraz FPM 
    264 {{{ 
    265 service php7.2-fpm restart 
    266 /etc/init.d/apache2 restart 
    267 }}} 
    268  
    269 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 
    270  
    271 Po zmianie PHP na 7.2 konieczna jest aktualizacja kodu system Ready_™ do kompilacji dla php 7.2. Aktualizacja kodu na nowszą wersję może wymagać wykonania patchy. Aktualizację wykonujemy w taki sam sposób jak dla systemu eDokumenty. Pomocny może być w tym przypadku ten [http://support.edokumenty.eu/trac/wiki/DeployerGuide/Upgrade link.] 
    272  
    273  
    274 '''4. Aktualizacja PostgreSQLa do wersji 10/11'''  
    275  
    276 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 
     95Przystępujemy do aktualizacji PostgreSQLa do wersji 10/11. Po zainstalowaniu PostgreSQLa będą dostępne dwa klastry dla wersji 9.6/10 oraz wersji 10/11, odpowiednio na portach 5432 i 5433. Instalację przeprowadzamy za pomocą polecenia 
    27796 
    27897Aktualizujemy dotyczący pakietów dla nowej wersji Debiana obecnie jest to stretch 
     
    349168 
    350169Możemy również wykonać aktualizację clustra za pomocą poleceń opisanych w artykule [http://support.edokumenty.eu/trac/wiki/AdminGuide/PgUpgrade Upgrade PostgreSQL]  
    351  
    352 W przypadku aktualizacji z Linux Debian 8 większość elementów została już wykonana przy okazji aktualizacji do tej wersji systemu. 
    353 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