Чат PHP-разработчиков
Установка и настройка OpenServer

Установка и настройка OpenServer

Ну что, чешутся руки установить веб-сервер и написать первую программу на PHP? Сейчас всё будет.

Первым делом идём на официальный сайт OpenServer и скачиваем программу. Я рекомендую скачать BASIC-комплектацию, для наших нужд её вполне хватит. Однако можете посмотреть список программ, которые включены в другие пакеты. Возможно, найдёте что-то полезное, будь то какой-нибудь редактор кода или GUI-клиент для СУБД MySQL.

Итак, приступим. Первым делом нужно скачать саму программу.

Так как на оф. сайте на сегодняшний день скачать его проблемно, советую качать отсюда.
Ссылка на оф. сайт: https://ospanel.io/

Установка

Запускаем установщик и задаём директорию для установки программы. Установка представляет собой простую распаковку.

После завершения установки окно молча закроется.

Настройка

Переходим в папку с распакованным ПО: C:\OpenServer.
Здесь мы видим файлы для запуска программы OpenServer для разных версий системы и 3 папки:

  • domains – папка, предназначенная для хранения Ваших сайтов. Внутри неё мы и будем создавать наши проекты, например: myproject.loc;
  • modules – папка, содержащая в себе исполняемые файлы модулей и необходимые для их работы библиотеки, дополнительные файлы;
  • userdata – папка, в которой находятся пользовательские данные СУБД, файлы кэша, логи, а также файлы конфигурации модулей.

Запустим один из exe-файлов в корне, в зависимости от разрядности вашей ОС. В моём случае это Open Server x64.exe.

Выбираем язык и соглашаемся с установкой необходимых библиотек:

