Как установить php на ubuntu
Перейти к содержимому

Как установить php на ubuntu

  • автор:

Установка PHP 7.4 на Ubuntu 20.04

PHP аббревиатура гипертекстового препроцессора. а в общем PHP — это язык сценариев с открытым исходным кодом, используемый в веб-разработке. PHP работает на стороне сервера и является источником для популярных веб-решений, таких как WordPress и Moodle.

В Ubuntu 20.04 PHP 7.4 — эта версия доступна в репозитории пакетов по умолчанию на момент написания этой статьи. Однако PHP 8.0 — это последняя версия языка PHP.

В этой инструкции мы сосредоточимся на установке PHP 7.4 для веб-серверов Apache и NGINX, работающих на Ubuntu 20.04.

Требования к установке PHP 7.4 на Ubuntu

  1. Веб-сервер Apache или NGINX, работающий на Ubuntu 20.04
  2. Пользователь с привилегией sudo

Установка PHP 7.4 для Apache

Начните с проверки обновлений пакетов с помощью команды ниже.

Затем установите PHP 7.4 с помощью приведенной ниже команды.

После установки запустите следующую команду, чтобы проверить версию PHP.

Проверка установленной версии PHP

Тест PHP 7.4 на Apache Ubuntu

Чтобы проверить установку PHP 7.4 на Apache и чтобы создать index.php файл в корне документа по умолчанию, выполните команду ниже

Затем скопируйте и вставьте пример PHP-кода ниже.

Сохраните внесенные изменения и закройте index.php.

Теперь откройте веб-браузер и введите serverIP/index.php.

Примечание: serverIP должен быть вашим фактическим IP-адресом сервера. Например, 192.168.1.100/index.php

Вы должны увидеть информационную страницу PHP 7.4, которая подтверждает, что PHP работает правильно.

Возможно вам будет интересно: Авторизация пользователей Joomla через Active Directory (LDAP)

Информация о версии PHP 7.4 на Apache2

Установка PHP 7.4 для NGINX Ubuntu

Из коробки NGINX нет возможности обрабатывать документы PHP. Поэтому необходимо установить и настроить PHP FastCGI Process Manager, то есть PHP-FPM.

Во-первых, проверьте наличие обновлений пакетов, если вы еще этого не сделали.

Затем установите PHP-FPM 7.4 на Ubuntu 20.04 с помощью приведенной ниже команды.

После этого откройте файл блока сервера NGINX по умолчанию с помощью команды:

$ sudo nano /etc/nginx/sites-available/default

В этом файле найдите строку, которая начинается с index, а затем добавьте index.php к списку.

Добавить index.php в список индексов NGINX

Затем найдите раздел # pass PHP scripts to FastCGI server и убедитесь, что он выглядит так, как вы видите в блоке кода ниже. В конкретные строки были раскомментированы.

# pass PHP scripts to FastCGI server # location ~ .php$ < include snippets/fastcgi-php.conf; # # # With php-fpm (or other unix sockets): fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; # # With php-cgi (or other tcp sockets): # fastcgi_pass 127.0.0.1:9000; >

Сохраните изменения и закройте файл блока сервера.

Тестирование PHP 7.4 на NGINX Ubuntu

Чтобы протестировать PHP 7.4 на NGINX, создайте index.php файл в корне. Это можно сделать командой ниже.

Теперь скопируйте и вставьте приведенный ниже пример PHP-кода в текстовый редактор.

Сохраните и закройте index.php файл. Откройте веб — браузер и перейдите в serverIP/index.php… Например 192.168.1.100/index.php

Вы должны увидеть страницу PHP 7.4 info.

PHP 7.4 информационная страница на NGINX

Заключение

При помощи этой инструкции вы сможете установить и настроить PHP 7.4 на веб-серверах Apache и NGINX. Если есть вопросы напишите комментарий.

Как установить и настроить PHP 8.0 на Ubuntu 20.04

PHP — это очень популярный серверный язык программирования, используется для создания динамических веб-сайтов и приложений. PHP8.0 бесплатен и поставляется с открытым исходным кодом. PHP 8 привносит в язык множество оптимизаций и мощных функций, включая компилятор Just-in-time (JIT), атрибуты, именованные аргументы и многое другое .

