Установка ΠΈΠ· ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Π² ОБ Debian GNU/Linux ΠΈ родствСнных дистрибутивах

Π₯отя PHP доступСн для установки ΠΈΠ· исходного ΠΊΠΎΠ΄Π°, язык Ρ‚Π°ΠΊΠΆΠ΅ доступСн для установки ΠΈΠ· ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² с сайта » Debian GNU/Linux. Π­Ρ‚ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ справСдливо для Π΄Ρ€ΡƒΠ³ΠΈΡ… дистрибутивов Π½Π° основС Debian Π½Π°ΠΏΠΎΠ΄ΠΎΠ±ΠΈΠ΅ Ubuntu, Kali Linux ΠΈ Linux Mint.

Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ PHP считаСт сторонниС сборки Π½Π΅ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ сборки, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ скомпилировали Ρ‚Ρ€Π΅Ρ‚ΡŒΠΈ Π»ΠΈΡ†Π°. Об ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ²Π°ΡŽΡ‚ Π² Ρ‚Π°ΠΊΠΈΡ… сборках, ΡΠΎΠΎΠ±Ρ‰Π°ΡŽΡ‚ поставщику этих Π½Π΅ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… сборок, Ссли Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ошибки Π½Π΅ воспроизводятся Π² сборках » с ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ страницы Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ.

ΠŸΠ°ΠΊΠ΅Ρ‚Ρ‹ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‚ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ apt ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ aptitude. Π­Ρ‚Π° страница руководства взаимозамСняСт ΠΎΠ±Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹.

Команда APT

Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΈΠ½ΠΎΠ³Π΄Π° Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ связанныС ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹: libapache-mod-php трСбуСтся для ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ с Π²Π΅Π±-сСрвСром Apache 2, Π° ΠΏΠ°ΠΊΠ΅Ρ‚ php-pear для ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ с Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅ΠΌ PEAR.

Π’ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, ΠΏΠ΅Ρ€Π΅Π΄ установкой ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡŽΡ‚ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ списка ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ². Π­Ρ‚ΠΎ часто Π΄Π΅Π»Π°ΡŽΡ‚ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ apt update.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ #1 ΠŸΡ€ΠΈΠΌΠ΅Ρ€ установки Apache 2 Π² ОБ Debian

# apt install php-common libapache2-mod-php php-cli

Команда APT автоматичСски установит PHP-ΠΌΠΎΠ΄ΡƒΠ»ΡŒ для Apache 2 ΠΈ зависимости, Π° Π·Π°Ρ‚Π΅ΠΌ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΈΡ…. ΠŸΠΎΡ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ΡΡ ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π²Π΅Π±-сСрвСр Apache, Ρ‡Ρ‚ΠΎΠ±Ρ‹ измСнСния вступили Π² силу. НапримСр:

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ #2 ΠžΡΡ‚Π°Π½ΠΎΠ²ΠΊΠ° ΠΈ запуск Π²Π΅Π±-сСрвСра Apache послС установки PHP

# /etc/init.d/apache2 stop
# /etc/init.d/apache2 start

ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ

Π’ послСднСм Ρ€Π°Π·Π΄Π΅Π»Π΅ PHP установили Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с модулями ядра. Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ Π½Π°ΠΏΠΎΠ΄ΠΎΠ±ΠΈΠ΅ MySQL, cURL, GD ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‚ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ apt.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ #3 ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ пСрСчислСния Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… PHP-ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ²

# apt-cache search php
# apt search php | grep -i mysql
# aptitude search php

Бписок ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ², Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π±ΡƒΠ΄ΡƒΡ‚ Π±Π°Π·ΠΎΠ²Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ PHP Π½Π°ΠΏΠΎΠ΄ΠΎΠ±ΠΈΠ΅ php-cgi, php-cli ΠΈ php-dev, ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ. ПослС установки ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ автоматичСски установятся Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ удовлСтворят зависимости ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ #4 Установка PHP с MySQL ΠΈ cURL

# apt install php-mysql php-curl

