«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Проект PHP Apache с виртуальным хостом

Проект PHP Apache с виртуальным хостом

Опубликовано 9 ноября 2024 г.
Просматривать:780

PHP Apache project with Virtual Host

Создайте каталог проекта

Сначала создайте каталог для своего проекта. Например, давайте создадим каталог с именем php:


sudo mkdir /var/www/html/php


Создайте тестовый файл PHP

создайте файл index.php в каталоге вашего проекта:


echo "

Установить разрешения для каталога

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


sudo chown -R www-data:www-data /var/www/html/php 
sudo chmod -R 755 /var/www/html/php


Команда sudo chown -R www-data:www-data /var/www/html/php выполняет следующие действия:

  1. -R: эта опция указывает, что операция должна выполняться рекурсивно, т.е. не только над указанным каталогом, но также над всеми его подкаталогами и файлами.

  2. www-data:www-data: указывает, что пользователь и группа, которые станут новыми владельцами файлов, являются www-data. Это обычный пользователь и группа в системах Linux, которые служат пользователем по умолчанию для веб-серверов, таких как Apache и Nginx.

  3. /var/www/php: это путь к каталогу, свойства которого изменяются.

Команда sudo chmod -R 755 /var/www/html/php выполняет следующие действия:

755: Это режим разрешений:

  1. Первое число (7) дает владельцу файла (или каталога) разрешения на чтение (4), запись (2) и выполнение (1), всего 7.

  2. Второе число (5) дает группе разрешения на чтение (4) и выполнение (1), но не права на запись, всего 5.

  3. Третье число (5) также дает другим пользователям разрешения на чтение (4) и выполнение (1), но не разрешения на запись, всего 5.

В целом, эта команда изменяет права доступа ко всем файлам и каталогам в /var/www/html/php, позволяя владельцу иметь полный контроль (чтение, запись и выполнение), в то время как группа и другие пользователи имеют право только на чтение. и разрешения на выполнение. Это часто встречается в средах веб-серверов, чтобы гарантировать, что сервер может получить доступ к необходимым файлам без ущерба для безопасности.

Создайте файл конфигурации виртуального хоста.

Создайте новый файл конфигурации для вашего виртуального хоста. Файл должен иметь то же имя, что и проект php:


sudo your_editor /etc/apache2/sites-available/php.conf


Добавьте конфигурацию виртуального хоста

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



    ServerAdmin webmaster@localhost
    ServerName php.info
    DocumentRoot /var/www/html/php

    
        AllowOverride All
        Require all granted
    

    ErrorLog ${APACHE_LOG_DIR}/php_error.log
    CustomLog ${APACHE_LOG_DIR}/php_access.log combined

Давайте разберем каждую часть кода:

    • Это начало блока конфигурации виртуального хоста, который прослушивает порт 80, который является портом по умолчанию для HTTP. Звездочка (*) означает, что виртуальный хост будет принимать соединения с любого IP-адреса.
  1. Администратор сервера, вебмастер@localhost

    • Определяет адрес электронной почты администратора сервера. Этот адрес электронной почты можно использовать в сообщениях об ошибках или когда пользователю необходимо связаться с администратором.
  2. Имя сервера php.info

    • Указывает имя сервера, к которому применяется этот параметр. В этом случае виртуальный хост будет отвечать на запросы php.info. Важно, чтобы это имя правильно разрешалось в IP-адрес сервера (обычно настраивается в файле /etc/hosts или в DNS).
  3. Корень документа /var/www/html/php

    • Определяет каталог, содержащий файлы, которые будут обслуживаться при доступе к имени сервера (в данном случае php.info). В этом примере файлы расположены в /var/www/html/php.
    • В этом блоке задаются конкретные настройки для указанного каталога. Настройки в этом блоке влияют на поведение Apache для этого конкретного каталога.

Разрешить переопределить все

  • Это позволяет файлам .htaccess внутри каталога /var/www/html/php/ переопределять настройки Apache. Это означает, что разработчики могут использовать файлы .htaccess для настройки правил, таких как перенаправление или контроль доступа, без необходимости редактировать основной файл конфигурации Apache.

Требовать все разрешения

  • Разрешает всем пользователям доступ к каталогу. Это означает, что любой может получить доступ к файлам внутри /var/www/html/php/ без ограничений.
  1. Журнал ошибок ${APACHE_LOG_DIR}/php_error.log
  2. Указывает путь к файлу журнала ошибок Apache для этого виртуального хоста. ${APACHE_LOG_DIR} — это переменная, которая обычно задается в основном файле конфигурации Apache и указывает на каталог, в котором хранятся журналы. Здесь ошибки, связанные с этим виртуальным хостом, будут записываться в файл php_error.log.

  3. CustomLog ${APACHE_LOG_DIR}/php_access.log в сочетании

  4. Определяет путь к файлу журнала доступа Apache для этого виртуального хоста. Как и ErrorLog, здесь также используется переменная ${APACHE_LOG_DIR}. В комбинированном формате записывается информация о запросах, включая IP-адрес клиента, время запроса, метод HTTP, запрошенный URL-адрес, код состояния и пользовательский агент.

Включить виртуальный хост

Включите новый виртуальный хост с помощью команды:


sudo a2ensite php.conf


Активируйте модуль перезаписи (при необходимости)

Если вам нужно использовать .htaccess или перезаписать URL-адреса, активируйте модуль перезаписи Apache:


sudo a2enmod rewrite


Добавить имя сервера в хосты

Чтобы получить доступ к вашему проекту с использованием определенного вами имени сервера (php.info), добавьте запись в файл /etc/hosts:


sudo your_editor /etc/hosts


Добавьте в конец файла следующую строку:


127.0.0.1 php.info




Перезапустите Apache

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


sudo systemctl restart apache2




Доступ к проекту

Теперь вы можете получить доступ к своему проекту в браузере, набрав http://php.info.

Заявление о выпуске Эта статья воспроизведена по адресу: https://dev.to/xxzeroxx/php-apache-project-with-virtual-host-2npk?1 Если есть какие-либо нарушения, свяжитесь с [email protected], чтобы удалить ее.
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3