Tartalom
Bevezető
Korábban elkészítettük a Debian 8-ra épülő ISPConfig-os tökéletes szerver összeállítást, ami sok hasznos programot és szolgáltatást tartalmaz, melyek segítségével könnyedén tudjuk üzemeltetni, konfigurálni és karbantartani osztott tárhelyes webkiszolgálónkat. Ez a szerver csomag – a régebbi weboldalakkal való kompatibilitás megőrzése végett – a PHP 5.6-os verzióját tartalmazza, aminél már léteznek újabb és gyorsabb kiadások.
A PHP dokumentációja szerint a 7.1-es változat akár 2x is gyorsabb az 5.6-osnál, és 14x gyorsabb az 5.0-ásnál. Továbbá sok újdonságot is beletettek a 7-es ágba és néhány dolgot kivettek, ami a PHP 5.6-ban benne volt, így a 7-es verzió már nem kompatibilis a korábbival.
A PHP hivatalos oldalán követhető, hogy melyik ágakat támogatják és fejlesztik tovább:
- 5.6-os ág: Ebből jelenleg az 5.6.36 a legfrissebb (2018. április 26.)
- 7.0-ás ág: Itt a 7.0.30 a legutóbbi (2018. április 26.)
- 7.1-es ág: Ebből pedig a 7.1.19 a legújabb (2018. június 22.)
- 7.2-es ág: Ebből a 7.2.7-es a legfrissebb (2018. június 21.)
- 7.3-as ág: Ebből még csak alfa változat van: 7.3.0 alpha 3 (2018. július 5.)
Tehát látható, hogy jelenleg (2018. július 6.) 5 ágat tart fenn a PHP fejlesztő csapata, és ezeket párhuzamosan frissítik.
A Debian 8-as szerverkörnyezetre nekünk a 7.1-es ág a megfelelő, mivel a 7.2-es PHP-ban már sok olyan Debian csomag követelmény van, aminek a Debian 8 nem felel meg, hogyha forrásból szeretnénk lefordítani, így már a configure fázisban dobálja a figyelmeztetéseket. Léteznek repository-k, amik rendelkeznek a PHP 7.2.x bináris telepítőcsomagjaival Debian 8-ra, azonban ezekkel a csomagokkal csak az alapértelmezett PHP rendszert lehet leváltani, így ezekkel itt most nem foglalkozunk.
Ebben a leírásban a forrásból fogjuk lefordítani a PHP-t, majd opcionális módban telepítjük a szerverre, így az alapértelmezett 5.6-os változat mellett fog tudni működni, ami azt jelenti, hogy a szerveren lévő weboldalaknál külön lehet állítgatni ezt az új PHP verziót, ami FastCGI és PHP-FPM módokban lesz elérhető.
Egy másik leírásban Debian 9 (Stretch) tökéletes szerverre telepítjük hasonló módon a PHP 5.6.40-es verzióját.
Előfeltételek
Ha megvan a szükséges szerverkörnyezet, akkor munkához is láthatunk.
Előkészítés
Elsőként lépjünk be root-ként, és frissítsük az APT csomagkezelő adatbázisát és magukat a csomagokat is, hogy naprakészek legyenek. Ehhez futtassuk az alábbi két apt-get parancsot:
apt-get update
apt-get upgrade
(Ezt minden nagyobb beavatkozás előtt ajánlott elvégezni, hogy mindig a legfrissebb csomagokkal dolgozhassunk.)
Maradjunk root-ként, majd hozzuk létre a szükséges könyvtárakat és töltsük le a PHP 7.1.19 forráscsomagját a wget paranccsal:
mkdir /opt/php-7.1.19
mkdir /usr/local/src/php7-build
cd /usr/local/src/php7-build
wget http://uk3.php.net/get/php-7.1.19.tar.bz2/from/this/mirror -O php-7.1.19.tar.bz2
tar jxf php-7.1.19.tar.bz2
cd php-7.1.19/
Itt tehát először létrehoztunk egy munkakönyvtárat a PHP rendszernek, és létrehoztunk egy másikat a fordításhoz, ahova letöltöttük az angol tükörről a PHP 7.1.19 forrását, majd kicsomagoltuk.
Ezután telepítsük fel a fordításhoz szükséges segédeszközöket, valamint a PHP-hoz szükséges fejlesztői könyvtár csomagokat:
apt-get install build-essential autoconf
apt-get install \
libfcgi-dev \
libfcgi0ldbl \
libjpeg62-turbo-dbg \
libmcrypt-dev \
libssl-dev \
libc-client2007e \
libc-client2007e-dev \
libxml2-dev \
libbz2-dev \
libcurl4-openssl-dev \
libjpeg-dev \
libpng12-dev \
libfreetype6-dev \
libkrb5-dev \
libpq-dev \
libxml2-dev \
libxslt1-dev
Ha IMAP támogatással szeretnénk lefordítani a PHP-t, akkor még létre kell hozni egy linket:
ln -s /usr/lib/libc-client.a /usr/lib/x86_64-linux-gnu/libc-client.a
Fordítás
Konfigurálás
A forráskód konfigurálását a következő hosszú paranccsal vágezhetjük el (a /usr/local/src/php7-build/php-7.1.19 könyvtárban maradva):
./configure \
--prefix=/opt/php-7.1.19 \
--with-pdo-pgsql \
--with-zlib-dir \
--with-freetype-dir \
--enable-mbstring \
--with-libxml-dir=/usr \
--enable-soap \
--enable-calendar \
--with-curl \
--with-mcrypt \
--with-zlib \
--with-gd \
--with-pgsql \
--disable-rpath \
--enable-inline-optimization \
--with-bz2 \
--with-zlib \
--enable-sockets \
--enable-sysvsem \
--enable-sysvshm \
--enable-pcntl \
--enable-mbregex \
--enable-exif \
--enable-bcmath \
--with-mhash \
--enable-zip \
--with-pcre-regex \
--with-pdo-mysql \
--with-mysqli \
--with-mysql-sock=/var/run/mysqld/mysqld.sock \
--with-jpeg-dir=/usr \
--with-png-dir=/usr \
--enable-gd-native-ttf \
--with-openssl \
--with-fpm-user=www-data \
--with-fpm-group=www-data \
--with-libdir=/lib/x86_64-linux-gnu \
--enable-ftp \
--with-imap \
--with-imap-ssl \
--with-kerberos \
--with-gettext \
--with-xmlrpc \
--with-xsl \
--enable-opcache \
--enable-fpm
A további konfiguráló kapcsolóiról az alábbi parancssal tájékozódhatunk, amikkel szükség esetén még fűszerezhetjük a beállításokat:
./configure --help
A fenti konfiguráció hiba nélkül lefutott, így most jöhet a fordítás.
Make
A PHP fordítása kicsit hosszabb idő, ilyenkor én szeretem mérni az időt, így a time parancsot teszem a make elé, ami a végén kiírja a futás idejét. Ezalatt kényelmesen lefőzők egy jó kávét. A parancs tehát a következő:
time make
Nálam 11 perc alatt futott le a VirtualBox gépen, ami egy Intel I7-3770 -es gazdagépen működik.
És most jöhet a telepítés:
make install
Ha ez is megvan, próbáljuk is ki a friss PHP telepítésünket:
/opt/php-7.1.19/bin/php --version
A kimenet pedig ha minden jól ment:
PHP 7.1.19 (cli) (built: Jul 7 2018 00:12:44) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.1.0, Copyright (c) 1998-2018 Zend Technologies
Fordítás utáni beállítások
Most az .ini és a .conf fájlokat rakjuk a helyükre, a gyári fájlok lemásolásával:
cp /usr/local/src/php7-build/php-7.1.19/php.ini-production /opt/php-7.1.19/lib/php.ini
cp /opt/php-7.1.19/etc/php-fpm.conf.default /opt/php-7.1.19/etc/php-fpm.conf
cp /opt/php-7.1.19/etc/php-fpm.d/www.conf.default /opt/php-7.1.19/etc/php-fpm.d/www.conf
Nyissuk meg a /opt/php-7.1.19/etc/php-fpm.conf fájlt
nano /opt/php-7.1.19/etc/php-fpm.conf
És vegyük ki a komment (;) jelet a következő sor elől:
[...] pid = run/php-fpm.pid [...]
Állítsuk be a bejövő portot. Itt egy használaton kívüli portszámot kell beállítani, ami 9000-től visszafelé az első szabad port. Mivel a szerverkörnyezetben már van egy alapértelmezett 5.6-os PHP, ami használja a 9000-es portot, így itt állítsuk be a 8999-es értéket a /opt/php-7.1.19/etc/php-fpm.d/www.conf fájlban:
nano /opt/php-7.1.19/etc/php-fpm.d/www.conf
[...] listen = 127.0.0.1:8999 [...]
Ha több opcionális PHP-t használunk, akkor léptessük értelemszerűen lejjebb ezt az értéket, hogy a legelső üres port legyen beállítva az újabb PHP számára.
- HowtoForge.com - How to install PHP 7.1.16 as PHP-FPM & FastCGI for ISPConfig 3.1 on Debian 8 (Jessie)
- Tökéletes szerver: Debian 8 (Jessie) V1.0
- Hogyan telepítsük a PHP 5.6.40-et választható verzióként a Debian 9 (Stretch) tökéletes szerverre
- Hogyan telepíthetünk újabb PHP verziókat Debian 9 (Stretch) LAMP szerverünkre PHP-FPM módban
- Hogyan állíthatunk be egyedi PHP verziókat ISPConfig rendszerű szerverünkön
- Naplófájlok forgatása és tömörítése a Logrotate programmal
- Enciklopédia - PHP
- Enciklopédia - PHP-FPM
- php.net - Releases
Navigáció
- A hozzászóláshoz regisztráció és bejelentkezés szükséges
- 243 megtekintés