Apache windows переменные среды

Настройка веб-сервера Apache под Windows


План работ:


  1. Установка Apache под Windows.
  2. Выпуск самоподписанного сертификата Windows (Необязательно).
  3. Генерация сертификата.
  4. Публикация информационной базы Windows.
  5. Проверка публикации.

В отличие от IIS, веб-серверApaсhe доступен как для Windows, так и для Linux и позволяет настроить работу публикаций по шифрованному протоколу http.

1. Установка Apache под Windows

Первым делом необходимо скачать и установить веб-сервер. Список доступных реализаций можно найти по ссылке, а в статье будет использован самый первый из списка дистрибутивов. Он поставляется в виде zip-архива без инсталлятора.

Поэтому нужно скачать архив и разархивировать в любую удобную папку, например, C:\Apache24. 24. В названии папки указан номер версии Apache. В данном случае используется версия 2.4. При публикации информационной базы из командной строки стоит обращать на это внимание, так как с платформой поставляются отдельные библиотеки веб-компонент для версий Apache 2.2 и 2.4.

После разархивирования файла архива, откройте командую строку от имени администратора. Самый простой вариант – это открыть меню Пуск и ввести cmd. После того, как приложение будет найдено щелкнуть по нему правой кнопкой мыши и выбрать пункт меню «Запустить от имени Администратора» («Run as Administrator»).

В командной строке переходим в директорию распакованного Apache с помощью команды cd. Например:

В директории Apache вводим команду:

Это установит службу Apache, которой можно будет управлять в окне служб.

На этом установка Apache закончена. Осталось только опубликовать информационную базу и указать файлы сертификата в настройках Apache.

2. Выпуск самоподписанного сертификата Windows

В отличии от IIS, сертификат для Apache выпускается с помощью стороннего программного обеспечения OpenSSL.

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

После скачивания дистрибутива установки необходимо его запустить.

На первой странице нужно согласиться с условиями лицензионного соглашения (переключить переключатель на «I accept the agreement») и нажать кнопку «Next».

Мастер переключится на страницу размещения дистрибутива. Если местоположение не планируется изменять, то можно оставить поле в значении по умолчанию и нажать кнопку «Next».

На следующем шаге ничего менять не нужно и можно просто нажать «Next».

Дистрибутив готов к установке. Нужно нажимать кнопку «Install» и дождаться завершения установки.

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

Дистрибутив OpenSSL установлен и теперь можно переходить к генерации сертификата.

Для этого необходимо запустить интерпретатор командной строки от имени Администратора.

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

Директория bin для OpenSSL была указана на втором шаге установщика.

Если пришлось добавить директорию bin в переменные окружения, то необходимо перезапустить командную строку от имени администратора. В противном случае, если ввод перешел в режим конфигурирования OpenSSL, нужно нажать сочетание клавиш Ctrl + C.

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

После создания нужно перейти в созданную директорию.

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

Во время выполнения команды будет задано несколько вопросов. Для «Common Name (e.g. server FQDN or Your bane)» нужно также указать имя сервера. Остальные поля заполняются произвольно (кроме «Country name» — здесь можно оставить по умолчанию).

3. Публикация информационной базы Windows

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

Нужно в файле найти секцию VirtualHost _default_:443 и в ней заменить SSLCertificateFile и SSLCertificateKeyFile на полные пути к ключу и закрытого файла сертификата, на подготовленные заранее файлы.

После этого можно переходить к публикации базы.

Для публикации информационной базы нужно открыть конфигуратор конкретной базы от имени администратора и перейти в пункт меню «Администрирование». После этого выбрать «Публикация информационной базы».

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

После этого требуется нажать кнопку «Опубликовать» и дождаться окончания операции.

4. Проверка публикации

Для проверки корректной работы нужно открыть страницу в браузере и перейти по ссылке, которая состоит из двух частей:

  • Имя вашего сервера (например, server1)
  • Имя публикации базы (которое было указано в окне настройки публикации)

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

Переменные окружения веб-сервера Apache

Полная поддержка директив .htaccess прилагается.

Одни из самых дешевых услуг регистрации и главное пролонгации доменов.

Сервер позволяет обмениваться информацией с внешними программами (CGI) и между модулями с помощью переменных окружения. Имя пременной должно начинаться с буквы и может содержать буквы, цифры и подчёркивания. Перед вызовом CGI сервер устанавливает переменные запроса в соответствии со стандартом (и кое-что от себя, некоторые модуля добавляют свои переменные):

