Как установить php ubuntu
Установка PHP в Ubuntu
Установка PHP в Ubuntu
PHP версии 7.4 поставляется в официальных репозиториях Ubuntu, поэтому если вы хотите эту версию, то можете очень просто установить ее с помощью команды apt. Сначала смотрим информацию:
Теперь для установки версии из репозиториев наберите:
sudo apt install php
Для того чтобы интерпретатор php работал с Apache необходимо установить ещё этот пакет:
sudo apt install libapache2-mod-php
После этого можно посмотреть версию php в терминале:
Если вам нужна другая версия PHP, например, 5.6, то вам придется добавить в систему репозиторий PPA. Сначала необходимо установить зависимости:
sudo apt install python-software-properties
Затем для добавления PPA репозитория выполните:
sudo add-apt-repository ppa:ondrej/php
Теперь вы можете установить php ubuntu нужной вам версии. В данном случае 5.6. Для Apache выполните такие команды:
sudo apt install php5.6 libapache2-mod-php5.6
Затем можно смотреть версию:
Обратите внимание, что установленная версия PHP не конфликтует с версией из официальных репозиториев. Обе версии могут существовать в системе и между ними можно переключаться.
На момент написания статьи, версия PHP 8.0 вышла относительно недавно и в официальных репозиториях LTS релиза Ubuntu её нет. В этой версии было много улучшений и исправлений и если вы хотите её попробовать, то можете установить из того же самого PPA:
sudo add-apt-repository ppa:ondrej/php
Затем, как и в предыдущем пункте необходимо указать версию php, которая вам нужна в команде установки:
sudo apt install php8.0 libapache2-mod-php8.0
После завершения установки интерпретатор появится в системе:
Установка расширений PHP
Не зависимо от того какую версию PHP вы установили, обычно для полноценной работы программ необходимо ещё установить расширения. Вот основные расширения, которые требуются чаще всего:
Для того чтобы установить все эти расширения для версии PHP по умолчанию выполните такую команду:
sudo apt install php-curl php-memcached php-mysql php-pgsql php-gd php-imagick php-intl php-mcrypt php-xml php-zip php-mbstring
Если надо установить расширения PHP для определённой версии, то следует указать эту версию в названии пакета:
sudo apt install php7.4-curl php7.4-memcached php7.4-mysql php7.4-pgsql php7.4-gd php7.4-imagick php7.4-intl php7.4-mcrypt php7.4-xml php7.4-zip php7.4-mbstring
Аналогично можно установить расширения для PHP 5.6 или 8.0.
Выбор версии PHP по умолчанию
Вы можете выбрать какую версию php нужно использовать по умолчанию с помощью утилиты update-alternatives. Сначала смотрим доступные версии:
После этого следует ввести номер версии, которую вы хотите использовать по умолчанию:
Или можно сразу установить php ubuntu по умолчанию:
Чтобы используемая версия обновилась в Apache нужно подключить правильный модуль и перезагрузить веб-сервер. Например, для того чтобы отключить 7.4 и включить 5.6 выполните:
sudo a2dismod php7.4
sudo a2enmod php5.6
sudo systemctl restart apache2
Установка php 8 Ubuntu выполняется так же. Теперь вы знаете как переключить версию php Ubuntu. Установка и настройка PHP вместе с Nginx отдельная обширная тема и она описана в статье про настройку PHP-FPM.
Выводы
В этой статье мы рассмотрели как выполняется установка PHP 8 ubuntu 20.04 и других версиях системы. Теперь вы знаете как установить не только PHP 8, но и другие поддерживаемые версии. Как видите, это очень просто, вы можете получить нужную версию PHP буквально в несколько кликов. Надеюсь, эта информация была вам полезной.
Как установить PHP в Ubuntu 20.04
PHP — один из наиболее часто используемых языков программирования на стороне сервера. Многие популярные CMS и фреймворки, такие как WordPress, Magento и Laravel, написаны на PHP.
В этом руководстве описаны шаги, необходимые для установки PHP в Ubuntu 20.04 и его интеграции с Nginx и Apache.
На момент написания репозитории Ubuntu 20.04 по умолчанию включают версию PHP 7.4. Мы также покажем вам, как установить предыдущие версии PHP. Прежде чем выбирать версию PHP для установки, убедитесь, что ваши приложения ее поддерживают.
Установка PHP 7.4 с Apache
Если вы используете Apache в качестве веб-сервера, выполните следующие команды для установки PHP и модуля Apache PHP:
После установки пакетов перезапустите Apache, чтобы модуль PHP загрузился:
Установка PHP 7.4 с Nginx
В отличие от Apache, Nginx не имеет встроенной поддержки обработки файлов PHP. Мы будем использовать PHP-FPM («менеджер процессов fastCGI») для обработки файлов PHP.
Выполните следующие команды, чтобы установить пакеты PHP и PHP FPM:
После завершения установки служба FPM запустится автоматически. Чтобы проверить статус службы, запустите
Теперь вы можете отредактировать блок сервера Nginx и добавить следующие строки, чтобы Nginx мог обрабатывать файлы PHP:
Не забудьте перезапустить службу Nginx, чтобы новая конфигурация вступила в силу:
Установка расширений PHP
Расширения PHP — это скомпилированные библиотеки, которые расширяют основные функции PHP. Расширения доступны в виде пакетов и могут быть легко установлены с помощью apt :
Например, чтобы установить расширения MySQL и GD, вы должны выполнить следующую команду:
После установки нового расширения PHP, в зависимости от ваших настроек, не забудьте перезапустить службу Apache или PHP FPM.
Тестирование обработки PHP
Чтобы проверить, правильно ли настроен веб-сервер для обработки PHP, создайте новый файл с именем info.php внутри каталога /var/www/html со следующим кодом:
Вы увидите информацию о своей конфигурации PHP, как показано на изображении ниже:
Установка предыдущих версий PHP
Теперь вы можете установить любую нужную версию PHP, добавив номер версии к имени пакета:
Например, чтобы установить PHP 7.1 и несколько распространенных модулей PHP, вы должны запустить:
Выводы
Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.
Как установить PHP в Ubuntu 18.04
В этом руководстве мы рассмотрим шаги, необходимые для установки PHP 7.2 по умолчанию в дистрибутиве в Ubuntu 18.04 и интеграции его с Nginx и Apache. Мы также покажем вам, как установить PHP 7.1 и 7.3.
Подготовка
Установка PHP 7.2 с Apache
Если вы используете Apache в качестве веб-сервера для установки PHP и модуля Apache PHP, выполните следующую команду:
После установки пакетов перезапустите службу Apache:
Установка PHP 7.2 с Nginx
В отличие от Apache, Nginx не имеет встроенной поддержки обработки файлов PHP, поэтому нам нужно установить отдельное приложение, такое как PHP FPM («менеджер процессов fastCGI»), которое будет обрабатывать файлы PHP.
Чтобы установить пакеты PHP и PHP FPM, выполните следующую команду:
После установки пакетов вы можете проверить статус службы PHP FPM с помощью:
Теперь вы можете отредактировать блок сервера Nginx и добавить следующие строки, чтобы Nginx мог обрабатывать файлы PHP:
Не забудьте перезапустить службу Nginx, чтобы новая конфигурация вступила в силу:
Установка расширений PHP
Чтобы расширить основные функции PHP, вы можете установить некоторые дополнительные расширения. Расширения PHP доступны в виде пакетов и могут быть легко установлены с помощью:
Например, если вы хотите установить расширения MySQL и GD PHP, вы должны выполнить следующую команду:
После установки нового расширения PHP не забудьте перезапустить Apache или службу PHP FPM, в зависимости от ваших настроек.
Тестирование обработки PHP
Чтобы проверить, правильно ли настроен ваш веб-сервер для обработки PHP, создайте новый файл с именем info.php внутри каталога /var/www/html со следующим кодом:
Сохраните файл, откройте нужный браузер и перейдите по http://your_server_ip/info.php
Функция phpinfo распечатает информацию о вашей конфигурации PHP, как показано на изображении ниже:
Установка PHP 7.3 в Ubuntu 18.04
PHP 7.3 — это последняя стабильная версия PHP. Выполните следующие действия, чтобы установить PHP 7.3 в Ubuntu 18.04.
Установка PHP 7.1 в Ubuntu 18.04
Используйте PHP 7.1, только если вы собираетесь устанавливать приложения, несовместимые с PHP 7.2.
Чтобы установить PHP 7.1, выполните следующие действия:
Выводы
Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.
Установка Nginx и PHP-FPM в Ubuntu 20.04
Интерпретатор языка программирования PHP может работать в нескольких режимах. Он может быть интегрирован в веб-сервер в виде специального модуля или использоваться как отдельный сервис PHP-FPM. Аббревиатура FPM расшифровывается как FastCGI Process Manager. Это сервис, который запускает несколько процессов, которые могут выполнять PHP скрипты.
PHP-FPM может получать скрипты, которые надо выполнить, с помощью TCP или Unix сокетов. Именно такой способ выполнения скриптов используется в Nginx. В этой статье мы рассмотрим как выполняется установка Nginx с PHP-FPM в Ubuntu.
Установка Nginx на Ubuntu 20.04
Установить Nginx можно двумя способами. Первый способ заключается в установки пакета из официального репозитория Ubuntu. На момент написания статьи (1 августа 2021 года) актуальной версией Nginx присутствующей в репозитории Ubuntu была версия 1.18.0. Данная версия считается устаревшей. Актуальной же версией считается 1.20.1 (по состоянию на 1 августа 2021 года).
1. Официальные репозитории Ubuntu
Если вы хотите установить версию Nginx из репозиториев Ubuntu необходимо выполнить следующие действия. Для начала обновляем списки пакетов при помощи команды:
Для того, чтобы установить Nginx, достаточно выполнить команду:
После этого программу можно использовать. Проверка и настройка программы будет описана в разделах ниже.
2. Официальные репозитории Nginx
Второй способ заключается в установке последней версии Nginx из официальных репозиториев, которые предоставляют разработчики Nginx. Если вы хотите использовать данный метод установки, для начала необходимо обновить списки пакетов при помощи команды:
Установите необходимые пакеты:
Далее у вас на выбор есть два пути – подключить репозиторий со стабильной версией nginx или подключить репозиторий с основной версией. Стабильная версия является более проверенной и работоспособной. Эту версию можно использовать, как и в тестовых средах так и на производственных. Основная версия не такая стабильная и может содержать ошибки. Данную версию не рекомендуется использовать в производственных средах.
Для подключения репозитория со стабильной версией nginx, выполните следующую команду:
Для подключения репозитория с основной версией nginx, выполните следующую команду:
Следующие шаги необходимо выполнять вне зависимости от выбранного репозитория. Импортируйте официальный ключ, используемый пакетным менеджером для проверки подлинности пакетов:
Проверьте, верный ли ключ был загружен:
Вывод команды должен содержать полный отпечаток ключа 573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62:
Переместите ключ в каталог доверенных ключей apt:
sudo mv /tmp/nginx_signing.key /etc/apt/trusted.gpg.d/nginx_signing.asc
Чтобы установить nginx, выполните следующие команды:
Версия Nginx от разработчиков немного отличается от версии из официальных репозиториев. Все дополнительные конфигурационные файлы здесь находятся в папке /etc/nginx/conf.d. Если вы хотите использовать папки sites-available и sites-enabled, то необходимо их создать:
sudo mkdir /etc/nginx/sites-available
sudo mkdir /etc/nginx/sites-enabled
Затем добавьте следующую строчку в конец секции http файла /etc/nginx.conf для того чтобы из папки /etc/nginx/sites-enabled загружалась конфигурация сайтов:
sudo vi /etc/nginx/nginx.conf
Затем перезапустите Nginx:
3. Запуск Nginx
После установки пакета, проверяем что Nginx успешно запустился при помощи команды:
sudo systemctl status nginx
Если в статусе вместо active будет inactive (dead), то сервис необходимо запустить вручную при помощи команды:
sudo systemctl start nginx
Так же обратите внимание, что вы не можете запускать Apache и Nginx на одном порту. В таком случае вы получите ошибку nginx address already in use 80. Для корректной работы Nginx, необходимо будет отключить веб-сервер Apache (если он у вас используется) или изменить его порт с 80 (который используется по умолчанию) на другой свободный порт.
4. Настройка брандмауэра
По умолчанию брандмауэр закрывает все неразрешённые входящие подключения. Поэтому, чтобы к вашему веб-серверу можно было получить доступ извне, необходимо добавить его порт в исключения:
sudo ufw allow in 80/tcp
5. Проверка работы Nginx
После того, как Nginx будет запущен, он будет доступен по адресу сервера, на который он устанавливался. Вы можете проверить, всё ли работает, просто перейдя по адресу сервера, введя его в браузере. Для примера Nginx был установлен на localhost:
Если вы увидите приветственное сообщение как на скриншоте выше это означает что Nginx успешно установлен и запущен.
Установка PHP-FPM в Ubuntu
Следующим шагом будет установка интерпретатора языка программирования PHP и всех необходимых модулей для работы с PHP-FPM. Для установки всех необходимых модулей выполните команду:
На момент написания статьи (1 августа 2021) актуальной версией PHP в официальных репозиториях Ubuntu считалась версия 7.4. Самая же последняя официальная версия PHP от разработчиков 8.0.9 (по состоянию на 29 июля 2021 года). После установки всех необходимых пакетов проверяем статус PHP-FPM:
systemctl status php7.4-fpm.service
Если в статусе вместо active будет inactive (dead), то сервис необходимо запустить вручную при помощи команды:
sudo systemctl start php7.4-fpm.service
После того, как сервис запустился, установка будет считаться выполненной.
Подключение Nginx к PHP-FPM
Чтобы принимать запросы FastCGI от Nginx, PHP-FPM может прослушивать сокет TCP/IP или UNIX сокет. Сокеты UNIX являются средством межпроцессного взаимодействия, которое обеспечивает эффективный обмен данными между процессами, работающими в одной и той же операционной системе, в то время как сокеты TCP/IP позволяют процессам обмениваться данными по сети.
В отличие от сокета TCP/IP, который идентифицирует сервер по IP-адресу и порту (например, 127.0.0.1:9000), вы можете привязать сервер к сокету UNIX, используя путь к файлу (например, /run/php-fpm/www.sock), который виден в файловой системе.
Таким образом, сокет UNIX является безопасным, поскольку его могут использовать только процессы на локальном хосте. Сокет TCP/IP может быть доступен из Интернета, и это может представлять угрозу безопасности, если не будут приняты дополнительные меры безопасности, такие как настройка брандмауэра.
Настройка PHP-FPM для прослушивания на сокете UNIX
Чтобы настроить PHP-FPM на прослушивание сокета UNIX, откройте файл конфигурации пула PHP-FPM по умолчанию, используя свой любимый текстовый редактор при помощи команды:
sudo nano /etc/php/7.4/fpm/pool.d/www.conf
Если вы используете сокет UNIX, вам также необходимо установить соответствующие разрешения на чтение/запись для файла, чтобы разрешить подключения с веб-сервера NGINX. По умолчанию Nginx работает как пользователь www-data в Ubuntu.
Найдите параметры listen.owner и listen.group и задайте им значение www-data. Также установите режим на 0660, для параметра listen.mode.
Настройка PHP-FPM для прослушивания через сокет TCP/IP
Хотя сокет UNIX быстрее сокета TCP/IP, он менее масштабируем, поскольку он может поддерживать межпроцессное взаимодействие только в одной и той же ОС. Если Nginx и внутренний сервер приложений (PHP-FPM) работают в разных системах, вам придется настроить php-fpm для прослушивания сокетов TCP/IP для удаленного подключения.
В файле конфигурации пула php-fpm установите адрес прослушивания, например: 127.0.0.1:9000. Убедитесь, что выбранный вами порт не используется другим процессом или службой в той же системе.
sudo nano /etc/php/7.4/fpm/pool.d/www.conf
Сохраните изменения и закройте файл. Установка Nginx php fpm практически завершена.
Настройка Nginx для работы php-fpm
После того, как вы настроили адрес, который прослушивает PHP-FPM, вам нужно настроить Nginx для запроса прокси к нему через этот адрес, используя параметр конфигурации fastcgi_pass, который располагается в файле конфигурации блока виртуального хоста.
sudo nano /etc/nginx/conf.d/default.conf
Если используется TCP/IP сокет, замените значение в параметре fastcgi_pass на IP-адрес и порт сервера, на котором работает PHP-FPM FastCGI:
После внесения изменений в конфигурации Nginx проверьте правильность синтаксиса при помощи команды:
Далее вам необходимо перезапустить службы, чтобы применить изменения, используя для этого команды:
sudo systemctl restart nginx
sudo systemctl restart php7.4-fpm
После перезапуска служб, подключение считается выполненным успешно. Можно создать файл index.php со следующим содержимым:
sudo vi /var/www/html
Затем можно попытаться открыть эту страницу в браузере. Для этого в адресную строку надо ввести http://localhost/index.php. Если всё было настроено верно, перед вами откроется такая страница:
Для дальнейшей настройки PHP-FPM воспользуйтесь статьей по настройке PHP-FPM на Ubuntu 20.04 – Настройка PHP-FPM
Удаление Nginx и PHP-FPM с Ubuntu
Чтобы полностью удалить Nginx и PHP-FPM из системы, достаточно удалить все пакеты, которые вы установили ранее:
Команда purge позволяет удалить не только пакеты, но и их конфигурационные файлы. Если вы хотите оставить конфигурационные файлы, используйте команду remove.
Выводы
В этой статье мы разобрали, как выполняется установка Nginx PHP-FPM в Ubuntu 20.04. Как видите, это не очень сложно и с такой задачей может справиться даже новичок. Если у вас остались вопросы, оставляйте их в комментариях!
Как установить PHP 8 в Ubuntu 20.04
PHP — один из наиболее широко используемых языков программирования на стороне сервера. Многие популярные CMS и фреймворки, такие как WordPress, Magento и Laravel, написаны на PHP.
PHP 8.0 — это последняя основная версия языка PHP. Он вводит несколько критических изменений, улучшения производительности и множество новых функций, таких как именованные аргументы, JIT-компилятор, типы объединения, выражение соответствия и многое другое.
Эта статья покажет вам, как установить PHP 8 в Ubuntu 20.04 и интегрировать его с Nginx и Apache.
На момент написания репозитории Ubuntu 20.04 по умолчанию включают версию PHP 7.4. Мы установим PHP из репозитория ondrej / php PPA.
Перед обновлением или установкой PHP 8 убедитесь, что ваши приложения его поддерживают.
Те же шаги применимы для Ubuntu 18.04 и всех дистрибутивов на основе Ubuntu, включая Kubuntu, Linux Mint и Elementary OS.
Включение репозитория PHP
После включения PPA вы можете установить PHP 8.
Установка PHP 8.0 с Apache
Если вы используете Apache в качестве веб-сервера, вы можете запускать PHP как модуль Apache или PHP-FPM.
Установите PHP как модуль Apache
Установить PHP как модуль Apache — простая задача:
После установки пакетов перезапустите Apache, чтобы модуль PHP загрузился:
Настройте Apache с помощью PHP-FPM
Php-FPM — это менеджер процессов FastCGI для PHP. Выполните следующую команду, чтобы установить необходимые пакеты:
По умолчанию PHP-FPM не включен в Apache. Чтобы включить его, запустите:
Чтобы активировать изменения, перезапустите Apache:
Установка PHP 8.0 с Nginx
Nginx не имеет встроенной поддержки обработки файлов PHP. Мы будем использовать PHP-FPM («менеджер процессов fastCGI») для обработки файлов PHP.
Выполните следующие команды, чтобы установить пакеты PHP и PHP FPM:
После завершения установки служба FPM запустится автоматически. Чтобы проверить статус службы, запустите
Теперь вы можете отредактировать блок сервера Nginx и добавить следующие строки, чтобы Nginx мог обрабатывать файлы PHP:
Не забудьте перезапустить службу Nginx, чтобы новая конфигурация вступила в силу:
Установка расширений PHP
Расширения PHP — это скомпилированные библиотеки, которые расширяют основные функции PHP. Расширения доступны в виде пакетов и могут быть легко установлены с помощью apt :
Например, чтобы установить расширения MySQL и GD, вы должны выполнить следующую команду:
После установки нового расширения PHP не забудьте перезапустить службу Apache или PHP FPM, в зависимости от ваших настроек.
Тестирование обработки PHP
Чтобы проверить, правильно ли настроен веб-сервер для обработки PHP, создайте новый файл с именем info.php внутри каталога /var/www/html со следующим кодом:
Вы увидите информацию о своей конфигурации PHP, подобную следующей:
Выводы
Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.