Pytanie do speców od #Ubuntu, #php i #apache.
Probował ktoś aktualizować php na #ubuntu 20.04? Dojrzałem dzisiaj, że mam już nie obsługiwaną wersję php, a najnowszy #nextcloud już nie wspiera php 7.4, więc czas zrobić update do php 8.2.
Przeglądałem tutoriale i każą użyć tego repo
https://ppa.launchpadcontent.net/ondrej/php/ubuntu/
Jak to działa? Update jest bezproblemowy? Jak ze stabilnością? Będę to instalował na serwerze, więc chce mieć pewność, że nie sypnie się coś.
Czy trzeba coś zmieniać w apache po aktualizacji? Z tego co zrozumiałem, nowe php będzie widziane w systemie jako php8.2, więc nie wiem, czy apache zajarzy, że ma używać innej wersji php.
PS. Myślałem, że na systemie LTS, aktualizowane będą także paczki, do wersji, która jest wspierana przez twórców, a tu widzę, że lipa. Dziwne troche, jeśli chodzi o kwestie bezpieczeństwa.
@wloczykij Czesc
Uruchamia się i działa, ale wersja 8.2 nie ma wszystkich modułów, jak w 7.4
Trzeba będzie zrobić oddzielny php-fpm w apache, w ten sposób 2 wersje php mogą działać niezależnie na jednej maszynie
@liilliil
A moglbys cos wiecej napisac o tym osobnym php-fpm? Nigdy nie robilem takich eksperymentow.
Jakich to modulow nie ma w 8.2?
A uzywasz moze na tym nextclouda? Byly jakies problemy z tymi brakujacymi modulami?
@wloczykij
Nie, Nie używam nextcloud. Mam na komputerze kilkadziesiąt stron i 3 wersje php: php 5, php 7 i php8
Tam zobacz jak https://www.node35.com/how-to-install-multiphp-fpm-php-7-4-php-8-0-php-8-1-on-debian-11-bullseye/
@wloczykij pewnosci nie bedzie, ze wszystko pojdzie bez problemow, najlepiej gdybys mial srod TST/czy na local kompie i najpierw tam wykonal. Mysle, ze tu jest standardowy proces:
https://computingforgeeks.com/how-to-install-php-8-2-on-ubuntu/
Dodatkowo tak mozesz sie przelaczac miedzy roznymi wersjami:
https://php.tutorials24x7.com/blog/how-to-switch-php-version-on-ubuntu-20-04-lts
Zastanow sie nad upgrade ubuntu 20.04 > 22.04 wkrotce wygasnie wsparcie wiec jest to nieunikniony krok (https://www.cyberciti.biz/faq/upgrade-ubuntu-20-04-lts-to-22-04-lts/). Zawsze szukaj tez na: https://askubuntu.com/
@wloczykij jednakze widze, ze jakis czas temu u siebie na 20.04 instalowalem kilka wersji PHP i miedzy innymi robilem to w ten sposob takze dla 8.2 (z przykladowymi modulami, ktore akurat ja potrzebowalem):
sudo apt-get install php8.2
sudo apt-get install php8.2 php8.2-cli php8.2-common php8.2-json php8.2-opcache php8.2-mysql php8.2-mbstring php8.2-mcrypt php8.2-zip php8.2-fpm
po czym nie odnotowalem zadnych problemow.
sudo update-alternatives --config php
php -version
@softwareman
Chyba nad tym saamym tutorialem myslalem, chcac robic update php.
Co do aktualizacji ubuntu, to probowalem robic to jakies 3 miesiace po wydaniu 22.04 i za pierwszym razzem walilo taka iloscia bledow (podejrzzewam, ze to bylo spowodowane tym, ze kazalem mu zachowac stara konfiguracje), ze nie wiedzialem od czego zaczac, a za drugim razem, wywalilo mi ssh i stracilem dostep do serwera (w tym przypadku, kazalem nadpisac cala konfiguracje, czyli takze konfiguracje ssh, a uzywalem niestandardowego portu i pewwnie firewall blokowal dostep). Chcac trzymac wszystkie skrypty i konfiguracje w jednym miejscu, tworze duzo dowiazan, co pewnie tez nie pomaga przy aktualizacji.
Poza tym, mam dwa urządzenia, które mają specyficzne wymagaania odnosnie kernela. Jeden sprzet wymaga kernela nie starszego niz jakas tam wersja, a drugi nie nowszy niz jakas wersja. Kilka dni zajelo mi znalezienie odpowiedniej wersji kernela, ktora by odpowiadala obu sprzetom.
Mam takze skrypt ktory uruchamiaa firewall, ktory uzywa jednego programu, ktory w wersji 22.04 niemilosiernie muli. W wersji 20.04 uruchomienie firewalla zajmuje ok 15 minut z tego co pamietam, a ten sam skrypt na 22.04 prawie 2h chyba.
Szczerze mowiąc, zastanawiam się, czy nie założyć konta na ubuntu, żeby mieć te darmowe aktualizacje przez 10 lat, ale wczesniej, czy pozniej, inne programy pewnie i tam wymusza aktualizacje, bo nie beda chcialy dzialac.
Po tym, zrozumiałem złotą zasadę adminów: "jak coś działa, to nie ruszaj".
@wloczykij - nie jestem adminem linux wiec nie sugeruj sie w 100% moimi wskazowkami
- sadze, ze upgrade PHP Ci sie uda, ale jesli i tak robiles proby i chcesz upgrade OS to zrob to
upgrade OS:
- zachowanie starej conf moze powodowac konflikty, wiec moze lepiej zachowaj sobie aktualne conf na zewnatrz i zrob upgrade z nowa conf, a potem sobie poprzywracasz te swoje configi
- jesli masz wym do konkretnych wersji kernel to juz musisz sie sugerowac wskazowkami dostawcy danego softu i to zorganizowac
@wloczykij - ogolnie sam firewall dziala dobrze, wiec tu ew odsylam do askubuntu, nie wiem co tam masz dokladnie
- tak, aktualizacje powinienes wykonywac standardowo, chyba ze z okreslonych powodow ich lub niektorych nie chcesz robic, tu juz nie wiem co i jak, musisz zdecydowac
- "jak coś działa, to nie ruszaj" - nie do konca, sprawa aktualizacji jest wazna, im dluzej ich nie robisz tym gorzej
najlepiej opisz szczegoly w https://askubuntu.com/search?q=upgrade+20.04+to+22.04 - tam Ci pomoga dosc precyzyjnie
@softwareman
Dzięki. Najpierw pewnie spróbuję update php, bo do ubuntu, to bym musiał mieć sporo czasu na zabawę, a mam bardzo ciężki dostęp fizyczny do serwerka, a przez sieć upgrade niestety nie jest realny.
@wloczykij powodzenia, daj znac jak poszlo dla potomnych
@softwareman
Jasne, ale to pewnie za kilka dni, bo czasu malo, a przed updatem php, wole zrobic obraz dysku, zeby latwo przywrocic
@softwareman
No to podsumowanie dla potomnych :)
Aktualizacja php do wersji 8.2.7 udała się na Ubuntu 20.04.
Pierwsze co zrobiłem, to zrobienie backupu systemu. Nie chciało mi się bawić, więc zrobiłm backup całego dysku używając dd.
Zrobiłem update wszystkich pakietów jakie miałem (apt update, apt upgrade i apt dist-upgrade) i wywałiłem zbęddne pakiety przy użyciu apt autoremove
LEciałem wg tego -> https://computingforgeeks.com/how-to-install-php-8-2-on-ubuntu/
tylko bez aktualizacji apache
Po aktualizacji, trzeba byo zrobić restart apache (systemctl restart apache2.service ) i php8.2-fpm (systemctl restart php8.2-fpm.service)
Trzeba pamiętać o edycji plików konfiguracyjnych php w nowej lokalizacji -> /etc/php/8.2
Jest tam kilka katalogów, w których znajdują się te same pliki. Niestety, ale nie pamiętam, w którym katalogu trzeba dokonywać zmian, bo po wprowadzeniu zmian, nextcloud i ogólnie apache nadal walil błędami. Dopiero restart php8.2-fpm i usunięcie starego php w wersji 7.4 pomogło i zaczęło wszystko działać.
Było sporo konfliktów z modułami php. Gryzły się stare i nowe wersje.
Niby w logach nadal widzę jakieś błędy, ale te błędy są już od dawna, bo nawet nextcloud je wyśwetla, ale lecąc wg ich tutoriala, nie jestem w stanie tego naprawić, a że to podobno ma tylko wpływ na soft od Apple, więc sobie odpuściłem.
To teraz, jeśli nic się nie wywali, kolejna aktualizacja za ponad rok.
#linux #update @linux_pl #pomoc #pytanie