Перезагружаем компьютер. После перезагрузки снова запускаем наш exe`шник. В трее появляется значок с красным флажком.

Жмём по нему правой кнопкой мыши и выбираем пункт “Настройки”. Откроется главное окно программы. Перейдём во вкладку “Модули” и выберем версию PHP: PHP 7.0 и версию Apache: Apache-PHP-7.

Затем перейдём во вкладку “Домены”, выберем “автопоиск доменов” и в качестве корневой папки домена выберем пункт с наибольшим числом вариантов. Вы также можете дописать сюда свои варианты.

После чего нажимаем “Сохранить” и закрываем окно настроек.

Включение акселератора OPCache

Помните в прошлой статье я говорил об акселераторе? Давайте включим его. Это делается в файле php.ini. Для того, чтобы отредактировать его, щелкнем правой кнопкой мыши по флажку и выберем пункт Дополнительно > Конфигурация > PHP-7. Здесь нужно убрать комментарии для строк:

zend_extension="%sprogdir%/modules/php/%phpdriver%/ext/php_opcache.dll"
opcache.enable=1

Должно получиться так:

Сохраняем файл. На этом конфигурация завершена.

Hello World

Перейдём в папку “domains” и создадим директорию для нашего проекта. Назовём его “myproject.loc”. Внутри создадим директорию “www”. А внутри неё файл “index.php”. Откроем его и впишем следующий код:

<?php
echo 'Hello world!';

Теперь можно запустить сервер и проверить работу скрипта.

Если при старте сервера появилась ошибка: Файл C:\Windows\system32\drivers\etc\hosts недоступен для записи - стоит закрыть программу и запустить её от имени администратора.

Флажок в трее должен стать зелёным.
Откроем браузер и перейдём по адресу http://myproject.loc/

Поздравляю! Ваша первая (или нет?) программа только что успешно отработала! Мы увидели результат её работы. И если мы сейчас откроем исходник страницы в браузере, то там не будет нашего исходного кода. Он выполнился, а веб-сервер отдал нам готовый результат. Пользователь никогда не увидит вашего кода на PHP. Вот так просто ;)

На этом конфигурация завершена. В следующем уроке мы установим и настроим самую крутую IDE для PHP-разработчика – PHPStorm. А ещё узнаем о том, как можно пользоваться ей бесплатно.
До встречи!

Присоединяйтесь к нам в ВКонтакте и в Facebook, чтобы не пропустить новые уроки. А также вступайте в наш чат PHP-разработчиков в Telegram.
Домашнее задание

Установите и настройте OpenServer согласно данному уроку.

Онлайн обучение PHP
Путь с полного нуля до джуниора!
Начать бесплатно
Читайте также
Курс программирования на PHP
Подготовка до уровня устройства на работу!
Начать бесплатно
Комментарии (63)


serb2017

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

serb2017

Ошибку у себя устранил.

ivashkevich

А с чем проблема была связана?

serb2017

У себя добавил SP1 к Windows 7 макс. Microsoft Visual C++ удалил полностью с компа (она первоначально установилась согласно шагу в этой статье) и скачал из интернета. Так же делал телодвижения по установке Microsoft Visual C++ 2015. Заметил, что в перечне библиотек этой части не было, думал в этом дело. Так что точная причина появления ошибки (текст уже не помню)мне неизвестна, но сейчас всё могу выполнять как в статье написано.

markEvillive

Что можно использовать вместо Open Server в Ubuntu 14.04 (i386)?

ivashkevich

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

agma1969@mail.ru

Openserverom пользуюсь давно но при попытке перейти на php7 по Вашей инструкции ругается "запуск программы невозможен на компе отсутствует api-ms-win-crb..." если возможно помогите поподробнее

ivashkevich

А как давно OpenServer скачивали?
Вообще вроде вот так проблема решается - http://remontka.pro/api-ms-win-crt-runtime-l1-1-0-dll/

1111

Что за невезуха! Сервер не найден - перезагружал, перезапускал уже. Но я до этого пытался в самостоятельную установку php+apache+etc.
Переменную Path перенаправил на C:\OSPanel\modules\php\PHP-7.2-x64.php.exe
В чем может быть проблема? хелп!

upd:
переустановил винду, но все равно
ни локалсервер ни сайт не работают в браузере. ОпенСервер 64-битный,
Apache-php-7.2-x64; php-7.2-x64; mySQL-5.7-x64

ivashkevich

Попробуйте запустить от имени администратора. И кстати, скайп не запущен случайно?

zaurman

извините ,а какое отношение имеет скайп ?

ivashkevich

Он может занимать 80 и 443 порты, из-за этого Apache не сможет стартануть.

1111

Понизил версии до тех, что в посте, и - взлетело!

ivashkevich

Хм, видимо xdebug ещё нет под последние версии

michael_iv85@mail.ru

Здравствуйте..подскажите пожалуйста.. в настройках все модули устанавливаю как Вы рекомендуете,но с такими настройками программа не запускается... в логах пишет :"Не удалось запустить Apache-PHP-7". Изменял настройки во вкладке модули на apache 2.2 php 5.2 mysql 5.1 - программа запускается.. операционная система winows xp servis pack 3. Запущена от имени администратора, скайп не установлен. В чём может быть причина? спасибо...

ivashkevich

Здравствуйте. Думаю стоит попробовать windows 7 как минимум.

stasokulov@gmail.com

Дважды пытался скачать Open Server. Оба раза время загрузки указывалось 3 часа. Оба раза через час загрузка обрывалась.

ivashkevich

Привет, найди на торрентах его =)

terentyev_alex@mail.ru

Здравствуйте!
Включение акселератора OPCache
"...Здесь нужно убрать комментарии для строк:
zend_extension="%sprogdir%/modules/php/%phpdriver%/ext/php_opcache.dll"
opcache.enable=1
Должно получиться так:

В чем разница между тем как было и как должно получится?

ivashkevich

Изначально там стоят точки с запятой перед этими строками.

vlad.holomev.03102005@mail.ru

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

ivashkevich

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

paradise1983@icloud.com

Установил XAMPP, т.к. пишут, что он удобнее и проще. Как теперь дальше изучать ваши уроки? )

ivashkevich

Ахах, никак! Ставьте OpenServer =)

yan5031@mail.ru

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

ivashkevich

Значит у вас занят 80 или 443 порт. Погуглите как найти, кто их занимает.

rizik6623@yandex.ru

описание картинки
Добрый день! Сервер установила. При открытии страницы http://myproject.loc/ вижу только это, что может быть не так?

ivashkevich

Привет! Расширение файла .php.txt, а должно быть .php. Сделай как тут и убери лишнее в имени файла - https://remontka.pro/file-extensions/

rizik6623@yandex.ru

Спасибо! Все получилось.

Yuriy

Рекомендую добавить описание по установке и настройке аналога OpenServer для MacOS/Linux. Работаю на MAC'е, кто-то другой возможно на Linux'е, было бы полезным контентом. Спасибо.

ivashkevich

Хорошо, как будет время займусь.

bibelman

Акселератор обязательно подключать?

ivashkevich

Не, это по желанию

mvaunsahara@gmail.com

Благодарю за урок!!! кто внимательно читает у того все получается, в уроках все изложено предельно ясно, и да, моя первая программка отработала сразу. как усвою тут азы, запишусь на платные уроки обязательно)))

ivashkevich

Супер! Продолжай в том же духе!

fapchat2@gmail.com
ivashkevich

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

fapchat2@gmail.com

я всё починил, но теперь у меня другая проблема, вот:

Index of /
[ICO]   Name    Last modified   Size    Description
[   ]   ndex.php    2019-01-17 23:44    27   

это мне выдаёт яндекс, при переходе по ссылке

ivashkevich

Файл не index.php, а ndex.php. Вся ошибка была в этом.

maksatkj@mail.ru

Скачал, установил. Были такие же проблемы как у serb2017. Решается, обновлять win7 до SP1 и установит Microsoft Visual C++ 2015, после этого все заработала.
"Привет Мир и Максат"

igor_vile@mail.ru

Сижу на OSX, поставил себе MAMP, наверное стоит включить инструкцию по установке для макосей и линухов

ivashkevich

Проблемы были при установке?

ya.kcenechka@gmail.com

Скриншот
Все получилось.

solomka2009@yandex.ru

Без проблем все настроил, но вначале при запуске появлялась ошибка:
2019-02-03 16:25:53 --------------------------------------------
2019-02-03 16:25:53 Начало процедуры запуска сервера
2019-02-03 16:25:53 Невозможно занять порт 80 поскольку он уже используется: Cлужбы Windows
2019-02-03 16:25:53 Сбой запуска!

Изменил адрес порта HTTP - вместо 80 поставил 90.
Все заработало.
Что касается включения акселератора, смущают такие записи в файле настроек:
[opcache]
; Внимание! Данное расширение не работает под Windows.
; Возможно падение сервера в процессе работы или отказ запуска!
;zend_extension="%sprogdir%/modules/php/%phpdriver%/ext/php_opcache.dll"
Поэтому пока не включал его.

ivashkevich

Да, это необязательно включать на локальном компе, где ведётся разработка.

kir.sorockin2017@yandex.ru

Пришлось погуглить как следует, но в итоге все работает;)

ivashkevich

А что не получалось?

kir.sorockin2017@yandex.ru

OpenServer не работал, сразу начал проверять через командную строку свободен ли 80 порт, через команду netstat -o -n -a | findstr 0.0:80, этот вариант ничего не показал, пришлось проверять не блокирует ли его брандмауэр в итоге все перерыл и вернулся к командной строке с командой netstat -о -а, нашел pid который мешал и удалил его командой taskkill вроде. Учитывая, что это для меня все в новинку и гуглить приходилось каждый термин, то времени это заняло несколько часов, но теперь все работает)

ivashkevich

Хорошо что сами разобрались, это очень важный скилл для разработчика. А за время не беспокойтесь, чуть позже будете делать это быстрее)

alsudil28a@gmail.com

Здравствуйте, Артем! Подскажите , пожалуйста, почему у меня так?

[opcache]
; Внимание! Данное расширение не работает под Windows.
; Возможно падение сервера в процессе работы или отказ запуска!
438 zend_extension="%sprogdir%/modules/php/%phpdriver%/ext/php_opcache.dll"
439 opcache.enable=1

ivashkevich

Значит не нужно трогать. Пропустите этот пункт.

CJIOH

Вот что выдает в браузере:

Index of /
[ICO] Name Last modified Size Description
[TXT] index.php.txt 2019-03-04 13:45 15

Нажимая на: index.php.txt , выдает:
<?php
echo 'Hello world!';

  • т.е показывает код страницы
ivashkevich

.txt не должно быть в конце

Grewi

в качестве корневой папки домена выберем пункт с наибольшим числом вариантов
С OpenServer знаком давно, но никогда не вносил изменений в эту строку. Вопрос: зачем может понадобиться такой список?

ivashkevich

Чтобы использовать папку с именем www

babls2332@gmail.com

OpenServer установлен и работает.

p4elka

Работаю на ubuntu 18.04.2 LTS. Установлен LAMP, myphpadmin. Пришлось помучиться, но всё получилось. Могу создать простейшую HTML-страничку, но не знаю, подключен ли акселератор OPCache. Думаю -да. Двигаемся дальше :-)

ivashkevich

На opcache можно забить)

expert12@yandex.ru

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

Самый понятный курс PHP
Онлайн-уроки в удобное время!
Начать бесплатно
Популярное за сутки
Онлайн-курсы PHP и MySQL
Обучение с полного нуля до уровня джуниора!
Начать бесплатно
Сейчас читают
Онлайн-курсы PHP и MySQL
Обучение с полного нуля до уровня джуниора!
Начать бесплатно
Новые статьи
Логические задачи с собеседований