APT автоматичСски Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ строки Π² Ρ„Π°ΠΉΠ»Ρ‹ Π²Ρ€ΠΎΠ΄Π΅ /etc/php/7.4/php.ini, /etc/php/7.4/conf.d/*.ini ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ связаны ΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ„Π°ΠΉΠ»Ρƒ php.ini, ΠΈ Π² зависимости ΠΎΡ‚ модуля Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ записи Π½Π°ΠΏΠΎΠ΄ΠΎΠ±ΠΈΠ΅ extension=foo.so. ΠŸΠΎΡ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ΡΡ ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π²Π΅Π±-сСрвСр Π²Ρ€ΠΎΠ΄Π΅ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ Apache, Ρ‡Ρ‚ΠΎΠ±Ρ‹ измСнСния вступили Π² силу

Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹

  • Π’Π΅Π±-сСрвСр Π½Π΅ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ PHP-скрипты. Бамая частая ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π° состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ PHP Π½Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ Π² Ρ„Π°ΠΉΠ» ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Π²Π΅Π±-сСрвСра. Π’ ОБ Debian Ρ„Π°ΠΉΠ» ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ часто Π»Π΅ΠΆΠΈΡ‚ ΠΏΠΎ ΠΏΡƒΡ‚ΠΈ /etc/apache2/apache2.conf ΠΈΠ»ΠΈ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎΠΌ. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ рассказываСт руководство ΠΏΠΎ ОБ Debian.
  • PHP Π½Π΅ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ модуля. ΠŸΡ€ΠΈΡ‡ΠΈΠ½Π° часто состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π½Π΅ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΠ»ΠΈ INI-Ρ„Π°ΠΉΠ» ΠΈ (ΠΈΠ»ΠΈ) послС установки модуля Π½Π΅ пСрСзапустили Π²Π΅Π±-сСрвСр.
οΌ‹Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΡ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ 2 notes

up
78
thumbs at apache dot org ΒΆ
12 years ago
To refresh this document, perhaps it would be worth mentioning more modern methods to serve php content under apache httpd.

Specifically, the preferred method is now fastcgi, using either of those recipes:

(mod_fastcgi, httpd 2.2)
http://wiki.apache.org/httpd/php-fastcgi

(mod_fcgid, httpd 2.2)
http://wiki.apache.org/httpd/php-fcgid

(mod_proxy_fcgi, httpd 2.4)
http://wiki.apache.org/httpd/PHP-FPM

While the legacy mod_php approach is still applicable for some older installations, the fastcgi method is much faster, and require much less RAM to operate, based on similar traffic patterns.

Thank you!
up
49
kearney dot taaffe at gmail dot com ΒΆ
8 years ago
Compiling PHP on Ubuntu boxes.

If you would like to compile PHP from source as opposed to relying on package maintainers, here's a list of packages, and commands you can run

STEP 1:
sudo apt-get install autoconf build-essential curl libtool \
  libssl-dev libcurl4-openssl-dev libxml2-dev libreadline7 \
  libreadline-dev libzip-dev libzip4 nginx openssl \
  pkg-config zlib1g-dev

So you don't overwrite any existing PHP installs on your system, install PHP in your home directory. Create a directory for the PHP binaries to live

    mkdir -p ~/bin/php7-latest/

STEP 2:
# download the latest PHP tarball, decompress it, then cd to the new directory.

STEP 3:
Configure PHP. Remove any options you don't need (like MySQL or Postgres (--with-pdo-pgsql))

./configure --prefix=$HOME/bin/php-latest \
    --enable-mysqlnd \
    --with-pdo-mysql \
    --with-pdo-mysql=mysqlnd \
    --with-pdo-pgsql=/usr/bin/pg_config \
    --enable-bcmath \
    --enable-fpm \
    --with-fpm-user=www-data \
    --with-fpm-group=www-data \
    --enable-mbstring \
    --enable-phpdbg \
    --enable-shmop \
    --enable-sockets \
    --enable-sysvmsg \
    --enable-sysvsem \
    --enable-sysvshm \
    --enable-zip \
    --with-libzip=/usr/lib/x86_64-linux-gnu \
    --with-zlib \
    --with-curl \
    --with-pear \
    --with-openssl \
    --enable-pcntl \
    --with-readline

STEP 4:
compile the binaries by typing: make

If no errors, install by typing: make install

STEP 5:
Copy the PHP.ini file to the install directory

    cp php.ini-development ~/bin/php-latest/lib/ 

STEP 6:

cd ~/bin/php-latest/etc; 
mv php-fpm.conf.default php-fpm.conf
mv php-fpm.d/www.conf.default php-fpm.d/www.conf

STEP 7:
create symbolic links for your for your binary files

   cd ~/bin
   ln -s php-latest/bin/php php
   ln -s php-latest/bin/php-cgi php-cgi
   ln -s php-latest/bin/php-config php-config
   ln -s php-latest/bin/phpize phpize
   ln -s php-latest/bin/phar.phar phar
   ln -s php-latest/bin/pear pear
   ln -s php-latest/bin/phpdbg phpdbg
   ln -s php-latest/sbin/php-fpm php-fpm

STEP 8: link your local PHP to the php command. You will need to logout then log back in for php to switch to the local version instead of the installed version

# add this to .bashrc
if [ -d "$HOME/bin" ] ; then
  PATH="$HOME/bin:$PATH"
fi

STEP 9: Start PHP-FPM

    sudo ~/bin/php7/sbin/php-fpm