Рассмотрим установку Apache и PHP на Linux на примере Ubuntu.
Для установки 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". Нам отобразится некоторое стандартное содержимое:
Так как 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":
Для установки 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 и окруэении