Что необходимо для установки веб-сервера

Установка PHP (ручная)

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

Содержимое архива распаковываем в директорию C:\PHP (папку PHP создаём сами). Далее в папке C:\PHP находим два файла php.ini-development и php.ini-production. Эти файлы содержат базовые настройки. Первый файл оптимизирован для разработчиков, второй для рабочих систем. Основная разница в настройках: для разработчиков разрешен вывод на экран ошибок, тогда как для рабочих систем вывод ошибок запрещен из соображений безопасности.

Сделаем кое что, прежде чем продолжить установку PHP. Открываем Панель управления → оформление и персонализация → параметры папок → вкладка Вид, находим строку «Скрывать расширения для зарегистрированных типов файлов», и если там стоит галочка, убираем ее и нажимаем «Применить».

Продолжаем установку. И так, выбираем нужный вам файл (я выбрал php.ini-development). Выбранный файл нужно будет просто немного переименовать.
Правый клик по файлу → Переименовать → стираем «-development», оставляя только php.ini

Теперь открываем php.ini, нам необходимо внести несколько изменений (будьте внимательны при внесении изменений, если в начале строки стоит точка с запятой, ее надо будет убрать):

  1. Найти опцию extension_dir (строка 721) и изменить путь к папке ext в соответствии с путем установки PHP. У меня это выглядит так: extension_dir = «C:\PHP\ext»
  2. Найти опцию upload_tmp_dir (строка 791). Здесь надо указать путь к временной папке. Я выбрал c:\windows\temp. Всё вместе: upload_tmp_dir = «C:\Windows\Temp»
  3. Найти опцию session.save_path (строка 1369). Здесь также требуется указать путь к временной папке: session.save_path = «C:\Windows\Temp»
  4. В разделе Dynamic Extensions необходимо раскомментировать несколько строк (убрать точку с запятой в начале), соответствующих модулям PHP, которые могут понадобиться для работы: 866, 873, 874, 876, 886, 895, 900

Сохраняем изменения и закрываем.

Теперь вернемся к настройкам Apache. Нам придется немного отредактировать конфиг Apache. Заходим в папку C:\Apache24\conf и открываем файл httpd.conf.

Переходим в конец файла и в самом низу добавляем следующие строчки:

# Charset
AddDefaultCharset utf-8
# PHP
LoadModule php5_module "C:/PHP/php5apache2_4.dll"
PHPIniDir "C:/PHP"
AddType application/x-httpd-php .php

Путь к папке php указываете тот, который вы выбрали в процессе установки (если вы устанавливали в другую директорию).

В этом же файле находим следующие строки (строки примерно 274-276):

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

Перед index.html дописываем через пробел index.php. В итоге получается:

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

Чтобы изменения вступили в силу, перезапускаем службу Apache (значок в трее — Apache monitor). Если служба перезапустится — это хороший знак. Если нет (выскочит ошибка) — ищите ошибки в конфигурационных файлах. Особенно внимательно проверьте все пути.

Чтобы нам убедиться в работоспособности PHP, откройте папку C:\Apache24\htdocs (здесь содержатся файлы веб-сайта по умолчанию). Создайте в этой папке файл index.php со следующим содержанием:

<?php phpinfo(); ?>

Теперь откройте в браузере http://localhost/ (или просто localhost). Если все прошло нормально, вы увидите похожую страницу:

Если у вас вместо страницы с инфомацией о php открылась страница с надписью «It works!», тогда просто нажмите обновить страницу.

Скачиваем Apache

Приступим к поиску и скачиванию…

На текущий момент актуальны две ветки стабильных версий: Apache httpd 2.4.x и Apache httpd 2.2.x.

Под описанием каждой из версии есть ссылки Download, кликаем по данной ссылки или по ссылки ниже download page.

В версии Apache httpd 2.4.x кликаем по ссылки Files for Microsoft Windows.

Мы перейдем на страницу, на которой, в параграфе с заголовком Downloading Apache for Windows, предоставлены ссылки на ресурсы, с которых можно скачать необходимые дистрибутивы. А так же, ниже на странице объясняется, как установить, настроить и запустить Apache под Microsoft Windows.

ссылки на ресурсы, для скачивания необходимых дистрибутивов Apache

Рассмотрим скачивание с следующих ресурсов: ApacheHaus или Apache Lounge.

Дистрибутив с ApacheHaus — www.apachehaus.com/cgi-bin/download.plx

Открываем страницу и видим в начале небольшое описание, а ниже него расположен ряд ссылок-якоряй, к примеру , , — версии Apache, и последнии в списке , — пакеты Visual C++, речь о которых шла выше в материале.

Для полного понимания объясняю:

и разработаны и скомпилированы с помощью определенной версии Microsoft Visual Studio, и для запуска и работы данных версий Apache, нам необходимо скачать и установить пакет Visual C++ .

Соответственно для нам необходим пакет Visual C++ .

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

Выполняем следующие действия:

Скачиваем архив с содержимым веб-сервера.

Для этого кликаем по якорю , переходим на страницу ниже, и скачиваем Apache 2.4.12 x64 (httpd-2.4.12-x64-vc11-r2.zip). Не забываем про разрядность, если у Вас 32 битная машина скачиваем Apache 2.4.12 (httpd-2.4.12-x86-vc11-r2.zip).

Архив содержит в себе директорию Apache24 и html документ, который можно и нужно открыть в браузере. В данном html документе есть более подробное описание скаченного архива. А так же указаны версии ОС Windows, на которых будет работать данный веб-сервер. Под заголовком «Required Redistributable» есть ссылка для скачивания пакета Visual C++.

Скачиваем пакет Visual C++ 2012 (VC11).

Пакет Visual C++ можно скачать по ссылки в параграфе с заголовком «Required Redistributable» в html документе скаченого архива. Или все с той же страницы от куда был скачен сам архив с веб-сервером.

Для этого к ликаем по якорю , переходим на страницу ниже, и там будет находится ссылка Direct Download Link для скачивание пакета Visual C++. В моем примере я скачиваю Microsoft Visual C++ 2012 Update 4 Redistributable Package (X86 & x64). Данный пакет необходимо будет установить совместно с развертываем сервера Apache.

ApacheHaus

Дистрибутив с Apache Lounge — www.apachelounge.com/download

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

Apache 2.4.12 Win64 (httpd-2.4.12-win64-VC11.zip)

Архив содержит в себе директорию Apache24 и текстовый документ, в котором имеется более подробное описание скаченного архива, списко версии ОС Windows, на которых будет работать данный веб-сервер, ссылка на скачивание пакета Visual C++ и др.

Так же на странице www.apachelounge.com/download в левой колонке, имеется меню, оперируя которым, возможно подобрать подходящую версию веб-сервера.

Apache Lounge

Установка PHP 5

Самый распространённый метод установки и использования PHP — как модуль сервера (в отличии от CGI). Установка и активация модуля достаточно проста:

Перезагружаем изменения:

sudo touch /var/www/site.loc/public_html/test.php
echo "<?php phpinfo(); ?>" | sudo tee /var/www/site.loc/public_html/test.php

По адресу http://site.loc/test.php нас должен ожидать подробный отчёт о статусе PHP на нашем сервере.

Несколько советов по первоначальной настройке php-интерпретатора:

  • Файл конфигурации можно найти в phpinfo, значение «Loaded Configuration File», в моём случае это «/etc/php5/apache2/php.ini»;
  • Установите значение «short_open_tag = On» в файле php.ini и перезагрузите сервер, это позволит использовать сокращённый синтаксис php;
  • Включиет mod_rewrite «sudo a2enmod rewrite» и перезагрузите сервер, это позволит создать ЧПУ. В конфигурацию VirtualHost полезно добавить для манипуляцией «RewriteEngine On» из файла .htaccess, в некоторых случаях отсутствие такой директивы не позволит управлять ЧПУ посредствам mod_rewrite.

Установка веб сервера Apache

Начинаем установку с самого главного, а именно, c программы Apache, который будет служить вам веб сервером. Основная причина, по которой был выбран Apache, является то, что это кроссплатформенное программное обеспечение, основанное на свободном исходном коде, безопасен и надёжен в работе, гибок в установке и настройке. Более подробную информацию и документацию, вы можете найти на официальном сайте apache.org

Скачиваем файл установки httpd-2.2.25-win32-x86-openssl-0.9.8r. После того, как скачали, приступаем к установке веб сервера. Для бедующего сервера, создайте папку C:\server, а в ней папку с именем Apache2

Запустите файл httpd-2.2.25-win32-x86-openssl-0.9.8y.msi (расширение .msi будет скрыто), после чего появится окно.

Рис.1 Установка веб сервера Apache

Далее кликаем на кнопку «Next», появляется следующее окно с лицензионным соглашением.

Рис.2 Установка веб сервера Apache

Выбираем: «I accept the terms in the agreement», чтобы принять лицензионное соглашение. В следующем шаге должно появиться новое окно с описанием веб серрвера Apache.

Рис.3 Установка веб сервера Apache

Кликаем на кнопку “Next” и продолжаем установку. Далее появляется следующие окно.

Рис.4 Установка веб сервера Apache

Рис.5 Установка веб сервера Apache

После того как вы заполнили все поля, кликаем на кнопку “Next”. Должно появиться новое окно.

Рис.6 Установка веб сервера Apache

В этом окне вам предлагают выбрать тип установки, полную (Typical) и выборочную(Custom). Выбираем “Custom” и продолжаем установку.

Рис.7 Установка веб сервера Apache

В следующем шаге вам нужно выбрать куда устанавливать, а также дополнительные библиотеки. Кликаем на против креcтика “Build Headers and Libraries”, в выпадающем списке выбираем “This features will be installed on local hard drive” Потом выбираем папку, куда устанавливать Apache. Вместо C:\Program Files (X86)\Apache Software Foundation\Apache 2.2 указываем C:\server\Apache2\ и кликаем на сново на кнопк “Next”

Рис.8 Установка веб сервера Apache

Должно появиться заключительное окно.

Рис.9 Установка веб сервера Apache

Кликаем на кнопку “Install”, чтобы начать процесс установки.

Рис.10 Установка веб сервера Apache

Ждем завершения процесса установки, после чего должно появиться окно с сообщение, что процесс установки завершен.

Рис.11 Установка веб сервера Apache

Кликаем на кнопку “Finish” и завершаем установку. Всё, теперь установка веб сервера завершена. Чтобы убедиться в этом, смотрим в правом нижнем углу, вы должны увидеть значок, как показано на рисунке 12.

Рис.12 Установка веб сервера Apache

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

netstat -o -n -a | findstr 0.0:80

Рис.13 Установка веб сервера Apache