Из этой статьи вы узнаете, как установить PHP 8.0 на Ubuntu 20.04 и настроить его для работы с веб-серверами Apache и NGINX.

Требования

  • Веб-сервер NGINXили Apache, работающий на Ubuntu 20.04
  • Пользователь с привилегиями sudo

Добавьте репозиторий ondre/php

На момент написания этой статьи PHP 7.4 является последней версией, доступной в репозитории пакетов Ubuntu по умолчанию.

Чтобы установить PHP 8, вам нужно добавить репозиторий ondre/php. В этом частном архиве пакетов доступно несколько версий PHP и расширений.

Выполните следующую команду, чтобы добавить репозиторий ondre/php в Ubuntu 20.04.

Затем выполните приведенную ниже команду, чтобы проверить наличие обновлений пакета.

Установка PHP 8 для Apache

После добавления репозитория ondre/php и проверки наличия обновлений пакетов, вы можете запустить следующую команду для установки PHP 8 на Ubuntu 20.04.

При появлении запроса введите y, чтобы продолжить.

Установка PHP 8.0 для Apache

После успешного завершения установки вы можете проверить версию PHP с помощью следующей команды.

Проверка версии PHP

Тест PHP 8 на Apache в Ubuntu

Чтобы убедиться, что PHP правильно работает с Apache, создайте index.php файл в корне документа по умолчанию следующим образом.

Скопируйте и вставьте приведенный ниже пример PHP — кода в текстовый редактор.

Теперь откройте веб-браузер и перейдите на страницу serverIP/index.php… Замените serverIP на ваш фактическим IP-адресом сервера. Если вы видите информационную страницу PHP 8.0.3, то все в порядке.

Возможно вам будет интересно: Как установить PostgreSQL с pgAdmin4 на Linux Mint 20

Страница PHP версии 8.0.3 на Apache

Установка PHP 8 для NGINX сервера Ubuntu

В отличие от Apache, NGINX не имеет встроенных возможностей для обработки PHP-документов. Чтобы обойти эту проблему, вам нужно установить PHP-FPM (то есть PHP FastCGI Process Manager) и настроить его для работы с NGINX.

Первое что требуется это убедится в том, что вы добавили репозиторий ondre/php.

Кроме того, проверьте наличие обновлений пакета с помощью команды:

Чтобы установить PHP-FPM 8.0 на Ubuntu 20.04, выполните приведенную ниже команду.

Теперь проверьте версию PHP с помощью команды:

Затем откройте файл блока сервера NGINX по умолчанию, делается это следующим образом.

$ sudo nano /etc/nginx/sites-available/default

Прокрутите вниз, пока не дойдете до строки, начинающейся с index, а затем добавьте index.php к списку, как показано на рисунке ниже.

Добавить index.php директива to NGINX index

Прокрутите страницу вниз еще дальше, пока не увидите раздел # pass PHP scripts to FastCGI server. Измените эту часть конфигурационного файла так, чтобы она выглядела так, как вы видите в приведенном ниже блоке кода.

# pass PHP scripts to FastCGI server
#
location ~ .php$ include snippets/fastcgi-php.conf;
#
# # With php-fpm (or other unix sockets):
fastcgi_pass unix:/var/run/php/php8.0-fpm.sock;
# # With php-cgi (or other tcp sockets):
# fastcgi_pass 127.0.0.1:9000;
>

Обратите внимание, что определенные строки были раскомментированы, а php7.4-fpm.sock был заменен на php8.0-fpm.sock.

Сохраните внесенные изменения и закройте файл блокировки сервера.

Тест PHP 8 на NGINX

Чтобы убедиться, что после установки PHP 8, он правильно работает с NGINX. Создайте index.php файл в корне документа по умолчанию.

Скопируйте и вставьте приведенный ниже пример PHP — кода в текстовый редактор.

Сохраните и закройте index.php файл.

Возможно вам будет интересно: Как установить и настроить MySQL на Ubuntu 20.04 LTS

И последнее, откройте веб-браузер и перейдите к server IP/index.php… Заменив serverIP на ваш фактический IP-адрес сервера.

