Установка PHP и Apache на Linux

Последнее обновление: 21.02.2024

Рассмотрим установку Apache и PHP на Linux на примере Ubuntu.

Установка Apache

Для установки Apache выполним команду

sudo apt install apache2

После установки в папке /etc/apache2/ мы сможем найти ряд файлов конфигурации веб-сервера:

eugene@Eugene:/etc/apache2$ ls -l
total 80
-rw-r--r-- 1 root root  7178 Feb 20 23:11 apache2.conf
drwxr-xr-x 2 root root  4096 Feb 20 21:29 conf-available
drwxr-xr-x 2 root root  4096 Feb 20 21:29 conf-enabled
-rw-r--r-- 1 root root  1782 Jul 21  2023 envvars
-rw-r--r-- 1 root root 31063 Jul 21  2023 magic
drwxr-xr-x 2 root root 12288 Feb 20 21:29 mods-available
drwxr-xr-x 2 root root  4096 Feb 20 21:29 mods-enabled
-rw-r--r-- 1 root root   274 Jul 21  2023 ports.conf
drwxr-xr-x 2 root root  4096 Feb 20 23:12 sites-available
drwxr-xr-x 2 root root  4096 Feb 20 22:52 sites-enabled
  • apache2.conf: основной файл конфигурации Apache, который определяет глобальные настройки (на Windows ему соответствует httpd.conf)

  • envvars: файл, который задает переменные окружения для веб-сервера

  • magic: задает инструкции для определения MIME-типа на основании первых нескольких байт файла

  • ports.conf: определяет TCP-порт, на котором будет запущен Apache2

Например, откроем файл ports.conf в каком-нибудь текстовом редакторе. И по умолчанию файл имеет следующее содержимое:

# If you just change the port or add more ports here, you will likely also
# have to change the VirtualHost statement in
# /etc/apache2/sites-enabled/000-default.conf
Listen 80

<IfModule ssl_module>
	Listen 443
</IfModule>

<IfModule mod_gnutls.c>
	Listen 443
</IfModule>

Здесь строка "Listen 80" указывает, что веб-сервер будет запущен на порту 80. И сразу после установки Apache мы можем использовать этот порт для обращения к веб-серверу в бразере. Для обращения к локальному серверу по умолчанию применяется имя "localhost" или адрес "127.0.0.1". Поэтому введем в адресной строке адрес "http://localhost:80" или "http://127.0.0.1:80". Нам отобразится некоторое стандартное содержимое:

установка Apache на Ubuntu

Так как 80 порт - стандартный, то при наборе адреса можно просто использовать "http://localhost".

А если нам потребуется изменить номер порта с 80 на какой-то другой, то для этого надо будет изменить номер порта в строке "Listen 80" и перезапустить веб-сервер.

Кроме того, в папке sites-available расположен файл 000-default.conf - файл конфигурации единственного хоста по умолчанию - хоста, который запускается по адресу http://localhost.

Изменение пути расположения файлов

По умолчанию файлы веб-сервера Apache2 располагаются в папке /var/www/html, так как данный путь указан в файле "/etc/apache2/sites-available/000-default.conf". Мы можем изменить этот путь на другой каталог. Например, создадим в домашнем каталоге Home новую папку "localhost" с помощью следующей команды:

mkdir ~/localhost

Откроем файл /etc/apache2/sites-available/000-default.conf и изменим в нем строку

DocumentRoot /var/www/html

на

DocumentRoot /home/[USER]/localhost

Здесь вместо [USER] указывается имя текущего пользователя. Например, в моем случае это "eugene", соответственно я указываю

DocumentRoot /home/eugene/localhost

Далее настроим доступ к папке localhost. Откроем файл /etc/apache2/apache2.conf и найдем в нем строки:

<Directory /var/www/>
        Options Indexes FollowSymLinks
        AllowOverride None
        Require all granted
</Directory>
<Directory /home/eugene/localhost/>
        Options Indexes FollowSymLinks
        AllowOverride None
        Require all granted
        Allow from all
</Directory>

и заменим их на

<Directory /home/[USER]/localhost/>
        Options Indexes FollowSymLinks
        AllowOverride None
        Require all granted
        Allow from all
</Directory>

Где вместо [USER] также указывается имя текущего пользователя, то есть путь к папке.

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

chmod 755 $HOME

Для теста создадим в папке localhost файл index.html с простейшим содержимым. Для этого выполним следующую команду:

echo "Hello METANIT.COM" > ~/localhost/index.html

Перезапустим веб-сервер с помощью команды

sudo systemctl restart apache2ls -la.service

Далее обратимся к браузере по адресу "http://localhost":

Конфигурация веб-сервера Apache на Ubuntu

Установка PHP

Для установки PHP на Ubuntu выполним следующую команду

sudo apt install php libapache2-mod-php

В данном случае "php" - это собственно пакет языка PHP, а "libapache2-mod-php" - модуль для Apache.

В процессе работы с PHP могут также потребоваться дополнительные пакеты. Например, для работы с базами данных MySQL необходимо установить пакет "php-mysql"

sudo apt install php-mysql

После установки PHP перезапустим Apache командой:

sudo systemctl restart apache2.service

Далее в папке "localhost", которая была выше создана (или в другой папке, которая установлена в качестве папки веб-сервера Apache) создадим новый файл index.php со следующим содержимым:

<?php
  phpinfo();
?>

С помощью тегов <?php и ?> определяем область, где будет располагаться код на языке PHP. В частности, функция phpinfo() выводит всю информацию об интерпретаторе и системе.

Обратимся к этому файлу, введя в браузере адрес http://localhost/index.php, и нам должен отобразиться результат функции phpinfo() - информация об интерпретаторе PHP и окруэении

Установка PHP на Ubuntu
Помощь сайту
Юмани:
410011174743222
Перевод на карту
Номер карты:
4048415020898850