Установка и отладка веб-сервера для сайта в ubuntu

Apache

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

Устанавливаем apache и модуль для php:

apt-get install apache2 libapache2-mod-php

Заходим в настройки портов:

vi /etc/apache2/ports.conf

И редактируем следующее:

Listen 8080
#<IfModule ssl_module>
#       Listen 443
#</IfModule>
#<IfModule mod_gnutls.c>
#       Listen 443
#</IfModule>

* мы настроили прослушивание на порту 8080, так как на 80 уже работает NGINX. Также мы закомментировали прослушивание по 443, так как и он будет слушаться NGINX.

Теперь открываем настройку следующего модуля:

vi /etc/apache2/mods-available/dir.conf

И добавляем впереди индексных файлов index.php:

<IfModule dir_module>
    DirectoryIndex index.php index.html …
</IfModule>

* если не указан конкретный скрипт, сначала веб-сервер пытается найти и запустить index.php, затем index.html и так далее.

Открываем основной конфигурационный файл для apache:

vi /etc/apache2/apache2.conf

Рядом с опциями Directory дописываем:

<Directory /var/www/*/www>
    AllowOverride All
    Options Indexes ExecCGI FollowSymLinks
    Require all granted
</Directory>

* где Directory указывает на путь, для которого мы хотим задать настройки; AllowOverride — позволит переопределить все настройки с помощью файла .htaccess; Options задает некоторые настройки: Indexes разрешает списки каталогов, ExecCGI разрешает запуск cgi скриптов, Require all granted — предоставляет всем доступ к сайтам в данном каталоге.

Ниже допишем:

<IfModule setenvif_module>
    SetEnvIf X-Forwarded-Proto https HTTPS=on
</IfModule>

* этой настройкой мы при получении заголовка X-Forwarded-Proto со значением https задаем переменную $_SERVER равную on. Данная настройки критична для функционирования некоторых CMS.

Запрещаем mpm_event:

a2dismod mpm_event

* по умолчанию, apache2 может быть установлен с модулем мультипроцессовой обработки mpm_event. Данный модуль не поддерживает php 7 и выше.

Разрешаем модуль мультипроцессовой обработки mpm_prefork:

a2enmod mpm_prefork

Разрешаем модуль php:

a2enmod php7.4

* в данном примере установлен php версии 7.4.

Разрешаем модуль setenvif:

a2enmod setenvif

Разрешаем модуль rewrite:

a2enmod rewrite

В процессе включения модулей, если мы видим «Module … already enabled», значит модуль уже включен.

Разрешаем автозапуск Apache и перезапускаем службу:

systemctl enable apache2

systemctl restart apache2

Открываем браузер и вводим в адресную строку http://<IP-адрес сервера>:8080. Мы должны увидеть привычную страницу:

* в разделе Server API мы должны увидеть Apache.

NGINX + Apache

Ранее мы настроили связку nginx + php-fpm. Теперь настроим nginx + apache. Открываем конфигурационный файл nginx для сайта по умолчанию:

vi /etc/nginx/sites-enabled/default

Находим наш настроенный location для php-fpm:


        location ~ \.php$ {
            set $root_path /var/www/html;
            fastcgi_pass unix:/run/php/php7.4-fpm.sock;
            fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME $root_path$fastcgi_script_name;
            include fastcgi_params;
            fastcgi_param DOCUMENT_ROOT $root_path;
        }

и меняем на:


        location ~ \.php$ {
            proxy_pass http://127.0.0.1:8080;
            proxy_redirect     off;
            proxy_set_header   Host             $host;
            proxy_set_header   X-Forwarded-Proto $scheme;
            proxy_set_header   X-Real-IP        $remote_addr;
            proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
        }

Проверяем и перезапускаем nginx:

nginx -t

systemctl restart nginx

Пробуем открыть в браузере http://<IP-адрес сервера> — должна открыться та же страница, что при проверке Apache (с добавлением 8080):

Apache Real IP

Запросы на apache приходят от NGINX, и они воспринимаются первым как от IP-адреса 127.0.0.1. На практике, это может привести к проблемам, так как некоторым сайтам необходимы реальные адреса посетителей. Для решения проблемы будем использовать модуль remoteip.

Создаем конфигурационный файл со следующим содержимым:

vi /etc/apache2/mods-available/remoteip.conf

<IfModule remoteip_module>
  RemoteIPHeader X-Forwarded-For
  RemoteIPTrustedProxy 127.0.0.1/8
</IfModule>

Активируем модуль:

a2enmod remoteip

Перезапускаем apache:

systemctl restart apache2

Для проверки настройки открываем браузер и вводим в адресную строку http://<IP-адрес сервера>, где откроется наша страница phpinfo. В разделе Apache Environment мы должны увидеть внешний адрес компьютера, с которого обращаемся к серверу в опции REMOTE_ADDR.

5: Настройка виртуального хоста (рекомендуется)

На веб-сервере Apache вы можете использовать виртуальные хосты (в Nginx это блоки server) для изоляции настроек и размещения нескольких доменов на одном сервере. Здесь используется условный домен your_domain, который вы должны заменить собственным доменом.

Apache Ubuntu 20.04 по умолчанию предоставляет один включенный виртуальный хост, который обслуживает каталог /var/www/html. Этого хватит для обслуживания одного сайта, но если вы хотите разместить несколько сайтов, вам нужно создать новые виртуальные хосты. Создайте структуру каталогов в  /var/www для сайта your_domain, а /var/www/html оставьте как каталог по умолчанию, который будет обслуживаться, если запрос клиента не отвечает другим сайтам.

Создайте каталог для your_domain.

Затем задайте права на каталог с помощью переменной $USER:

Права должны быть установлены верно, если вы не меняли unmask, но на всякий случай вы можете ввести эту команду (тогда права на чтение, запись и выполнение будут только у владельца каталога, все остальные пользователи и групп смогут только читать его):

Затем создайте образец страницы index.html с помощью nano или другого редактора:

Вставьте в файл такой код HTML:

Сохраните и закройте файл.

Чтобы Apache мог обслуживать этот контент, необходимо создать файл виртуального хоста с правильными директивами. Вместо того чтобы напрямую изменять конфигурационный файл по умолчанию, /etc/apache2/sites-available/000-default.conf, создайте новый файл /etc/apache2/sites-available/your_domain.conf:

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

Обратите внимание: DocumentRoot содержит путь нового каталога, а ServerAdmin – новый адрес электронной почты администратора сайта your_domain. Мы также добавили в файл две директивы: ServerName определяет базовый домен, который должен соответствовать этому виртуальному хосту, а ServerAlias определяет алиасы

Сохраните и закройте файл.

Включите файл с помощью a2ensite:

Отключите стандартный сайт, который определяется файлом 000-default.conf:

Проверьте ошибки в конфигурациях:

Если ошибок нет, команда вернет такой вывод:

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

Теперь Apache обслуживает домен вашего сайта. Чтобы убедиться в этом, откройте ссылку http://your_domain.

Шаг 1. — Подготовка

На этапе подготовки мы убеждаемся что у нас есть всё необходимое для выполнения дальнейшей инструкции:

  • Нам нужна установленная ОС  Ubuntu Server 18.04 — Вам в помощь статья — Установка Ubuntu Server 18.04 LTS
  • Ubuntu Server 18.04 должна иметь статический IP-адрес и доступ в интернет. — Настройка сети в Ubuntu Server 18.04
  • Необязательно, но желательно включить фаервол UFW — Первоначальная настройка Ubuntu Server 18.04

Посмотрим свой IP-адрес, командой ifconfig.(Рис.1)

ifconfig

Рис.1 — Командой ifconfig узнаём IP-адрес нашего сервера.

Адрес моего сервера — 192.168.3.10, в этой статье я буду вводить его в браузере на другом ПК, для проверки работоспособности Apache. Вы должны будете ввести свой IP-адрес.

Если у вас, допустим, Ubuntu Desktop 18.04 и нету возможности подключиться с другого ПК, то вводите на своей же Ubuntu в браузере -«localhost» или IP-адрес — 127.0.0.1

Всё! На этом подготовка завершена.

Устанавливаем PHP на CentOS 7.1

Для установки языка программирования PHP на CentOS необходимо выполнить следующую команду, но учтите, что если Вы используете дополнительные расширения PHP, то их необходимо включать в установку, например, мы сразу установим расширение для работы с базой MySQL (указываем название расширения через пробел). Если Вы не знаете, какие расширения Вы будете использовать, то ничего страшного, потом их конечно можно доустановить, итак, команда для установки php и расширения mysql будет выглядеть следующим образом (все от имени root):

 
   yum -y install php php-mysql

Перезапускаем Apache

 
   systemctl restart httpd

Для проверки установился ли PHP, создаем тестовый файл (например, таким же способом как мы создавали конфиг Apache чуть выше), допустим с названием test.php в директории тестового сайта (/var/www/html/testsite/www/), содержание файла следующее (просто информация о PHP)

 
   <?PHP
         echo phpinfo();
   ?>

После создания мы обращаемся к этому файлу из браузера, например ip_адрес/test.php

В ответ мы должны получить вот такую страницу

Как видите, у нас установилась версия PHP 5.4.16.

Веб-сервер на Windows

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

PHP — это язык программирования. Также называется среда для выполнения скриптов, написанных на PHP. В операционной системе, в том числе и Windows, PHP может быть установлен самостоятельно, без веб-сервера. В этом случае программы (скрипты) на PHP можно запускать из командной строки. Но веб-приложения очень часто используют PHP, данный интерпретатор стал, фактически, стандартом веб-серверов и поэтому они почти всегда устанавливаются вместе.

MySQL — это система управления базами данных (СУБД). Это также самостоятельная программа, она используется для хранения данных, поиска по базам данных, для изменения и удаления данных. Веб-приложения нуждаются в постоянном хранилище, поэтому для веб-сервера дополнительно устанавливается и СУБД. Кстати, вполне возможно, что вы слышали про MariaDB — это тоже СУБД. Первой появилась MySQL, а затем от неё ответвилась MariaDB. Для веб-приложений обе эти СУБД являются взаимозаменяемыми, то есть никакой разницы нет. В этой инструкции я буду показывать установку на примере MySQL, тем не менее если вы хотите попробовать новую MariaDB, то смотрите статью «Инструкция по установке веб-сервера Apache c PHP, MariaDB и phpMyAdmin в Windows».

Что касается phpMyAdmin, то это просто скрипт на PHP, который предназначен для работы с базами данных — наглядно выводит их содержимое, позволяет выполнять в графическом интерфейсе такие задачи как создавать базы данных, создавать таблицы, добавлять, изменять и удалять информацию и т. д. По этой причине phpMyAdmin довольно популярен, хотя и не является обязательной частью веб-сервера.

Особенность Apache и других компонентов веб-сервера в том, что их корни уходят в Linux. И эти программы применяют в своей работе основные концепции этой операционной системы. Например, программы очень гибки в настройке — можно выполнить установку в любую папку, сайты также можно разместить в любой папке, в том числе на другом диске, не на том, где установлен сам веб-сервер. Даже файлы журналов можно вынести на третий диск и так далее. У веб-сервера много встроенных модулей — можно включить или отключить их в любом сочетании, можно подключить внешние модули. Можно создать много сайтов на одном веб-сервере и для каждого из них установить персональные настройки. Но эта гибкая настройка выполняется через текстовые файлы — именно такой подход (без графического интерфейса) позволяет описать любые конфигурации

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

Мы не будем делать какие-то комплексные настройки — наша цель, просто установить веб-сервер на Windows. Тем не менее было бы странно совсем не использовать такую мощь в настройке. Мы разделим сервер на две директории: в первой будут исполнимые файлы, а во второй — данные (файлы сайтов и баз данных). В будущем, когда возникнет необходимость делать резервные копии информации или обновлять веб-сервер, вы поймёте, насколько удобен этот подход!

Мы установим сервер в отдельную директорию. Для этого в корне диска C: создайте каталог Server. В этом каталоге создайте 2 подкаталога: bin (для исполнимых файлов) и data (для сайтов и баз данных).

Перейдите в каталог data и там создайте подпапки DB (для баз данных) и htdocs (для сайтов).

Перейдите в каталог C:ServerdataDB и создайте там пустую папку data.

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

Установка локального сервера баз данных MySQL

MySQL можно пропустить – для изучения основ PHP вам он не нужен!

Запускаем инсталлятор MySQL:

Принимаем лицензионное соглашение, жмем Next:

В следующем окне выбираем Custom:

Дальше Browse. чтобы изменить путь установки:

Жмем OК, затем Next.

В следующем окне жмем снова Next, в конце Finish и начинаем конфигурирование:

Если процесс конфигурирования не начался автоматически, запустите файл MySQLInstanceConfig , который находится в папке bin , по адресу C:serverMySQLin .

Далее жмем Next:

Выбираем Standart Configuration, жмем Next:

В следующем окне указываем корневой пароль, который нужно запомнить (root password) , например, 55555:

Жмем Next, затем Execute.

Если все сделано верно, программа выдаст соответствующий отчет:

Если последний пункт не прошел, забейте на него, на данном этапе это не столь важно

Настройка файла httpd.conf

Так как мы будем использовать сервер Apache в связке с PHP, нам необходимо настроить файл конфигурации httpd.conf , который находится на вашем локальном компьютере в директории C:serverapacheconf .

Действуйте в следующем порядке:

  1. Вызовите панель управления сервером двойным кликом по его значку в трее, нажмите Stop .
  2. Двойным щелчком мыши откройте фаил httpd.conf .
  3. Найдите строчку ServerRoot , впереди нее не должно быть символа решетки # . Впишите адрес папки с установленным сервером Apache, результатом должна быть строка следующего содержания: ServerRoot «C:/server/apache» (это строка может быть изначально).
  4. Найдите строчку DocumentRoot «C:/server/apache/htdocs» и замените ее на DocumentRoot «C:/server/www» – она укажет серверу путь к папке где будут храниться страницы сайта и тому подобное.
  5. Найдите строчку и замените ее на .
  6. Строчку DirectoryIndex index.html замените на DirectoryIndex index.php index.php3 index.html index.htm .
  7. Строчку ScriptAlias /cgi-bin/ «C:/server/apache/cgi-bin/» замените на ScriptAlias /cgi-bin/ «C:/server/www/cgi-bin/» .
  8. замените на .
  9. В контейнере ниже строчки AddType application/x-gzip .gz .tgz добавте две другие: AddType application/x-httpd-php .php и AddType application/x-httpd-php .php3 .

Сохраните измененный файл там же.

Проблема установки Apache под Windows

Основная проблема установки Web-сервера Apache под Windows заключается в том, что после первичной установки дистрибутива весь пакет (исполняемые программы, конфигурационные файлы, файлы журналов работы сервера и файловая область для размещения Web-страниц) размещается в одном месте. Это мешает нормальной эксплуатации продукта по следующим причинам:

  • Разграничение прав доступа. Исполняемые файлы должны оставаться неизменными, конфигурационными файлами управляет администратор Web-сервера, а доступ к файловой области Web-страниц должны иметь разработчики и администраторы сайта. Права доступа к папке «Program Files» настроены в предположении, что в ней хранятся исполняемые модули программных пакетов, модификация которых не требуется.
  • Захламление системных папок. Папка «Program Files» операционной системы Windows изначально предназначена для размещения только исполняемых файлов. Она может находиться на отдельном томе, размер которого выбирается системным администратором в предположении о его относительном постоянстве. Уж точно никто не ожидает, что в этой папке будут храниться пользовательские данные, галереи рисунков и файловый архив сайта.

Поэтому установка Apache под Windows должна проводиться в два этапа:

  1. Первичная установка программного пакета в выбранную папку.
  2. Оптимизация размещения файловых областей web-сервера и соответствующее изменение его конфигурации.

При модификации конфигурационных файлов Apache нужно постоянно помнить, что в качестве разделителя путей к файлам и папкам должен использоваться символ «прямой слеш», как в операционных системах Unix и Linux, а не «обратный слеш», как в Windows.

Шаг 3. — Настройка файрвола UFW

Для тех кто файрвол не включил и не собирается включать — Переходите к

Напомню! Файрвол UFW  мы включили в этой статье — Первоначальная настройка Ubuntu Server 18.04

Посмотрим профили приложений в фаерволе UFW.(Рис.5)

sudo ufw app list

Рис.5 — Просматриваем профили приложений UFW.

Видим три профиля Apache:

  • Apache — открывает стандартный 80 порт — http нешифрованный веб-трафик 
  • Apache Full — открывает два порта 80 — http [ нешифрованный веб-трафик и 443 — https [ TLS / SSL — зашифрованный веб-трафик 
  • Apache Secure — открывает только 443 порт — https [ TLS / SSL — зашифрованный веб-трафик

Для того чтобы применить какой-либо профиль можно воспользоваться командой — sudo ufw allow ‘Имя_профиля’

Мы применим первый профиль — Apache.(Рис.6)

sudo ufw allow 'Apache'

Рис.6 — Применяем профиль Apache в файволе UFW.

Правило применилось! 

Настройка Apache

Персональные настройки

Начиная с версии Ubuntu Saucy (13.10) свои настройки следует писать в /etc/apache2/conf-available, активировать настройки следует с помощью команды a2enconf.

Свои настройки следует писать в /etc/apache2/conf.d, т.е. создать там файл, например, myconf.conf и определить в нём свои настройки.

## Файл персональных настроек веб-сервера Apache

## Чтобы устранить предупреждение при перезапуске Apache (хотя в целом на производительности это не отразится)
ServerName localhost

## Для того, чтобы Apache интерпретировал php и не предлагал сохранить php-файл
AddType application/x-httpd-php .php .phtml

## Установка кодировки UTF-8 по умолчанию
AddDefaultCharset UTF-8

Для того, чтобы так же работали файлы php, которые начинаются с «<?» вместо «<?php»
нужно, чтобы в /etc/php5/apache2/php.ini было short_open_tag = On

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

service apache2 restart

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

Есть несколько способов, я же расскажу о том как повесить несколько виртуальных хостов на один IP c доступом к ним по имени сервера.

В /etc/hosts прописываем наши хосты:

127.0.0.1    host2.server1 host1.server1

Идём в /etc/apache2/sites-available

и создаём там файлы, названиями которых будут названия, создаваемых серверов, например host1.server1.conf и host2.server1.conf
в эти файлы пишем (здесь показано простейшее, подробнее можно заценить в файле default):

<VirtualHost *:80>
    ServerName host1.server1
    DocumentRoot /var/www/host1.server1
    <Directory /var/www/host1.server1>
        AllowOverride All
    </Directory>
</VirtualHost>
<VirtualHost *:80>
        ServerName host2.server1
        DocumentRoot /var/www/host2.server1
        <Directory /var/www/host2.server1>
                AllowOverride All
        </Directory>
</VirtualHost>

Далее создаём симлинки на эти файлы в директории /etc/apache2/sites-enabled с помощью команды a2ensite:

a2ensite host1.server1 host2.server1

Удаляются симлинки таким же образом командой a2dissite

Перезапускаем Apache, пробуем в браузере открыть хосты

http://host1.server1
http://host2.server1

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

Я рекомендую не обделить вниманием ускорение (opcode cacher)

Установка и настройка Apache 2.4

После скачивания Apache (архив httpd-2.4.41-win64-VS16.zip) распакуйте архив и скопируйте файлы архива в папку Apache24 находящуюся в каталоге C:\WebServer\WAMP\Apache24

После распаковки или копирования перейдите в папку c:\WebServer\WAMP\Apache24\conf\ и откройте файл httpd.conf в любом текстовом редакторе. Лучше конечно использовать Notepad++ в нем есть нумерация строк.

>Скачать Notepad++можно по адресу https://notepad-plus-plus.org/downloads/

Сначала внесем изменения в главный конфигурационный файл сервера Apache – httpd.conf , откроем его в Notepad++ C:/WebServer/WAMP/Apache24/conf/httpd.conf и отыщем следующую директиву – строка 37:

Заменим ее на :

Меняем – Строку 162 :

Заменим ее на :

Меняем — Строка 227:

Заменим ее на :

Меняем – Строка 251:

Заменим ее на :

Меняем – Строка 252:

Заменим ее на :

Находим строку 268:

Находим – Строка 272:

Заменим ее на :

Меняем – Строка 284:

Заменим ее на :

Это основные настройки , при которых Web– сервер Apache уже готов к работе , но мы продолжим настройку сервера .

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

Находим раздел – Строка 252:

Внутри раздела отыскиваем строки — Строка 265:

И заменим их на :

Находим строки под номером 234:

И меняем их на :

Внутри раздела – Строка 384:

Меняем на:

Заменим строку – под номером 433:

На:

Убираем комментарии в строках – 444 , 445 , 499 , 502 , 520 .

Настройка веб-клиента 1С:Предприятие 8.2 под Windows 7 x64 и IIS.

Возникла необходимость отладить небольшую конфигурацию 1С:Предприятие 8.2 под веб-клиентом. Веб сервером был выбран IIS, являющийся самым родным для ОС Windows. Опыт использования этого сервера в Windows XP подсказывал, что с ним будет меньше проблем чем с Apache, но на недавно установленной Windows 7 x64 все оказалось не так просто. Мелкие проблемы начались с момента попытки публикации веб приложения, а после их устранения коснулись уже веб сервера, настройкой которого платформа 1С:Предприятие 8.2 не занимается. Героически победив все свалившиеся напасти, решил скомпоновать и выложить на всеобщее обозрение свои шаги в достижении цели.

Шаг 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

Настройка модулей Apache

Как я уже говорил, Apache — модульная программа, ее функциональность можно расширять с помощью модулей. Все доступные модули загрузчики и конфигурационные файлы модулей находятся в папке /etc/apache/mods-available. А активированные в /etc/apache/mods-enable.

Но вам необязательно анализировать содержимое этих папок. Настройка Apache 2.4 с помощью добавления модулей выполняется с помощью специальных команд. Посмотреть все запущенные модули можно командой:

Включить модуль можно командой:

А отключить:

После включения или отключения модулей нужно перезагрузить apache:

Во время выполнения одной из этих команд создается или удаляется символическая ссылка на файл модуля с расширением load в директории mods-available. Можете посмотреть содержимое этого файла, там только одна строка. Например:

Это к тому, что активировать модуль можно было просто добавив эту строчку в файл apache2.conf. Но принято делать именно так, чтобы избежать путаницы.

Настройки модулей находятся в той же папке, только в файле с расширением .conf вместо load. Например, посмотрим настройки того же модуля для сжатия deflate:

Файлы в папке conf-available, это такие же модули, только они установлены отдельно от apache, это может быть конфигурационные файлы для включения модуля php или любого другого языка программирования. Здесь работает все точно так же, только команды для включения и отключения этих модулей немного другие:

Как вы убедились, включать модули очень просто. Давайте включим несколько необходимых, но не включенных по умолчанию модулей:

Модули expires и headers уменьшают нагрузку на сервер. Они возвращают заголовок Not Modified, если документ не изменился с последнего запроса. Модуль expiries позволяет устанавливать время, на которое браузер должен кэшировать полученный документ. Rewrite позволяет изменять запрашиваемые адреса на лету, очень полезно при создании ЧПУ ссылок и т д. А последний для включения поддержки шифрования по SSL. Не забудьте перезагрузить apache2 после завершения настроек.

Часть 1: делай раз, делай два, делай три!

1. Отправляемся на сайт https://www.apachefriends.org/ru/index.html, выбираем дистрибутив для нужной операционной системы, и загружаем его:

2. Запускаем инсталлятор и следуем инструкциям визарда. Наибольший интерес представляет шаг, на котором выбирается набор устанавливаемых компонентов:

Ясно, что нужно обязательно выбрать базовые элементы “тройки” – Apache + MySQL + PHP. Но в дополнение к этому можно установить ещё какие-то из предлагаемых компонентов:

  • FileZilla FTP Server – как следует из названия, это FTP-сервер, он может быть полезен, если, например, XAMPP устанавливается на виртуальную машину, тогда файлы устанавливаемых веб-приложений туда удобно будет загружать по протоколу FTP
  • Mercury Mail Server – опять таки, из названия ясно, что сервер для работы с электронной почтой, поддерживает протоколы POP3, IMAP, SMTP, но лично мне он кажется неудобным, поэтому я предпочитаю его не ставить, а использовать что-нибудь альтернативное
  • Tomcat – это сервер приложений для JavaEE, его имеет смысл устанавливать только в том случае, если вы собираетесь развёртывать веб-приложения, написанные на Java
  • Perl – язык программирования, который одно время был достаточно популярен среди веб-разработчиков, но в последнее время используется достаточно редко
  • phpMyAdmin – веб-интерфейс для управления СУБД MySQL, имеет смысл его установить, потому что для локального веб-сервера это, наверное, самый удобный способ конфигурирования СУБД MySQL
  • Webalizer – это веб-прилрожение для анализа лог-файлов сервера и сбора статистики, для локального веб-сервера вещь бесполезная, если только вы не собираетесь использовать эту информацию, например, при нагрузочном тестировании
  • Fake Sendmail – это “неполноценная” реализация утилиты sendmail для Windows, с большой вероятностью она вам не пригодится, потому что почту из веб-приложений обычно можно отправлять и без этой утилиты

3. После выбора компонентов на следующем шаге нужно выбрать директорию, в которую будет установлен XAMPP.

Рекомендуется использовать директорию, путь к которой не содержит пробелов и все названия директорий в этом пути в именах содержат только символы латинского алфавита или цифры. В общем, избегайте “плохих” символов в пути.

И после этого шага, наконец, начинается установка.

4. Когда процедура установки завершится, запускаем панель управления XAMPP.

В ней нужно активировать два модуля – Apache и MySQL, нажав две соответствующие кнопки Start:

Если всё пройдёт успешно, названия модулей окрасятся в зелёный цвет и станет активной кнопка Admin для каждого из них:

5. Осталось только зайти браузером по адресу http://localhost/ и убедиться, что веб-сервер действительно работает:

6. Затем зайти браузером по адресу http://localhost/phpmyadmin/ и убедиться, что СУБД MySQL тоже работает и доступна:

Теперь на сервер можно устанавливать веб-приложения.

Если у вас всё запустилось и в браузере открылась приветственная страница XAMPP – дальше можно не читать.

Вся оставшаяся часть статьи посвящена рассмотрению различных проблем и возможных методов их решения.

Шаг 4 — Управление процессом Apache

Теперь ваш веб-сервер запущен и работает, и настало время изучить некоторые простые команды управления, используя .

Чтобы остановить веб-сервер, введите:

Чтобы запустить остановленный веб-сервер, введите:

Чтобы остановить и снова запустить службу, введите:

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

По умолчанию Apache настроен на автоматический запуск при загрузке сервера. Если вы не хотите этого, отключите такое поведение с помощью следующей команды:

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

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

ШАГ 1 развертывание дистрибутива Apache

Сборка Apache 2.4.23 x64 от Apache Haus поставляется в zip архиве и не имеет инсталлятора Windows, поэтому считается портативным (portable) вариантом дистрибутива Apache. Portable версия имеет ряд удобств и позволяет разместить дистрибутив в любом каталоге файловой системы и самостоятельно настроить запуск Apache так как вам нужно.

Рекомендую для разрешения дистрибутива Apache выбрать каталог, путь к которому будет содержать только EN символы и не будет иметь пробелов, т.к. этот путь станет для Apache значением ServerRoot директивы, в которой задается домашняя директория WEB сервера.

В примерах этой статьи и скринкаста дистрибутив Apache будет развернут в директорию «Z:\WebDevelopment\Apache24» и, соответственно, ServerRoot директива будет определена как «Z:/WebDevelopment/Apache24».

Формат значения пути в директиве ServerRoot следующий:

  • слеши прямые и одинарные;
  • завершающего слеша нет;
  • если есть пробелы, то путь должен быть в кавычках («path_to»),
  • на Linux значение чувствительно к регистру символов.

Структура дистрибутива Apache

Сборка Apache 2.4.23 x64 от Apache Haus имеет следующую структуру каталогов:

|Apache24....................Домашняя директория Apache - ServerRoot
    |-- bin..................Директория с бинарниками Apache
    |    `-- ...
    |    `-- ApacheMonitor.exe...Программа монитор для управления Apache как Windows службой
    |    `-- httpd.exe...........Главный исполняемый файл web сервера Apache
    |    `-- ...
    |-- cgi-bin.......Директория обработчика для CGI program
    |-- conf..........Директория с конфигурационными файлами Apache
    |    `-- extra....Директория с дополнительными конфигами Apache, которые подключаются в httpd.conf
    |        |    `-- httpd-ahssl.conf
    |        |    `-- httpd-autoindex.conf
    |        |    `-- httpd-dav.conf
    |        |    `-- httpd-default.conf
    |        |    `-- httpd-deflate.conf
    |        |    `-- httpd-info.conf
    |        |    `-- httpd-languages.conf
    |        |    `-- httpd-manual.conf
    |        |    `-- httpd-mpm.conf
    |        |    `-- httpd-multilang-errordoc.conf
    |        |    `-- httpd-proxy-html.conf
    |        |    `-- httpd-ssl.conf
    |        |    `-- httpd-userdir.conf
    |        |    `-- httpd-vhosts.conf
    |    `-- original........Директория исходных конфигов от Apache, добавлена в сборку для справки
    |    `-- ssl.............Директория для SSL сертификатов
    |    `-- charset.conv....Конфиг установки кодировки, подключаются в httpd.conf
    |    `-- httpd.conf......Главный конфиг Apache в данной сборке от Apache Haus
    |    `-- magic...........Конфиг скриптов для модуля mime_magic
    |    `-- mime.types......Конфиг установки MIME типов
    |    `-- openssl.cnf.....Конфиг OpenSSL
    |-- error................Директория с конфигами страниц ошибок для Apache
    |-- htdocs...............Директория и хост по умолчанию с документацией от Apache Haus
    |-- icons................Директория с иконками
    |-- include..............Директория служебных скриптов Apache
    |-- lib..................Директория вспомогательных библиотек
    |-- logs.................Директория файлов журналов Apache
    |-- modules..............Директория модулей Apache
    |-- ABOUT_APACHE.txt
    |-- CHANGES.txt
    |-- INSTALL.txt
    |-- LICENSE.txt
    |-- NOTICE.txt
    |-- OPENSSL-NEWS.txt
    |-- OPENSSL-README.txt
    |-- README.txt
|-- readme_first.html......Краткий help от Apache Haus, лежит в корне zip архива

Данная сборка Apache 2.4.23 x64 от Apache Haus для Windows является полным дистрибутивом WEB сервера и содержит все необходимые исполняемые и конфигурационные файлы для полноценной работы Apache как веб сервера, включая и использование https соединения. Соответственно, установил эту сборку и настроив ее, вы получаете полный, со всеми модулями, web сервер Apache, который можете использовать не только для разработки и тестирования, но и для продуктивного хостинга сайтов на Windows.

В zip архиве данной сборки так же вложен файл readme_first.html, который содержит краткое описание компонентов данной сборки и их версий. Так же, в этом файле приведены краткие инструкции от Apache Haus по установке Apache, VC14, инсталляции Apache как системной службы и даны необходимые ссылки.

Установка XAMPP

Приступаем к установке сборки Web-сервера XAMPP, она простая, поэтому проблем возникнуть не должно.

Шаг 1

Запускаем скаченный файл xampp-win32-5.6.8-0-VC11-installer.exe. Первое окно программы установки — это окно приветствия, жмем «Next».

Шаг 2

Далее, выбираем компоненты, которые нужно установить, по умолчанию выбрано все, но если Вы не хотите что-то устанавливать, т.е. Вам это не нужно, то можете снять галочку с соответствующего пункта, например, мне не нужен Perl, жмем «Next».

Затем выбираем каталог, в который мы будем устанавливать XAMPP, я оставлю по умолчанию, жму «Next».

На этом шаге мы можем оставить или убрать галочку «Узнать больше о Bitnami для XAMPP», я галочку убрал, жму «Next».

Шаг 5

Все готово к установке, жмем «Next».

После того как установка будет завершена, нам предложат сразу запустить «Control Panel», жмем «Finish».

Вот и все, у нас запустилась панель управления XAMPP.

Рейтинг
( Пока оценок нет )
Editor
Editor/ автор статьи

Давно интересуюсь темой. Мне нравится писать о том, в чём разбираюсь.

Понравилась статья? Поделиться с друзьями:
Люкс-хост
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: