Сам себе хостмастер или установка apache на платформе windows
Содержание:
- Сравнение Apache с другими веб-серверами
- ШАГ 3 ручной запуск Apache
- Добавьте в Apache виртуальные хосты
- Копирование числовых ячеек из 1С в Excel Промо
- Настройка Apache
- Установка Apache
- Установка MySQL
- Проверяем запустился ли веб сервер
- Свой веб интерфейс к 1С: побеждаем CORS на IIS, сохраняя авторизацию
- Шаг 1. Создание сертификата
- Шаг 5. Настройка редиректа
- Running Apache as a Console Application
- Как установить ЯП на Windows без Apache
Сравнение Apache с другими веб-серверами
Есть и другие веб-серверы, обладающие своими преимуществами и недостатками. Обо всех них в рамках этой статьи говорить не будем, рассмотрим лишь пару достойных конкурентов.
Начнем с самого известного решения – Nginx. Здесь сказать можно только одно – его главным преимуществом является преодоление барьера в 10 000 одновременных соединений. Apache не может обработать такой большой поток трафика сразу, поэтому многие вебмастера и переключились на альтернативу, когда масштабы их проекта значительно увеличились. Связано это с поточной структурой Apache и невозможностью реализовать прохождение такого барьера. Однако в некотором плане Апач превосходит Nginx, если говорить о простоте настройки, подключении модулей и юзерфрендли-подходе от разработчиков.
Второй конкурент – Tomcat, его разработала та же компания, что и Apache, но уже для других целей. Он используется для работы приложений, написанных на Java, а Apache-сервер – это HTTP-направленный инструмент. Если вы не используете Java, а управляете статическими веб-страницами, переключаться на Tomcat точно не стоит.
ШАГ 3 ручной запуск Apache
Основным исполняемым файлом WEB сервера Apache является файл Apache24\bin\httpd.exe. Соответственно, Apache можно запустить на исполнение как процесс, кликнув по файлу httpd.exe или выполнить команду запуска этого файла в консоли, что будет равнозначно.
Для того, что бы запустить Apache из командной строки на Windows, перейдите в проводнике в директорию с файлом Apache24\bin\httpd.exe и, зажав клавишу Shift, нажмите правую кнопку мыши и в контекстовом меню выберите пункт «Открыть окно команд». Тогда командная строка Windows cmd.exe будет запущена уже в этом каталоге с бинарниками сервера и вам не нужно будет в команду включать полный путь до файла httpd.exe, а достаточно будет указать только сам файл с расширением. Если же вы запустил консоль в другом расположении, то включите, в приведенную ниже команду, полный путь к файлу httpd.exe.
Для запуска Apache необходимо набрать в консоли команду
-если вы находитесь в папке с исполняемым файлом apache httpd.exe:
>httpd.exe
или, если вы находитесь вне папки с исполняемым файлом apache httpd.exe, то укажите в команде полный путь исполняемому файлу apache:
>Z:\WebDevelopment\Apache24\bin\httpd.exe
Данная команда приведет к запуску WEB сервера Apache, при этом, консоль останется запущенной и в окне командной строки исчезнет приглашение на ввод команды в виде знака >. Если при выполнении этих команд командная строка закроется, значит apache не запустился по причине каких либо ошибок в его конфигурации, для этого смотрите основной файл лога apache.
Что бы запускать Apache вручную в окне командной строки из любого места файловой системы простой командой:
> httpd
,т.е. без привязки к каталогу инсталяции Apache и при этом не указывать полный путь к файлу httpd.exe, то нужно прописать в системную переменную PATH путь до каталога с исполняемым файлом apache, т.е. добавить в переменную path строку вида:
Как добавить в переменную path путь к папке с исполняемым файлом детально расписано в статье на примере PHP.
Если Apache запустился, то в диспетчере задач Windows появятся два активных процесса с именами файлов httpd.exe и описанием для них «Apache HTP Server». Это,собственно, и есть работающий WEB сервер Apache. То, что мы видим два процесса httpd.exe — это нормально. Это Apache модуль Multi-Processing (MPM) по умолчанию для операционных систем Windows. Он использует единый процесс управления, который запускает дочерний процесс, который, в свою очередь, создает потоки для обработки запросов.
Если же что то пошло не так и сервер не запускается, то читайте его журналы ошибок, которые расположены в каталоге: Apache24\logs
Для остановки Apache, запущенного вручную, вышеописанным способом, необходимо вернуться в консоль (в окно открытой командной строки) и нажать комбинацию клавиш Ctrl+C, и через несколько секунд сервер будет остановлен, о чем будет свидетельствовать отсутствие httpd.exe процессов в Диспетчере задач Windows и в окне командной строки снова появится курсор (знак >) ожидания ввода команды. Иногда бывает, что командная строка «виснет», в этом случае повторно нажмите Ctrl+C и если курсор ввода команды не появится, то нажмите Enter. Если с использованием комбинаций клавиш Ctrl+C не получается остановить Apache в консоли, то просто закройте окно командной строки и сервер будет остановлен. Так же можно остановить Apache, выполнив завершение процессов httpd.exe в Диспетчере задач Windows, если предыдущие способы остановки не сработают.
htdocs\index.html
Теперь когда web сервер Apache запущен можно обратиться к его дефолтовый html странице, которая настроена в httpd.conf как хост по умолчанию и физически располагается в каталоге Apache24\htdocs\index.html.
Для проверки работы Apache наберите в адресной строке браузера адрес:
http://localhost
Если сервер работает, то вы увидите стартовую дефолтового страницу web сервера Apache от Apache Haus с надписью IT WORKS, что будет говорить о том, что все прошло успешно и Apache полноценно функционирует.
Для проверки HTTPS соединения обратитесь в браузере по адресу:
https://localhost
Браузер запросит ваше подтверждение на использование данного сертификата. Нужно будет вручную разрешить использование этого сертификата, т.к. входящий в сборку сертификат предназначен только для тестирования https соединения и является самоподписным, поэтому он будет отклоняться браузером в начале и требовать вашего одобрения на использование. После добавления сертификата в разрешенные для браузера, откроется снова стартовая страница Apache, но соединение уже будет защищенное по https протоколу с использованием SSL шифрования.
Добавьте в Apache виртуальные хосты
Для запуска, остановки и перезапуска «апача» можно использовать Apache Monitor, но не менее просто перезапускать службу Apache2.4 прямо из «Диспетчера задач»
3.1. Откройте файл C:\Windows\System32\drivers\etc\hosts от имени администратора. Добавьте в него строки и . Сохраните файл hosts.
Если текстовый редактор не может работать от имени администратора в защищенной папке Windows, то файл host можно скопировать в ничем не защищенную папку. Например, на Рабочий стол, где его можно отредактировать, сохранить, переместить обратно и подтвердить операцию с административными привилегиями, когда Windows их запросит. Редактор Visual Studio Code может запрашивать привилегии прямо во время сохранения защищенных файлов.
3.2. Создайте папки D:\web\www\host1.localhost и D:\web\www\host2.localhost для виртуальных хостов. Внутри каждой папки создайте по файлу index.html с текстом host1 и host2 соответственно, а также по файлу index.php с текстом .
HTML–файлы необходимы для проверки работы новых хостов Apache. Если хост работает, то в ответ на обращение к хосту в браузере появится соответствующий текст.
3.3. Создайте папки D:\web\log\host1.localhost и D:\web\log\host2.localhost для журналов ошибок виртуального хоста.
3.4. Откройте файл D:\web\apache\conf\httpd.conf. Раскомментируйте строку . Сохраните файл httpd.conf.
Когда Apache увидит, что у него есть доступ к httpd-vhosts.conf, то он перестанет принимать во внимание указанные ранее параметры DocumentRoot, ServerName, ErrorLog и CustomLog в файле httpd.conf. Все эти параметры будут взяты из файла конфигурации виртуальных хостов, а самый первый указанный хост будет считаться за localhost
3.5. Откройте файл D:\web\apache\conf\extra\httpd-vhosts.conf. Опишите виртуальные хосты в следующей нотации, после чего перезапустите Apache:
3.6. Откройте браузер и перейдите по адресам http://host1.localhost/ и http://host2.localhost/ — вы должны увидеть надписи host1 и host2 соответственно.
Если хочется поработать с двумя и более проектами на одном компьютере, то под каждый из них легко создать отдельные виртуальные хосты. Еще один хост легко создать, пройдя по инструкции сначала: создать папку хоста в D:\web\www, папку журналов ошибок в D:\web\log, строку с именем хоста в файле hosts и блок VirtualHost в файле httpd-vhosts.conf.
3.0. Сохранить виртуальные хосты при обновлении Apache также легко. Просто не забудьте перенести еще и D:\web\apache_old\conf\extra\httpd-vhosts.conf в новую папку apache.
Копирование числовых ячеек из 1С в Excel Промо
Решение проблемы, когда значения скопированных ячеек из табличных документов 1С в Excel воспринимаются последним как текст, т.е. без дополнительного форматирования значений невозможно применить арифметические операции. Поводом для публикации послужило понимание того, что целое предприятие с более сотней активных пользователей уже на протяжении года мучилось с такой, казалось бы на первый взгляд, тривиальной проблемой. Варианты решения, предложенные специалистами helpdesk, обслуживающими данное предприятие, а так же многочисленные обсуждения на форумах, только подтвердили убеждение в необходимости описания способа, который позволил мне качественно и быстро справиться с ситуацией.
Настройка Apache
- Загрузите инсталляционный пакет. На данный момент предпочтительно использовать версию 2.2;
- Запустите мастер установки и выполните все этапы, пока не дойдете до шага «Информация о сервере». Здесь задайте для каждого из полей приведенные ниже значения, если у вас нет конкретных требований для настройки сервера Apache:
1. localhost 2. localhost 3. admin@localhost
- Завершите все этапы мастера установки, нажимая «Далее», после чего он установит и запустит веб-сервер Apache в качестве службы Windows;
- Теперь в строке состояния Windows вы сможете увидеть перо розового цвета с зеленой кнопкой, указывающее на то, что Apache запущен и работает. Перейдя в браузере по адресу http://localhost/, вы должны увидеть страницу, на которой указывается, что служба работает;
- Теперь давайте перейдем к директории, в которой установлен Apache. Как правило, это C:Program FilesApache Software FoundationApache2.2 — и рассмотрим различные папки, содержащиеся в ней:
- bin — содержит различные бинарные файлы, некоторые из них перечислены ниже. Чтобы получить доступ к этим приложениям, большинство из которых являются командами, нам нужно добавить путь к папке bin в глобальной переменной PATH. Для этого кликните правой кнопкой мыши по иконке Мой компьютер> Свойства> Дополнительные параметры системы> Переменные среды и в списке «Системные переменные» найдите и выберите переменную PATH, нажмите на кнопку «Редактировать» и добавьте в конце точку с запятой (если она еще не добавлена), а затем введите абсолютный путь к папке bin. И в диалоговом окне «Свойства системы» нажмите кнопку «Применить»:
- Файл httpd.exe — это веб-сервер Apache, который создал несколько дочерних процессов, обслуживающих целый ряд входящих запросов клиентов в соответствии с требованиями директивы MaxClients;
- Файл ab.exe — это инструмент, который устанавливается вместе с Apache и позволяет увидеть, насколько производительно работает приложение за единицу времени.
- conf — папка, в которой находятся различные конфигурационные файлы. В нашем случае наибольший интерес представляют следующие:
- httpd.conf — большинство директив сервера находятся в этом файле и для легкого доступа к ним вы должны связать тип файла .conf с текстовым редактором «Блокнот»;
- extrahttpd-vhosts.conf — содержит директивы для использования локального сервера в качестве виртуального хоста, чтобы запускать на вашем компьютере несколько серверов. Один из сценариев его использования — на стадии разработки, если вы не хотите трогать фактический домен, вы можете работать на локальной копии, при этом допустимо возникновение в этом файле мелких ошибок;
- htdocs — корневой каталог веб-сервера по умолчанию, здесь отображается http://localhost/, если вы не перенастроили его в файле httpd.conf;
- logs — журналы доступа и ошибок, связанные с различными проблемами, возникающими при установке Apache на Windows 7 или даже в приложении.
Установка Apache
Первый компонент вашегостека LAMP в Ubuntu 20.04 – Apache.
Начните с обновления списков пакетов и установки Apache.Нажмитеy иENTER, когда вас попросят продолжить. Команда:
sudo apt update && sudo apt install apache2
Установка может занять несколько минут.
Настройка брандмауэра
Настоятельно рекомендуется настроить брандмауэр для обеспечения дополнительной безопасности вашего LAMP-стека в Ubuntu 20.04.
Мы начнем с добавления правила брандмауэра для SSH. Вы же не хотите получить блокировку при включении брандмауэра, когда настраиваете сервер удаленно?
sudo ufw allow OpenSSH
Сообщение об ошибке«ERROR: could find a profile matching openSSH» означает, что вы не настраиваете сервер удаленно. Можно игнорировать.
Теперь мы можем добавить правила брандмауэра для Apache:
sudo ufw allow in "Apache Full"
Теперь включите брандмауэр:
sudo ufw enable
Нажмите y, если вы видите сообщение«Command may disrupt existing ssh connections».
Если брандмауэр был активирован правильно, вы должны увидеть сообщение «Брандмауэр активен и включен при запуске системы».
Вы также можете проверить текущее состояние брандмауэра с помощью:
sudo ufw status
Ниже мы видим, что брандмауэр активен и имеет два правила для каждой службы.v6это сокращение от IPv6.
Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere Apache Full ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6) Apache Full (v6) ALLOW Anywhere (v6)
Тестовый Apache
Чтобы узнать, правильно ли установлен Apache на Ubuntu 20.04, мы можем проверить текущее состояние службы:
sudo service apache2 status
Если он включен и работает, вы должны увидеть зеленое активное состояние.
Если вы получаете следующую ошибку о полном доменном имени, вы можете игнорировать ее:
apache2.service - The Apache HTTP Server Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled) Drop-In: /lib/systemd/system/apache2.service.d └─apache2-systemd.conf Active: active (running) since Sat 2020-03-31 08:44:04 CEST; 15min ago Main PID: 5727 (apache2) Tasks: 55 (limit: 4915) CGroup: /system.slice/apache2.service ├─5727 /usr/sbin/apache2 -k start ├─5728 /usr/sbin/apache2 -k start └─5729 /usr/sbin/apache2 -k start Mar 31 08:44:04 ubuntu2004 systemd: Starting The Apache HTTP Server... Mar 31 08:44:04 ubuntu2004 apachectl: AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Mar 31 08:44:04 ubuntu2004 systemd: Started The Apache HTTP Server.
Возможно, вам придется нажать кнопкуqдля выхода из проверки состояния сервера при использовании SSH-клиента.
Теперь, когда служба Apache запущена, вы имеете возможность просмотреть тестовую веб-страницу Apache через свой веб-браузер.
Введите IP-адрес вашего сервера в адресную строку и нажмитеENTER.
Все готово!Вы можете найти страницу приветствия Apache в папке/var/www/html.Чтобы отредактировать этот файл, необходимо ввести:
sudo nano /var/www/html/index.html
НажмитеCTRL+X, чтобы выйти из текстового редактора nano.
Если у вас есть доменное имя, вы можете указать его в IP-адресе вашего сервера без дальнейшей настройки, так как Apache должен загрузить эту страницу по умолчанию.Но если вы хотите разместить несколько доменов на своем сервере или настроить SSL-сертификаты с помощью Let’s Encrypt, вам следует настроить виртуальный хост (инструкция будет в конце этого руководства).
Установка MySQL
Установка сервера БД MySQL:
$ sudo apt install mysql-server
Эта команда установит MySQL, но при этом не предложит задать пароль или внести какие-либо правки в конфигурацию. Далее запускаем скрипт безопасности, который изменит некоторые настройки по умолчанию на более безопасные:
$ sudo mysql_secure_installation
Надо ответить на вопросы:
- Установить плагин проверки надежности паролей?
- Пароль для пользователя ?
- Подтверждение пароля для ?
- Удалить анонимного пользователя?
- Запретить подключаться удаленно?
- Удалить тестовую базу данных?
По умолчанию пользователь может подключаться только локально, т.е. с хоста .
Начиная с версии 5.7 пользователь подключается с помощью плагина , а не по паролю:
$ sudo mysql
> SELECT user, authentication_string, plugin, host FROM mysql.user; +------------------+-------------------------------------------+-----------------------+-----------+ | user | authentication_string | plugin | host | +------------------+-------------------------------------------+-----------------------+-----------+ | root | | auth_socket | localhost | | mysql.session | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost | | mysql.sys | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost | | debian-sys-maint | *76370DCD37985A94742AE45C0F4C890251AB21FA | mysql_native_password | localhost | +------------------+-------------------------------------------+-----------------------+-----------+ 4 rows in set (0.00 sec)
Изменим это:
> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'qwerty'; Query OK, 0 rows affected (0.00 sec) > SELECT user, authentication_string, plugin, host FROM mysql.user; +------------------+-------------------------------------------+-----------------------+-----------+ | user | authentication_string | plugin | host | +------------------+-------------------------------------------+-----------------------+-----------+ | root | *AA1420F182E88B9E5F874F6FBE7459291E8F4601 | mysql_native_password | localhost | | mysql.session | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost | | mysql.sys | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost | | debian-sys-maint | *76370DCD37985A94742AE45C0F4C890251AB21FA | mysql_native_password | localhost | +------------------+-------------------------------------------+-----------------------+-----------+ 4 rows in set (0.00 sec) > FLUSH PRIVILEGES; > exit
Проверим вход по паролю:
$ mysql -uroot -pqwerty mysql: Using a password on the command line interface can be insecure. Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 4 Server version: 5.7.27-0ubuntu0.18.04.1 (Ubuntu) Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. > exit
Остановка сервера:
$ sudo systemctl stop mysql
Запуск сервера:
$ sudo systemctl start mysql
Перезагрузить конфигурацию:
$ sudo systemctl reload mysql
Перезагрузить сервер:
$ sudo systemctl restart mysql
Проверить состояние:
$ systemctl is-active mysql
Включить автозапуск:
$ sudo systemctl enable mysql
Отключить автозапуск:
$ sudo systemctl disable mysql
Посмотреть информацию о версии:
$ mysql -V mysql Ver 14.14 Distrib 5.7.27, for Linux (x86_64) using EditLine wrapper
Проверяем запустился ли веб сервер
Для этого открываем любой броузер и указываем адрес страницы http://localhost
Мы должны увидеть страничку с надписью It Works !
Выясним IP адрес нашего компьютера в локальной сети. Для этого в нижнем правом углу (рядом с часами) находим иконку локальной сети, кликаем на ней правой кнопкой и открываем «Центр управления сетями и общим доступом»
Выбираем нашу сеть
И нажимаем кнопку «Сведения»
В моем случае адрес компьютера в локальной сети 192.168.0.189
Теперь возвращаемся в броузер и проверяем доступность страницы It Works по IP адресу http://192.168.0.189 (в вашем случае цифры будут отличаться)
Если снова увидели знакомую страницу It Works — все хорошо,
Свой веб интерфейс к 1С: побеждаем CORS на IIS, сохраняя авторизацию
Если «веб морда» расположена не по тому же адресу, что и публикация 1С (что часто бывает, например, при разработке, публикация 1С на http://localhost/1c, а разрабатываемое веб-приложение на http://localhost:8080) или, например, мы заходим на веб приложение то по ip адресу, то по имени сервера, или просто веб сервер и сервер, на котором опубликована 1С — это разные сервера, то для большинства запросов от браузера к 1С срабатывает политика CORS, которая заключается в том, что браузер сначала посылает запрос OPTIONS, на который сервер должен ответить определенным образом, заголовками, содержащими разрешения, а потом уже (если разрешение есть), браузер посылает основной запрос. В случае, когда в публикации 1С (default.vrd) жестко прописан логин и пароль, разрулить ситуацию можно средствами 1С. В случае же, когда нужно сохранить авторизацию (или используется стандартный интерфейс odata), начинаются проблемы.
Шаг 1. Создание сертификата
Для боевого сервера, сертификат должен быть получен от доверенного центра сертификации — либо локального для компании, либо коммерческого. Или получен бесплатно от Let’s Ecnrypt.
Для тестовой среды можно сгенерировать самоподписанный сертификат. Для этого сперва переходим в рабочую папку.
а) на Red Hat / CentOS:
cd /etc/httpd
б) на Debian / Ubuntu:
cd /etc/apache2
в) во FreeBSD:
cd /usr/local/etc/apache24
Создаем папку для сертификатов и переходим в нее:
mkdir ssl ; cd ssl
И генерируем сертификат:
openssl req -new -x509 -days 1461 -nodes -out cert.pem -keyout cert.key -subj «/C=RU/ST=SPb/L=SPb/O=Global Security/OU=IT Department/CN=test.dmosk.local/CN=test»
* в данном примере созданы открытый и закрытый ключи на 4 года (1461 день); значения параметра subj могут быть любыми в рамках тестирования.
Шаг 5. Настройка редиректа
Чтобы все запросы по http автоматически перенаправлялись на https, необходимо настроить перенаправление (redirect). Есть несколько способов это сделать.
В конфигурационном файле
Открываем файл с настройкой виртуальных доменов (как в шаге 3) и дописываем следующее:
<VirtualHost *:80>
ServerName site.ru
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
</VirtualHost>
* в конкретном примере, мы перенаправили все запросы для сайта site.ru.
** обратите особое внимание, что если у Вас уже есть VirtualHost *:80 для настраиваемого сайта, необходимо его закомментировать или отредактировать
Установка модуля rewrite
Чтобы перенаправление работало в Apache, необходимо установить модуль rewrite.
а) в CentOS открываем конфигурационный файл и проверяем наличие строки:
vi /etc/httpd/conf.modules.d/00-base.conf
LoadModule rewrite_module modules/mod_rewrite.so
* если ее нет, добавляем; если она закомментирована, снимаем комментарий.
systemctl restart httpd
б) в Ubuntu:
a2enmod rewrite
systemctl restart apache2
Running Apache as a Console Application
Running Apache as a service is usually the recommended way to use it, but it is sometimes easier to work from the command line, especially during initial configuration and testing.
To run Apache from the command line as a console application, use the following command:
Apache will execute, and will remain running until it is stopped by pressing Control-C.
You can also run Apache via the shortcut Start Apache in Console placed to Start Menu —> Programs —> Apache HTTP Server 2.4.xx —> Control Apache Server during the installation. This will open a console window and start Apache inside it. If you don’t have Apache installed as a service, the window will remain visible until you stop Apache by pressing Control-C in the console window where Apache is running in. The server will exit in a few seconds. However, if you do have Apache installed as a service, the shortcut starts the service. If the Apache service is running already, the shortcut doesn’t do anything.
If Apache is running as a service, you can tell it to stop by opening another console window and entering:
httpd.exe -k shutdown
Running as a service should be preferred over running in a console window because this lets Apache end any current operations and clean up gracefully.
But if the server is running in a console window, you can only stop it by pressing Control-C in the same window.
You can also tell Apache to restart. This forces it to reread the configuration file. Any operations in progress are allowed to complete without interruption. To restart Apache, either press Control-Break in the console window you used for starting Apache, or enter
httpd.exe -k restart
if the server is running as a service.
If the Apache console window closes immediately or unexpectedly after startup, open the Command Prompt from the Start Menu —> Programs. Change to the folder to which you installed Apache, type the command httpd.exe , and read the error message. Then change to the logs folder, and review the error.log file for configuration mistakes. Assuming httpd was installed into C:Program FilesApache Software FoundationApache2.4 , you can do the following:
c: cd «Program FilesApache Software FoundationApache2.4in» httpd.exe
Then wait for Apache to stop, or press Control-C. Then enter the following:
When working with Apache it is important to know how it will find the configuration file. You can specify a configuration file on the command line in two ways:
-f specifies an absolute or relative path to a particular configuration file:
httpd.exe -f «c:my server filesanotherconfig.conf»
httpd.exe -f filesanotherconfig.conf
-n specifies the installed Apache service whose configuration file is to be used:
httpd.exe -n «MyServiceName»
In both of these cases, the proper ServerRoot should be set in the configuration file.
If you don’t specify a configuration file with -f or -n , Apache will use the file name compiled into the server, such as confhttpd.conf . This built-in path is relative to the installation directory. You can verify the compiled file name from a value labelled as SERVER_CONFIG_FILE when invoking Apache with the -V switch, like this:
Apache will then try to determine its ServerRoot by trying the following, in this order:
- A ServerRoot directive via the -C command line switch.
- The -d switch on the command line.
- Current working directory.
- A registry entry which was created if you did a binary installation.
- The server root compiled into the server. This is /apache by default, you can verify it by using httpd.exe -V and looking for a value labelled as HTTPD_ROOT .
If you did not do a binary install, Apache will in some scenarios complain about the missing registry key. This warning can be ignored if the server was otherwise able to find its configuration file.
The value of this key is the ServerRoot directory which contains the conf subdirectory. When Apache starts it reads the httpd.conf file from that directory. If this file contains a ServerRoot directive which contains a different directory from the one obtained from the registry key above, Apache will forget the registry key and use the directory from the configuration file. If you copy the Apache directory or configuration files to a new location it is vital that you update the ServerRoot directive in the httpd.conf file to reflect the new location.
Как установить ЯП на Windows без Apache
После скачивания программы ее потребуется установить. В примере будет рассмотрена установка ПО без отдельного веб-сервера. Стоит отметить, что в более поздних версиях программы веб-сервер уже встраивается в PHP. По принципу своей работы он подходит для работы с программами, графическими приложениями. Каким образом установить программу:
- Первым делом пользователь должен распаковать загруженный архив. Сделать это можно в любом месте на диске. В качестве примера будет рассмотрен диск C.
- Теперь пользователю будет нужно добавить путь к каталогу PHP в переменную PATH.
- Дождаться момента, когда загрузка будет завершена.
- Теперь необходимо убедиться в том, что ПО было установлено правильно. Для этого потребуется запустить командную строку от прав администратора, написать несколько команд: cd c:\php и php-S localhost:8000. Первая команда нужна для того, чтобы попасть в папку, где и был установлен язык программирования. вторая команда дает возможность открыть веб-сервер, который в поздних версиях уже встроен в ПО.
- Когда сервер будет запущен, на экране появится окно, которое будет свидетельствовать о правильной установке программы и корректной работе веб-сервера. Пользователи должны учитывать, что HTTP-сервер, который встроен в ЯП, применяет для подключения порт 8000. Если речь идет об Apache, в работе потребуется порт TCP 80 или 8000.
- Далее необходимо запустить веб-браузер и в адресной строке прописать команду: Http://localhost:8000/. На экране должно появиться сообщение о том, что к данному сайту пользователь не может получить доступ. Далее должно появиться уведомление с кодом ошибки. Пользователю необходимо указать не только каталог, но и сам скрипт, который требуется запустить.
- Теперь нужно создать два файла. Один из них будет называться index.php. В нем необходимо прописать только одну кодовую строку: <?php phpinfo ();?>. Данные потребуются сохранить в каталоге. Теперь можно поработать со вторым файлом. Его название будет sample.php. Он также будет содержать всего лишь одну кодовую строку. Она выглядит так — <h1><?php echo «Hello,world!»?></h1>. Чтобы работать с открытыми файлами, пользователю необходимо использовать удобный редактор, который будет поддерживать разные функции. Многие программисты для этих целей советуют применять NetBeans, так как он имеет интеграции со средой разработки PHP. Если такой возможности нет, то следует присмотреться к таким ПО, как HTML Notepad++, Sublime Text3. Можно также воспользоваться бесплатной программой CSS Brackets.
- Теперь необходимо зайти в браузер, найти адресную строку и прописать в ней такую команду: Http://localhost:8000/index.php. Скрипт запустится, пользователь получит всю необходимую информацию о работе системы в специальном окне уведомлений.
- Теперь можно прописать в строке поиска такую команду: Http://localhost:8000/sample.php. Этот скрипт также будет работать.
Стоит учитывать, что загрузка программы PHP без Apache — это не всегда правильное решение. Прибегать к нему нужно только в крайних случаях. Этот способ работы может быть опасен для ПК из-за потери производительности скриптов.