Очень часто 80 порт занимает программы Skype Если ’80 порт занимает это так, отключите в настройках использование в качестве альтернативных портов 80 и 443 (Инструменты -> Настройки -> Расширенный настройки -> Соединение -> снимаем галочку (Использовать порты 80 и 443 в качестве альтернативных)

Проверяем работоспособность установленого веб сервера. Открываем браузер и набираем в адресной строке http://localhost или http://127.0.0.1 Если вы видите, тоже самое, что на рисунке 14. Поздравляю, ваш веб сервер установлен удачно!

Рис.14 Установка веб сервера Apache

Настраиваем виртуальные хосты (VirtualHost)

(только для локальных хостов) создать файл vhosts.sh со следующим содержимым:

#!/bin/bash
echo «Creating Virtual Host»
cd /etc/apache2/sites-available
cat <<EOF >> «$1.conf»
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName $1
ServerAlias www.$1
DocumentRoot «/var/www/$1»

<Directory /var/www/$1>
Options All
AllowOverride All
</Directory>
</VirtualHost>
EOF
mkdir «/var/www/$1»
cd /etc/apache2/sites-enabled
ln -s «/etc/apache2/sites-available/$1.conf» «$1.conf»
echo «Editing /etc/hosts»
cat <<EOF >> «/etc/hosts»
127.0.0.1 $1
EOF
echo «Set permissions»
chmod 0777 -R «/var/www/$1»
echo «Restarting Apache2»
/etc/init.d/apache2 restart
echo «Finished!»
echo «Local address: /var/www/$1»
echo «Web address: http://$1»

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30

#!/bin/bash

echo»Creating Virtual Host»

cd/etc/apache2/sites-available

cat<<EOF>>»$1.conf»

<VirtualHost *80>

ServerAdmin webmaster@localhost

ServerName$1

ServerAlias www.$1

DocumentRoot»/var/www/$1″

<Directory/var/www/$1>

Options All

AllowOverride All

</Directory>

</VirtualHost>

EOF

mkdir»/var/www/$1″

cd/etc/apache2/sites-enabled

ln-s»/etc/apache2/sites-available/$1.conf»»$1.conf»

echo»Editing /etc/hosts»

cat<<EOF>>»/etc/hosts»

127.0.0.1$1

EOF

echo»Set permissions»

chmod0777-R»/var/www/$1″

echo»Restarting Apache2″

/etc/init.d/apache2 restart

echo»Finished!»

echo»Local address: /var/www/$1″

echo»Web address: http://$1″

Даете права на выполнение:

chmod + x /var/www/vhosts.sh

1 chmod+x/var/www/vhosts.sh

Пример создания хоста:

sudo /var/www/vhosts.sh mysite.loc

1 sudo/var/www/vhosts.sh mysite.loc

Все последующие шаги по virtualhosts можно пропускать.

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

127.0.0.1 mysite.loc

1 127.0.0.1mysite.loc

Переходим в папку /etc/apache2/

Смотрим, что внутри:

root @ HP: /etc/apache2 # ls -l
всего 88
-rw-r — r— 1 root root 7728 26 апреля 22:55 apache2.conf
-rw-r — r— 1 root root 7691 26 апреля 22:34 apache2.conf ~
drwxr-xr-x 2 root root 4096 26 апреля 22:52 conf-available
drwxr-xr-x 2 root root 4096 26 апреля 22:52 conf-enabled
-rw-r — r— 1 root root 1782 3 января 16:48 envvars
-rw-r — r— 1 root root 31063 3 января 16:48 magic
drwxr-xr-x 2 root root 12288 26 апреля 22:27 mods-available
drwxr-xr-x 2 root root 4096 26 апреля 22:27 mods-enabled
-rw-r — r— 1 root root 320 7 января 15:23 ports.conf
drwxr-xr-x 2 root root 4096 26 апреля 22:43 sites-available
drwxr-xr-x 2 root root 4096 26 апреля 22:44 sites-enabled

1
2
3
4
5
6
7
8
9
10
11
12
13

root@HP/etc/apache2# ls -l

всего88

-rw-r-r—1root root772826апреля2255apache2.conf

-rw-r-r—1root root769126апреля2234apache2.conf~

drwxr-xr-x2root root409626апреля2252conf-available

drwxr-xr-x2root root409626апреля2252conf-enabled

-rw-r-r—1root root17823января1648envvars

-rw-r-r—1root root310633января1648magic

drwxr-xr-x2root root1228826апреля2227mods-available

drwxr-xr-x2root root409626апреля2227mods-enabled

-rw-r-r—1root root3207января1523ports.conf

drwxr-xr-x2root root409626апреля2243sites-available

drwxr-xr-x2root root409626апреля2244sites-enabled

В папке sites-available хранятся кофниги доступных хостов, а в sites-enabled ссылки на активные хосты.

Переходим в доступные хосты и создаем конфиг для mysite.loc. Кстати, если ваш дефолтный конфиг заканчивается на .conf тогда создавайте конфиги с расширением * .conf.

nano sites-available/mysite.conf

1 nano sites-available/mysite.conf

Пишем туда:

ServerName mysite.loc DocumentRoot /var/www/mysite.loc AllowOverride All

1 ServerName mysite.loc DocumentRoot/var/www/mysite.loc   AllowOverride All

Данной записи достаточно, чтобы работал ваш локальный хост. Теперь нужно создать ссылку на него в sites-enabled.

a2ensite mysite.conf

1 a2ensite mysite.conf

Ошибки: если в вас возникает ошибка и вы не можете создать ссылку. Тогда это сделать можно следующей записью:

ln /etc/apache2/sites-available/mysite.conf /etc/apache2/sites-enabled/

1 ln/etc/apache2/sites-available/mysite.conf/etc/apache2/sites-enabled/

Теперь нужно только перезагрузить настройки Apache2:

service apache2 reload
## или, если необходимо
service apache2 restart

1
2
3

service apache2 reload

## или, если необходимо

service apache2 restart

Итак, Apache2 работает, первый хост добавлен!

Установка Apache 2.4

Шаг 1. На сайте apache.org нет версии Apache 2.4 для Windows. Поэтому дистрибутив возьмем на apachelounge.com. В момент написания статьи последний релиз – Apache 2.4.25 win64

В дистрибутиве Apache нет файла инсталляции. Поэтому установка будет выполняться вручную.

Шаг 4 .  Скачиваем  apache 2/4/25 win64   и компоненту C++ Redistributable Visual Studio 2015 : vc_redist_x64/86.exe.

Шаг 5   Создаем папку и распаковываем архив httpd-2.4.25-win64-VC14.zip временную папку.  Скопируйте папку  Apache24 на диск С.  Не меняйте путь. Пусть будет C:\Apache24 . Правок в файле конфигурации будет гораздо меньше, если маршрут  будет такой C:\Apache24

Шаг 6   С помощью блокнота редактируем  файл  конфигурации httpd.conf , установленный по маршруту  C:\Apache2\conf

Строка 46  Устанавливаем значение параметра ServerName.ServerName localhost:80

Строка 116 Снимаем  комментарий  (#) и делаем доступно загрузку модуля

LoadModule foo_module modules/mod_foo.so  

Строка 172  . Устанавливаем значение параметра ServerName и ServerAdminServerName localhost:80

ServerAdmin [email protected]   

Я создал специальную учетную запись электронной почти на yandex  для параметра ServerAdmin

 Строка 179  Устанавливаем значение параметра DocumentRoot (расположение документов сайта). Я оставил такой мршрут по умолчанию

DocumentRoot C:/Apache24/htdocs

Шаг 7  Исполняемые файлы Apache находятся в папке C:\Apache24\bin. Добавляем это значение в переменную среды PATH Windows.

Шаг 8 Перед установкой  Apache как службу нужно запустить компоненту C++ Redistributable Visual Studio 2015 : vc_redist_x64/86.exe.

Шаг 9  Устанавливаем Apache как службу.

Исполняемые файлы Apache находятся в папке C:\Apache24\bin.  Для этом открываем командную панель  (Start > Run > cmd) с правами администратора и командой cd меняем директорию, чтобы было C:\Apache24\bin >  и запускаем httpd.exe -k install

Отметим, что я забыл выполнить шаг 8 перед  запуском службы Apache.  В результате без компоненты  C++ Redistributable Visual Studio 2015  не запускается  Apache из-за того , что нужна библиотека  vcruntime140.dll  в папке  C:\Windows\SysWOW64 ( а  для 32 бит в папку C:\Windows\System32).

Аналогичное сообщение дает параметр тестирования службы httpd.exe -t

Можно попробовать скачать компоненту  vcruntime140.dll от сюда  http://www.dll.ru/files/vcruntime140-dll.html и  скопировать  файл в папку  C:\Windows\SysWOW64  ( для 32 бит нужно скопировал  файл в папку C:\Windows\System32).  Однако после этого нужно перезагружать компьютер. Поэтому я рекомендую установить  компоненту C++ Redistributable Visual Studio 2015 : vc_redist_x64/86.exe. Установка этой компоненты не требует перезагрузки компьютера.

Шаг  10 После запуска службы apache  httpd.exe -k start , открываем список запущенным служб в управлении компьютера и находим службу apache 2.4

убедимся, что служба запущена и тип запуска – “автоматически”  

В случае если сервер не запустился, следует проверить, не занят ли порт 80, который использует Apache по умолчанию. Делается это с помощью командыnetstat –anb

Чаще всего этот порт используют Skype или Firefox. В этом случае следует либо освободить порт, либо перевести Apache на порт 8080.

Для этого в файле httpd.conf изменяем значений параметров ServerName и Listen. ServerName localhost:8080

После этого перезапускаем службу командойhttpd.exe -k restart

Для удобства работы с сервером Apache можно установить в меню автозагрузки Windows ярлык, указывающий на C:\TestServer \Apache24\bin\ ApacheMonitor.exe

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.

Таблица совместимости версии Apache и ОС Microsoft Windows

Apache

пакет Microsoft Visual C++

Операционная система

httpd-2.2.x-x86

VC9

Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008, Windows 7, Windows Server 2012, Windows 8/8.1

httpd-2.2.x-x64

Windows XP x64, Windows Server 2003 x64, Windows Vista x64, Windows Server 2008 x64, Windows 7 x64, Windows Server 2012 x64, Windows 8/8.1 x64

httpd-2.4.x-x86

VC9

Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008, Windows 7, Windows Server 2012, Windows 8/8.1

httpd-2.4.x-x64

Windows XP x64, Windows Server 2003 x64, Windows Vista x64, Windows Server 2008 x64, Windows 7 x64, Windows Server 2012 x64, Windows 8/8.1 x64

httpd-2.4.x-x86

VC11

Windows Vista, Windows Server 2008, Windows 7, Windows Server 2012, Windows 8/8.1

httpd-2.4.x-x86

Windows Vista x64, Windows Server 2008 x64, Windows 7 x64, Windows Server 2012 x64, Windows 8/8.1 x64

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

Установка MySQL в CentOS 8

Как я уже писал ранее, сейчас все большее распространение получает форк mysql — mariadb. Она имеет полную совместимость с mysql, так что можно смело пользоваться. Я предпочитаю использовать именно ее.

Устанавливаем mariadb на CentOS 8:

# dnf install mariadb mariadb-server

Запускаем mariadb и добавляем в автозагрузку.

# systemctl start mariadb
# systemctl enable mariadb

Запускаем скрипт начальной конфигурации mysql и задаем пароль для root. Все остальное можно оставить по-умолчанию.

# /usr/bin/mysql_secure_installation

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

Файлы настроек mysql/mariadb в Centos 8 лежат в директории /etc/my.cnf.d. Для обычной работы достаточно настроек по-умолчанию. Но если вы решите изменить их, не забудьте перезапустить службу баз данных.

Перезапуск mariadb/mysql в CentOS 8:

# systemctl restart mariadb

На этом все. Базовый функционал web сервера на CentOS 8 настроен. Дальше настроим популярную панель управления mysql сервером — phpmyadmin.

Шаг 1 — Установка Apache и настройка файрвола

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

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

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

Поскольку мы используем команду , эти команды будут выполняться с привилегиями root. В процессе операционная система запросит ваш пароль пользователя.

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

Настройка глобальной переменной ServerName

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

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

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

Внимание

Если вы не знаете IP-адрес Вашего сервера, вы можете прочитать об этом в разделе .

/etc/apache2/apache2.conf

После этого сохраните и закройте файл.

Теперь можно проверить результат напечатав следующую команду:

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

Перезапустите Apache для применения внесённых изменений:

Теперь можно приступать к настройке файрвола.

Настройка файрвола

Теперь убедимся, что ваш файрвол пропускает HTTP и HTTPS трафик. Мы будем исходить из предположения, что вы уже выполнили инструкции по первичной настройке сервера и включили файрвол UFW. Для начала убедимся, что UFW имеет профиль для Apache следующей командой:

Проверим настройку профиля , она должна разрешать трафик для портов 80 и 443:

Разрешим входящий трафик для этого профиля:

Проверить результат установки можно набрав в вашем веб-браузере публичный IP адрес вашего сервера (если вы еще не знаете, как найти публичный IP адрес вашего сервера, смотрите следующий раздел этой статьи):

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

Если вы видите эту страницу, ваш веб-сервер корректно установлен и доступен через файрвол.

Как найти публичный IP адрес вашего сервера

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

Определить этот адрес можно с помощью командной строки. Сначала используйте инструмент для получения вашего адреса набрав следующую команду:

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

В качестве альтернативы можно узнать, как видит ваш сервер. Это можно сделать следующим образом:

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

Добавление JNDI-ресурса в Apache Tomcat

Закачиваем его на сервер с помощью PuTTY:

pscp.exe postgresql-9.4-1201.jdbc41.jar root@<IP_сервера>:/root

1 pscp.exe postgresql-9.4-1201.jdbc41.jarroot@<IP_сервера>root

На сервере перемещаем его из каталога /root в каталог /opt/apache-tomcat-8.0.24/lib:

mv /root/postgresql-9.4-1201.jdbc41.jar /opt/apache-tomcat-8.0.24/lib/

1 mv /root/postgresql-9.4-1201.jdbc41.jar /opt/apache-tomcat-8.0.24/lib/

Открываем на редактирование файл /opt/apache-tomcat-8.0.24/conf/context.xml и дописываем там JNDI-ресурс:

<Resource name=»jdbc/tomcatDB»
auth=»Container»
type=»javax.sql.DataSource»
username=»tomcat»
password=»newuserpassword»
driverClassName=»org.postgresql.Driver»
url=»jdbc:postgresql://localhost:5432/tomcat»
maxTotal=»8″
maxIdle=»4″/>

1
2
3
4
5
6
7
8
9

<Resource name=»jdbc/tomcatDB»
            auth=»Container»
            type=»javax.sql.DataSource»
            username=»tomcat»
            password=»newuserpassword»
            driverClassName=»org.postgresql.Driver»
            url=»jdbc:postgresql://localhost:5432/tomcat»
            maxTotal=»8″
            maxIdle=»4″/>

Эти строчки нужно добавлять внутри тега Context.

Теперь JNDI-ресурс настроен. Для проверки можно остановить сервер и запустить снова. В логе не должно быть ошибок. Можно деплоить war-файлы. Для этого их нужно поместить в каталог /opt/apache-tomcat-8.0.24/webapps и Apache Tomcat сам их развернёт и запустит.

Шаг 5. Настройте Apache для загрузки модулей PHP

Стек FAMP может работать только тогда, когда Apache настроен для работы с PHP.

Выполните команду ниже, войдите в файл конфигурации:

$ sudo nano /usr/local/etc/apache24/modules.d/001_mod-php.conf

Затем добавьте в файл следующие записи:

<IfModule dir_module>
DirectoryIndex index.php index.html
<FilesMatch "\.php$">
SetHandler application/x-httpd-php
</FilesMatch>
<FilesMatch "\.phps$">
SetHandler application/x-httpd-php-source
</FilesMatch>
</IfModule>

Чтобы применить изменения, сохраните и выйдите из файла.

Протестируйте конфигурацию Apache с помощью следующей команды:

$ sudo apachectl configtest

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

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

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

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

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