Если вы видите страницу PHP версии 8.0.3 info, то вы все сделали правильно.

PHP Версия 8.0.3 страница на NGINX

Заключение

В этой статье мы описали шаги по установке и настройке PHP 8 на веб-серверах Apache и NGINX. Если у вас есть какие-либо вопросы пожалуйста оставьте комментарии.

Установка LAMP в Ubuntu 20.04

LAMP — это популярный набор программного обеспечения для работы с веб-сервером. LAMP назван по первым буквам входящих в его состав компонентов: Linux — операционная система, Apache — веб-сервер, MySQL — СУБД, PHP — язык программирования, используемый для создания веб-приложений.

В этой статье мы рассмотрим, как установить LAMP Ubuntu 20.04 несколькими способами: с помощью утилиты tasksel и вручную с помощью пакетного менеджера.

Установка LAMP в Ubuntu 20.04

1. Установка пакетов LAMP с помощью утилиты tasksel

Утилита tasksel позволяет устанавливать наборы пакетов различных программ буквально в одну команду. Она разработана для Debian, но может использоваться и в Ubuntu. Для её установки выполните в терминале команду:

sudo apt -y install tasksel

Bc4XNM1r6YnAAAAAAElFTkSuQmCC

Далее, чтобы установить Lamp на Ubuntu, достаточно выполнить команду:

sudo tasksel install lamp-server

Установка займёт определенное время, так как утилите необходимо скачать все необходимые пакеты. После завершения установки вы получите полностью работающий стек LAMP.

Если вы не хотите использовать tasksel, вы можете установить все пакеты по отдельности из стандартных репозиториев и настроить их для совместной работы.

Для начала необходимо установить веб-сервер Apache2:

sudo apt -y install apache2

TJzSjVA05hAAAAABJRU5ErkJggg==

На момент написания статьи актуальной версией PHP в официальных репозиториях Ubuntu считалась версия 7.4. Самая же последняя официальная версия PHP от разработчиков 8.0.9 по состоянию на 29 июля 2021 года.

Также необходимо установить дополнительные расширения для языка PHP, которые понадобятся для создания будущих проектов и их дальнейшей публикации на хостинг:

sudo apt -y install php-curl php-json php-cgi php-gd php-zip php-mbstring php-xml php-xmlrpc

wNkX9eKJWu1TwAAAABJRU5ErkJggg==

3. Настройка брандмауэра

По умолчанию брандмауэр закрывает все неразрешённые входящие подключения. Поэтому, чтобы к вашему веб-серверу можно было получить доступ извне, необходимо добавить его порт в исключения:

sudo ufw allow in 80/tcp

Для начала необходимо убедиться, что веб-сервер Apache и СУБД MySQL успешно запустились и при необходимости запустить их. Смотрим статус apache, выполнив команду в терминале:

sudo systemctl status apache2

wGVKwWOGUXuCgAAAABJRU5ErkJggg==

В разделе Active должно быть active (running). Те же самые действия необходимо сделать для проверки MySQL:

sudo systemctl status mysql

9hAwCGMn06AAAAAASUVORK5CYII=

Если в статусах вместо active будет inactive (dead), то сервисы необходимо запустить вручную:

sudo systemctl start apache2
sudo systemctl status mysql

wA48O2IDbnSpwAAAABJRU5ErkJggg= https://losst.pro/wp-content/uploads/2021/07/test-11.png7u507dH+fbAAAAABJRU5ErkJggg==

Для проверки наберите в адресной строке браузера IP-адрес сервера, куда вы устанавливали LAMP, в качестве примера выбран localhost:

Hy9gWjbTL0VeAAAAAElFTkSuQmCC

Если при открытии вы увидели страницу, которая изображена на скриншоте выше, это означает что веб-север apache успешно запущен и работает. Теперь необходимо проверить правильно ли работает PHP. Создайте файл в директории /var/www/html при помощи следующей команды:

sudo vi /var/www/html/phpinfo.php

Вместо vi можно использовать любой другой текстовый редактор на ваш выбор (nano, emacs, gedit и др.).
В файл phpinfo.php впишите следующую команду:

7N681x1+IK33JAAAAAElFTkSuQmCC

Далее откройте адрес localhost/phpinfo.php в браузере. Если всё работает, вы должны увидеть страничку, которая изображена ниже на скриншоте:

Q93yAaPsfVh6fWO5AAAAAElFTkSuQmCC

Также можно проверить, работает ли интеграция с СУБД MySQL. Если расширение PHP для MySQL установлено, то на странице с phpinfo будет размещен блок с информацией:

8HxnoJwek3BpcAAAAAElFTkSuQmCC

На данном этапе процесс проверки пройден успешно. Далее мы перейдем к настройке стека LAMP на Ubuntu 20.04.

5. Настройка Apache

Для обработки запросов будет использоваться модуль mpm_prefork. Данный модуль запускает по отдельному процессу на каждый запрос. Иначе говоря, каждый процесс одновременно обрабатывает только 1 поток на одно соединение. Для начала необходимо выключить mpm_event и mpm_worker и только потом включить модуль mpm_prefork:

sudo a2dismod mpm_event

sudo a2dismod mpm_worker

sudo a2enmod mpm_prefork

Включаем модуль mod_rewrite. Это модуль, предназначенный для преобразования URL адресов. Модуль использует в своей работе правила, которые могут быть описаны как в конфигурации сервера (httpd.conf), так и в файлах .htaccess непосредственно в файловой структуре Вашего сайта.

sudo a2enmod rewrite

Если вы хотите использовать файлы httaccess для настроек, то необходимо в файле /etc/apache2/apache2.conf изменить значение AllowOverride с None на All для нужных местоположений, например, для /var/www.
Откройте файл apache2.conf при помощи любого текстового редактора:

sudo vi /etc/apache2/apache2.conf

Найдите следующий блок:


Options Indexes FollowSymLinks
AllowOverride None
Require all granted

И замените AllowOverride None на AllowOverride All, затем сохраните изменения и закройте файл. Перезапустите apache:

sudo systemctl restart apache2

6. Настройка PHP

По умолчанию короткие теги, обрамляющие скрипты PHP, отключены. Это может привести к тому, что некоторые скрипты, использующие эти теги, могут не выполнятся. Для включения этой возможности откройте файл php.ini при помощи любого текстового редактора:

sudo vi /etc/php/7.4/apache2/php.ini

Найдите short_open_tag = Off и замените на:

AxXQgfbfNA5VAAAAAElFTkSuQmCC

После внесения всех изменений необходимо перезапустить Apache:

sudo systemctl restart apache2

7. Настройка MySQL

По умолчанию MySQL не очень хорошо настроена в плане безопасности. Необходимо задать пароль суперпользователя и удалить гостевой доступ. Для выполнения всех этих задач запустите в терминале следующую команду:

qmAYnT7cTAooBD4f8DFq2yQrp9QFYAAAAASUVORK5CYII https://losst.pro/wp-content/uploads/2021/07/test-19.png+fwRpAkQsDR3tAAAAAElFTkSuQmCC

Во всех следующих вопросах нужно отвечать утвердительно путем ввода y/Y или Yes:

  • Запретить удалённый вход для пользователя root;
  • Запретить гостевой вход;
  • Удалить временные таблицы;
  • Обновить привилегии пользователей.

Введите пароль пользователя root, который вы задали на этапе запуска mysql_secure_installation.
Не перепутайте пароль от пользователя root который присутствует в операционной системе Ubuntu и пользователя root в MySQL. Это разные пользователи, соответственно вы должны вводить пароль именно к учетной записи root, которая присутствует в MySQL.

Чтобы полностью удалить LAMP из системы, достаточно удалить все пакеты, которые вы установили ранее:

sudo apt -y purge apache2 mysql-server php7.4 libapache2-mod-php7.4 php7.4-mysql php-curl php-json php-cgi php-gd php-zip php-mbstring php-xml php-xmlrpc

Команда purge позволяет удалить не только пакеты, но и их конфигурационные файлы. Если вы хотите оставить конфигурационные файлы, используйте команду remove.

Выводы

В этой статье мы разобрали, как выполняется установка LAMP Ubuntu 20.04. Как видите, это не очень сложно и с такой задачей может справиться даже новичок. Если у вас остались вопросы, оставляйте их в комментариях!

Как установить PHP на Ubuntu 22.04

PHP, сокращение от PHP hypertext preprocessor, является одним из серверных языков программирования. Он широко используется в веб-разработке для поддержки и запуска PHP-приложений на веб-сервере. Впервые он появился в 1995 году, но в настоящее время поддерживается компанией Zend technologies. Многие системы управления контентом (CMS), такие как WordPress и Lavaravel, написаны на PHP.

В этой статье мы покажем, как установить PHP на Ubuntu 22.04 и совместить его с Apache и Nginx.

Возможно вам будет интересно: Как установить сканер уязвимостей GVM на Ubuntu 20.04

Требование к установке

Чтобы начать работу, вот что вам нужно:

  • Экземпляр Ubuntu 22.04 с доступом по SSH.
  • Пользователь sudo, настроенный для выполнения задач пользователя root.

Включение репозитория PHP на Ubuntu

На момент написания этого руководства версия PHP, которая в настоящее время размещена или предоставляется репозиториями Ubuntu — PHP 8.1.

Чтобы установить PHP с помощью менеджера пакетов APT из репозитория Ubuntu по умолчанию, введите:

А для того чтобы воспользоваться преимуществами последних версий PHP. Требуется включить PPA-репозиторий Ondrej, который предоставляет последние версии PHP. Это PPA, который поддерживается Ondrej Sury, разработчиком Debian, который упаковывает PHP, начиная с PHP 5.

Чтобы выполнить это, для начала установите предварительные условия

sudo apt install software-properties-common -y

Далее включите Ondrej PPA, делается это с помощью следующей команды.

sudo add-apt-repository ppa:ondrej/php

Затем обновите индекс локальных пакетов, чтобы начать использовать только что добавленный репозиторий PHP.

Установка PHP 8.0 с Apache

Установив PPA, вы можете установить желаемую версию PHP. Если в качестве веб-сервера у вас используется Apache, у вас есть возможность запустить PHP как модуль Apache PHP или PHP-FPM.

Чтобы установить PHP 8.0 на Ubuntu как модуль Apache, выполните следующие команды:

sudo apt update

sudo apt install php8.0 libapache2-mod-php8.0

После установки перезагрузите Apache, для того чтобы изменения вступили в силу:

sudo systemctl restart apache

Чтобы убедиться, что PHP 8.0 установлен, выполните следующую команду:

Установка PHP 8.1 с Apache

PHP 8.1 — это последняя версия PHP на данный момент. Так как она поставляется по умолчанию в репозитории, вы просто устанавливаете PHP и PHP-модуль Apache следующим образом:

sudo apt update

sudo apt install php libapache2-mod-php

Теперь снова перезапустите Apache, чтобы перезагрузить модуль PHP. Сделать это можно командой:

sudo systemctl restart apache

Чтобы убедиться, что PHP 8.1 установлен, выполните следующую команду:

Настройка Apache с помощью PHP-FPM

PHP-FPM (FastCGI Process Manager) — это инструмент для ускорения работы веб-сервера и является лучшей альтернативой PHP.

По умолчанию PHP-FPM не включен в Apache, и нам требуется сделать еще один шаг чтобы включить его. Но сначала выполните следующие команды.

sudo apt update

sudo apt install php8.0-fpm libapache2-mod-fcgid

Чтобы включить PHP-FPM, выполните:

sudo a2enmod proxy_fcgi setenvif

sudo a2enconf php8.0-fpm

Чтобы изменения вступили в силу, перезапустите веб-сервер Apache.

Возможно вам будет интересно: Как установить и настроить PHP 8.0 на Ubuntu 20.04

Установка PHP 8.0 с помощью Nginx

Веб-сервер Nginx по умолчанию не имеет встроенной поддержки для обработки файлов PHP. Поэтому для обработки php-файлов будет использоваться PHP-FPM.

Чтобы это стало возможным, выполните следующие команды для установки PHP и PHP-FPM

sudo apt update

sudo apt install php8.0-fpm

После установки PHP-FPM должен запуститься автоматически без какого-либо вмешательства. Чтобы убедиться, что PHP-FPM запущен, выполните следующую команду.

Статус active (Активный) будет означать, что служба запущена и работает.

Установка PHP 8.1 с Nginx

Аналогичным образом вы можете установить PHP 8.1 с FPM для Nginx на Ubuntu следующим образом:

sudo apt update

sudo apt install php-fpm

После установки подтвердите статус службы php fpm с помощью следующей команды.

Настройка Nginx с помощью PHP-FPM

Nginx не имеет возможности обрабатывать php-скрипты и приложения. Поэтому требуется настроить Nginx для работы с PHP-FPM.

В блоке вашего сервера Nginx добавьте следующие строки, чтобы позволить Nginx обрабатывать php-файлы.

Чтобы применить изменения, перезапустите Nginx.

Установка PHP 7.4 с Apache

Для установки PHP 7.4 используйте PPA, упомянутый ранее. Затем вы можете установить эту версию с помощью менеджера пакетов APT.

sudo apt update

sudo apt install php7.4 libapache2-mod-php

Это установит php вместе с дополнительными модулями php.

Установка PHP 7.4 с Nginx

Если вы используете Nginx, PHP-FPM необходим для обработки файлов php. Поэтому установите PHP-FPM на Ubuntu с помощью следующей команды.

sudo apt update

sudo apt install php7.4-fpm

После установки PHP-FPM следующим шагом будет настройка Nginx для работы с PHP-FPM.

В конфигурации вашего виртуального хоста добавьте следующий код

location ~ \.php$ include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
>
>

Чтобы применить изменения, перезапустите веб-сервер

Как установить расширения PHP

Расширения PHP — это плагины или специальные библиотеки, которые расширяют функциональность PHP. Расширения можно легко установить, используя синтаксис.

sudo apt install php-[имя расширения].

Например, чтобы установить расширения php-dg, php-zip, php-mbstring, php-opcache, php-pear и php-mysqli, выполните команду:

Не забудьте перезапустить веб-сервер Apache с PHP-FPM после установки расширений PHP.

Переключение между версиями PHP

Предположим, что вы установили разные версии PHP. Как переключиться с одной версии на другую?

Во-первых, вы можете посмотреть на несколько версий PHP, установленных в вашей системе. Для этого выполните следующую команду:

sudo update-alternatives —config php

Вот вывод, который вы получите.

Как установить PHP на Ubuntu

Чтобы перейти с PHP 7.4 на PHP 8.1, выполните следующие команды:

sudo a2dismod php7.4

sudo a2enmod php8.1

Приведенные выше команды просто отключают PHP 7.4 и включают PHP 8.0 на ubuntu. Вы можете перейти с одной версии на другую, просто поменяв местами версии. Чтобы применить сделанные изменения, перезапустите веб-сервер Apache.

sudo systemctl apache2 restart

Проверка версии PHP

Чтобы проверить версию PHP, установленную по умолчанию, выполните команду

Вы должны получить результат, аналогичный приведенному здесь:

PHP 8.1.2 (cli) (built: Apr 7 2022 17:46:26) (NTS) Copyright (c) The PHP Group Zend Engine v4.1.2, Copyright (c) Zend Technologies with Zend OPcache v8.1.2, Copyright (c), by Zend Technologies.

Еще один способ проверить, работает ли PHP — это создать файл info.php в корне документа. Файл info.php — это файл, в котором содержится информация об установленной по умолчанию версии PHP и другие сведения о модулях php.

Итак, создайте файл в каталоге /var/www/html следующим образом.

Затем добавьте следующий код

Сохраните файл. Теперь откройте браузер и перейдите по URL

phpinfo тестовая страница

Оба этих способа показывают, что PHP установлен.

Возможно вам будет интересно: Как изменить размер диска

Заключение

В этом руководстве мы показали различные варианты как установить PHP и как выполнить установку необходимых модулей PHP на Ubuntu 22.04. PHP 8.1 — это версия по умолчанию, предоставляемая официальными репозиториями Ubuntu. Чтобы установить последние версии PHP, вам необходимо включить Ondrej PPA в вашей системе Linux.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *