Установка apache под windows

Сервер 1С:Предприятие на Ubuntu 16.04 и PostgreSQL 9.6, для тех, кто хочет узнать его вкус. Рецепт от Капитана

Если кратко описать мое отношение к Postgres: Использовал до того, как это стало мейнстримом.
Конкретнее: Собирал на нем сервера для компаний среднего размера (до 50 активных пользователей 1С).
На настоящий момент их набирается уже больше, чем пальцев рук пары человек (нормальных, а не фрезеровщиков).
Следуя этой статье вы сможете себе собрать такой же и начать спокойную легальную жизнь, максимально легко сделать первый шаг в мир Linux и Postgres.
А я побороться за 1. Лучший бизнес-кейс (лучший опыт автоматизации предприятия на базе PostgreSQL).
Если, конечно, статья придется вам по вкусу.

ШАГ 4 инсталляция Apache как службы Windows

Приведенный выше способ запуска и остановки web сервера Apache прекрасно работает и им можно с успехом пользоваться, создав ярлык на исполняемый файл httpd.exe или написав .bat файлы с командами старта и остановки сервера. Однако более удобным вариантом будет использование Apache как системной службы Windows, что позволит запускать и останавливать Apache в автоматическом, полуавтоматическом режимах и вручную. Для этих действий можно будет использовать утилиту управления Apache службой Apache24\bin\ApacheMonitor.exe, которая входит в данный дистрибутив Apache. ApacheMonitor.exe это маленькая утилита, представлявшая собой оконную программку, висящую в системном трее и позволяющую выполнять запуск и остановку службы Apache и контролировать ее состояние. Такой подход дает некоторое удобство в работе с web сервером Apache как системной службой Windows. Поэтому, далее будут рассмотрены необходимые действия для установки Apache как системной службы Windows.

Для просмотра списка доступных команд Apache наберите в консоли:

>Z:\WebDevelopment\Apache24\bin\httpd help

или, находясь в каталоге с бинарниками Apache:

>httpd -h

и в консоли будет выведен краткий help по доступным командам Apache и их синтаксис:

>httpd -h

Usage: httpd   
              
               
              
                     
Options:
  -D name            : define a name for use in  directives
  -d directory       : specify an alternate initial ServerRoot
  -f file            : specify an alternate ServerConfigFile
  -C "directive"     : process directive before reading config files
  -c "directive"     : process directive after reading config files
  -n name            : set service name and use its ServerConfigFile and ServerRoot
  -k start           : tell Apache to start
  -k restart         : tell running Apache to do a graceful restart
  -k stop|shutdown   : tell running Apache to shutdown
  -k install         : install an Apache service
  -k config          : change startup Options of an Apache service
  -k uninstall       : uninstall an Apache service
  -w                 : hold open the console window on error
  -e level           : show startup errors of level (see LogLevel)
  -E file            : log startup errors to file
  -v                 : show version number
  -V                 : show compile settings
  -h                 : list available command line options (this page)
  -l                 : list compiled in modules
  -L                 : list available configuration directives
  -t -D DUMP_VHOSTS  : show parsed vhost settings
  -t -D DUMP_RUN_CFG : show parsed run settings
  -S                 : a synonym for -t -D DUMP_VHOSTS -D DUMP_RUN_CFG
  -t -D DUMP_MODULES : show all loaded modules
  -M                 : a synonym for -t -D DUMP_MODULES
  -t -D DUMP_INCLUDES: show all included configuration files
  -t                 : run syntax check for config files
  -T                 : start without DocumentRoot(s) check
  -X                 : debug mode (only one worker, do not detach)

Рекомендация: используйте с данными командами полный путь до файла httpd.exe как в примерах ниже.

Для инсталляции Apache как системной службы Windows нужно выполнить в консоли команду:

>Z:\WebDevelopment\Apache24\bin\httpd.exe -k install

Для деинсталяции Apache как системной службы Windows нужно выполнить в консоли команду:

>Z:\WebDevelopment\Apache24\bin\httpd.exe -k uninstall

После установки Apache в качестве системной службы Windows вы можете настроить работу этой службы стандартным для всех служб Windows способом в Консоли управления Microsoft — оснастке services.msc запустив ее в cmd.exe командой:

>services.msc

или воспользовавшись другими стандартными способами:

  • Меню Пуск, в строке поиска наберите services.msc и нажмите клавишу Enter;
  • Нажмите сочетание клавиш Win+R, наберите services.msc и нажмите клавишу Enter;
  • Через оконный интерфейс по пути: Пуск->Панель управления->Администрирование->Службы

Установленная служба Apache будет иметь:

  • название: Apache2.4;
  • описание: Apache/2.4.23 (Win64) OpenSSL/1.0.2j;
  • тип запуска: Автоматически.

Настройте необходимый вам вариант запуска службы стандартным способом.

Так же, для управления службой Apache2.4 вы можете воспользоваться описанной выше программой из дистрибутива сервера Apache24\bin\ApacheMonitor.exe. Для этого запустите указанный файл ApacheMonitor.exe и воспользуйтесь для запуска или остановки Apache кнопками в окне данной программы. В свернутом состоянии эта программа ‘висит’ в системном трее в виде иконки состояния службы Apache и может быть от туда вызвана.

Скриншот запущенной программы ApacheMonitor.exe

На этом Portable инсталляция Apache на Windows из zip архива закончена, далее можно приступать к индивидуальной настройке web сервера и организации виртуальных хостов.

Смотри также:

Еще, дополнительно, о настройке можно почитать на сайте Apache: .

Portable Apache на Windows

Apache не предоставляет официальных сборок под Windows, но есть исходники сервера и есть люди, которые делают и выкладывают сборки web сервера Apache для операционный системы Windows. В примерах этой статьи мною будет использоваться для получения таких сборок Apache для Windows сайт: Apache Haus — Your place for the Apache Server and Modules on Windows, на котором размещены для свободного скачивания сборки Apache для Windows на странице загрузки Apache Haus Downloads.

В целях безопасности и предотвращения заражения системы вирусами и троянами, рекомендую скачивать дистрибутивы только из официальных источников. Так же отдавайте предпочтение zip архивам для ручной инсталяции. И даже в этом случае, проверяете скачанные файлы актуальным антивирусом. На своем опыте неоднократно убедился, что в сети нередко предлагают дистрибутивы в виде .exe архива, который содержит вирусы или трояны.

Выбор сайта Apache Haus Downloads, как поставщика дистрибутива Apache, мною сделан не случайно по следующим причинам:

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

Копирование числовых ячеек из 1С в Excel Промо

Решение проблемы, когда значения скопированных ячеек из табличных документов 1С в Excel воспринимаются последним как текст, т.е. без дополнительного форматирования значений невозможно применить арифметические операции. Поводом для публикации послужило понимание того, что целое предприятие с более сотней активных пользователей уже на протяжении года мучилось с такой, казалось бы на первый взгляд, тривиальной проблемой. Варианты решения, предложенные специалистами helpdesk, обслуживающими данное предприятие, а так же многочисленные обсуждения на форумах, только подтвердили убеждение в необходимости описания способа, который позволил мне качественно и быстро справиться с ситуацией.

Настройка Apache

  1. Загрузите инсталляционный пакет. На данный момент предпочтительно использовать версию 2.2;
  2. Запустите мастер установки и выполните все этапы, пока не дойдете до шага «Информация о сервере». Здесь задайте для каждого из полей приведенные ниже значения, если у вас нет конкретных требований для настройки сервера Apache:

1. localhost 2. localhost 3. admin@localhost

  1. Завершите все этапы мастера установки, нажимая «Далее», после чего он установит и запустит веб-сервер Apache в качестве службы Windows;
  2. Теперь в строке состояния Windows вы сможете увидеть перо розового цвета с зеленой кнопкой, указывающее на то, что Apache запущен и работает. Перейдя в браузере по адресу http://localhost/, вы должны увидеть страницу, на которой указывается, что служба работает;
  3. Теперь давайте перейдем к директории, в которой установлен Apache. Как правило, это C:Program FilesApache Software FoundationApache2.2 — и рассмотрим различные папки, содержащиеся в ней:
  1. bin — содержит различные бинарные файлы, некоторые из них перечислены ниже. Чтобы получить доступ к этим приложениям, большинство из которых являются командами, нам нужно добавить путь к папке bin в глобальной переменной PATH. Для этого кликните правой кнопкой мыши по иконке Мой компьютер> Свойства> Дополнительные параметры системы> Переменные среды и в списке «Системные переменные» найдите и выберите переменную PATH, нажмите на кнопку «Редактировать» и добавьте в конце точку с запятой (если она еще не добавлена), а затем введите абсолютный путь к папке bin. И в диалоговом окне «Свойства системы» нажмите кнопку «Применить»:
  • Файл httpd.exe — это веб-сервер Apache, который создал несколько дочерних процессов, обслуживающих целый ряд входящих запросов клиентов в соответствии с требованиями директивы MaxClients;
  • Файл ab.exe — это инструмент, который устанавливается вместе с Apache и позволяет увидеть, насколько производительно работает приложение за единицу времени.
  1. conf — папка, в которой находятся различные конфигурационные файлы. В нашем случае наибольший интерес представляют следующие:
  • httpd.conf — большинство директив сервера находятся в этом файле и для легкого доступа к ним вы должны связать тип файла .conf с текстовым редактором «Блокнот»;
  • extrahttpd-vhosts.conf — содержит директивы для использования локального сервера в качестве виртуального хоста, чтобы запускать на вашем компьютере несколько серверов. Один из сценариев его использования — на стадии разработки, если вы не хотите трогать фактический домен, вы можете работать на локальной копии, при этом допустимо возникновение в этом файле мелких ошибок;
  • htdocs — корневой каталог веб-сервера по умолчанию, здесь отображается http://localhost/, если вы не перенастроили его в файле httpd.conf;
  • logs — журналы доступа и ошибок, связанные с различными проблемами, возникающими при установке Apache на Windows 7 или даже в приложении.

Running Apache as a Service

Apache comes with a utility called the Apache Service Monitor. With it you can see and manage the state of all installed Apache services on any machine on your network. To be able to manage an Apache service with the monitor, you have to first install the service (either automatically via the installation or manually).

You can install Apache as a Windows NT service as follows from the command prompt at the Apache bin subdirectory:

httpd.exe -k install

If you need to specify the name of the service you want to install, use the following command. You have to do this if you have several different service installations of Apache on your computer. If you specify a name during the install, you have to also specify it during any other -k operation.

httpd.exe -k install -n «MyServiceName»

If you need to have specifically named configuration files for different services, you must use this:

httpd.exe -k install -n «MyServiceName» -f «c:filesmy.conf»

If you use the first command without any special parameters except -k install , the service will be called Apache2.4 and the configuration will be assumed to be confhttpd.conf .

Removing an Apache service is easy. Just use:

httpd.exe -k uninstall

The specific Apache service to be uninstalled can be specified by using:

httpd.exe -k uninstall -n «MyServiceName»

Normal starting, restarting and shutting down of an Apache service is usually done via the Apache Service Monitor, by using commands like NET START Apache2.4 and NET STOP Apache2.4 or via normal Windows service management. Before starting Apache as a service by any means, you should test the service’s configuration file by using:

httpd.exe -n «MyServiceName» -t

You can control an Apache service by its command line switches, too. To start an installed Apache service you’ll use this:

httpd.exe -k start -n «MyServiceName»

To stop an Apache service via the command line switches, use this:

httpd.exe -k stop -n «MyServiceName»

httpd.exe -k shutdown -n «MyServiceName»

You can also restart a running service and force it to reread its configuration file by using:

httpd.exe -k restart -n «MyServiceName»

By default, all Apache services are registered to run as the system user (the LocalSystem account). The LocalSystem account has no privileges to your network via any Windows-secured mechanism, including the file system, named pipes, DCOM, or secure RPC. It has, however, wide privileges locally.

It is recommended that users create a separate account for running Apache service(s). If you have to access network resources via Apache, this is required.

  1. Create a normal domain user account, and be sure to memorize its password.
  2. Grant the newly-created user a privilege of Log on as a service and Act as part of the operating system . On Windows NT 4.0 these privileges are granted via User Manager for Domains, but on Windows 2000 and XP you probably want to use Group Policy for propagating these settings. You can also manually set these via the Local Security Policy MMC snap-in.
  3. Confirm that the created account is a member of the Users group.
  4. Grant the account read and execute (RX) rights to all document and script folders ( htdocs and cgi-bin for example).
  5. Grant the account change (RWXD) rights to the Apache logs directory.
  6. Grant the account read and execute (RX) rights to the httpd.exe binary executable.

If you allow the account to log in as a user and as a service, then you can log on with that account and test that the account has the privileges to execute the scripts, read the web pages, and that you can start Apache in a console window. If this works, and you have followed the steps above, Apache should execute as a service with no problems.

When starting Apache as a service you may encounter an error message from the Windows Service Control Manager. For example, if you try to start Apache by using the Services applet in the Windows Control Panel, you may get the following message:

Could not start the Apache2.4 service on \COMPUTER Error 1067; The process terminated unexpectedly.

You will get this generic error if there is any problem with starting the Apache service. In order to see what is really causing the problem you should follow the instructions for Running Apache for Windows from the Command Prompt.

If you are having problems with the service, it is suggested you follow the instructions below to try starting httpd.exe from a console window, and work out the errors before struggling to start it as a service again.

Параметризация через переменные среды

Со времени опубликования предыдущей статьи произошли некоторые изменения. Поэтому вкратце рассмотрим установку и настройку веб-сервера Apache под Windows ещё раз на примере Apache 2.4.34 от Apache Lounge.

Теперь в конфигурационных файлах Apache допускается параметризация с помощью переменных. Так, в самом начале конфигурационного файла «httpd.conf» путь к папке сервера помещается в переменную SRVROOT, которая используется во всех остальных инструкциях, где требуется указание пути.

В этом механизме существенным является то, что в конфигурационных файлах доступны переменные окружения среды, из которой запускается сервер. Это даёт возможность устанавливать значения переменных, например, в BAT- или CMD-файле. Нельзя только забывать две вещи:

  1. Доступ к значению переменной ПЕРЕМЕННАЯ в командных файлах операционной системы осуществляется с помощью записи %ПЕРЕМЕННАЯ%, а в конфигурационных файлах веб-сервера — с помощью записи ${ПЕРЕМЕННАЯ}.
  2. Элементы пути в командных файлах должны разделяться символом » \ » (обратный слеш), а в конфигурационных файлах — символом » / » (прямой слеш).

Сравнение Apache с другими веб-серверами

Есть и другие веб-серверы, обладающие своими преимуществами и недостатками. Обо всех них в рамках этой статьи говорить не будем, рассмотрим лишь пару достойных конкурентов.

Начнем с самого известного решения – Nginx. Здесь сказать можно только одно – его главным преимуществом является преодоление барьера в 10 000 одновременных соединений. Apache не может обработать такой большой поток трафика сразу, поэтому многие вебмастера и переключились на альтернативу, когда масштабы их проекта значительно увеличились. Связано это с поточной структурой Apache и невозможностью реализовать прохождение такого барьера. Однако в некотором плане Апач превосходит Nginx, если говорить о простоте настройки, подключении модулей и юзерфрендли-подходе от разработчиков.

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

Сервер 1С:Предприятие на Ubuntu 16.04 и PostgreSQL 9.6, для тех, кто хочет узнать его вкус. Рецепт от Капитана

Если кратко описать мое отношение к Postgres: Использовал до того, как это стало мейнстримом.
Конкретнее: Собирал на нем сервера для компаний среднего размера (до 50 активных пользователей 1С).
На настоящий момент их набирается уже больше, чем пальцев рук пары человек (нормальных, а не фрезеровщиков).
Следуя этой статье вы сможете себе собрать такой же и начать спокойную легальную жизнь, максимально легко сделать первый шаг в мир Linux и Postgres.
А я побороться за 1. Лучший бизнес-кейс (лучший опыт автоматизации предприятия на базе PostgreSQL).
Если, конечно, статья придется вам по вкусу.

Дополнительная настройка

По умолчанию веб-сервер принимает подключения на TCP-порту 80 всех сетевых интерфейсов. Для того, чтобы он был доступен на TCP-порту 8080 только локальных интерфейсов, в конфигурационный файл нужно внести следующие изменения:

Естественно, такой сервер не виден за пределами компьютера, на котором он запущен, и пригоден только для локальной разработки. Чтобы сервер появился для всей сети, надо либо прописать IP-адреса сетевых интерфейсов, либо убрать их совсем вместе с разделителем » : «, оставив только номер порта.

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

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

Для просмотра локальной документации по адресу «http://localhost:8080/manual» нужно подключить соответствующую конфигурацию:

Чтобы PHP-страницы обрабатывались интерпретатором, который установлен в папку «C:\PHP7», нужно прописать в конфигурационном файле «httpd.conf» следующие настройки:

Добавляемые директивы LoadModule и AddType надо размещать рядом с уже существующими в конфигурационном файле одноимёнными директивами.

Для управления разделами сайтов, работающих на веб-сервере Apache, часто задают настройки для отдельных папок в файлах «.htaccess». Чтобы этот механизм заработал, нужно в сеции <Directory «${DOCROOT}/public_html»> внести следующие исправления:

Типы хостинга Apache

Экономия

Планы хостинга, как правило, несколько дешевле, чем сопоставимые планы Windows. Имейте в виду, что Apache является бесплатным, поэтому большинство хостов связывают его с бесплатными ОС, такими как Linux. Например, комбинация известна как LAMP , что означает Linux Apache MySQL PHP .

С другой стороны, для хостинга Windows требуется IIS, Microsoft SQL или ODBC и, конечно, ОС Microsoft. Требования к оборудованию тоже могут отличаться.

Большая часть сэкономленных средств передается клиенту, что делает экономные планы хостинга популярными среди малых предприятий и ИП.

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

  • Зачастую, их часто достаточно для сайтов, созданных на популярных платформах, например: WordPress
  • Drupal
  • phpBB
  • Joomla

Хотя отраслевого стандарта нет и существует целый ряд различных вариантов, наиболее распространенными планами и ценовыми уровнями являются:

  • Общие планы
  • Виртуальные частные сервера (VPS)
  • Управляемые частные сервера (MPS)

Общие планы

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

  • Cpanel
  • MySQL
  • Php
  • POP email
  • SSL-сертификаты

VPS

Более дорогие и комплексные планы VPS (Virtual Private Server) предназначены для хостинга на нескольких сайтах и со средней нагрузкой.

Они обычно включают выделенное оборудование, с использованием:

  • модели виртуального частного сервера
  • хостинга нескольких доменов
  • большего количества хранилищ
  • другие функции.

MPS

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

Само собой, выделенные серверы, как правило, стоят дорого, независимо от платформы.

Свой веб интерфейс к 1С: побеждаем CORS на IIS, сохраняя авторизацию

Если «веб морда» расположена не по тому же адресу, что и публикация 1С (что часто бывает, например, при разработке, публикация 1С на http://localhost/1c, а разрабатываемое веб-приложение на http://localhost:8080) или, например, мы заходим на веб приложение то по ip адресу, то по имени сервера, или просто веб сервер и сервер, на котором опубликована 1С — это разные сервера, то для большинства запросов от браузера к 1С срабатывает политика CORS, которая заключается в том, что браузер сначала посылает запрос OPTIONS, на который сервер должен ответить определенным образом, заголовками, содержащими разрешения, а потом уже (если разрешение есть), браузер посылает основной запрос. В случае, когда в публикации 1С (default.vrd) жестко прописан логин и пароль, разрулить ситуацию можно средствами 1С. В случае же, когда нужно сохранить авторизацию (или используется стандартный интерфейс odata), начинаются проблемы.

Configuring Access to Network Resources

Access to files over the network can be specified using two mechanisms provided by Windows:

Mapped drive letters e.g., Alias «/images/» «Z:/» UNC paths e.g., Alias «/images/» «//imagehost/www/images/»

Mapped drive letters allow the administrator to maintain the mapping to a specific machine and path outside of the Apache httpd configuration. However, these mappings are associated only with interactive sessions and are not directly available to Apache httpd when it is started as a service. Use only UNC paths for network resources in httpd.conf so that the resources can be accessed consistently regardless of how Apache httpd is started. (Arcane and error prone procedures may work around the restriction on mapped drive letters, but this is not recommended.)

Example Alias and corresponding Directory with UNC path

When running Apache httpd as a service, you must create a separate account in order to access network resources, as described above.

Виртуальный хостинг

О виртуальном хостинге

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

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

Виртуальный хостинг Apache

Сервер обслуживает несколько доменов одновременно. Это называется виртуальным хостингом. Именно так хостинговые компании предлагают решения для хостинга на общих серверах и предоставляют вам несколько доменов.

Существует два типа конфигураций виртуального хостинга Apache. Один основан на IP, а другой — на имени. Конфигурация виртуального хоста на основе IP использует отдельный IP-адрес сервера для каждого веб-сайта на сервере.

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

Хотя, когда размещенные веб-сайты имеют общий IP-адрес, люди могут столкнуться с проблемами SSL. Когда вы делитесь IP-адресом с другими пользователями на вашем сервере, вы также делитесь сертификатом SSL .

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

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

Недостатки виртуального хостинга

  • Увеличивает накладные расходы для компаний. Вот почему выделенные IP-адреса часто включаются в более дорогие планы или предлагаются в качестве дополнений.
  • Несколько имен хостов (каждое ссылается на определенный веб-сайт) используются для указания на один IP-адрес
  • Сложно защищать сайты с SSL / TLS из-за технической конфигурации виртуального хостинга на основе имен
  • Требуется постоянно доступная система доменных имен для использования
Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector