Установка Apache, PHP, MySQL. Установка веб-сервера Apache Установка apache php mysql на windows

Благодарим Вас за проявленный интерес к нашему сайту. Компания Айтишник существует с 2006 года и предоставляет услуги IT аутсорсинга. Аутсорсинг - это перепоручение необходимых, но непрофильных для компании работ другой организации. В нашем случае это: создание, поддержка и сопровождение сайтов, продвижение сайтов в поисковых системах, поддержка и администрирование серверов под управлением Debian GNU/Linux.

Сайты на Joomla

В нынешний век информации, сайт де факто, становится как минимум визитной карточкой организации, а зачастую одним из инструментов бизнеса. Уже сейчас сайты создаются не только для организаций и частных лиц, но и для отдельных товаров, услуг и даже событий. На сегодняшний день сайт это не только источник рекламы на гигантскую аудиторию, но и инструмент для продаж и завязывания новых контактов. Мы создаем сайты, используя CMS Joomla! Эта система управления сайтами проста и интуитивно понятна. Она очень широко распространена и, следовательно, в Интернете о ней содержится большое количество информации. Найти специалиста, работающего с Joomla тоже несложно. И вам не надо далеко ходить! Наша компания Айтишник занимается обслуживанием и сопровождением сайтов на Joomla! Мы проведём все технические работы, возьмём на себя всю переписку с хостером и регистратором домена, наполним сайт и обновим на нём информацию. И хотя Joomla проста в управлении, интуитивно понятна. Но будете ли вы сами регулярно выполнять необходимые работы на сайте? Сколько времени они отнимут у вас? Если вы хотите сконцентрироваться на своём деле, то доверьте поддержку вашего сайта нам. Мы сделаем все от нас зависящее, чтобы сайт жил и приносил пользу своему владельцу.
Если вы коммерческая организация, которая рекламирует или продаёт свои товары, услуги в Интернет, то вам просто необходимо продвижение сайта в поисковых системах. Ведь для того, чтобы продать что-нибудь надо, как минимум, чтобы это увидели, чтобы об этом узнали. И мы поможем вам в этом, мы продвинем ваш Joomla сайт в поисковых системах. В зависимости от конкуренции и выделенного для продвижения бюджета, ваш сайт будет занимать достойные позиции в поисковой выдаче. Сайт увеличит вашу прибыль!

Серверы Debian

Рано или поздно, стремясь к открытости и прозрачности своего бизнеса, многие компании сталкиваются с необходимостью обеспечения лицензионной чистоты используемого программного обеспечения. Однако, далеко не всегда затраты на лицензионные отчисления приемлемы, в особенности для малого и среднего бизнеса. Выходом из этой сложной ситуации является решение о переходе на Open Source технологии. Одним из направлений Open Source является операционная система Linux (Линукс). Сотрудники нашей компании специализируются на Debian Linux (Дебиан Линукс). Это старейший и наиболее устойчивый дистрибутив операционной системы Линукс. Мы предлагаем вам услуги по внедрению Debian Linux на Вашем предприятии, настройку, обслуживание и поддержку серверов.

Информация и реклама

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

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

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

Лично у меня присутствует какой-то шизофренический страх перед тем, что сборщик пакета локальной разработки залез своими руками в дистрибутив, что-то там поправил по своему усмотрению, наковырял, а может быть и засунул вирусняк (поэтому я не пользуюсь различными твикнутыми сборками Windows и сам настраиваю локальную среду разработки).

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

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

Установка и настройка MySQL . Точно такая же ситуация. Автор - я сам.

Пару слов для новичков. Зачем вообще нужна среда локальной разработки. Если вы разрабатываете сайт, который будет состоять из нескольких статических HTML-страниц, то среда разработки - это всего-на-всего удобство при просмотре сайта в браузере в процессе отладки. Удобно заходить на разрабатываемый сайт по доменному имени. Вот кажется и все преимущества.

В случае разработки динамического сайта (применение php-скриптов и MySQL-баз данных), а так же при работе с движками, локальная среда разработки - это необходимость. Т.к., в этом случае, вам нужен инструмент, обрабатывающий php-скрипты и SQL-запросы.

Ну что же, поехали!

Установка Apache

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

Сервер - это ничто иное, как мощный компьютер, на жестком диске которого хранятся файлы вашего сайта. Обычно такой компьютер работает под управлением Unix-подобных систем. На этом компьютере запущена программа, которая называется Apache . При обращении к 80-му порту сервера, программа Apache выдаст обратившемуся компьютеру HTML-код и графические файлы, хранящиеся на жестком диске. Браузер компьютера пользователя примет полученные данные и оформит их в привычную нам страницу сайта.

На жестком диске сервера может находится сразу несколько сайтов. Все они распределены по папкам с уникальными именами (в этом случае сайты называются виртуальными хостами ). Apache настроен таким образом, что при обращении к 80-му порту с определенным URL-адресом сайта, точно знает какие данные и из какой папки нужно отправить обратившемуся компьютеру.

Вот и вся магия. Когда я только начал разбираться с интернет-технологиями, подобный ответ на мой вопрос «да как же все-таки работают сайты», который я вычитал в одной из книг, расставил в моей голове все по своим местам, чему я был очень рад. Надеюсь кто-то из уважаемых читателей был обрадован сейчас не меньше чем я в свое время.

Теперь я расскажу, как установить и настроить Apache на локальном компьютере.

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