Переменные записываются в виде %<ИМЯ_ПЕРЕМЕННОЙ>.

Реальный пример с синтаксисом:

Наиболее часто используются следующие переменные:

  • QUERY_STRING (параметры запроса);
  • REMOTE_ADDR ( IP -адрес посетителя);
  • REMOTE_HOST (имя хоста посетителя);
  • REMOTE_USER (имя пользователя, если он прошел авторизацию);
  • REMOTE_METHOD (обычно GET или POST );
  • PATH_INFO (путь к файлу веб-страницы);
  • HTTP_USER _ AGENT (содержимое http -заголовка User — Agent);
  • HTTP_REFERER (содержимое http -заголовка Referer);
  • HTTP_COOKIE (содержимое http -заголовка Cookie);
  • HTTP_HOST (имя хоста веб-сайта);
  • TIME_YEAR (все переменные TIME _* хранят разбитые на части текущие дату и время);
  • TIME_MON;
  • TIME_DAY;
  • TIME_HOUR;
  • TIME_MIN;
  • TIME_SEC;
  • TIME_WDAY;
  • REQUEST_URI (строка запроса без имени хоста и параметров запроса);
  • REQUEST _ FILENAME (имя файла);
  • THE _ REQUEST (полная строка запроса в том виде, в котором ее присылает браузер посетителя).

Реальные значения приблизительно таковы:

HTTP_ACCEPT => text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1

HTTP_ACCEPT_CHARSET => windows-1252, utf-8, utf-16, iso-8859-1;q=0.6, *;q=0.1

HTTP_CONNECTION => Keep-Alive, TE

HTTP_HOST => www.htaccess.net.ru — если клиент посылает поле HOST в запросе

HTTP_IF_MODIFIED_SINCE => Wednesday, 26-Jul-00 15:20:17 GMT ; length=1437

HTTP_USER_AGENT => Opera/7.60 (Windows NT 5.1; U) [ru]

HTTP_VIA => 1.0 be.mtu.ru:3129 (Squid/2.3.STABLE1) — proxy

HTTP_X_FORWARDED_FOR => 198.170.72.21 — proxy

PATH => /bin:/usr/bin:/usr/local/bin — директории, в которых ищутся исполняемые программы

REMOTE_ADDR => 177.20.56.84 — клиент или прокси

SCRIPT_FILENAME => /home/www/users/AM/public_html/main_menu/local/about_it_localyandex/index.shtml — абсолютное имя файла

SCRIPT_NAME => /_main_menu/local/about_it_localyandex/index.shtml — логическое имя объекта

SERVER_ADDR => 172.20.2.14 — IP адрес

SERVER_ADMIN => admin@_Best-Host.RU почтовый адрес администратора сервера

SERVER_NAME => Best-Host.RU имя-определенное-по-IP

SERVER_SIGNATURE => Apache/1.3.33 Server at htaccess.net.ru Port 80

SERVER_SOFTWARE => Apache/1.3.33 (Debian GNU/Linux) mod_throttle/3.1.2 PHP/4.3.10-16 mod_perl/1.

Более подробно и в контексте применения в модуле mod_rewrite (- URL преобразований) переменные окружения будут рассмотрены в разделе — Директива модуля — RewriteCond

Недавно освободившиеся домены с PR и ТИЦ:

Сервис http://reg.ru — крупнейшего хостинга и регистратора доменов позволяет подать заявку на регистрацию доменного имени, которое недавно было освобождено прежним Администратором. Освобожденные домены часто имеют высокие показатили ТИЦ и PR и могут быть интересны к приобретению.

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

Как добавить путь до PHP в переменную окружения PATH в Windows

Что такое и для чего нужна PATH

Вполне возможно, что вам не приходилось ранее сталкиваться с PATH и выражениями «переменная окружения», поэтому я кратко поясню, что это такое.

Переменная PATH содержит список папок, в которых Windows ищет исполнимые файлы.

В графическом интерфейсе, когда для запуска программ используются ярлыки, значение PATH не очень большое. Но если вы запускаете программу в командной строке, то PATH может пригодиться. Опять же, если вы указываете полный путь до файла, например, C:\Users\Alex\Documents\php.exe, то PATH не используется. Но если, например, вы запускаете программу только по имени файла или просто по имени (без файлового расширения), то запустится ли программа, будет зависеть от содержимого переменной PATH.

К примеру, я в командной строке пытаюсь запустить файл (без указания полного пути)

В этом случае операционная система посмотрит все записи PATH (там может быть указано несколько каталогов). Затем в каждом из этих каталогов Windows попытается найти файл php.exe. Если файл найден, то он будет запущен. Если файл не найден, то будет выведено соответствующее сообщение.

По сути, что-то дописывать в переменную PATH нужно только тем, кто много работает с командной строкой. К примеру, вы программист и размещаете свои программы в папке C:\MyApps и при этом вы часто запускаете свои утилиты командной строки. В этом случае вы можете добавить C:\MyApps в PATH и после этого для запуска программ из этой папки вам уже не нужно будет каждый раз вводить полное имя (например, C:\MyApps\parser.exe), а достаточно будет в командной строке ввести только имя файла:

Нужно ли в Windows добавлять PHP в переменную окружения

При установке и настройке PHP в Windows необязательно добавлять в PATH путь до PHP, но это рекомендуется делать.

Во-первых, вы сможете запускать PHP используя сокращённую запись:

Во-вторых, ряд расширений (которые включаются в файле php.ini) работают некорректно, если вы не прописали в PATH путь до PHP; в том числе, это касается такого довольно популярного расширения как cURL. По идее — это какой-то баг этих расширений или PHP, но нам самим придётся исправлять ситуацию, поскольку эта проблема существует уже много лет.

Как добавить PHP в системные переменные среды

Нажмите кнопку Windows (это которая раньше была кнопкой «Пуск»), начните набирать «Изменение системных переменных среды»

и откройте соответствующее окно настроек.

Там нажмите «Переменные среды», откроется:

В окне «Системные переменные» найдите и кликните на Path, потом нажмите «Изменить»:

Далее «Создать» и впишите туда «C:\Server\bin\PHP\»:

Поднимите запись в самый Вверх:

Закройте все окна с сохранением сделанных изменений.

apache — Как получить системные переменные окружения в PHP при работе CLI & amp; Apache2handler?

Моя система Ubuntu и я установил свои переменные среды в /etc/environment ,

Если я бегу PHP использование сценария CLI — переменные среды из /etc/environment признаны.

Но если я пойду казнить PHP сценарий через http://domain/test.php (то есть apache2handler) точно такой же сценарий выводит NULL, то есть переменные окружения из /etc/environment не загружены.

Я исправил добавление переменных в /etc/apache2/envvars и это решило проблему.

Но это два разных файла, которые затем должны быть синхронизированы.

Как я могу сделать PHP / апаш загрузить и распознать переменные среды из /etc/environment (Система)?

РЕДАКТИРОВАТЬ: Чтобы уточнить вещи, когда я говорю «не загружен в PHP», это означает, что переменные из /etc/environment не установлены в $_SERVER , $_ENV , getenv() и не существует в $GLOBALS , Другими словами «не загружаются в PHP».

Решение

У меня была точно такая же проблема. Чтобы решить это, я просто поставил /etc/environment внутри /etc/apache2/envvars ,

Теперь я могу использовать эти переменные в конфигурационных файлах Apache Virtual Host и в PHP.

Вот пример виртуального хоста Apache:

И это пример того, как получить к ним доступ с помощью PHP:

Другие решения

В Ubuntu PHP использует разные INI-файлы для обычных процессов и процессов CLI.

Там должно быть несколько INI-файлов, таких как /etc/php5/cli/php.ini , /etc/php5/fpm/php.ini или же /etc/php5/php.ini , Откройте связанный файл INI и измените

После этого вы получите переменные окружения, которые вы установили перед использованием $ _ENV [‘varname’].

Из php.ini о variables_order :

Так что вы можете попробовать использовать GETENV () вместо $ _ENV [].

Недавно я написал библиотеку для получения значений из переменных окружения и анализа типов данных PHP. Эта библиотека может использоваться для анализа переменных среды в типах данных PHP (таких как приведение к целочисленному типу, float, null, boolean), синтаксического анализа сложных структур данных, таких как строка JSON и т. Д., С участием сообщества.

Поместите переменные окружения в «/ etc / environment» и «/ etc / apache2 / envvars» после перезапуска сервера Apache и загрузите переменные окружения в операционную систему:

И чтобы получить значения из переменной среды (независимо от среды CLI, Apache, Nginx, встроенного сервера PHP и т. Д.), Выполните следующие действия:

я думаю, что вы можете использовать только для установки переменной среды из .htaccess:

Читайте также:  Linux как настроить разрешение экрана
Оцените статью