Ubuntu web server with php

How to install and configure PHP

PHP is a general-purpose scripting language well-suited for Web development since PHP scripts can be embedded into HTML. This guide explains how to install and configure PHP in an Ubuntu System with Apache2 and MySQL.

Prerequisites

Before installing PHP you should install Apache (or a preferred web server) and a database service such as MySQL.

  • To install the Apache package, please refer to our Apache guide.
  • To install and configure a MySQL database service, refer to our MySQL guide.

Install PHP

PHP is available on Ubuntu Linux, but unlike Python (which comes pre-installed), must be manually installed.

To install PHP – and the Apache PHP module – you can enter the following command into a terminal prompt:

sudo apt install php libapache2-mod-php 

Install optional packages

The following packages are optional, and can be installed if you need them for your setup.

    PHP-CLI
    You can run PHP scripts via the Command Line Interface (CLI). To do this, you must first install the php-cli package. You can install it by running the following command:

sudo apt install php-mysql 
sudo apt install php-pgsql 

Configure PHP

If you have installed the libapache2-mod-php or php-cgi packages, you can run PHP scripts from your web browser. If you have installed the php-cli package, you can run PHP scripts at a terminal prompt.

Читайте также:  Discord python bot embed

By default, when libapache2-mod-php is installed, the Apache2 web server is configured to run PHP scripts using this module. First, verify if the files /etc/apache2/mods-enabled/php8.*.conf and /etc/apache2/mods-enabled/php8.*.load exist. If they do not exist, you can enable the module using the a2enmod command.

Once you have installed the PHP-related packages and enabled the Apache PHP module, you should restart the Apache2 web server to run PHP scripts, by running the following command:

sudo systemctl restart apache2.service 

Test your setup

To verify your installation, you can run the following PHP phpinfo script:

You can save the content in a file – phpinfo.php for example – and place it under the DocumentRoot directory of the Apache2 web server. Pointing your browser to http://hostname/phpinfo.php will display the values of various PHP configuration parameters.

Further reading

  • For more in depth information see the php.net documentation.
  • There are a plethora of books on PHP 7 and PHP 8. A good book from O’Reilly is Learning PHP, which includes an exploration of PHP 7’s enhancements to the language.
  • Also, see the Apache MySQL PHP Ubuntu Wiki page for more information.

Источник

Установка 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. Настройка брандмауэра

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

Для начала необходимо убедиться, что веб-сервер 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:

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

Если вы хотите использовать файлы 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. Как видите, это не очень сложно и с такой задачей может справиться даже новичок. Если у вас остались вопросы, оставляйте их в комментариях!

Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.

Источник

Оцените статью