Установка веб сервера на windows: Установка веб-сервера Apache на Windows

Содержание

Windows 10, Установка локального веб-сервера (Apache, MySQL, PHP) в Wsl 1 и Wsl 2. G-ek.com

Благодаря WSL вы получите мощную платформу, где легко сможете заниматься разработкой веб-проектов. Вам больше не нужно думать, где и какие программы скачать для создания локального сервера на вашей рабочей машине, не нужно тратить время на поиск и установку. Microsoft сделала большой шаг для удобства разработчиков, представив подсистему Linux в Windows 10 WSL 2.

В новой подсистеме WSL2 доступ к полной оболочке Linux занимает не более секунды. Это означает, что теперь вы можете работать над проектами на основе Linux внутри Windows с высокой скоростью. 

В данном руководстве рассмотрим, как в подсистеме Windows для Linux (WSL) можно настроить веб-сервер LAMP (Apache, MySQL, PHP) для локальной разработки ваших веб-проектов.

  • Windows — выступает как основная ОС, в ней будут работать такие программы как VScode, PhpStorm, SublimeText3, браузеры, консоль и т. д.
  • Ubuntu — как web-сервер и другое программное обеспечение (PHP, Apache, mysql, git и т.д.), управляется консолью Windows 10.

Между этими двумя ОС будут общие файлы, папки, которые мы можем легко редактировать в Windows.

Включение подсистемы Windows для Linux.

Для включения компонента «Подсистема Windows для Linux» в Windows 10 необходимо выполнить следующие действия:

Шаг 1:  С помощью команды: optionalfeatures в диалоговом окне «Выполнить» откройте «Компоненты Windows».

Шаг 2:  Включите опцию «Подсистема Windows для Linux».

Шаг 3:  Перейдите в Microsoft Store  загрузите и установите приложение Ubuntu для Windows.

Шаг 4: C помощью меню «Пуск» запустите Ubuntu. В окне терминала, при первом запуске нужно будет ввести новое имя UNIX пользователя (username) и пароль (password).

Подробней как это сделать, мы рассмотрели в руководствах:

  •  Как установить WSL 2 подсистему Windows для Linux в Windows 10
  •  Как установить Wsl 1 подсистему Windows для Linux.
  •  Официальная инструкция от microsoft.

Создание директории для веб-проекта.

При использовании WSL 1 желательно помещать файлы  проекта на диски файловой системы Windows —  C, D, E. Если вы будете использовать WSL 2, вы можете также использовать локальные диски или создать директорию для сайта в файловой системе Linux.

Шаг 5: Создайте в Проводнике Windows 10, директорию для сайта (проекта) test.local:


С:\Projects\test.local\public_html

Если вы будете использовать WSL 2 рекомендуется создать директорию для сайта в файловой системе Linux. В этом случае папку проекта поместим сюда: \home\main\projects\test. local\public_html

Для этого выполним команду: 


sudo mkdir -p /home/main/projects/test.local/public_html

Где замените «main» на имя UNIX пользователя созданного при первом запуске wsl.

Во избежание проблем с доступом выполните команду:


sudo chmod -R 777 /home/main

Здесь также замените «main» на ваше имя пользователя UNIX.

Это избавит от ошибок и обеспечит максимальную производительность.

Шаг 6: Как получить доступ к файлам WSL Linux из проводника Windows 10.

Находясь в каталоге Linux FS, введите:


explorer.exe .

Откроется окно проводника, расположенное внутри вашего дистрибутива Linux.

Подробнее в нашей статье:  Доступ к файлам WSL Linux с помощью Проводника Windows 10

Также, чтобы удобно было работать с каталогами файловой системой Linux вы можете установить в Ubuntu, например, «Midnight Commander»:


sudo apt install mc

Запуск Midnight Commander осуществляется посредством ввода команды:


mc

Установка необходимых программ в Ubuntu для Windows 10.

Шаг 7: C помощью меню «Пуск» запустите Ubuntu.

Шаг 8: Обновите локальный индекс apt пакетов в Ubuntu выполнив команду:


sudo apt update

Шаг 9: После чего необходимо обновить установленное программное обеспечение:


sudo apt upgrade

На запрос «Do you want to continue? [Y/n]» нажмите клавишу Y.

Установка Apache.

Веб-сервер Apache используют более половины всех действующих веб-сайтов. Это очень мощный и гибкий инструмент.

Шаг 10: Установим Apache выполнив команду:


sudo apt install apache2

Вы увидите список пакетов, которые будут установлены, а также объём места на диске которое они займут. Нажмите Y для продолжения установки.

Установка MySQL сервера.

MySQL — система управления базами данных. Она организует и обеспечит доступ к базам данных, где сайт может хранить информацию.

Шаг 11: Установим MySQL сервер:


sudo apt install mysql-server

Нажмите Y для продолжения установки. После завершения установки нам потребуется выполнить некоторые дополнительные команды, чтобы настроить наше окружение MySQL

Шаг 12: Установим php и другие пакеты, необходимые для веб-разработки:

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


sudo apt install php libapache2-mod-php php-mysql php-xml php-curl

Примечание: Если необходимо установить определенную версию php, например 7.4.x, необходимо выполнить команду:


sudo apt install php7.4 libapache2-mod-php7.4 php7.4-mysql php7.4-xml php7.4-curl


Включим модуль Mod rewrite в Apache:

Коротко, mod_rewrite — это модуль для веб-сервера Apache, выполняющий функцию преобразования URL.

Шаг 13: Выполните команду:


sudo a2enmod rewrite

Изменение метода аутентификации MySQL пользователя root.

Необходимо изменить метод аутентификации MySQL для пользователя root выполнив следующие действия:

Шаг 14: Запустим службу mysql.


sudo service mysql start

Шаг 15: Подключимся к серверу MySQL под стандартным пользователем root, который был создан при установке MySQL на ваш компьютер:


sudo mysql -uroot -p

Шаг 16: При запросе пароля нажмите Enter, т.к. по умолчанию пользователь root, созданный при установке, не имеет пароля.

Примечание: На серверах Ubuntu, использующих MySQL ( 5.7 и более поздние версии), аутентификация root пользователя происходит с помощью плагина auth_socket, а не с помощью пароля. Это во многих случаях повышает безопасность, но, может усложнить настройку доступа к root пользователю для phpMyAdmin и др. программ.

Шаг 17: Чтобы проверить метод аутентификации, который задействован для пользователя root, выполните команду:


SELECT user, authentication_string, plugin, host FROM mysql.user WHERE user="root";

Шаг 18: Если в ответе на запрос вы видите используется аутентификация с помощью плагина auth_socket, необходимо изменим эту настройку. Для этого введём команду:


ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';

Шаг 19: Выполним команду FLUSH PRIVILEGES, которая применит внесённые изменения:


FLUSH PRIVILEGES;

Создание базы данных.

Шаг 20: Создадим базу данных для веб-проекта test.local. Для этого введем в командной строке MySQL следующую команду:


CREATE DATABASE testlocal;

Шаг 21: Для завершения работы с командной строкой MySQL выйдем из неё:


exit

Установка phpMyAdmin.

Шаг 22: Выполняем команду:


sudo apt install phpmyadmin

Шаг 23: В первом диалоговом окне, нажмите пробел чтобы выбрать Apache, далее нажмите клавишу Tab, а затем Enter.

Шаг 24: Выберите Yes, для настройки базы данных на запрос использовать dbconfig-common.

Шаг 25: Укажите пароль пользователя MySQL root.

Шаг 26: Подтвердите пароль

Шаг 27: Включим необходимые расширения PHP:


sudo phpenmod mcrypt

 


sudo phpenmod mbstring

Шаг 28: Перезапустите Apache:


sudo service apache2 restart

Теперь вы можете получить доступ к phpMyAdmin по следующему URL: http://localhost/phpmyadmin/ Вы можете войти в систему, используя имя пользователя root и пароль root, настроенные во время установки MySQL.

Настройка виртуальных хостов в Apache.

В Ubuntu файл настроек виртуальных хостов Apache находятся по следующему пути /etc/apache2/sites-available/*.conf. В Apache уже настроен один виртуальный хост по умолчанию в файле 000-default.conf. Возьмем данный файл за основу.

Шаг 29: Создайте копию файла 000-default.conf выполнив команду:


sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/test.local.conf

Шаг 30: Внесем изменения в файл test.local.conf, для этого используем, редактор nano:


sudo nano /etc/apache2/sites-available/test.local.conf

Содержимое файла test.com.conf после правок для Wsl 2 если вы создали директорию для сайта в файловой системе Linux:

Внимание: Не забудьте заменить UNIX имя пользователя (username) на свое (Шаг: 7), в моем случае это almanex.

Содержимое файла test.com.conf после правок для Wsl 1 и Wsl 2, где файлы  проекта находятся на диске файловой системы Windows —  C, D, E:

Внимание: Не забудьте заменить букву диска! В примере мы используем диск С.

Шаг 31: После внесения правок сохраните и закройте файл сочетанием клавиш CTRL X. Подтвердите операцию клавишей Y и нажмите ENTER.

Шаг 32: Включим новый виртуальный хост с помощью утилиты a2ensite:


sudo a2ensite test.local.conf

Шаг 33: Далее деактивируем сайт по умолчанию 000-default.conf:


sudo a2dissite 000-default.conf

Шаг 34: Перезапустим service apache:


sudo service apache2 restart

Перенаправление test.

local на локальный веб-сервер.

Ваш проект доступен по адресу http://localhost/

Для того чтобы доменное имя http://test.local было связано с вашим локальным веб-сервером, откройте файл hosts, расположенный по адресу C:\Windows\System32\drivers\etc и добавить в него строки:

127.0.0.1 test.local

172.30.69.65 test.local

Чтобы определить ip-адрес вашего сетевого интерфейса (в моем случае это 172.30.69.65) можно использовать команду ip address в терминале (см. картинку ниже).

Команды для запуска и остановки веб-сервера.

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


sudo service apache2 start

sudo service mysql start

Для остановки веб-сервера:


sudo service apache2 stop

sudo service mysql stop

Необязательно: Чтобы было проще запускать и останавливать веб-сервер вы можете создать bash скрипты start. sh и stop.sh.

Как создать скрипт start.sh:

Шаг 1: Откройте терминал и создайте файл командой:


sudo nano ./start.sh

Шаг 2: Вставьте следующее содержимое, где замените password на пароль, который установили для пользователя Ubuntu:

#!/bin/bash

echo password | sudo -S sudo service apache2 start

echo password | sudo -S sudo service mysql start

exit 0

Шаг 3: Необходимо отредактировать права доступа для start.sh. Выполните команду:


sudo chmod -R 755 ./start.sh

Скрипт stop.sh:

Шаг 4: Создайте файл командой:


sudo nano ./stop.sh

Содержимое файла stop.sh:

#!/bin/bash

echo password | sudo -S sudo service apache2 stop

echo password | sudo -S sudo service mysql stop

exit 0

Шаг 5: Отредактировать права доступа:


sudo chmod -R 755 . /stop.sh

Проверка работоспособности веб-сервера.

Для проверки работоспособности веб-сервера установим на test.local систему управления контентом, например, OctoberCMS, MODX Revolution или WordPress.

Для этого скачаем с официальной страницы архив системы WordPress и распакуем его в созданную нами директорию


С:\Projects\test.local\public_html 

или


/home/main/projects/test.local/public_html

Для установки системы необходимо открыть мастер. Откроем в браузере адрес http://test.local. После этого ответим на все вопросы мастера и нажмём на кнопку «Вперед», введем сведения о подключении к базе данных testlocal и тд..

Дождёмся окончания процесса установки. Готово!

Заключение

Теперь, когда ваш веб-сервер установлен и работает используя подсистему Wsl, у вас огромное количество вариантов того, что делать дальше. Вы установили платформу, которая позволит развернуть большинство типов веб-сайтов и сетевого программного обеспечения на вашем сервере. Дайте нам знать в комментариях ниже, помогло ли это руководство или есть какая-либо другая тема, которую вы хотели бы видеть.

Рекомендуем: Экспорт и импорт дистрибутива Linux WSL1 и WSL2 в Windows 10

Как установить веб-сервер на Windows Server: понятное руководство

Лично я предпочитаю пользоваться веб-сервером на .nix системах, но иногда бывает необходимо развернуть web-сервер на Windows. Рассмотрим такой вопрос как установка веб-сервера на Windows Server. На примере Windows Server 2012. Хотя в остальных версиях процесс установки особо не отличается.

Первым делом нужно установить IIS. Делается это довольно просто. Диспетчер серверов -> Управление -> Добавить роли и компоненты -> Установка веб-сервера (IIS). Подробнее в видео.

Видео: установка веб-сервера на Windows Server за 2 минуты

Тег video не поддерживается вашим браузером.
Скачайте видео.
Создайте тестовую страницу, откройте блокнот, напишите любой текст и сохраните в C:\Inetpub\wwwroot под названием Default.html (в моем случае это txt файл — Default.html.txt).

Настройка веб-сервера

Создайте тестовую страницу, откройте блокнот, напишите любой текст и сохраните в C:\Inetpub\wwwroot под названием Default.html (в моем случае это txt файл — Default.html.txt).

Что бы настроить web-сервер откройте Диспетчер служб IIS: Пуск -> Администрирование -> Диспетчер служб IIS. Слева будет отображаться web-узел по умолчанию.

Для добавления web-страницы по умолчанию нужно выбрать сервер, а затем выбрать Документ по умолчанию.

Далее нам нужно узнать (если не знаем) IP-адрес сервера. Для этого заходим в PowerShell и выполняем команду – ipconfig /all.

Запускаем браузер и набираем IP-адрес и названием страницы по умолчанию. В моем случае это 169.254.252.180/Default.html.txt.

Попробуйте открыть эту страницу с другого рабочего места в сети.

Создайте новый web-узел. Создайте папку для нового сайта на диске C. В моем случае это папка www. Создайте в папке тестовую страницу (как Default.html ранее). Удалите текущий узел, щелкните правой кнопкой мыши на узле «сайты» и выберите команду «Добавить веб-сайт».

Заполните поля:

  • Имя сайта.
  • Физический путь.

Нажмите ОК и проверьте работоспособность сайта на сервере.

 

Проверьте работоспособность сайта на другом компьютере в сети.

Установка FTP-сервера

Установите FTP-сервер. Он устанавливается так же, как и веб-сервер IIS (Диспетчер серверов -> Управление -> Добавить роли и компоненты -> FTP-сервер).

В диспетчере служб IIS нажмите «Добавить FTP-сайт». Откроется окно добавления нового FTP-сайта. Задайте имя сайта и физический путь.

Укажите параметры привязки SSL.

Настройте разрешения. Предоставьте пользователям разрешения на чтение информации и на запись.

Далее необходимо создать виртуальный каталог веб-сервера. Это необходимо для того, чтобы веб-сервер мог получить доступ к корневому каталогу службы FTP.

Задайте псевдоним и физический путь. Обычно они совпадают с именем и (test) и каталогом сайта (C -> www).

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

Для того, что бы FTP соединение работало корректно нудно настроить брандмауэр.

Откройте брандмауэр в режиме повышенной безопасности.

В вертикальном меню слева выберите Правила для входящих подключений.

Выберите в вертикальном меню справа Создать правило. Выберите тип правила: Преопределенные: FTP-сервер. Далее установите все правила.

Далее выберите действие — разрешить подключение.

Подключитесь с помощью FTP с другого компьютера в локальной сети. Для этого наберите в браузере: ftp://IP-адрес сервера после чего введите логин и пароль от сервера.

FTP-соединение установлено!

 

Итак, в этой статье мы рассмотрели такую тему как установка веб-сервера на Windows Server. Если у вас появились вопросы обязательно задайте их в комментариях.

Использование HTTP-сервера Apache в Microsoft Windows

Доступные языки:  en  |
фр  |
ko 

В этом документе объясняется, как установить, настроить и запустить
Apache 2.4 под Microsoft Windows. Если у вас есть вопросы после
просматривая документацию (и любые журналы событий и ошибок), вы
следует проконсультироваться с коллегами
рассылка пользователей
список.

В этом документе предполагается, что вы устанавливаете двоичный
дистрибутив апача. Если вы хотите скомпилировать Apache самостоятельно
(возможно, чтобы помочь с разработкой или отслеживанием ошибок),
см. Компиляция Apache для Microsoft
Окна.

  • Требования к операционной системе
  • Загрузка Apache для Windows
  • Настройка Apache для Windows
  • Запуск Apache как службы
  • Запуск Apache в качестве консольного приложения
  • Проверка установки
  • Настройка доступа к сетевым ресурсам
  • Настройка Windows

См.

также

  • Комментарии

Основной платформой Windows для запуска Apache 2.4 является Windows.
2000 или позже. Всегда получайте и
установите текущий пакет обновления, чтобы избежать ошибок операционной системы.

Версии HTTP-сервера Apache более поздние, чем 2.2, не будут работать ни на
операционная система более ранняя, чем Windows 2000.

Сам проект HTTP-сервера Apache не предоставляет двоичные выпуски
программное обеспечение, только исходный код. Отдельные коммиттеры могут предоставлять
бинарные пакеты для удобства, но это не окончательный результат.

Если вы не можете скомпилировать HTTP-сервер Apache
самостоятельно, вы можете получить бинарный пакет из многочисленных бинарных дистрибутивов
доступны в Интернете.

Популярные варианты развертывания Apache httpd и опционально PHP
и MySQL в Microsoft Windows включают:

  • ApacheHaus
  • Зал ожидания Apache
  • Стек Bitnami WAMP
  • WampServer
  • XAMPP

Apache настроен файлами в conf
подкаталог. Это те же самые файлы, которые используются для настройки Unix.
версию, но есть несколько разных директив для Apache на
Окна. См. указатель директив
для всех доступных директив.

Основные отличия Apache для Windows:

  • Поскольку Apache для Windows является многопоточным, он не
    использовать отдельный процесс для каждого запроса, как это может сделать Apache в Unix.
    Вместо этого обычно работают только два процесса Apache:
    родительский процесс и дочерний процесс, который обрабатывает запросы. В
    дочерний процесс каждый запрос обрабатывается отдельным потоком.

    Директивы управления процессами также отличаются:

    MaxConnectionsPerChild :
    Подобно директиве Unix, она контролирует количество соединений,
    дочерний процесс будет работать перед выходом.
    Однако, в отличие от Unix, процесс замены не происходит мгновенно.
    имеется в наличии. Используйте значение по умолчанию MaxConnectionsPerChild 0 ,
    если не указано изменить поведение, чтобы преодолеть утечку памяти
    в сторонних модулях или внутрипроцессных приложениях.

    Предупреждение. Конфигурация сервера
    файл перечитывается при запуске нового дочернего процесса. Если у вас есть
    изменено httpd.conf , новый потомок может не запуститься или
    вы можете получить неожиданные результаты.

    ThreadsPerChild :
    Эта директива является новой. Он сообщает серверу, сколько потоков он
    следует использовать. Это максимальное количество подключений к серверу
    может обрабатываться одновременно, поэтому обязательно установите это число достаточно высоким для
    ваш сайт, если вы получаете много хитов. Рекомендуемое значение по умолчанию
    ThreadsPerChild 150 , но это должно быть изменено на
    отражать наибольшее ожидаемое количество одновременных
    соединения принять.

  • Директивы, которые принимают имена файлов в качестве аргументов, должны использовать
    Имена файлов Windows вместо Unix. Однако, поскольку Apache
    может интерпретировать обратную косую черту как последовательность «экранирующих символов», вы
    должны последовательно использовать косую черту в именах путей, а не
    обратная косая черта.

  • Хотя имена файлов обычно нечувствительны к регистру на
    Windows, URL-адреса по-прежнему обрабатываются внутренне с учетом регистра.
    до того, как они будут сопоставлены с файловой системой. Например,
    <Местоположение> ,
    Псевдоним и ProxyPass используют все директивы
    аргументы с учетом регистра. По этой причине особенно
    важно использовать директиву при попытке
    ограничить доступ к содержимому в файловой системе, так как это
    применяется к любому содержимому в каталоге, независимо от
    как к нему обращаются. Если вы хотите убедиться, что только строчные
    используется в URL-адресах, вы можете использовать что-то вроде:

     RewriteEngine включен
    RewriteMap нижний регистр int:tolower
    RewriteCond "%{REQUEST_URI}" "[A-Z]"
    RewriteRule "(. *)" "${нижний регистр:$1}" [R,L] 
  • При работе Apache требуется доступ для записи только к журналам
    каталог и любое сконфигурированное дерево каталогов кэша. Из-за
    проблемы с нечувствительными к регистру и короткими именами формата 8.3, Apache должен
    проверить все заданные имена путей. Это означает, что каждый каталог
    который Apache оценивает, от корня диска до каталога
    leaf, должен иметь права на чтение, перечисление и просмотр каталога.
    Если Apache2.4 установлен в C:\Program Files, то корень
    каталог, Program Files и Apache2.4 должны быть видны
    к Апачу.

  • Apache для Windows содержит возможность загрузки модулей в
    время выполнения без перекомпиляции сервера. Если Apache скомпилирован
    обычно он устанавливает ряд дополнительных модулей в
    Каталог \Apache2.4\modules . Чтобы активировать эти или
    другие модули, LoadModule
    необходимо использовать директиву. Например, чтобы активировать статус
    модуль, используйте следующее (в дополнение к статус-активирующему
    директивы в доступ.конф ):

     LoadModule status_module "modules/mod_status.so" 

    Информация о создании
    также доступны загружаемые модули.

  • Apache также может загружать ISAPI (интернет-серверное приложение).
    Программный интерфейс), такие как те, которые используются Microsoft
    IIS и другие серверы Windows. Более
    информация доступна. Обратите внимание, что Apache не может использовать .
    загружать фильтры ISAPI и обработчики ISAPI с некоторыми функциями Microsoft
    расширения не будут работать.

  • При запуске сценариев CGI метод, используемый Apache для поиска
    интерпретатор скрипта настраивается с помощью
    ScriptInterpreterSource
    директива.

  • Так как часто трудно управлять файлами с именами
    как . htaccess в Windows, вам может пригодиться
    измените имя этого файла конфигурации для каждого каталога, используя
    AccessFilename
    директива.

  • Любые ошибки во время запуска Apache регистрируются в
    Журнал событий Windows при работе в Windows NT. Этот механизм
    выступает в качестве резервной копии для тех ситуаций, когда Apache еще не
    подготовлен для использования файла error.log . Ты можешь
    просмотреть журнал событий приложений Windows с помощью средства просмотра событий,
    например Пуск-Настройка-Панель управления-Администрирование
    — Просмотрщик событий.

Apache поставляется с утилитой под названием Apache Service Monitor.
С его помощью вы можете видеть и управлять состоянием всех установленных Apache
службы на любом компьютере в вашей сети. Чтобы иметь возможность управлять
Служба Apache с монитором, вам необходимо сначала установить
сервис (либо автоматически через установку, либо вручную).

Вы можете установить Apache как службу Windows NT следующим образом:
командная строка в подкаталоге Apache bin :


httpd.exe -k установить

Если вам нужно указать имя службы, которую вы хотите
установить, используйте следующую команду. Вы должны сделать это, если вы
иметь несколько разных служебных установок Apache на вашем
компьютер. Если вы укажете имя во время установки, вы должны
также укажите его во время любой другой операции -k.


httpd.exe -k install -n "MyServiceName"

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


httpd.exe -k install -n "MyServiceName" -f "c:\files\my.conf"

Если вы используете первую команду без каких-либо специальных параметров, кроме
-k install , служба будет называться Apache2.4
и конфигурация будет считаться равной conf\httpd. conf .

Удалить службу Apache очень просто. Просто используйте:


httpd.exe -k удалить

Конкретную службу Apache, которую нужно удалить, можно указать с помощью:


httpd.exe -k удалить -n "MyServiceName"

Нормальный запуск, перезапуск и завершение работы Apache
служба обычно выполняется через Apache Service Monitor, используя
такие команды, как NET START Apache2.4 и СТОП СЕТИ
Apache2.4
или через обычное управление службами Windows. Перед
запустив Apache как службу любым способом, вы должны протестировать
файл конфигурации службы, используя:


httpd.exe -n "Имя_Моей_службы" -t

Вы можете управлять службой Apache с помощью ее переключателей командной строки,
тоже. Чтобы запустить установленную службу Apache, вы будете использовать это:

.
httpd.exe -k start -n "MyServiceName"

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


httpd. exe -k stop -n "MyServiceName"

или


httpd.exe -k shutdown -n "MyServiceName"

Вы также можете перезапустить запущенную службу и заставить ее перечитать
его файл конфигурации, используя:


httpd.exe -k перезапустить -n "MyServiceName"

По умолчанию все службы Apache зарегистрированы для работы в качестве
системный пользователь ( учетная запись LocalSystem ).
Учетная запись LocalSystem не имеет прав доступа к вашей сети
через любой защищенный Windows механизм, включая файловую систему, названную
каналы, DCOM или безопасный RPC. Однако на местном уровне он имеет широкие привилегии.

Никогда не предоставляйте никакие сетевые привилегии
учетная запись LocalSystem ! Если вам нужно, чтобы Apache мог
для доступа к сетевым ресурсам создайте отдельную учетную запись для Apache как
отмечено ниже.

Пользователям рекомендуется создать отдельную учетную запись для запуска
Сервис(ы) Apache. Если вам нужно получить доступ к сетевым ресурсам через Apache,
это требуется.

  1. Создайте обычную учетную запись пользователя домена и обязательно
    запомнить его пароль.
  2. Предоставить вновь созданному пользователю привилегию Вход в систему
    как услуга
    и Акт в рамках операционной
    система
    . В Windows NT 4.0 эти привилегии предоставляются через
    Диспетчер пользователей для доменов, но в Windows 2000 и XP вы, вероятно,
    хотите использовать групповую политику для распространения этих параметров. Ты можешь
    также установите их вручную с помощью оснастки MMC локальной политики безопасности.
  3. Подтвердите, что созданная учетная запись является членом пользователей
    группа.
  4. Предоставить учетной записи права на чтение и выполнение (RX) для всех документов
    и папки сценариев ( htdocs и cgi-bin
    Например).
  5. Предоставить права на изменение учетной записи (RWXD)
    Apache регистрирует каталог .
  6. Предоставьте учетной записи права на чтение и выполнение (RX) для
    httpd.exe двоичный исполняемый файл.

Обычно рекомендуется предоставить пользователю Apache
служба работает как доступ для чтения и выполнения (RX) ко всему Apache2.4
каталог, за исключением подкаталога logs , где
пользователь должен иметь как минимум права на изменение (RWXD).

Если вы разрешите учетной записи входить в систему как пользователь и как служба,
затем вы можете войти в систему с этой учетной записью и проверить, что учетная запись имеет
привилегии для выполнения сценариев, чтения веб-страниц и
вы можете запустить Apache в окне консоли. Если это сработает, и вы
выполнили шаги, описанные выше, Apache должен выполняться как служба
без проблем.

Код ошибки 2186 указывает на то, что
вам необходимо просмотреть конфигурацию «Вход в систему как» для службы,
поскольку Apache не может получить доступ к требуемому сетевому ресурсу. Кроме того, платить
пристальное внимание к привилегиям пользователя Apache
настроен на запуск как.

При запуске Apache как службы вы можете столкнуться с ошибкой
сообщение от диспетчера управления службами Windows. Например,
если вы попытаетесь запустить Apache с помощью апплета Services в
Панель управления Windows, вы можете получить следующее сообщение:


Не удалось запустить службу Apache2.4 на \\COMPUTER
Ошибка 1067; Процесс неожиданно завершился.

Вы получите эту общую ошибку, если есть какие-либо проблемы с
запуск службы Apache. Чтобы увидеть, что на самом деле вызывает
проблема, вы должны следовать инструкциям по запуску Apache
для Windows из командной строки.

Если у вас возникли проблемы со службой, рекомендуется
вы следуете приведенным ниже инструкциям, чтобы попытаться запустить httpd.exe из
окно консоли и исправьте ошибки, прежде чем пытаться
запустите его снова как службу.

Обычно рекомендуется запускать Apache как службу.
использовать его, но иногда проще работать из командной строки,
особенно во время первоначальной настройки и тестирования.

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


httpd.exe

Apache будет выполняться и будет работать до тех пор, пока не будет остановлен
нажав Control-C.

Вы также можете запустить Apache с помощью ярлыка Запустить Apache в консоли
помещен в Меню "Пуск" --> Программы --> HTTP-сервер Apache
2.4.xx --> Управление Apache Server
во время установки.
Это откроет окно консоли и запустит Apache внутри него. если ты
если Apache не установлен как служба, окно останется
виден до тех пор, пока вы не остановите Apache, нажав Control-C в консоли
окно, в котором запущен Apache. Сервер завершит работу через несколько
секунды. Однако, если у вас установлен Apache как служба,
ярлык запускает службу. Если служба Apache запущена
уже ярлык ничего не делает.

Если Apache работает как служба, вы можете остановить его, открыв другую консоль.
окно и вход:


httpd.exe -k завершение работы

Запуск в качестве службы должен быть предпочтительнее запуска в
окно консоли, потому что это позволяет Apache завершить любые текущие операции
и красиво убираться.

Но если сервер запущен в консольном окне, можно
только остановите его, нажав Control-C в том же окне.

Вы также можете перезапустить Apache. Это заставляет его перечитывать
файл конфигурации. Любые выполняемые операции разрешены
завершить без перерыва. Чтобы перезапустить Apache, нажмите либо
Control-Break в окне консоли, которое вы использовали для запуска Apache,
или введите


httpd.exe -k перезапустить

, если сервер работает как служба.

Примечание для людей, знакомых с Unix-версией Apache:
эти команды предоставляют Windows эквивалент kill -TERM
pid
и kill -USR1 pid .
используемый параметр командной строки, -k , был выбран в качестве напоминания
команды kill , используемой в Unix.

Если окно консоли Apache закрывается немедленно или неожиданно
после запуска откройте командную строку из меню «Пуск» —>
Программы. Перейдите в папку, в которую вы установили Apache, введите
команда httpd.exe и прочитайте сообщение об ошибке. затем
перейдите в папку журналов и просмотрите error.log
файл для ошибок конфигурации. Предполагая, что httpd был установлен в
C:\Program Files\Apache Software Foundation\Apache2.4\ ,
вы можете сделать следующее:


c:
cd "\Program Files\Apache Software Foundation\Apache2.4\bin"
httpd.exe

Затем подождите, пока Apache остановится, или нажмите Control-C. Затем введите
следующее:


cd ..\logs
еще < error.log

При работе с Apache важно знать, как он будет
найти файл конфигурации. Вы можете указать файл конфигурации
в командной строке двумя способами:

  • -f указывает абсолютный или относительный путь к
    конкретный файл конфигурации:


    httpd.exe -f "c:\файлы моего сервера\anotherconfig.conf"

    или


    httpd.exe -f файлы\anotherconfig.conf

  • -n указывает установленную службу Apache
    чей файл конфигурации должен использоваться:


    httpd.exe -n "имя_службы"

В обоих этих случаях
ServerRoot должен быть установлен в
файл конфигурации.

Если вы не укажете файл конфигурации с
или -n , Apache будет использовать имя файла, скомпилированное в
сервер, например conf\httpd.conf . Этот встроенный путь
относится к каталогу установки. Вы можете проверить составленный
имя файла из значения, помеченного как SERVER_CONFIG_FILE , когда
вызов Apache с ключом -V , например:


httpd.exe -V

Затем Apache попытается определить свой ServerRoot , выполнив следующие действия в указанном порядке:

  1. A Директива ServerRoot
    через ключ командной строки -C .
  2. Переключатель -d в командной строке.
  3. Текущий рабочий каталог.
  4. Запись реестра, созданная, если вы создали двоичный файл
    установка.
  5. Корень сервера скомпилирован в сервер. Это
    /apache
    по умолчанию, вы можете проверить это, используя
    httpd.exe -V
    и ищет значение, помеченное как
    HTTPD_ROOT .

Если вы не выполнили бинарную установку, Apache в некоторых
сценарии жалуются на отсутствие ключа реестра. Это предупреждение может
быть проигнорировано, если сервер иначе смог бы найти его
Файл конфигурации.

Значение этого ключа
ServerRoot каталог, который
содержит подкаталог conf . Когда Apache запустит его
читает файл httpd.conf из этого каталога. Если
этот файл содержит Корень сервера
директива, которая содержит каталог, отличный от того,
полученный из приведенного выше ключа реестра, Apache забудет
ключ реестра и используйте каталог из файла конфигурации. Если
вы копируете каталог Apache или файлы конфигурации в новый
расположение жизненно важно, чтобы вы обновили
Директива ServerRoot в
httpd.conf , чтобы отразить новое местоположение.

После запуска Apache (либо в окне консоли, либо как
service) он будет прослушивать порт 80 (если вы не изменили
Слушайте директиву в
файлы конфигурации или установленный Apache только для текущего пользователя).
Чтобы подключиться к серверу и получить доступ к странице по умолчанию, запустите
браузере и введите этот URL:


http://локальный/

Apache должен ответить страницей приветствия, и вы должны увидеть
"Оно работает!". Если ничего не происходит или вы получаете сообщение об ошибке, загляните в
файл error.log в подкаталоге logs .
Если ваш хост не подключен к сети или если у вас серьезные
проблемы с конфигурацией DNS (службы доменных имен), вы
возможно, придется использовать этот URL:


http://127.0.0.1/

Если вы используете Apache на другом порту, вы
нужно явно указать это в URL:


http://127.0.0.1:8080/

После того, как ваша базовая установка заработает, вы должны настроить ее
правильно, отредактировав файлы в подкаталоге conf .
Опять же, если вы измените конфигурацию службы Windows NT
для Apache сначала попытайтесь запустить его из командной строки, чтобы
убедитесь, что служба запускается без ошибок.

Поскольку Apache не может использовать один и тот же порт с
другое приложение TCP/IP, вам может потребоваться остановить, удалить или перенастроить
некоторые другие службы перед запуском Apache. Эти противоречивые
услуги включают в себя другие WWW-серверы, некоторые реализации брандмауэров,
и даже некоторые клиентские приложения (например, Skype), которые будут использовать порт
80, чтобы попытаться обойти проблемы с брандмауэром.

Доступ к файлам по сети можно задать с помощью двух
механизмов, предоставляемых Windows:

Сопоставленные буквы дисков
например, Псевдоним "/images/" "Z:/"
UNC-пути
например, Псевдоним "/images/" "//imagehost/www/images/"

Буквы сопоставленных дисков позволяют администратору поддерживать
сопоставление с конкретной машиной и путем за пределами Apache httpd
конфигурация. Однако эти отображения связаны только с
интерактивные сеансы и не доступны напрямую для Apache httpd
когда он запускается как служба. Использовать только пути UNC для
сетевые ресурсы в httpd.conf
, чтобы ресурсы могли
быть доступным последовательно, независимо от того, как запущен Apache httpd.
(Тайные и подверженные ошибкам процедуры могут обойти ограничение
на сопоставленных буквах дисков, но это не рекомендуется.)

Пример DocumentRoot с путем UNC

 DocumentRoot "//dochost/www/html/" 

Пример DocumentRoot с IP-адресом в пути UNC

 DocumentRoot "//192.168. 1.50/документы/" 

Пример Псевдоним и соответствующий Каталог с путем UNC

 Псевдоним "/images/" "//imagehost/www/images/"
<Каталог "//imagehost/www/images/">
#...
 

При запуске Apache httpd в качестве службы необходимо создать
отдельная учетная запись для доступа к сетевым ресурсам, как описано
выше.

  • Если в операционной системе используется более нескольких десятков конвейерных регистраторов
    Например, часто необходимо масштабирование «кучи рабочего стола». За
    более подробную информацию см. в документации по конвейерной регистрации.

Настройка локального веб-сервера в Windows, macOS и Linux

При разработке веб-сайта веб-дизайнер должен иметь возможность видеть свои веб-страницы так же, как и конечный пользователь. Иногда достаточно просто щелкнуть и просмотреть HTML-файлы в веб-браузере, но если вы хотите протестировать динамическое содержимое, вам потребуется настроить локальный веб-сервер. Сделать это довольно просто, и это легко сделать в Windows, macOS и Linux. Доступно много типов веб-серверов, но мы используем Apache (ознакомьтесь с нашим сравнением Nginx и Apache, чтобы увидеть, какой из них лучше для вас) в этом руководстве, так как это наиболее распространенный сервер, очень простой в настройке и совместим со всеми основными операционными системами.

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

Контент
  • Настройка локального веб-сервера в Linux
  • Настройка локального веб-сервера в macOS
  • Настройка локального веб-сервера в Windows
  • Настройка сервера локальной сети в Windows
  • Дополнительные устройства
  • Часто задаваемые вопросы 9000 Вопросы

Настройка локального веб-сервера в Linux

Apache был разработан для Unix-подобных операционных систем. Linux подпадает под эту категорию, и установку и настройку веб-сервера Apache можно выполнить за один шаг.

Здесь мы имеем дело с командной строкой. Большинство популярных дистрибутивов позволяют установить Apache без его компиляции из исходников с помощью одной простой команды.

Для Debian, Ubuntu и дистрибутива на основе Ubuntu:

 sudo apt install apache2 

Для Red Hat и CentOS

 sudo dnf install httpd 

После установки перейдите в веб-браузере на «127.0.0.1» или «localhost». Если он показывает «Это работает!» это означает, что ваша установка Apache прошла успешно.

Чтобы лучше понять, как Apache обслуживает эту конкретную веб-страницу, давайте отредактируем ее. Для этого перейдите в корневой веб-каталог вашего локального компьютера с Linux.

 cd /var/www/html 

Откройте «index.html» как root в вашем любимом текстовом редакторе.

Поиск «Это работает!» и измените текст на что-то случайное, например «Сделайте технологии проще!» (На самом деле это может быть что угодно.) Обязательно сохраните файл.

Теперь обновите веб-страницу на 127.0.0.1. Вы должны увидеть «Make Tech Easyer!» где «Это работает!» был раньше.

Теперь, когда вы настроили простой веб-сервер, вы можете поиграть с настройками конфигурации в «apache2.conf».

 sudo nano /etc/apache2/apache2.conf 

Примечание : имейте в виду, что каждый раз, когда вы вносите изменения в конфигурацию, вам нужно будет перезапустить Apache, чтобы они вступили в силу.

 sudo systemctl перезапустить apache2 

Если это не сработает, вы можете перезапустить его, напрямую выполнив файл upstart.

 sudo /etc/init.d/apache2 restart 

Настройка локального веб-сервера на macOS

Преимущество macOS в том, что Apache установлен на нем по умолчанию. Все, что вам нужно сделать, это включить его.

В Finder перейдите в «Приложения -> Утилиты», затем дважды щелкните «Терминал», чтобы открыть его.

Чтобы включить уже предустановленный веб-сервер Apache, выполните следующую команду:

 sudo apachectl start 

Чтобы проверить, работает ли наш веб-сервер, перейдите к «127.0.0.1» или «localhost» в веб-браузере. .

Мы можем изменить содержимое веб-страницы, просто перейдя в корень документа так же, как в Linux. Единственное, что отличается, это расположение пути.

 cd /Library/WebServer/Documents/ 

Теперь отредактируйте файл «index.html.en» с помощью вашего любимого текстового редактора. Изменить «Это работает!» на «Привет, мир!»

 sudo nano index.html.en 

Если мы обновим нашу веб-страницу, размещенную на 127.0.0.1, мы увидим отраженные изменения.

Для дальнейшей настройки веб-сервера Apache под macOS перейдите к файлу «httpd.conf».

 sudo nano /etc/apache2/httpd.conf 

Как и в Linux, вы можете легко перезапустить службу Apache с помощью команды apachectl с привилегиями root.

 sudo apachectl restart 

Настройка локального веб-сервера в Windows

В отличие от Linux и macOS, Windows не основана на Unix, поэтому для ее установки не требуется одной строки. К счастью, есть несколько мастеров установки, которые объединяют такие вещи, как Apache, MySQL и PHP, чтобы облегчить нашу жизнь. Одним из них является XAMPP.

Примечание : XAMPP также доступен для Linux и macOS.

Загрузите версию XAMPP для Windows и начните установку. Запустите программу установки при появлении запроса. Вы можете выбрать только Apache, если вам нужен только веб-сервер. Однако, если вы планируете использовать базу данных, вы также можете выбрать MySQL.

Продолжите установку и нажмите «Готово» по завершении. По умолчанию будет запущена панель управления XAMPP.

При необходимости нажмите «Пуск» для Apache и MySQL.

Если вы перейдете к «127.0.0.1» или «localhost» в своем веб-браузере, вы должны увидеть страницу конфигурации XAMPP.

Процедура создания новой веб-страницы аналогична. Откройте блокнот и создайте образец HTML-файла. Назовите его «hello.html».

Сохраните его в корневом каталоге документа, расположенном в «c:\xampp\htdocs\».

Перейдите к нему с помощью веб-браузера, перейдя по адресу 127.0.0.1/hello.html. Вы сможете увидеть созданную вами веб-страницу.

Примечание. WampServer — еще один надежный вариант для установки Apache в Windows.

Настройка сервера локальной сети в Windows

Другой вариант — настроить сервер локальной сети в Windows. Вам не нужно ничего устанавливать для этого метода. Однако вам потребуются кабели Ethernet для прямого подключения к вашему маршрутизатору или комбинации маршрутизатора и модема.

  1. Подключите компьютер с помощью кабеля Ethernet к маршрутизатору.
  2. Откройте «Пуск» и найдите «Панель управления». Откройте результат.
  3. Выберите «Центр управления сетями и общим доступом».
  1. Выберите «Настроить новую сеть или подключение».
  1. Выберите «Подключение к Интернету» и следуйте инструкциям, чтобы завершить процесс.
  1. Вы можете подключать другие устройства к локальной сети через Ethernet или Wi-Fi. Очевидно, что для Wi-Fi вам необходимо установить пароль Wi-Fi и использовать его для подключения других устройств. Вы также можете создать домашнюю группу для обмена ресурсами из Центра управления сетями и общим доступом.

Если вы хотите подключиться к удаленной папке, вам не нужно настраивать веб-сервер для доступа к ней. Вы можете легко сделать это, подключив диск WebDAV к Windows.

Дополнительные устройства

Если у вас есть Raspberry Pi, вы также можете превратить его в персональный веб-сервер. Узнайте, как это сделать здесь.

Часто задаваемые вопросы

Является ли Apache единственным вариантом веб-сервера?

Apache — отличное решение для веб-сервера, но это не единственный вариант. Вы можете рассмотреть IIS как вариант для Windows, так как он поддерживает многие функции аутентификации Windows, которых нет в Apache.

Другой вариант — Python для простого локального HTTP-сервера. Он уже установлен на macOS и Linux, но вы можете установить его для Windows с сайта Python.org.

Почему я получаю предупреждения о том, что Apache не работает с моим антивирусом?

Антивирус предназначен для защиты вашего компьютера от посторонних. При настройке локального веб-сервера вы открываете свой компьютер для внешних подключений. Ваш антивирус может работать вместе с Apache. Вам просто нужно разрешить Apache доступ через ваш антивирус. Вы должны получить предупреждение от своего антивируса вместе с предложением запретить или разрешить доступ. Точные шаги сильно различаются в зависимости от используемого вами антивируса.

В зависимости от того, как вы будете использовать свой сервер, вы можете предпринять дополнительные шаги для его защиты. Например, существует множество инструментов с открытым исходным кодом для защиты серверов Linux.

Должен ли я использовать свой основной компьютер или выделенный компьютер для настройки веб-сервера?

Если вы просто выполняете базовое локальное тестирование, на ваш компьютер не будет поступать много трафика. Можно просто использовать свой основной компьютер и включать/выключать сервер по мере необходимости.

Если вы размещаете веб-сайт или другой ресурс со своего компьютера, в качестве сервера лучше использовать выделенный компьютер. Вы будете иметь дело с большим трафиком, который использует больше ресурсов. Из-за этого компьютеру становится сложнее выполнять повседневные задачи.

Мой провайдер не возражает, если я настрою локальный веб-сервер?

Некоторые интернет-провайдеры имеют ограничения пропускной способности и могут запретить вам размещать собственный сервер, особенно для сайтов с высоким трафиком и загрузки P2P или торрентов. Кроме того, если у вас есть жесткие ограничения на данные, вы, вероятно, захотите избежать настройки сервера за пределами основных целей тестирования.

Большинство интернет-провайдеров не возражают против локальных серверов, поскольку они не имеют экстремального использования. Например, базовое тестирование или размещение сервера календаря с помощью Байкала. Если вы не уверены, обратитесь к своему интернет-провайдеру, чтобы спросить и объяснить, чего вы пытаетесь достичь. Если вам нужна большая пропускная способность без ограничений, они могут настроить вам бизнес-аккаунт.

Изображение предоставлено: Clay Banks через Unsplash

Кристал Краудер

Кристал Краудер более 15 лет проработала в сфере высоких технологий, сначала в качестве специалиста по информационным технологиям, а затем в качестве писателя.