Шаг 1. Скачиваем Apache.

На следующем экране обязательно установите галочку в пункте Include Bin Directory in Windows PATH :

Если вы этого не сделаете, то PHP не сможет найти нужный ему файл и будет ругаться.

Нажимаем Next. В следующем окне нам нужно указать пароль администратора баз данных. Укажите что-то легкозапоминающееся. Потом, подключаясь к базам данных, вам понадобится вводить этот пароль:

На этом процесс задания директив для настройки завершен и можно приступать к их применению:

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

Настройка Apache и настройка PHP

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

У меня это папка www в корне диска «С ».

Шаг 1. Разрешение доступа Apache к папе www на жестком диске.

Теперь в настройках Apache мне нужно указать путь к этой папке и разрешить доступ.

Для этого нужно открыть в любом текстовом редакторе основной файл конфигурации Apache. Это файл .

В файле ищем блок инструкций:

AllowOverride None Options None Order allow,deny Allow from all

Ниже этого блока вставляем следующие инструкции:

AllowOverride All # Options None Options Indexes FollowSymLinks Order allow,deny Allow from all

Тем самым мы разрешили доступ Apache к папке www в корне жесткого диска.

Шаг 2. Создаем место для хранения файлов сайта.

В папке www необходимо создать папку с именем нашего сайта (например moysite ). В папке moysite создаем еще две папки: www - для хранения файлов сайта и logs - сюда Apache будет автоматически записывать ошибки, связанные с работой сервера и информацию о подключениях к сайту.

Так как обычно работа ведется с несколькими сайтами (т.е. в папке www корня жесткого диска, может находится несколько проектов: moysite , moysite1 , noviysite и т.д.) , доступными по разным локальным URL, то нужно настроить работу Apache с виртуальными хостами .

Для этого в файле конфигурации C:\Program Files\Apache Software Foundation\Apache2.2\conf\httpd.conf необходимо подключить файл дополнительной конфигурации виртуальных хостов .

Ищем в файле httpd.conf строку #Include conf/extra/httpd-vhosts.conf . Процесс подключения файла дополнительной конфигурации виртуальных хостов заключается в удалении символа решетка (#) перед этой строкой.

#Include conf/extra/httpd-vhosts.conf

Include conf/extra/httpd-vhosts.conf

Дело в том, что в настройках Apache символом решетка (#) обозначается закомментированная строка, которая не участвует в конфигурации сервера.

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

В конце файла необходимо добавить следующий блок:

ServerName moysite.loc DocumentRoot "C:/www/moysite/www" ErrorLog "C:/www/moysite/logs/error.log" CustomLog "C:/www/moysite/logs/access.log" common

Пункт ServerName задает URL, по которому будет осуществляться доступ из браузера локального компьютера к разрабатываемому сайту, файлы которого находятся в папке C:/www/moysite/www . Файл C:/www/moysite/logs/error.log будет содержать информацию об ошибках в работе сайта, а файл C:/www/moysite/logs/access.log - информацию о подключениях.

Шаг 3. Перенаправление запросов на локальный сервер.

Последний шаг - это перенаправление запросов на локальный сервер. Нам нужно сообщить Windows о том, что при запросе в браузере URL moysite.loc его должен обработать наш локальный Apache. Для этого открываем файл C:\WINDOWS\system32\drivers\etc\host в любом текстовом редакторе и в конце дописываем одну строчку: 127.0.0.1 moysite.loc .

Вот и все, теперь перезапускаем Apache, кликнув левой клавишей по иконке рядом с часами и выбрав пункт Restart .

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

Наводим лоск

Если при разработке проекта вы применяете ЧПУ , то необходимо включить модуль mod_rewrite.so в файле основной конфигурации Apache C:\Program Files\Apache Software Foundation\Apache2.2\conf\httpd.conf .

Включение модуля осуществляется простым раскомментированием строки LoadModule rewrite_module modules/mod_rewrite.so

#LoadModule rewrite_module modules/mod_rewrite.so

LoadModule rewrite_module modules/mod_rewrite.so


Использование укороченных тегов. Некоторые ленивые программисты вместо полного кода ..., в начале php-скрипта, используют укороченную форму ... Для включения укороченных тегов необходимо настроить файл конфигурации PHP C:\Program Files\PHP\php.ini :

Short_open_tag = Off

Short_open_tag = On

Обращаю ваше внимание, уважаемый читатель, на тот факт, что в настройках PHP символ; предназначен для комментирования строки.

Вот и все с настройкой локальной среды разработки. Теперь, для создания нового виртуального хоста (например noviysite.loc ) нужно проделать всего четыре простых шага:

1. В папке C:\www\ создать новую папку noviysite , внутри которой создать папку www и logs .

2. В файле настройки виртуальных хостов Apache C:\Program Files\Apache Software Foundation\Apache2.2\conf\extra\httpd-vhosts.conf указать настройки для нового виртуального хоста noviysite.loc :

ServerName noviysite.loc DocumentRoot "C:/www/noviysite/www" ErrorLog "C:/www/noviysite/logs/error.log" CustomLog "C:/www/noviysite/logs/access.log" common

3. В файле C:\WINDOWS\system32\drivers\etc\hosts указать перенаправление для нового виртуального хоста на локальный сервер: 127.0.0.1 noviysite.loc

4. Перезапустить Apache, кликнув левой клавишей по значку рядом с часами и выбрав пункт Restart .

P. S.: Естественно в папке C:\www\noviysite\www должны лежать файлы сайта, которые и будут отображаться в браузере при вводе URL noviysite.loc/... .

В случае, если вводится только доменное имя noviysite.loc из папки C:\www\noviysite\www будет загружаться файл index.html (таким образом настроен Apache по умолчанию и именно данный файл является автоматически-запускающимся при вводе лишь доменного имени).

Поскольку, в последнее время, большое распространение получили динамические сайты, написанные на языке PHP, то стартовый файл будет носить имя не index.html , а index.php . Для того, чтобы на ряду с index.html при вводе лишь доменного имени автоматически запускался еще и index.php нужно внести небольшие изменения в файл C:\Program Files\Apache Software Foundation\Apache2.2\conf\httpd.conf :

Находим блок директив DirectoryIndex index.html . После директивы DirectoryIndex index.html нужно дописать через пробел index.php , чтобы получилось вот так: DirectoryIndex index.html index.php .

Хочу заметитье, что в этом случае Apache будет сначала искать файл index.html и пытаться запустить его, а потом уже index.php .

В случае, если папка с сайтом не содержит файла index.html или index.php (а в ней находится файл с именем kakoeto_imya.html ), то набор URL noviysite.loc в браузере ничем хорошим не закончится (Apache не найдет файлов, которые захочет запустить по умолчанию). Для запуска файла из папки сайта с именем kakoeto_imya.html необходимо набрать URL noviysite.loc/kakoeto_imya.html .

Возникает законный вопрос: Каким образом администрировать базы данных MySQL, если phpMyAdmin нет?
Ответом на этот вопрос является программа HeidiSQL и .

На сладкое

После прочтения данной статьи, я надеюсь, у вас возникла ясность в вопросе «как работает сайт с сервера хостинг-провайдера», а так же «как самому установить и настроить Apache, PHP и MySQL». Теперь не грех выпить чашечку кофейка и посмотреть забавный видеоролик.

Выражаю благодарность отличному программисту Павлу Красько

за помощь в написании данной статьи.

Я посвятил проблеме установке локальной среды разработки на компьютер под управлением Windows. Если, после прочтения статьи, локальную среду запустить не удалось - очень рекомендую посмотреть видеоурок.

Выбираем последнюю версию (на момент написания этой статьи — 2.2.17) и переходим к списку дистрибутивов. На домашнем компе вам вряд ли понадобится SSL, поэтому скачиваем версию Win32 Binary without crypto (no mod_ssl) (MSI Installer).

Теперь запускаем установщик (пользователь должен обладать правами администратора). В начале ничего интересного — просто экран приветствия:

Второй этап — соглашаемся с условиями лицензии:

Третий этап — несколько вводных слов от разработчиков. Сразу жмем Next:

Четвертый этап. Здесь надо ввести данные во все три текстовых поля. Можно ввести несуществующий домен типа test.test или example.com. Эти данные нужны для создания базового конфигурационного файла. Под текстовыми полями одна из самых важных настроек — установить Apache как службу или как обычную программу. Выбираем «for All Users, on port 80, as a Service — Recommended» — установить как службу:

Тип установки. Выбираем Custom (выборочная):

Шестой этап. Выбор компонентов и места установки. Я оставил все значения по умолчанию:

Седьмой этап. Все готово к установке. Нажимаем Install:

Завершаем установку (Finish):

Установка завершена. В трее появится значок Apache, с помощью которого можно быстро остановить/запустить службу:

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

Чтобы сервер был доступен не только на локальном компьютере, но и из вне, необходимо открыть на вход порт TCP 80 в брандмауэре Windows.

Открытие порта в брандмауэре Windows

Открываем Пуск -> Панель управления -> Система и безопасность -> Брандмауэр Windows. В левой колонке кликаем по ссылке «Дополнительные параметры». В открывшемся окне также в левой колонке кликаем по «Правила для входящих подключений» и затем уже в правой колонке «Создать правило…»:

Откроется мастер создания правила. Тип правила выбираем «Для порта»:

Протоколы и порты. Протокол TCP. Ниже выбрать опцию «Определенные локальные порты», и справа в текстовом поле ввести номер порта — 80:

Действие. Выбираем «Разрешить подключение»:

Профиль. Оставляем по умолчанию (отмечены все три опции: доменный, частный, публичный):

В конце концов вводим имя созданного правила. Например Apache Web Server:

На этом все. Нажимаем Готово. Теперь можно попробовать подключиться с другого компьютера.

Напоминаю, что для подключений к серверу не только из локальной сети, но и из Интернет, на роутере (если он есть) необходимо настроить форвардинг 80-го порта (port forwarding или еще это часто называют virtual server).

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

Скачиваем последнюю версию PHP (5.3.5 на момент написания) с сайта: http://windows.php.net/download/ . Здесь доступно сразу несколько версий:

  1. VC9 x86 Non Thread Safe — для установки на IIS в режиме FastCGI.
  2. VC9 x86 Thread Safe — ???
  3. VC6 x86 Non Thread Safe — для установки на Apache в режиме CGI/FastCGI.
  4. VC6 x86 Thread Safe — для установки на Apache в режиме модуля — наш выбор.

Т.к. мы затеяли установку в ручном режиме, скачиваем zip-архив.

Содержимое архива распаковываем в директорию установки. Я выбрал C:\Program Files\PHP.

Переходим в эту директорию. В корне установки вы найдете два файла php.ini-development и php.ini-production. Эти файлы содержат базовые настройки. Первый файл оптимизирован для разработчиков, второй для рабочих систем. Основное отличие — в настройках для разработчиков разрешен вывод на экран ошибок, тогда как для рабочих систем вывод ошибок запрещен из соображений безопасности.

Итак, выбираем нужный вам файл (я выбрал php.ini-development), открываем его и сохраняем в ту же папку под именем php.ini. Эту операцию можно проделать в обычном блокноте, но все же лучше использовать редактор поудобнее, например notepad2 .

Теперь в php.ini необходимо внести несколько изменений:

  1. Найти опцию extension_dir (пользуйтесь поиском CTRL+F) и изменить путь к папке ext в соответствии с путем установки PHP. У меня это выглядит так: extension_dir = «c:\program files\php\ext»
  2. Найти опцию upload_tmp_dir. Здесь надо указать путь к временной папке. Я выбрал c:\windows\temp. Всё вместе: upload_tmp_dir = «c:\windows\temp»
  3. Найти опцию session.save_path. Здесь также требуется указать путь к временной папке: session.save_path = «c:\windows\temp»
  4. Перейдите к разделу Dynamic Extensions. Здесь необходимо раскомментировать строки (убрать точку с запятой в начале), соответствующие модулям PHP, которые вам необходимы для работы. Базовый набор модулей может выглядеть примерно так: ;extension=php_bz2.dll ;extension=php_curl.dll ;extension=php_fileinfo.dll extension=php_gd2.dll ;extension=php_gettext.dll ;extension=php_gmp.dll ;extension=php_intl.dll ;extension=php_imap.dll ;extension=php_interbase.dll ;extension=php_ldap.dll extension=php_mbstring.dll extension=php_exif.dll ; Must be after mbstring as it depends on it extension=php_mysql.dll extension=php_mysqli.dll ;extension=php_oci8.dll ; Use with Oracle 10gR2 Instant Client ;extension=php_oci8_11g.dll ; Use with Oracle 11g Instant Client ;extension=php_openssl.dll ;extension=php_pdo_firebird.dll ;extension=php_pdo_mssql.dll ;extension=php_pdo_mysql.dll ;extension=php_pdo_oci.dll ;extension=php_pdo_odbc.dll ;extension=php_pdo_pgsql.dll ;extension=php_pdo_sqlite.dll ;extension=php_pgsql.dll ;extension=php_phar.dll ;extension=php_pspell.dll ;extension=php_shmop.dll ;extension=php_snmp.dll ;extension=php_soap.dll extension=php_sockets.dll ;extension=php_sqlite.dll extension=php_sqlite3.dll ;extension=php_sybase_ct.dll ;extension=php_tidy.dll ;extension=php_xmlrpc.dll extension=php_xsl.dll extension=php_zip.dll

Теперь переходим к настройкам Apache.

Открываем папку установки Apache (по умолчанию C:\Program Files\Apache Software Foundation\Apache2.2\). Открываем папку conf. Открываем файл httpd.conf.

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

# Charset AddDefaultCharset windows-1251 # PHP LoadModule php5_module "c:\program files\php\php5apache2_2.dll" PHPIniDir "c:\program files\php" AddType application/x-httpd-php .php

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

В том же файле находим следующие строки:

DirectoryIndex index.html

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

DirectoryIndex index.php index.html

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

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

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

Если вы видите страницу с надписью «It works!», попробуйте обновить страницу с помощью CTRL+F5.

Установка MySQL

Вынесена в отдельную статью.

Apache для Windows XP

В настоящее время все актуальные версии Apache запускаются на Windows 7 SP1, Vista SP2, 8 / 8.1, 10, Server 2008 SP2 / R2 SP1, Server 2012 / R2, Server 2016.

Таким образом, в настоящее время невозможно запустить современные версии Apache на Windows XP. Также Apache не заработает на Windows Server 2003.

На Windows XP можно запустить только Apache 2.2. Причём ваша система Windows XP должна иметь Service Pack 3.

Прежде чем продолжить, я рекомендую вам перейти на более новую версию Windows — начиная с семёрки можно установить любую современную версию Apache и PHP. Старые версии Apache и PHP могут содержать баги. Если вы планируете использовать локальный веб-сервер для изучения администрирования веб-приложений и программированию на PHP, то Windows XP не самая лучшая платформа — здесь вы будете иметь дело с давно устаревшим программным обеспечением.

Если я вас не убедил, то следуйте этой пошаговой инструкции для запуска Apache на Windows XP.

Создание структуры веб-сервера

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

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

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

Как установить Apache на Windows XP

Выберите Custom установку:

Измените папку установки на C:\Server\bin\Apache2.2\ :

После завершения установки откройте http://localhost/ :

Перейдите в каталог C:\Server\bin\Apache2.2\conf\ и откройте файл httpd.conf любым текстовым редактором.

В нём нам нужно заменить ряд строк.

#ServerName localhost:80

ServerName localhost:80

DocumentRoot "C:/Server/bin/Apache2.2/htdocs"

DocumentRoot "C:/Server/data/htdocs/"

DirectoryIndex index.html

DirectoryIndex index.php index.html index.htm

# AllowOverride controls what directives may be placed in .htaccess files. # It can be "All", "None", or any combination of the keywords: # Options FileInfo AuthConfig Limit # AllowOverride None

# AllowOverride controls what directives may be placed in .htaccess files. # It can be "All", "None", or any combination of the keywords: # AllowOverride FileInfo AuthConfig Limit # AllowOverride All

#LoadModule rewrite_module modules/mod_rewrite.so

LoadModule rewrite_module modules/mod_rewrite.so

Сохраняем и закрываем файл. Всё, настройка Apache завершена! Перезапустите веб-сервер или перезагрузите компьютер, чтобы изменения вступили в силу.

Ваши сайты размещайте в папке C:\Server\data\htdocs\ .

Как установить PHP на Windows XP

В Windows XP с данной версией Apache заработает только PHP 5.4, последней версией является PHP 5.4.9 , именно этот файл и скачиваем из архива .

Скачайте и установите для этой версии PHP файл «Распространяемый пакет Microsoft Visual C++ 2008 (x86) ».

В папке C:\Server\bin\ создайте ещё одну папку с именем PHP , в неё распакуйте содержимое скаченного файла php-5.4.9-Win32-VC9-x86.zip .

В файле C:\Server\bin\Apache2.2\conf\httpd.conf в самый конец добавляем строчки

PHPIniDir "C:/Server/bin/PHP" AddHandler application/x-httpd-php .php LoadModule php5_module "C:/Server/bin/PHP/php5apache2_2.dll"

Теперь в папке C:\Server\bin\PHP\ найдите файл php.ini-development и переименуйте его в php.ini .

Откройте этот файл php.ini в любом текстовом редакторе, ищем строчку

; extension_dir = "ext"

и заменяем её на

Extension_dir = "C:\Server\bin\PHP\ext\"

Теперь найдите группу строк:

;extension=php_bz2.dll ;extension=php_curl.dll ;extension=php_fileinfo.dll ;extension=php_gd2.dll ;extension=php_gettext.dll ;extension=php_gmp.dll ;extension=php_intl.dll ;extension=php_imap.dll ;extension=php_interbase.dll ;extension=php_ldap.dll ;extension=php_mbstring.dll ;extension=php_exif.dll ; Must be after mbstring as it depends on it ;extension=php_mysql.dll ;extension=php_mysqli.dll ;extension=php_oci8.dll ; Use with Oracle 10gR2 Instant Client ;extension=php_oci8_11g.dll ; Use with Oracle 11gR2 Instant Client ;extension=php_openssl.dll ;extension=php_pdo_firebird.dll ;extension=php_pdo_mysql.dll ;extension=php_pdo_oci.dll ;extension=php_pdo_odbc.dll ;extension=php_pdo_pgsql.dll ;extension=php_pdo_sqlite.dll ;extension=php_pgsql.dll ;extension=php_pspell.dll ;extension=php_shmop.dll

и замените её на:

Extension=php_bz2.dll extension=php_curl.dll extension=php_fileinfo.dll extension=php_gd2.dll extension=php_gettext.dll ;extension=php_gmp.dll ;extension=php_intl.dll ;extension=php_imap.dll ;extension=php_interbase.dll ;extension=php_ldap.dll extension=php_mbstring.dll extension=php_exif.dll ; Must be after mbstring as it depends on it extension=php_mysql.dll extension=php_mysqli.dll ;extension=php_oci8.dll ; Use with Oracle 10gR2 Instant Client ;extension=php_oci8_11g.dll ; Use with Oracle 11gR2 Instant Client extension=php_openssl.dll ;extension=php_pdo_firebird.dll extension=php_pdo_mysql.dll ;extension=php_pdo_oci.dll ;extension=php_pdo_odbc.dll ;extension=php_pdo_pgsql.dll extension=php_pdo_sqlite.dll ;extension=php_pgsql.dll ;extension=php_pspell.dll ;extension=php_shmop.dll

теперь раскомментируйте строки из этой группы:

;extension=php_soap.dll ;extension=php_sockets.dll ;extension=php_sqlite3.dll ;extension=php_sybase_ct.dll ;extension=php_tidy.dll ;extension=php_xmlrpc.dll ;extension=php_xsl.dll ;extension=php_zip.dll

должно получиться:

Extension=php_soap.dll extension=php_sockets.dll extension=php_sqlite3.dll ;extension=php_sybase_ct.dll ;extension=php_tidy.dll extension=php_xmlrpc.dll extension=php_xsl.dll ;extension=php_zip.dll

Перезапустите веб-сервер:

В каталоге C:\Server\data\htdocs\ создаём файл с названием i.php

Копируем в этот файл:

Распакуйте скаченный файл в C:\Server\data\htdocs\ . Переименуйте эту папку (phpMyAdmin-3.5.8.2-all-languages) в phpmyadmin .

В каталоге c:\Server\data\htdocs\phpmyadmin\ создаём файл config.inc.php и копируем туда:

Теперь в веб-браузере откройте адрес http://localhost/phpmyadmin/ :

В качестве Имени пользователя введите root , а пароль оставьте пустым.

Заключение

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

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

Установка веб-сервера на Linux:

  • Если у вас Ubuntu, то вам подойдёт статья "Как установить веб-сервер Apache с PHP 7, MariaDB/MySQL и phpMyAdmin (LAMP) на Ubuntu 16.10 ".
  • Если у вас Arch Linux, то вам подойдёт статья "Установка LAMP (Linux, Apache, MySQL/MariaDB, PHP7 и phpMyAdmin) в Arch Linux / BlackArch ".

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

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

Если вы будете в точности следовать инструкции, то у вас обязательно всё заработает! Кроме тех, у кого Windows XP - если лу вас эта операционная система, то для вас сделана специальная инструкция .

Я покажу пример установки на Windows 10, но если у вас другая версия Windows, то пусть вас это не смущает - процедура везде идентичная. Я буду скачивать последние (самые свежие) на момент написания версии программ. Если к тому времени, когда вы читаете, выйдут новые версии, то скачивайте именно их.

Этапы установки:

Вам также может пригодиться:

1. Подготовка (скачивание программ, входящих в сервер, создание структуры сервера)

Нам нужны:

  • Apache (непосредственно веб-сервер)
  • PHP - среда для работы PHP программ (требуется практически всеми веб-сайтами)
  • MySQL - система управления базами данных (требуется большинством веб-сайтов)
  • phpMyAdmin - очень удобный инструмент для управления базами данных

Официальный сайт разработчиков Apache это httpd.apache.org . Можно скачать Apache с этого сайта. Но официальная версия собирается с использованием старого компилятора, по этой причине она не работает с новыми версиями PHP. Авторы PHP рекомендуют Apache с сайта apachelounge.com/download . Поэтому для этой инструкции скачиваем Apache именно с сайта apachelounge.com/download .

Если у вас 64-битная версия Windows, то вы можете выбрать как 64-битную, так и 32-битную версию компонентов. Главное правило - все компоненты должны быть одной битности. Если у вас 32-битная версия Windows, то все компоненты должны быть 32-битными. Это не относится к phpMyAdmin, который написан на языке PHP. Для PHP программ понятие битности неприменимо.

Бесплатная версия MySQL называется MySQL Community Server . Её можно скачать на странице . На этой же странице есть установщик в виде исполнимого файла, но я рекомендую скачать ZIP-архив. На странице скачивания нам предлагают зарегистрироваться или войти в существующую учётную запись - но это делать необязательно. Достаточно нажать на ссылку «No thanks, just start my download ». Обратите внимание на битность.

Ещё нам нужен файл C++ Redistributable Visual Studio 2017, т.е. Распространяемый компонент Visual C++ для Visual Studio 2017 (или любой другой более поздний), скачать его можно на официальном сайте Microsoft по ссылке (прямая ссылка на скачивание 64-битной версии; прямая ссылка на скачивание 32-битной версии). Этот файл нужен для веб-сервера. А для MySQL необходим Распространяемые пакеты Visual C++ для Visual Studio 2015. Его можно скачать по .

Итак, у меня скачались следующие файлы:

  • httpd-2.4.29-Win64-VC15.zip
  • php-7.2.0-Win32-VC15-x64.zip
  • mysql-8.0.11-winx64.zip
  • phpMyAdmin-4.7.6-all-languages.zip
  • vc_redist.x64.exe
  • vcredist_x64.exe

Установите файлы vc_redist.x64.exe и vcredist_x64.exe .

2. Создание структуры веб-сервера

Создадим структуру каталогов нашего сервера. Главная идея - разделить исполнимые файлы и файлы сайтов с базами данных. Это удобно для обслуживания сервера, в том числе для резервного копирования.

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

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

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

3. Установка Apache 2.4

Содержимое скаченного архива (точнее говоря, только каталог Apache24 ), распакуйте в C:\Server\bin\ .

Перейдите в каталог c:\Server\bin\Apache24\conf\ и откройте файл httpd.conf любым текстовым редактором.

В нём нам нужно заменить ряд строк.

Define SRVROOT "c:/Apache24"

Define SRVROOT "c:/Server/bin/Apache24"

#ServerName www.example.com:80

ServerName localhost

DocumentRoot "${SRVROOT}/htdocs"

DocumentRoot "c:/Server/data/htdocs/"

DirectoryIndex index.html

DirectoryIndex index.php index.html index.htm

# AllowOverride controls what directives may be placed in .htaccess files. # It can be "All", "None", or any combination of the keywords: # AllowOverride FileInfo AuthConfig Limit # AllowOverride None

# AllowOverride controls what directives may be placed in .htaccess files. # It can be "All", "None", or any combination of the keywords: # AllowOverride FileInfo AuthConfig Limit # AllowOverride All

#LoadModule rewrite_module modules/mod_rewrite.so

LoadModule rewrite_module modules/mod_rewrite.so

Сохраняем и закрываем файл. Всё, настройка Apache завершена! Описание каждой изменённой директивы вы найдёте на этой странице .

Откройте командную строку (это можно сделать нажав одновременно клавиши Win+X). Выберите там Windows PowerShell (администратор) и скопируйте туда:

C:\Server\bin\Apache24\bin\httpd.exe -k install

Если поступит запрос от файервола в отношение Apache, то нажмите Разрешить.

Теперь вводим в командную строку:

C:\Server\bin\Apache24\bin\httpd.exe -k start

И нажмите Enter.

В качестве имя пользователя вводим root. Поле пароля оставляем пустым. Если всё сделано правильно, то всё должно выглядеть так:

7. Использование сервера и бэкап данных

В каталоге c:\Server\data\htdocs\ создавайте папки и файлы, например:

c:\Server\data\htdocs\test\ajax.php - этот файл, соответственно, будет доступен по адресу http://localhost/test/ajax.php и т.д.

Для создания полного бэкапа всех сайтов и баз данных достаточно скопировать каталог C:\Server\data\ .

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

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

  • c:\Server\bin\Apache24\conf\httpd.conf
  • c:\Server\bin\mysql-8.0\my.ini
  • c:\Server\bin\PHP\php.ini
  • c:\Server\data\htdocs\phpMyAdmin\config.inc.php

В них и хранятся все настройки.

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

PHP в настоящее время очень мощный, гибкий, удобный инструмент. На локальном компьютере с помощью него можно решать разнообразные задачи, совсем не обязательно связанные с генерацией Web-страниц. При решении неординарных задач можно упереться в ограничения, установленные в настройках. Эти настройки содержаться в файле php.ini (c:\Server\bin\PHP\php.ini) Рассмотрим некоторые из них:

Memory_limit = 128M

устанавливает максимальное количество памяти, которое может использовать скрипт

Post_max_size = 8M

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

;default_charset = "UTF-8"

устанавливает кодировку (по умолчанию, строка закомментирована)

Upload_max_filesize = 2M

максимальный размер загружаемого на сервер файла. Изначально установлен очень маленький размер - только два мегабайта. Например, при загрузке базы данных в phpMyAdmin, не получится загрузить файл больше 2 мегабайт до тех пор, пока не будет изменён этот пункт настройки.

Max_file_uploads = 20

максимальное количество файлов для загрузки за один раз

Max_execution_time = 30

максимальное время выполнения одного скрипта

Менять эти настройки совершенно необязательно, но полезно о них знать.

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

Мы уже настроили phpMyAdmin и большинству вполне достаточно базового функционала. Тем не менее, на стартовой странице phpMyAdmin есть надпись: «Дополнительные возможности phpMyAdmin не настроены в полной мере, некоторые функции были отключены».

Новыми возможностями являются:

  • показ связей между (связанными) таблицами;
  • добавление информации о таблицах (начиная с версии 2.3.0 вы можете описывать в специальной таблице ‘table_info’ какая колонка будет показана во всплывающей подсказке при движении курсором над связанным ключом);
  • создание PDF-схемы (начиная с версии 2.3.0 вы можете в phpMyAdmin создавать PDF страницы, показывающие связи между вашими таблицами);
  • отображать комментарии столбцов (начиная с версии 2.3.0 вы можете делать комментарий с описанием каждого столбца для каждой таблицы. И они будут видны в «предварительном просмотре для печати». Начиная с версии 2.5.0, комментарии используются на собственных страницах таблиц и в режиме просмотра, показываясь как всплывающие подсказки над колонками (таблицы свойств) или встроены в заголовок таблицы в режиме просмотра. Они также могут быть показаны в дампе таблицы);
  • создавать закладки (начиная с версии 2.2.0, phpMyAdmin позволяет пользователям делать закладки на запросы. Это может быть полезно для часто используемых запросов);
  • история SQL-запросов (начиная с версии 2.5.0 вы можете сохранять вашу историю всех SQL запросов, которые были сделаны через интерфейс phpMyAdmin);
  • дизайнер (начиная с версии 2.10.0, доступен инструмент Дизайнер; он позволяет визуально управлять связями между таблицами);
  • информация о недавно использованных таблицах;
  • настройка интерфейса часто используемых таблиц;
  • слежение (начиная с версии 3.3.x доступен механизм слежения. Он помогает вам проследить каждую SQL команду, которая была выполнена phpMyAdmin’ом. Поддерживается запись работы с данными и запись команд. После включения, вы сможете делать версии таблиц);
  • пользовательские настройки (начиная с версии 3.4.x, phpMyAdmin позволяет пользователям задавать большинство настроек и сохранять их в базе данных);
  • настраиваемые меню (начиная с версии 4.1.0 вы можете создавать группы пользователей, которым будут доступны только назначенные пункты меню. Пользователь может быть определён в группу и будет видеть только пункты меню, доступные для его группы);
  • спрятать/показать пункты навигации (начиная с версии 4.1.0 вы можете спрятать/показать пункты в навигационном дереве).
  • и другие

Сейчас мы настроим эти дополнительные возможности в полной мере. Перейдите по ссылке http://localhost/phpmyadmin/chk_rel.php и кликните "Создать базу данных". После этого все новые функции будут активированы.

Несколько скриншотов новых функций:

1) Дизайнер

2) Слежение

10. Установка почтовой заглушки

В каталоге C:\Server\bin\ создайте новый каталог с названием Sendmail. Теперь в этом каталоге создайте файл sendmail.php со следующим содержимым:

#!/usr/bin/env php

Откройте конфигурационный файл PHP, он размещён здесь C:\Server\bin\PHP\php.ini . И добавьте туда одну строчку:

Sendmail_path = "C:\Server\bin\PHP\php.exe C:\Server\bin\Sendmail\sendmail.php --dir C:\Server\bin\Sendmail\emails"

Сохраните файл и перезапустите сервер. Отлично, теперь все отправленные письма будут сохраняться в каталоге C:\Server\bin\Sendmail\emails\

Письма будут иметь расширение .eml и их можно открывать, например, программой Thunderbird . Либо обычным текстовым редактором.

11. Добавление PHP директории в PATH на Windows

Если этого не сделать, то могут быть проблемы с некоторыми модулями PHP, в том числе с php_curl.dll, php_intl.dll, php_ldap.dll, php_pdo_pgsql.dll и php_pgsql.dll. По крайней мере, при запуске сервера каждый раз в логах появляется следующее:

PHP Warning: PHP Startup: Unable to load dynamic library "C:\\Server\\bin\\PHP\\ext\\php_curl.dll" - \xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd.\r\n in Unknown on line 0 PHP Warning: PHP Startup: Unable to load dynamic library "C:\\Server\\bin\\PHP\\ext\\php_intl.dll" - \xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd.\r\n in Unknown on line 0 PHP Warning: PHP Startup: Unable to load dynamic library "C:\\Server\\bin\\PHP\\ext\\php_ldap.dll" - \xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd.\r\n in Unknown on line 0 PHP Warning: PHP Startup: Unable to load dynamic library "C:\\Server\\bin\\PHP\\ext\\php_pdo_pgsql.dll" - \xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd.\r\n in Unknown on line 0 PHP Warning: PHP Startup: Unable to load dynamic library "C:\\Server\\bin\\PHP\\ext\\php_pgsql.dll" - \xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd.\r\n in Unknown on line 0

Чтобы избежать этих предупреждений, нужно добавить в системные переменные среды путь до PHP.

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

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

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

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

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

Перезапустите сервер.

12. Зависание, замедление трафика и/или ошибка сервера Asynchronous AcceptEx failed

Если ваш сервер даже без нагрузки «зависает» - не показывает веб-страницы до перезапуска, а в логах сервера ошибки Asynchronous AcceptEx failed:

AH00455: Apache/2.4.9 (Win64) PHP/5.5.13 configured -- resuming normal operations AH00456: Apache Lounge VC11 Server built: Mar 16 2014 12:42:59 AH00094: Command line: "c:\\Server\\bin\\Apache24\\bin\\httpd.exe -d C:/Server/bin/Apache24" AH00418: Parent: Created child process 4952 AH00354: Child: Starting 64 worker threads. (OS 64)Указанное сетевое имя более недоступно. : AH00341: winnt_accept: Asynchronous AcceptEx failed. (OS 64)Указанное сетевое имя более недоступно. : AH00341: winnt_accept: Asynchronous AcceptEx failed. (OS 64)Указанное сетевое имя более недоступно. : AH00341: winnt_accept: Asynchronous AcceptEx failed. (OS 64)Указанное сетевое имя более недоступно. : AH00341: winnt_accept: Asynchronous AcceptEx failed. (OS 64)Указанное сетевое имя более недоступно. : AH00341: winnt_accept: Asynchronous AcceptEx failed. (OS 64)Указанное сетевое имя более недоступно. : AH00341: winnt_accept: Asynchronous AcceptEx failed.

То в конфигурационный файл Apache добавьте:

AcceptFilter http none AcceptFilter https none EnableSendfile off EnableMMAP off

13. Настройка cURL в веб-сервере Apache на Windows

Если вы не знаете, что такое cURL, значит это вам не нужно. Т.е. смело пропускайте этот шаг.

cURL - это консольная утилита, которая позволяет обмениваться данными с удалёнными серверами, используя очень большое количество протоколов. cURL может использовать кукиз и поддерживает аутентификацию. Если для веб-приложения требуется cURL, то это должно быть указано в зависимостях. Для многих популярных приложений cURL не требуется, например, для phpMyAdmin и WordPress нет необходимости настраивать cURL.

Если cURL настроена неправильно, то вы будете получать ошибки:

Fatal error: Call to undefined function curl_multi_init() in …

Ошибка curl: SSL certificate problem: unable to get local issuer certificate

Чтобы cURL работала в Apache на Windows вам нужно:

1) Обязательно добавить PHP директорию в PATH (системные переменные среды). Как это сделать сказано чуть выше:

2) В файле C:\Server\bin\PHP\php.ini должна быть раскомментирована строка extension=curl

Обычно это не требуется, но при желании вы можете сделать резервную копию бинарных (исполнимых) файлов сервера. Все эти файлы находятся в папке C:\Server\bin\ . Это Apache, MySQL и PHP - т.е. программы, которые отвечают за работу сервера, но которые мы в любой момент можем скачать с официальных сайтов и вновь настроить.

Если вы хотите сделать их резервную копию (например, перед обновлением сервера), то остановите службы:

C:\Server\bin\Apache24\bin\httpd.exe -k stop net stop mysql

И скопируйте в безопасное место папку C:\Server\bin\ .

Кстати, вы можете скопировать весь сервер целиком, т.е. папку C:\Server\ - в этом случае одновременно получиться резервная копия и исполняемых файлов, и данных (базы данных, сайты).

Когда копирование завершено, вновь запустите службы:

C:\Server\bin\Apache24\bin\httpd.exe -k start net start mysql

15. Обновление сервера

Все компоненты, составляющие веб-сервер, активно развиваются и регулярно выходят новые версии. При выходе новой версии вы можете обновить один какой-то компонент (например, PHP), или сразу несколько.

Удаление сервера

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

C:\Server\bin\Apache24\bin\httpd.exe -k stop c:\Server\bin\Apache24\bin\httpd.exe -k uninstall net stop mysql c:\Server\bin\mysql-8.0\bin\mysqld --remove

Вы уже знаете о факультете информационной безопасности от GeekBrains? Комплексная годовая программа практического обучения с охватом всех основных тем, а также с дополнительными курсами в подарок . По итогам обучения выдаётся свидетельство установленного образца и сертификат . По специальная скидка на любые факультеты и курсы!

2024 incobonus.ru. Личность. Психология. Дом и быт. Компьютер. Психология.