Как поставить laravel на windows open server

Разработка приложений на PHP с использованием фреймворков и без них.
Подробности

Опубликовано: 18 октября 2018

laravelБыстрая и простая установка и запуск фреймворка Laravel на Open Server.

 Установить и запустить фреймворк Laravel на Open Server очень просто. Для начала надо перейти в каталог, в котором Open Server хранит домены «OSPaneldomains» и создать там каталог для нового проекта, например «mysite». Теперь надо запустить консоль Open Server через дополнительные настройки (Рис.1.)

console start
Рис.1.

Откроется окно консоли, которое будет выглядеть примерно как на Рис.2., где нам надо перейти в каталог, где Open Server хранит домены. Для этого воспользуемся командой «cd» и укажем путь к каталогу (cd domains).

console project dir
Рис.2.

Все дальнейшие команды будем выполнять в этом консольном окне. Для начала обновим Composer (по умолчанию он  уже установлен в Open Server и нет необходимости его скачивать), для чего выполним следующую команду:

composer self-update

Теперь, когда у нас последняя версия  Composer, можем приступать к установке Laravel, для чего выполним команду:

 composer create-project —prefer-dist laravel/laravel mysite

Вместо «mysite» укажите имя директории, которою Вы создали для своего нового проекта. Ждём пока пройдёт установка. Если всё прошло хорошо, то в корневой директории проекта будет сформирована структура каталогов и файлов фреймворка Laravel (Рис.3).

laravel dirs

Теперь переходим к настройкам Open Server и в разделе «Домены» настроим новый домен для нашего нового проекта (Рис.4.). Домашний каталог у Laravel (там где лежит файл index.php) находится в каталоге «public», и именно его мы должны указать в качестве папки домена.

open server domains
Рис.4.

Теперь когда мы добавили новый домен и сохранили изменения, Open Server перезапустится. Дождёмся окончания процесса и можем взглянуть на начальную страницу Laravel, для чего откроем браузер и перейдём по адресу «mysite.loc» ну или если Вы использовали другое имя для домена, то тот, который вы указывали в настройках Open Server в качестве имени домена.

 browser

Добавить комментарий

Для работы и установки Laravel сначала установим Composer.

Перед установкой Composer, зайдем в консоль:

и перейдем в папку с проектом командой cd domains/project.loc -> Enter

После этих действий мы перейдем в каталог с проектом:

Далее устанавливаем Composer. Для этого зайдем на официальный сайт, где перейдем в пункт Download.

Указанные ниже строки (1)-(4) одна за другой вставляем в консоль и выполняем (клавишей Enter).

В итоге Composer установится (в папке с проектом появится файл composer.phar). Далее вводим в консоли команду composer self-update (для обновления Composer до последней версии).

Сейчас все подготовлено для установки Laravel. Заходим на официальный сайт Laravel в раздел Documentation и копируем строку установки через Composer:

Данную строку composer create-project --prefer-dist laravel/laravel вставляем в консоль и выполняем. Начнется установка Laravel в папку проекта project.loc. После установки Composer создаст в папке project.loc папку laravel, где будут располагаться все файлы проекта. Переместим все содержимое папки laravel в папку project.loc.

Далее зайдем в настройки OpenServer на вкладку Домены и укажем для домена рабочую папку project.locpublic. Это сделано, потому что индексный файл проекта в Laravel хранится в папке public и что бы при открытии сайта-проекта именно туда осуществлялся запрос.

Теперь при открытии сайта http://project.loc в браузере, открывается наш проект:

или для версии Laravel 8.x:

Данный материал содержит инструкцию по сборке базового сайта (приложения) на Laravel Framework 7.x под операционной системой Windows с установленным Open Server. Open Server Panel — это портативная серверная платформа и программная среда, созданная специально для веб-разработчиков с учётом их рекомендаций и пожеланий.

Скачать Open Server можно здесь https://ospanel.io/. Установка его абсолютно интуитивно понятна.
Весь материал, касающийся именно базовой настройки Laravel, так же справедлив и для таких операционных систем, как Mac OS и Linux, естественно с учётом их особенностей.


I. Установка Composer на OpenServer

1) Допустим, мы установили Open Server в каталог D:OSPanel. Переходим к текущему модулю PHP, например:

D:OSPanelmodulesphpPHP_7.3-x64

2) Запускаем:

php -r «readfile(‘https://getcomposer.org/installer’);» | php

или Composer-Setup.exe, указывая  D:OSPanelmodulesphpPHP_7.3-x64

3) Проверяем какая версия стоит командой: 

php composer.phar -V

4) Создаём .bat файл и в дальнейшем можно будет работать без указания php composer.phar, просто указывая composer:

echo @php «%~dp0composer.phar» %*>composer.bat

II. Установка Laravel

1. Запускаем консоль OpenServer

2. Переходим в папку OSPaneldomains

3. Запускаем команду
composer create-project —prefer-dist laravel/laravel laravel.empty.blog
где laravel.empty.blog – каталог нашего проекта

4. Устанавливаем Node.JS https://nodejs.org/en/

5. Запускаем OpenServer, и идем в настройки. Во вкладке «Сервер» в поле «Настройка использования переменной Path» выставляем «Свой Path + userdata/config/path.txt». Создаем файл в папке OpenServeruserdataconfig под именем path.txt следующего содержания:

C:Program Filesnodejs

6. Перезапускаем OpenServer

7. Проверяем npm -i

8. Запускаем консоль, переходим в папку проекта D:OSPaneldomainslaravel.empty.blog

9. Запускаем установку npm install

10. В OpenServer идем в настройки. Во вкладке «Домены» добавляем папку D:OSPaneldomainslaravel.empty.blogpublic -> имя домена laravel.empty.blog

11. Проверяем в браузере http://laravel.empty.blog

12. В OpenServer идём в «Дополнительно» phpmyadmin (логин root без пароля)

13. Создаём базу laravel.empty.bl в кодировке utf8mb4_general_ci

14. Редактируем файл .env в OSPaneldomainslaravel.empty.blog

APP_NAME=Laravel.Empty.Blog
APP_URL=http://laravel.empty.blog
DB_DATABASE=laravel.empty.bl

Можно настроить smtp (на примере Яндекс):

MAIL_DRIVER=smtp
MAIL_HOST=smtp.yandex.ru
MAIL_PORT=587
MAIL_USERNAME=ВАШ_ЛОГИН
MAIL_PASSWORD=ВАШ_ПАРОЛЬ
MAIL_ENCRYPTION=tls
MAIL_FROM_ADDRESS=ВАШ_EMAIL
MAIL_FROM_NAME=»${APP_NAME}»

15. В консоли в папке OSPaneldomainslaravel.empty.blog запускаем команду
php artisan config:cache

16. В :OSPaneldomainslaravel.empty.blogresourcesviewswelcome.blade.php
меняем:

< title >Laravel< / title >
на < title >{{ config('app.name'') }}< / title >
Надпись Laravel в < div class="title m-b-md">
на {{ config('app.name') }} ;)

III. Запуск сайта (приложения) на Laravel.

17. Проверяем в браузере http://laravel.empty.blog

Мы должны увидеть: Laravel.Empty.Blog ;)

18. Открываем папку нашего проекта в PHPStorm или в другой IDE

19. Версию установленного Laravel можно поверить командой (в консоли в папке проекта):

php artisan -V

В нашем случае это Laravel Framework 7.6.2

20. Список всех команд: php artisan

21. Модифицируем файл app/Providers/AppServiceProvider.php

Без этих изменений может возникать ошибка:
Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes
Дело в том, что в Laravel 5.4 изменилась кодировка по умолчанию для базы данных (теперь это utf8mb4 для поддержки emoji). Ошибка Specified key was too long error проявляется только для MySQL ниже v5.7.7 и в старых версиях MariaDB.

Итак, в app/Providers/AppServiceProvider.php добавляем:

1) Добавьте строку в блоке use: use IlluminateSupportFacadesSchema;
2) Добавьте в метод boot строку: Schema::defaultStringLength(191);

22. Запускаем миграции: php artisan migrate

Вариант сообщений при успешном выполнении миграций:

Migration table created successfully.
Migrating: 2014_10_12_000000_create_users_table
Migrated: 2014_10_12_000000_create_users_table (0.44 seconds)
Migrating: 2019_08_19_000000_create_failed_jobs_table
Migrated: 2019_08_19_000000_create_failed_jobs_table (0.24 seconds)

В базе данных laravel.empty.bl создались таблицы failed_jobs и users

23. Добавляем механизм авторизации пользователей

Каркас фронтенда, обычно поставляемый с предыдущими версиями Laravel, был перенесен в отдельный пакет laravel/ui. Это позволяет создавать и версионировать пользовательские интерфейсы отдельно от основного фреймворка. В результате этого изменения в дефолтном каркасе фреймворка не будет Bootstrap и Vue.
Также была вынесена из фреймворка команда make:auth.Чтобы восстановить традиционный каркас Vue/Bootstrap, имеющийся в предыдущих версиях Laravel, вы можете установить пакет laravel/ui и использовать artisan команду ui для установки фронтенд каркаса.

Устанавливаем пакет: composer require laravel/ui

Устанавливаем фронтенд: php artisan ui vue —auth

Загружаем пакеты фронтенда: npm install

Запускаем нашу сборку в режиме разработчика: npm run dev

В результате последней команды будут скомпелированы файлы стилей и скриптов
/css/app.css
/js/app.js

24. Процесс регистрации.

Если всё сделано правильно, то перейдя на наш сайт http://laravel.empty.blog мы увидим в верхнем углу 2 пункта меню Login и Register.

Производим регистрацию нового пользователя – вводим имя, e-mail, пароль и подтверждение пароля. После успешной регистрации вы должны увидеть надпись You are logged in!

Это значит, что регистрация прошла успешно и Вы уже авторизованы на сайте!

Поздравляем! Базовая сборка сайта на Laravel 7 произведена, и теперь Ваш сайт полностью готов к дальнейшему развитию!

25. Git

Весь код к данному материалу находиться в общедоступном репозитории:
https://github.com/Best-ITPro/LaravelEmptyBlog_Blank.git

Вы можете скачать и использовать его для создания Ваших приложений.

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

С уважением,
Команда Best IT Pro
http://best-itpro.ru

СБОРКА БАЗОВОГО САЙТА (ПРИЛОЖЕНИЯ) НА LARAVEL FRAMEWORK 7.X

Данный материал содержит инструкцию по сборке базового сайта (приложения) на Laravel Framework 7.x под операционной системой Windows с установленным Open Server. Open Server Panel — это портативная серверная платформа и программная среда, созданная специально для веб-разработчиков с учётом их рекомендаций и пожеланий.
Скачать Open Server можно здесь https://ospanel.io/. Установка его абсолютно интуитивно понятна.
Весь материал, касающийся именно базовой настройки Laravel, так же справедлив и для таких операционных систем, как Mac OS и Linux, естественно с учётом их особенностей.

Установка Composer на OpenServer

  1. переходим к текущему модулю PHP, например:

D:OSPanelmodulesphpPHP_7.3-x64

  1. запускаем:

php -r «readfile(‘https://getcomposer.org/installer’);» | php

или Composer-Setup.exe, указывая D:OSPanelmodulesphpPHP_7.3-x64

  1. Проверяем какая версия стоит командой:

php composer.phar -V

  1. Создаём .bat файл и в дальнейшем можно будет работать без указания php composer.phar, просто указывая composer:

echo @php «%~dp0composer.phar» %*>composer.bat

Установка Laravel

  1. Запускаем консоль OpenServer

  2. Переходим в папку OSPaneldomains

  3. Запускаем команду
    composer create-project —prefer-dist laravel/laravel laravel.empty.blog
    laravel.empty.blog – каталог нашего проекта

  4. Устанавливаем Node.JS https://nodejs.org/en/

  5. Запускаем OpenServer, и идем в настройки. Во вкладке «Сервер» в поле «Настройка использования переменной Path» выставляем «Свой Path + userdata/config/path.txt». Создаем файл в папке OpenServeruserdataconfig под именем path.txt следующего содержания:
    C:Program Filesnodejs

  6. Перезапускаем OpenServer

  7. Проверяем npm –i

  8. Запускаем консоль, переходим в паку проекта OSPaneldomainslaravel.empty.blog

  9. Запускаем установку npm install

  10. В OpenServer идем в настройки. Во вкладке «Домены» добавляем папку OSPaneldomainslaravel.empty.blogpublic -> имя домена laravel.empty.blog

  11. Проверяем в браузере http://laravel.empty.blog

  12. В OpenServer идём в «Дополнительно» phpmyadmin (логин root без пароля)

  13. Создаём базу laravel.empty.bl utf8mb4_general_ci

  14. Редактируем файл .env в OSPaneldomainslaravel.empty.blog

APP_NAME=Laravel.Empty.Blog
APP_URL=http://laravel.empty.blog
DB_DATABASE=laravel.empty.bl

Можно настроить smtp (на примере Яндекс):

MAIL_DRIVER=smtp
MAIL_HOST=smtp.yandex.ru
MAIL_PORT=587
MAIL_USERNAME=ВАШ_ЛОГИН
MAIL_PASSWORD=ВАШ_ПАРОЛЬ
MAIL_ENCRYPTION=tls
MAIL_FROM_ADDRESS=ВАШ_EMAIL
MAIL_FROM_NAME=»${APP_NAME}»

  1. В консоли в папке OSPaneldomainslaravel.empty.blog запускаем команду
    php artisan config:cache

  2. В :OSPaneldomainslaravel.empty.blogresourcesviewswelcome.blade.php
    меняем:

<title>Laravel</title>
на <title>{{ config(‘app.name’, ‘Laravel’) }}</title>
Надпись Laravel в

на {{ config(‘app.name’, ‘Laravel’) }} ;)

Запуск сайта (приложения) на Laravel.

  1. Проверяем в браузере http://laravel.empty.blog

Мы должны увидеть: Laravel.Empty.Blog ;)

  1. Открываем папку нашего проекта в PHPStorm или в другой IDE

  2. Версию установленного Laravel можно поверить командой (в консоли в папке проекта):

php artisan –V

В нашем случае это Laravel Framework 7.6.2

  1. Список всех команд: php artisan

  2. Модифицируем файл app/Providers/AppServiceProvider.php
    Без этих изменений может возникать ошибка:
    Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes
    Дело в том, что в Laravel 5.4 изменилась кодировка по умолчанию для базы данных (теперь это utf8mb4 для поддержки emoji). Ошибка Specified key was too long error проявляется только для MySQL ниже v5.7.7 и в старых версиях MariaDB.

Итак, в app/Providers/AppServiceProvider.php добавляем:

  1. Добавьте строку в блоке use: use IlluminateSupportFacadesSchema;
  2. Добавьте в метод boot строку: Schema::defaultStringLength(191);
  1. Запускаем миграции: php artisan migrate

Вариант сообщений при успешном выполнении миграций:

Migration table created successfully.
Migrating: 2014_10_12_000000_create_users_table
Migrated: 2014_10_12_000000_create_users_table (0.44 seconds)
Migrating: 2019_08_19_000000_create_failed_jobs_table
Migrated: 2019_08_19_000000_create_failed_jobs_table (0.24 seconds)

В базе данных laravel.empty.bl создались таблицы failed_jobs и users

  1. Добавляем механизм авторизации пользователей

Каркас фронтенда, обычно поставляемый с предыдущими версиями Laravel, был перенесен в отдельный пакет laravel/ui. Это позволяет создавать и версионировать пользовательские интерфейсы отдельно от основного фреймворка. В результате этого изменения в дефолтном каркасе фреймворка не будет Bootstrap и Vue.
Также была вынесена из фреймворка команда make:auth.Чтобы восстановить традиционный каркас Vue/Bootstrap, имеющийся в предыдущих версиях Laravel, вы можете установить пакет laravel/ui и использовать artisan команду ui для установки фронтенд каркаса.

Устанавливаем пакет: composer require laravel/ui

Устанавливаем фронтенд: php artisan ui vue –auth

Загружаем пакеты фронтенда: npm install

Запускаем нашу сборку в режиме разработчика: npm run dev

В результате последней команды будут скомпелированы файлы стилей и скриптов
/css/app.css
/js/app.js

  1. Процесс регистрирации.

Если всё сделано правильно, то перейдя на наш сайт http://laravel.empty.blog мы увидим в верхнем углу 2 пункта меню Login и Register.

Производим регистрацию нового пользователя – вводим имя, e-mail, пароль и подтверждение пароля. После успешной регистрации вы должны увидеть надпись You are logged in!

Это значит, что регистрация прошла успешно и Вы уже авторизованы на сайте!

Поздравляем! Базовая сборка сайта на Laravel 7 произведена, и теперь Ваш сайт полностью готов к дальнейшему развитию!

  1. Git

Весь код к данному материалу находиться в общедоступном репозитории
https://github.com/Best-ITPro/LaravelEmptyBlog_Blank.git

Вы можете скачать и использовать его для создания Ваших приложений.

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

С уважением,
Команда Best IT Pro
http://best-itpro.ru

About Laravel

Laravel is a web application framework with expressive, elegant syntax. We believe development must be an enjoyable and creative experience to be truly fulfilling. Laravel takes the pain out of development by easing common tasks used in many web projects, such as:

  • Simple, fast routing engine.
  • Powerful dependency injection container.
  • Multiple back-ends for session and cache storage.
  • Expressive, intuitive database ORM.
  • Database agnostic schema migrations.
  • Robust background job processing.
  • Real-time event broadcasting.

Laravel is accessible, powerful, and provides tools required for large, robust applications.

Learning Laravel

Laravel has the most extensive and thorough documentation and video tutorial library of all modern web application frameworks, making it a breeze to get started with the framework.

If you don’t feel like reading, Laracasts can help. Laracasts contains over 1500 video tutorials on a range of topics including Laravel, modern PHP, unit testing, and JavaScript. Boost your skills by digging into our comprehensive video library.

Laravel Sponsors

We would like to extend our thanks to the following sponsors for funding Laravel development. If you are interested in becoming a sponsor, please visit the Laravel Patreon page.

  • Vehikl
  • Tighten Co.
  • Kirschbaum Development Group
  • 64 Robots
  • Cubet Techno Labs
  • Cyber-Duck
  • British Software Development
  • Webdock, Fast VPS Hosting
  • DevSquad
  • UserInsights
  • Fragrantica
  • SOFTonSOFA
  • User10
  • Soumettre.fr
  • CodeBrisk
  • 1Forge
  • TECPRESSO
  • Runtime Converter
  • WebL’Agence
  • Invoice Ninja
  • iMi digital
  • Earthlink
  • Steadfast Collective
  • We Are The Robots Inc.
  • Understand.io
  • Abdel Elrafa
  • Hyper Host
  • Appoly
  • OP.GG
  • 云软科技

Contributing

Thank you for considering contributing to the Laravel framework! The contribution guide can be found in the Laravel documentation.

Code of Conduct

In order to ensure that the Laravel community is welcoming to all, please review and abide by the Code of Conduct.

Security Vulnerabilities

If you discover a security vulnerability within Laravel, please send an e-mail to Taylor Otwell via taylor@laravel.com. All security vulnerabilities will be promptly addressed.

License

The Laravel framework is open-sourced software licensed under the MIT license.

laravel-nastrojkaВсем хэллоу 🙂

Мы продолжаем цикл публикаций, посвящённых самостоятельному созданию сайтов на Laravel 5. В предыдущих статьях из данной серии я рассказал вам, что такое Laravel и какими способами его можно установить на хостинг или локальный веб-сервер.

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

Не понимаете, о какой настройке идёт речь? Тогда просто попробуйте запустить Laravel в браузере после его установки — думаю, что все вопросы отпадут сами собой 🙂

А о том, как исправить данную ситуацию — читайте далее.

  • В чём будет заключаться настройка Laravel
  • Установка Laravel на OpenServer
  • Настройка Laravel проекта на различных веб-серверах
  • Настройка Laravel для Apache
  • Настройка Laravel проекта на Nginx сервере
  • Настройка локалей и соединений с БД в Laravel

Ну, вот мы и произвели установку Laravel. Теперь, казалось бы, остаётся радоваться жизни и начинать работу над реальными проектами… Но, не тут-то было 🙂

Файловая структура Laravel обладает одной раздражительной для новичков особенностью – файл index.php, который распознаётся web-серверами как точка входа на сайт, расположен не в корне проекта, а в папке «public».

Поэтому после установки Laravel на ваш веб-сервер и ввода в браузере доменного имени сайта вместо ожидаемой стартовой страницы вы увидите только список файлов.

laravel-public-problemy-pri-zapuske

Сайт, конечно, можно запустить, если вбить URL сайта в формате «http://localhost/laravel.corp/public», но вы только посмотрите на этот адрес… Сколько букв, а это всего лишь адрес корня сайта 🙂

Работать с такой простынёй в будущем будет крайне неудобно и ни о каком ЧПУ даже и думать не приходится.

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

А ещё, помимо чистых веб-серверов существуют различные сборки ПО для комфортной работы веб разработчиков. Они называются LAMP, WAMP, MAMP, XAMP.

Первая буква данных аббревиатур означает ОС, на которой сборка будет работать (Linux, Windows, MacOS, X- любая). А последние три — это заглавные буквы основных программ для создания сайтов, входящих в дистрибутив (Apache, MySQL, PHP).

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

И, хотя, сегодня активно применяются и другие средства для быстрого старта веб проектов — виртуализаторы и виртуальные среды разработки, о которых я упоминал в предыдущей статье об установке Laravel, я всё так же являюсь сторонником использования *AMP сборок.

Сам я веду разработку под ОС Windows и пользуюсь WAMP-сборкой OpenServer, о чём уже неоднократно говорил в статьях на данном блоге.

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

Ну, а поскольку я начал рассказывать об OpenServer, то и настройку Laravel для полноценного запуска проектов начну на его примере.

Установка Laravel на OpenServer

Прежде всего, хочу сказать, что использование OpenServer значительно упрощает запуск Laravel проектов, т.к. вам не нужно производить никаких манипуляций в консоли и тратить своё время на дополнительные настройки серверного ПО, необходимые для корректного взаимодействия друг с другом.

Для всего этого в OpenServer есть уже всё необходимое. Нужно только знать, где и что клацать 🙂

Итак, после установки OpenServer и его запуска нам нужно настроить Laravel для запуска проекта по прямому запросу к его доменному имени, а не к папке public.

Перед этим действием предполагается, что Laravel вы уже установили и разместили его файлы в папке domains на OpenServer, которая предназначена как раз для будущих сайтов, запускаемых с помощью сервера. В моём примере Laravel находится по пути «C:openserverdomainslocalhostlaravel.corp».

Запустить в браузере я его сейчас могу только послав запрос на URL «http://localhost/laravel.corp/public», что крайне неудобно. Итак, чтобы избавиться от этой неприятности, первым делом нам нужно зайти в настройки OpenServer, что можно сделать следующим образом:

laravel-openserver-nastrojki

В открывшемся окне переходим на вкладку «Домены» и в списке «Управление доменами» выбираем пункт «Ручное управление» или «Ручное + Автопоиск», чтобы можно было задавать своим проектам произвольные доменные имена.

В качестве примера я использовал первый вариант, но всё же рекомендую последний, т.к. он позволяет как добавлять произвольные доменные имена, так и запускать проекты из папки «openserver/domains», обращаясь к ним по их названиям каталогов.

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

laravel-openserver-nastrojka-domena

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

Кстати! При данном варианте добавления новых сайтов на сервер файлы ресурса могут быть расположены в любом месте, не обязательно в «openserver/domains».

Если вы всё сделали правильно, то при вводе в браузере доменного имени (laravel.portfolio в моём случае), которое вы добавили, вы увидите стандартную страницу приветствия Laravel:

laravel-openserver-rabochij-sajt

Поздравляю, на этом установка Laravel на OpenServer подошла к концу. Сайт заработал, причём теперь исчезла необходимость обращаться к папке public!

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

Для этого просто скопируйте каталог с проектом или сделайте его архив в отдельном месте, кратко описав текущий функционал и дату создания.

Также не лишним будет сделать Git репозиторий для хранения списка изменений и быстрого их восстановления в будущем.

Если вы работаете самостоятельно (я имею ввиду, не в офисе) и у вас нет собственного Git сервера, то можете развернуть его на своей рабочей машине, сделав в отдельной директории bare-репозиторий, либо залить изменения на GitHub (думаю, что для ваших локальных целей вполне хватит публичного репозитория, т.к. приватный платный).

Как видите, сайт на Laravel из коробки выглядит так себе 🙂 В общем-то, страницу приветствия назвать сайтом можно при наличии определённой доли смелости и фантазии.

Но, в этом и заключается корневое отличие фреймворков от CMS, потому как последний вид движка представляет из себя уже полноценный сайт. В то время, как фреймворк лишь даёт возможность таковой построить.

Но, это не беда. Стоит только начать… И, со временем, занимаясь разработкой сайтов на framework, у вас под рукой уже будет собственная мини-CMS благодаря готовым фрагментам кода и отдельным модулям.

А мы с вами начнём заниматься непосредственно разработкой уже в следующей статье, где я покажу вам, как «натянуть» чистый HTML-шаблон на фреймворк, на базе которого мы в дальнейшем создадим полнофункциональный сайт-визитку с админкой и возможностью ведения блога.

Поэтому подписывайтесь на обновления проекта, чтобы не пропустить самое интересное 🙂

Итак, для фанатов Windows и OpenServer мы Laravel настроили. А как же быть тем, кто пользуется Linux-дистрибутивами или MacOS, на которых OpenServer не работает?

Когда-то передо мной стояла подобная задача — настроить Laravel на Ubuntu сервере.

На stackoverflow.com каких только способов я не находил… вплоть до изменения файловой структуры самого Laravel проекта (способ хоть и рабочий, но не рекомендую им пользоваться, чтобы у других разработчиков при виде «сего творения» не вставали дыбом волосы) 🙂

Как же быть?

Достойным внимания является настройка виртуальных хостов, корнем которых будет являться папка public вашего Laravel проекта (по сути, это мы и сделали при запуске Laravel на OpenServer). Но, этот вариант подойдёт только для локального использования и на выделенных серверах.

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

Рассмотрим данные операции для различных веб-серверов.

Настройка Laravel проекта на различных веб-серверах

Поскольку самыми распространёнными программными веб серверами на сегодня являются Nginx и Apache, то рассмотрю данный процесс для них.

Настройка Laravel для Apache

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

Способ 1.

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

1. Переходим в папку виртуальных хостов Apache: apache2/sitesavailable

2. Если вы ещё не создавали виртуальные хосты, то в данной папке у вас будет всего лишь один файл default. Откройте его для редактирования либо скопируйте и переименуйте его в название вашего будущего сайта. Например, laravelsite.local.

3. Внутри файла прописываем следующие настройки:

<VirtualHost *:80>
    
    ServerName laravelsite.local
    DocumentRoot "path_to_site/myapp/public"
        
    <Directory "path_to_site/myapp/public">
        AllowOverride all
    </Directory>
        
</VirtualHost>

4. Если вы создавали новый файл в sites-available, то для активации виртуального хоста нужно будет сделать ссылку на файл из apache2/sitesavailable в apache2/sites-enabled (в Unix-подобных системах это производится с помощью команды ln). Если вы редактировали существующий файл default, то данные действия будут лишними.

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

Вот и всё, после запуска Apache сайт будет доступен по адресу http://laravelsite.local/. Если что-то пойдёт не так, то ищите текст ошибки в логах Apache.

Способ 2.

Благо, что Apache предоставляет ещё один, более простой способ настройки корня Laravel сайта на директорию public с помощью директив в файле .htaccess, размещённом в корне проекта. Я сам активно пользуюсь данным способом при разворачивании Laravel сайтов на shared хостингах, т.к. он максимально прост и быстр — достаточно однажды подготовить соответствующий файл — и вперёд 🙂

Код его должен быть следующим:

DirectoryIndex /public/index.php
RewriteEngine On

RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^(.+) $1 [L]

RewriteCond %{DOCUMENT_ROOT}/public%{REQUEST_URI} -f
RewriteRule ^(.+) /public/$1 [L]

Options +SymLinksIfOwnerMatch
RewriteRule ^(.*)$ /public/ [QSA,L]

Этот нужно разместить в папке с Laravel в .htaccess, который находится в корне самого проекта. Тот .htaccess, который лежит в директории public, трогать не нужно!

Всё, с настройкой Laravel для Apache мы разобрались. Теперь самое время сделать то же самое для Nginx, который также достаточно активно применяется для запуска веб-проектов ввиду своей фантастической скорости работы.

Настройка Laravel проекта на Nginx сервере

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

Если вы знаете больше, то не отмалчивайтесь и поделитесь ими в комментариях со мной и всеми остальными 🙂

В случае с Nginx для настройки виртуальных хостов нужно произвести действия, аналогичные в случае с Apache:

1. Переходим в папку виртуальных хостов Nginx: nginx/sitesavailable.

2. Сделать файл нового виртуального хоста или отредактировать существующий default.

3. Внутри файла прописываем следующие настройки:

server {
    listen 80 default_server;
    listen [::]:80 default_server ipv6only = on;
    root path_to_app/myapp/public;
    index index.php index.html index.htm;

    server_name server_domain_or_IP;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ .php$ {
        try_files $uri /index.php = 404;
        fastcgi_split_path_info ^(.+.php)(/.+)$;
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

Учтите, что последний блок кода — это настройки PHP для запуска сайта: путь к интерпретатору, модули, расширения файлов и т.д. Если с данными настройками сайт не заработает, то отредактируйте их в соответствии со своей конфигурацией сервера. Подробный текст ошибок ищите в логах Nginx.

4. Если создавали новый виртуальный хост, то активируем его созданием ссылки на файл с настройками из папки sites-available в sites-enabled. Если новый хост вы не создавали, а редактировали существующий, то данный шаг пропускаем.

5. Перезапускаем Nginx.

Итак, после данных действий, при вводе в веб браузере адреса сайта (в моём примере он будет http://laravelsite.local/) вы увидите не список файлов, как прежде, а ожидаемую страницу приветствия Laravel.

Если этого не произошло, то ищите ответы на вопросе в логах вашего веб-сервера (Nginx или Apache, соответственно). Скорее всего, они будут вызваны неверными правами на различные папки (как проекта в целом, так и на отдельные внутренние каталоги). В таком случае всё, что вам потребуется, это установить их в 755 или 644 🙂

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

Настройка локалей и соединений с БД в Laravel

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

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

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

При написании статей на данном блоге я неоднократно описывал процесс создания БД через программу phpMyAdmin, предоставляющую веб-интерфейс для работы с базами, имеющимися на сервере.

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

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

Итак, предположим, что базу вы создали. Теперь самое время настроить соединение в самом фреймворке.

Настройки различных компонентов, входящих в состав фреймворка, хранятся в отдельных файлах, расположенных внутри каталога config, который после установки чистого дистрибутива Laravel выглядит так:

nastrojka-laravel-configuratsionnye-fajly

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

Кстати! Настройки устанавливаемых сторонних расширений (пакетов) вы сможете найти в этом же каталоге после их установки и публикации конфигов. Правда, не всегда. Некоторые разработчики предпочитают хранить их вместе с остальными файлами пакета в папке vendor.

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

Единственное, на что я хочу обратить ваше внимание, так это на постоянное использование внутри конфигов функции env():

'default' => env('DB_CONNECTION', 'mysql'),

Вот по этому поводу хотелось бы внести некоторые комментарии.

Функция env() в Laravel является переработанным вариантом getenv(), являющейся частью PHP библиотеки DotEnv от Vance Lucas, которая используется в составе Laravel.

Данная библиотека позволяет создавать файл с перечнем переменных рабочего окружения — .env в корне проекта, переменные из которых становятся глобально доступными благодаря функции getenv (env для Laravel) и из суперглобальных массивов $_ENV и $_SERVER.

Причём, как вы видите в примере выше, данная функция принимает два параметра:

  1. Имя переменной окружения;
  2. Значение, которое будет использоваться, если переменная не будет найдена.

Возникает вопрос: «Что за окружение такое?». Имеется ввиду набор настроек проекта, актуальные для отдельных разработчиков, т.е. хранящиеся на его рабочем компьютере.

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

Естественно, что имя локальной БД, к примеру, может (а скорее всего, так и будет) не совпадать с основной.

Так вот, чтобы не менять каждый раз значения глобальных переменных после заливки файлов в общий репозиторий или на сервер, эти переменные хранятся в специальном файле локального окружения, который автоматически добавляется в .gitignore и недоступен к просмотру в некоторых файловых системах и программах (к примеру, в SSH клиенте WinSCP при базовых настройках его не видно).

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

К чему я всё это? Да к тому, что лучше нам свои настройки хранить в файле .env. Пока вы работаете одни над проектом, для вас, естественно, нет никакой разницы — в .env ли будут храниться настройки или в специализированных конфигах.

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

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

Итак, открываем файл .env и ищем следующий блок переменных, отвечающий за настройки соединения с базой данных:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=homestead
DB_USERNAME=homestead
DB_PASSWORD=secret

Кстати! Если вы устанавливали Laravel не через Composer, а, например, вручную, путём скачивания с GitHub, то файла .env у вас не будет. Вместо него вы найдёте файл .env.example, который нужно будет скопировать и переименовать в .env вручную.

Несложно догадаться, что первая переменная отвечает за СУБД, которой вы будете пользоваться, далее идёт имя (IP) сервера БД, порт для соединения, имя БД, а также логин пользователя БД и пароль для авторизации.

В моём случае я назвал БД laravel_corp. Пользователь БД у меня стандартный — root, пароль пустой. СУБД использую MySQL и сервер у меня расположен на локальном ПК.

Следовательно, мой конфиг принял такой вид:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel_corp
DB_USERNAME=root
DB_PASSWORD=

Думаю, что по моему примеру вам несложно будет ввести свои настройки.

Ещё одна вещь, которую вам может понадобиться изменить в дефолтных настройках Laravel — это настройка локали и времени. Где это может пригодиться?

Локаль — это язык по умолчанию. Следовательно, если у вас сайт будет мультиязычный, то контент на данном языке будет по умолчнию.

А настройка времени (часового пояса) нам нужна для корректного хранения данных, касающихся времени (создание записи в БД, её обновление и т.д.). Лично мне некорректное значение данного параметра очень сильно подпортило нервы однажды, когда я не мог никак понять, почему у сообщения в чате, которое я только что отправил, время создания указывалось на час меньше. А виной всему был один-единственный параметр 🙂

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

Итак, обе переменные находятся в одном файле — config/app.php. Открываем его и ищем следующий блок:

'timezone' => 'UTC',
'locale' => 'en',

В моём случае значения у них были ‘Europe/Kiev’/’ru’. Тут хочется сделать небольшое уточнение по поводу часового пояса.

Изначально, увидев значение «UTC», мне захотелось использовать запись в формате UTC+2, но данная переменная принимает в качестве значения PHP timezones, нужную из которых вы можете найти по указанной ссылке.

Ну вот, собственно говоря, и всё, что я хотел вам сегодня сказать. В ходе публикации мы с вами произвели комплексную настройку Laravel, начиная с запуска проекта на веб-серверах Apache, Nginx и WAMP-сборке OpenServer, и заканчивая настройкой глобальных переменных, необходимых для соединения с БД и корректной работы сайта в целом.

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

Также не забывайте пользоваться социальными кнопками под статьёй.

На этом у меня всё. До скорых встреч 🙂

P.S.: если вам нужен сайт либо необходимо внести правки на существующий, но для этого нет времени и желания, могу предложить свои услуги.

Более 5 лет опыта профессиональной разработки сайтов. Работа с PHP, OpenCart, WordPress, Laravel, Yii, MySQL, PostgreSQL, JavaScript, React, Angular и другими технологиями web-разработки.

Опыт разработки проектов различного уровня: лендинги, корпоративные сайты, Интернет-магазины, CRM, порталы. В том числе поддержка и разработка HighLoad проектов. Присылайте ваши заявки на email cccpblogcom@gmail.com.

И с друзьями не забудьте поделиться 😉

Установка фреймворка Laravel делается без копирования каких-либо ваших файлов, через командную строку. Переходим в командную строку из меню OpenServer, выбрав в меню

Дополнительно -> Консоль

Узнаем, установлен ли Composer, введя команду:

composer

Если появилась такая картина, то composer в составе OpenServer работает.

Я устанавливаю Laravel в папку c:OSPaneldomainschess_club. Для этого я вхожу в нее перед установкой через командную строку.

Затем устанавливаем пакет Laravel, введя команду:

composer create-project —prefer-dist laravel/laravel

Laravel установлен.

Если нужно установить какую-то старую версию Laravel, к примеру 5.8, то делается это так:

composer create-project laravel/laravel your-project-name 5.8

По умолчанию корни Laravel находятся в папке public. Чтобы обеспечить это, нужно в корень проекта кинуть файл .htaccess с таким кодом:

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteRule ^(.*)$ public/$1 [L]
</IfModule>

Запускаю проект через браузер, и вижу варнинги

Они означают, что Composer в проекте не установлен и папки vendor не существует, нужно его быстренько воткнуть.

composer dump-autoload

После того как composer установился, в браузере все отображается как надо.

Архитектура

codeАрхитектура расположения каталогов программного комплекса подразумевает под собой чёткое разделение двух различных типов данных: изменяемых данных пользователя (настройки, временные файлы, логи т.д.) и неизменяемых данных (модули, программы, служебные файлы).

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

Установка и запуск

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

Сборку можно разместить на внешнем жёстком диске, это позволит использовать
Open Server Panel на любом компьютере, который отвечает системным требованиям. Однако не стоит размещать сборку на USB-флеш накопителе из-за крайне медленной работы флеш-памяти при параллельных запросах на чтение/запись и её быстрого износа.

Желательно установить
Open Server Panel на SSD-накопитель, при его наличии. Это позволит значительно повысить скорость работы всех модулей и компонентов программного комплекса.

Внимание!

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

Системные требования

  • Операционные системы: Windows 7 SP1 x64 / Windows Server 2008 R2 SP1 или новее (32-битные системы не поддерживаются);
  • Свободные аппаратные ресурсы: от 500 МБ RAM и от 10 ГБ места на диске;
  • Системное ПО: MSVC++ 2005-2022 Redistributable Packages (есть в комплекте);

Установка

В процессе установки
Open Server Panel отметьте галочками пункт по установке Microsoft Visual C++ 2005-2008-2010-2012-2013-2015-2019 Redistributable Package, пункт по установке RuntimePack Lite, пункт по настройке Windows и пункт по оптимизации системы для работы с SSD (при его наличии). Без выполнения этих действий работа
Open Server Panel на вашем компьютере не гарантируется.

Установку/переустановку библиотек от Microsoft и применение настроек Windows необходимо выполнять c каждой новой версией
Open Server Panel даже в том случае, если вы уже делали это ранее.

Запуск

Для запуска
Open Server Panel используйте файл Open Server.exe. После старта программы вы увидите красный флажок в области уведомлений Windows (область возле системных часов). Чтобы включить непосредственно сам веб-сервер и сопутствующие модули нажмите на флажок, далее выполните [Меню → Запустить].

Если сервер не запускается перейдите к разделу Решение проблем данного справочного руководства.

Настройка Windows 10

Перед установкой
Open Server Panel в системах семейства Windows 10 необходимо обязательно предварительно снять галочку, показанную на картинке, и перезагрузить систему.

Без выполнения данного условия запуск
Open Server Panel в системах семейства Windows 10 будет невозможен. В случае попытки запуска до выполнения данного условия произойдёт порча файлов конфигурации программы, что приведёт к невозможности её дальнейшего использования и запуска.

Установка обновлений

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

Не распаковывайте файлы дистрибутива поверх существующей версии, а так же не пытайтесь скопировать файлы конфигурации и профилей из старой версии программы в новую!

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

Подключение

По умолчанию все дополнительные модули выключены. Перед началом работы с
Open Server Panel убедитесь в том, что вы включили нужные вам модули в настройках программы.

Ниже представлены установленные в
Open Server Panel начальные настройки (значения по умолчанию) для подключения к различным модулям. Вы всегда можете самостоятельно изменить эти настройки по своему усмотрению.

Подключение к MySQL

  • Адрес: домен вашего сайта*
  • Порт: 3306
  • Пользователь: root
  • Пароль: (пустой)

Предупреждение

Доступ с удалённых хостов (%) включён по умолчанию и возможен с любого ip. Обязательно выполните настройку прав удалённого доступа у пользователей БД до того, как вы запустите Open Server на публичном IP (если планируете).

Подключение к PostgreSQL

  • Адрес: домен вашего сайта*
  • Порт: 5432
  • Пользователь: postgres
  • Пароль: postgres

Подключение к MongoDB

  • Адрес: домен вашего сайта*
  • Порт: 27017
  • Пользователь: (пусто)
  • Пароль: (пусто)

Подключение к Memcached

  • Адрес: домен вашего сайта*
  • Порт: 11211

Макс. размер памяти используемой сервером Memcache по умолчанию равен 64 Мб. Данный параметр можно изменить выполнив [Меню → Настройки → Разное].

Подключение к Redis

  • Адрес: домен вашего сайта*
  • Порт: 6379

Подключение к DNS

  • Адрес: домен вашего сайта*
  • Порт: 53

Подключение к FTP

  • Адрес: домен вашего сайта*
  • Порт: 21 (990 для FTPS)
  • Пользователь: ftp
  • Пароль: ftp

Внимание!

Модуль FTP-сервера экспериментальный. Он имеет известные уязвимости и проблемы с быстродействием. Используйте его только в целях локальной разработки. Не активируйте модуль в условиях, когда доступ к серверу открыт во внешнюю сеть!

Домен localhost

Если вы хотите использовать привычный адрес localhost для подключения к MySQL, PostgreSQL, FTP или Memcache серверу, то достаточно не удалять стандартный домен localhost или создать одноимённый алиас.

Автоматизация подключения

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

  1. Локально создать пользователя базы данных с теми же именем, паролем и привилегиями, что используются на удалённом сервере.
  2. Создать алиас с тем же именем, что используется в качестве хоста базы данных на удалённом сервере.


* Например, если ваш скрипт размещен по адресу testserver.loc/mysql.php, то хостом (адресом) для подключения к MySQL, Redis и другим модулям будет домен: testserver.loc

Домены и алиасы

Режимы управления доменами

В
Open Server Panel существует три режима управления списком доменов: автопоиск, ручное управление и ручное+автопоиск. По умолчанию используется первый режим автоматического подключения папок из корневой директории указанной в настройках.

Как работает автопоиск

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

Как работает совмещённое управление (ручное + автопоиск)

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

Создание домена в автоматическом режиме

Чтобы создать домен или поддомен откройте [Меню → Папка с сайтами] и создайте папку с именем будущего домена. После создания домена перезапустите сервер.

Создание домена в ручном режиме

Чтобы создать домен или поддомен перейдите в раздел [Меню → Настройки → Домены] и создайте запись вида: домен => папка. В качестве папки домена можно выбрать уже существующую папку на диске или создать её непосредственно в окне выбора каталога. После создания домена сохраните настройки.

Создание кириллического домена

Open Server Panel поддерживает кириллические домены, однако будьте внимательны, папку с доменом нужно называть его реальным именем, а не псевдо названием на кириллице. Для пиво.рф реальным названием (punycode формат) будет xn--b1altb.xn--p1ai и создав такой домен вы получите доступ к http://пиво.рф. Для конвертации доменных имён в punycode формат и обратно используйте [Меню → Дополнительно → IDN конвертер].

Создание поддомена

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

Создание алиаса

Чтобы создать алиас перейдите в раздел [Меню → Настройки → Алиасы] и создайте запись вида: исходный домен => конечный домен. После создания алиаса сохраните настройки.

Обратите внимание — создание алиаса вида *.xxx.xx не имеет смысла в Windows и не означает то, что вам станут доступны любые поддомены вида test.xxx.xx, mail.xxx.xx и т.д. Необходимо создать конкретный алиас или домен чтобы он стал доступен, это особенность операционной системы Windows.

Иконка сайта в меню доменов

При наличии корректного файла favicon.ico в корневой папке домена иконка сайта будет отображаться в меню программы.

Ограниченный режим работы

В некоторых случаях управление доменами и алиасами недоступно (см. Ограниченный режим).

Работа с MySQL

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

Создание пользователя MySQL

  1. Откройте [Меню → Дополнительно → PHPMyAdmin]
  2. Введите имя пользователя root и пустой пароль
  3. В PHPMyAdmin откройте раздел [Привилегии]
  4. Нажмите ссылку [Добавить нового пользователя]
  5. Заполните форму и нажмите кнопку [Создать пользователя]

Информация

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

Информация

Для входа в Adminer используйте логин и пароль пользователя БД. Если ваш пользователь БД не имеет пароля, то для авторизации в Adminer необходимо использовать пароль заданный в плагине авторизации самого Adminer, по умолчанию это admin.

Пароль указывается в файле index.php находящимся в modulessystemhtmlopenserveradminer

Рекомендуется сменить этот пароль перед началом использования программы.

Создание базы данных MySQL

  1. Откройте [Меню → Дополнительно → PHPMyAdmin]
  2. Введите имя пользователя root и пустой пароль
  3. В PHPMyAdmin откройте раздел [Базы данных]
  4. Введите название новой базы данных и выберите её кодировку
  5. Нажмите кнопку [Создать]

Переключение модулей баз данных

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

Предупреждение

Во время установки
Open Server Panel выполняется настройка Windows, во время которой IPv4 трафик получает приоритет над IPv6 при разрешении доменных имён. Если не выполнять данную процедуру, то процесс подключения в MySQL серверу может выполняться очень долго (более 1 сек).

Чтобы проверить корректность настройки приоритетов откройте консоль и введите ping localhost. Если в ответе вы получаете адрес ::1 вместо 127.0.0.1, значит приоритеты настроены неверно.

Переменная Path

Для добавления собственных путей в переменную окружения PATH можно использовать файл ./userdata/config/path.txt

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

C:Windows
D:My Programs
%realprogdir%datadll
C:WindowsSystem32

Информация

По умолчанию файл path.txt не подключается. См. [Меню → Настройки → Сервер].

Использование переменных в качестве подстановок

Переменная Описание переменной
%realprogdir% Реальный путь до папки с
Open Server Panel (обратный слеш «»)
%progdir% Генерируемый путь до папки с
Open Server Panel с учетом виртуального диска (обратный слеш «»)
%sprogdir% Генерируемый путь до папки с
Open Server Panel с учетом виртуального диска (слеш «/»)
%dprogdir% Генерируемый путь до папки с
Open Server Panel с учетом виртуального диска (двойной обратный слеш «\»)
%dsprogdir% Генерируемый путь до папки с
Open Server Panel с учетом виртуального диска (двойной слеш «//»)
%realsitedir% Реальный путь до корневой папки доменов (обратный слеш «»)
%sitedir% Генерируемый путь до корневой папки доменов с учетом виртуального диска (обратный слеш «»)
%ssitedir% Генерируемый путь до корневой папки доменов с учетом виртуального диска (слеш «/»)
%httpport% Порт HTTP сервера
%httpsport% Порт HTTPS сервера
%postgresqlport% Порт PostgreSQL сервера
%mysqlport% Порт MySQL сервера
%mongodbport% Порт MongoDB сервера
%memcacheport% Порт Memcache сервера
%ftpport% Порт FTP сервера
%httpdriver% Название модуля HTTP
%phpdriver% Название модуля PHP
%mysql_driver% Название модуля MySQL/MariaDB
%pg_driver% Название модуля PostgreSQL
%mongo_driver% Название модуля MongoDB
%memcachedriver% Название модуля Memchached
%redisdriver% Название модуля Redis
%dnsdriver% Название модуля DNS
%ip% IP адрес сервера
%disk% Буква диска из генерируемого пути до папки с
Open Server Panel с учетом виртуального диска (только буква)
%osdisk% Буква диска из реального пути до папки с
Open Server Panel (только буква)
%sysdisk% Системный диск Windows (только буква)

Настройка DNS

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

Для использования встроенного DNS сервера необходимо выполнить настройку сетевого интерфейса на каждом компьютере ДО запуска самого сервера. Выполнить настройку необходимо как на локальной машине, так и на других компьютерах в локальной сети, которые хотят получить доступ к вашим доменам. Без указания локального DNS сервера в настройках сетевого подключения запуск сервера будет невозможен (если модуль DNS активирован в настройках
Open Server Panel).

По умолчанию параметр TTL установлен в значение 60 (секунд), вы можете изменить это значение в файле ./userdata/init.ini однако следует иметь ввиду, что бездумное изменения TTL может спровоцировать кэширование неактуальных записей другими компьютерами в вашей сети. Изменяйте этот параметр только в том случае, если вы действительно понимаете его предназначение.

Предупреждение

Перед началом использования DNS-модуля убедитесь в том, что у вас отсутствуют домены без точки в своём названии. Если таковые имеются, то переименуйте их добавив .virtual или .loc к имени домена.

Внимание!

Если ваш браузер производит разрешение доменных имён через прокси-сервер или использует функцию DNS over HTTPS от стороннего DNS-провайдера (например Google или CloudFlare), то локальные домены, созданные вами в Open Server, не будут доступны в этом браузере.

Рекомендации по настройке

  1. В качестве IP адреса сервера выберите в настройках
    Open Server Panel IP адрес вашего компьютера в локальной сети или сети Интернет (не выбирайте параметр Все доступные IP).
  2. Откройте свойства нужного сетевого подключения:

    Центр управления сетями → Подключение xxx → Свойства → Протокол Интернета версии 4 → Свойства → Общие → Использовать следующие адреса DNS-серверов.

    Пропишите следующие адреса NS серверов:

    xxx.xxx.xxx.xxx
    8.8.8.8 (или любой другой реальный резервный DNS)

    Вместо xxx.xxx.xxx.xxx впишите IP адрес вашего компьютера в локальной сети или сети Интернет.

  3. Повторите процедуру настройки на других компьютерах в локальной сети.
  4. Не выполняйте настройку алиасов из инструкции раздела Внешний доступ данного руководства. Подобная настройка не требуется, поскольку удалённые компьютеры будут напрямую работать с вашим DNS сервером и получат доступ ко всем доменам.
  5. Сохраните настройки и выполните запуск сервера
    Open Server Panel.

После правильной настройки все компьютеры в вашей локальной сети смогут получить доступ к доменам
Open Server Panel.

Совпадение имён локальных и реальных доменов

Если включён DNS-модуль, то при каждом запуске сервера и при каждой его остановке
Open Server Panel выполняет очистку DNS-кэша Windows

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

Так же вы можете просто иметь второй браузер, который настроен на использование стороннего DNS-провайдера (например Google или CloudFlare) и потому он будет видеть только реальный домен независимо от того, запущен локальный сервер или нет.

Планировщик заданий

Использование планировщика заданий (Сron)

Значения времени вводятся в виде цифр, комбинации цифр или *.

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

Например: 1,2,3
Результат: задание выполняется 3 раза, в 1-ю,2-ю и 3-ю минуты часа.

Вы можете указать диапазон, используя дефис:

Например: 5-7
Результат: задание выполняется 3 раза, в 5-ю,6-ю и 7-ю минуты часа.

Вы можете задать периодичность выполнения используя звездочку (*) и слэш (/):

Например: */2
Результат: задание выполняется каждые 2 минуты.

Вы можете комбинировать способы для создания точного расписания:

Например: 1,5,11-15,30-59/2
Результат: задание выполняется в 1,5, с 11 по 15 и каждые 2 минуты с 30 по 59.

Вышеприведённая схема указания времени актуальная для всех временных периодов (минута, час, число, месяц, день недели). Для запроса URL в планировщике нужно использовать вспомогательную утилиту Wget (см. примеры). В строке команд можно использовать подстановки.

Использование переменных в качестве подстановок

Переменная Описание переменной
%realprogdir% Реальный путь до папки с
Open Server Panel (обратный слеш «»)
%progdir% Генерируемый путь до папки с
Open Server Panel с учетом виртуального диска (обратный слеш «»)
%sprogdir% Генерируемый путь до папки с
Open Server Panel с учетом виртуального диска (слеш «/»)
%dprogdir% Генерируемый путь до папки с
Open Server Panel с учетом виртуального диска (двойной обратный слеш «\»)
%dsprogdir% Генерируемый путь до папки с
Open Server Panel с учетом виртуального диска (двойной слеш «//»)
%realsitedir% Реальный путь до корневой папки доменов (обратный слеш «»)
%sitedir% Генерируемый путь до корневой папки доменов с учетом виртуального диска (обратный слеш «»)
%ssitedir% Генерируемый путь до корневой папки доменов с учетом виртуального диска (слеш «/»)
%httpport% Порт HTTP сервера
%httpsport% Порт HTTPS сервера
%postgresqlport% Порт PostgreSQL сервера
%mysqlport% Порт MySQL сервера
%mongodbport% Порт MongoDB сервера
%memcacheport% Порт Memcache сервера
%ftpport% Порт FTP сервера
%httpdriver% Название модуля HTTP
%phpdriver% Название модуля PHP
%mysql_driver% Название модуля MySQL / MariaDB
%pg_driver% Название модуля PostgreSQL
%mongo_driver% Название модуля MongoDB
%memcachedriver% Название модуля Memchache
%redisdriver% Название модуля Redis
%dnsdriver% Название модуля DNS
%ip% IP адрес сервера
%disk% Буква диска из генерируемого пути до папки с
Open Server Panel с учетом виртуального диска (только буква)
%osdisk% Буква диска из реального пути до папки с
Open Server Panel (только буква)
%sysdisk% Системный диск Windows (только буква)

Примеры заданий планировщика

Запрос по протоколу HTTP каждые 30 минут:

*/30 * * * *
"%progdir%moduleswgetbinwget.exe" -q --no-cache http://xxx.ru/cron.php -O nul

Запрос по протоколу HTTPS каждый час в 10 минут, в 20 минут и в 40 минут:

10,20,40 * * * *
"%progdir%moduleswgetbinwget.exe" --secure-protocol=TLSv1_2 --no-check-certificate -q --no-cache https://xxx.ru/cron.php -O nul

Выполнение файла cron.php интерпретатором PHP ежеминутно:

*/1 * * * *
"%progdir%modulesphp%phpdriver%php-win.exe" -c "%progdir%modulesphp%phpdriver%php.ini" -q -f "%sitedir%xxx.rucron.php"

Информация

Конструкция -O nul в аналогична -O /dev/null в Linux и используется в примере для того, чтобы ответ, полученный wget от сервера, не сохранялся на диске.

Исполняемый файл php-win.exe используется вместо обычной CLI-версии PHP потому, что он ничего не выводит и, соответственно, не открывает консоль (окошко dos не появляется на экране).

Предупреждение

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

Предопределенные переменные планировщика

Переменная Описание переменной
%hh% Текущий час (00-23)
%mm% Текущая минута (00-59)
%ss% Текущая секунда (00-59)
%MM% Текущий месяц (01-12)
%MMM% Текущий месяц (Янв-Дек)
%DD% Текущий день (01-31)
%WW% Текущий день недели (Пн-Вс)
%WD% Текущий день недели (1-7, 1-понедельник, 7-воскресенье)
%YYYY% Текущий год (4 цифры)
%YY% Текущий год (последние 2 цифры)
%QUOTE% Знак кавычек
%PERCENT% Знак процента

В таблице показаны не все переменные. Полный список смотрите здесь.

При составлении заданий вы можете использовать как переменные для подстановки значений из
Open Server Panel, так и предопределённые переменные самого планировщика. Кроме того, в качестве переменных планировщика можно использовать любые переменные среды окружения (environment variables), например %COMSPEC%.

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

Очистка папки c:temp:

%COMSPEC% /c del /S /Q c:temp*

Задание будет развёрнуто планировщиком так:

C:Windowssystem32cmd.exe /c del /S /Q c:temp*

А теперь пример создания резервной копии баз данных:

"%realprogdir%modulesdatabase%mysql_driver%binmysqldump.exe" -A --add-drop-database -E -i -Q -R --opt --user=root --result-file="%realprogdir%%DD%_%MM%_%YYYY%_%hh%_%mm%_dump.sql"

Задание будет развёрнуто планировщиком так:

"C:OSPanelmodulesdatabaseMariaDB-10.3binmysqldump.exe" -A --add-drop-database -E -i -Q -R --opt --user=root --result-file="C:OSPanel9_01_2020_14_25_dump.sql"

Информация

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

Меню закладок

Для быстрого доступа к нужным страницам на сайтах и рабочим папкам, для запуска и выполнения любых программ и команд в
Open Server Panel существует возможность создавать закладки.

Виды закладок

  • Ссылка
  • Папка
  • Программа (возможен запуск с параметрами)
  • Команда в формате командной строки Windows

Использование переменных в качестве подстановок

Переменная Описание переменной
%realprogdir% Реальный путь до папки с
Open Server Panel (обратный слеш «»)
%progdir% Генерируемый путь до папки с
Open Server Panel с учетом виртуального диска (обратный слеш «»)
%sprogdir% Генерируемый путь до папки с
Open Server Panel с учетом виртуального диска (слеш «/»)
%dprogdir% Генерируемый путь до папки с
Open Server Panel с учетом виртуального диска (двойной обратный слеш «\»)
%dsprogdir% Генерируемый путь до папки с
Open Server Panel с учетом виртуального диска (двойной слеш «//»)
%realsitedir% Реальный путь до корневой папки доменов (обратный слеш «»)
%sitedir% Генерируемый путь до корневой папки доменов с учетом виртуального диска (обратный слеш «»)
%ssitedir% Генерируемый путь до корневой папки доменов с учетом виртуального диска (слеш «/»)
%httpport% Порт HTTP сервера
%httpsport% Порт HTTPS сервера
%postgresqlport% Порт PostgreSQL сервера
%mysqlport% Порт MySQL сервера
%mongodbport% Порт MongoDB сервера
%memcacheport% Порт Memcache сервера
%ftpport% Порт FTP сервера
%httpdriver% Название модуля HTTP
%phpdriver% Название модуля PHP
%mysql_driver% Название модуля MySQL / MariaDB
%pg_driver% Название модуля PostgreSQL
%mongo_driver% Название модуля MongoDB
%memcachedriver% Название модуля Memchache
%redisdriver% Название модуля Redis
%dnsdriver% Название модуля DNS
%ip% IP адрес сервера
%disk% Буква диска из генерируемого пути до папки с
Open Server Panel с учетом виртуального диска (только буква)
%osdisk% Буква диска из реального пути до папки с
Open Server Panel (только буква)
%sysdisk% Системный диск Windows (только буква)

Предупреждение

При создании закладок на запуск программ с параметрами разделителем пути до программы и параметрами запуска является знак #, иначе закладка будет выполнена через командную строку как обычная команда!

Примеры создания закладки на запуск программы с параметрами:

%realprogdir%modulesheidisqlheidisql.exe#-h=127.0.0.1 -u=root -P=%mysqlport%

Меню программ

Добавление портативной программы

В
Open Server Panel существует возможность добавить в меню свою портативную программу. Для этого необходимо выполнить следующие действия:

  1. Откройте папку ./progs/ в каталоге с
    Open Server Panel или создайте такую папку если её не существует;
  2. Создайте в папке ./progs/ подпапку с именем категории программ, например ./progs/Офисные программы, или используйте имя Default (программы из подпапки Default отображаются в корне меню, без категории);
  3. Скопируйте каталог с вашей портативной программой (например CintaNotes) в созданную вами папку ./progs/Офисные программы, в итоге у вас должен получиться такой путь: ./progs/Офисные программы/CintaNotes;
  4. Создайте в папке с портативной программой файл osinit.txt содержащий единственную строку с текстом, которая будет использована в меню
    Open Server Panel вместо отображения оригинального названия EXE файла программы;
  5. Перезапустите управляющую программу
    Open Server Panel;

Предупреждение

Имя портативной программы (без расширения) и имя папки, в которой она находится, должны быть идентичны! Например, если главный файл портативной программы называется CintaNotes.exe, то путь к нему должен выглядеть так: ./progs/Офисные программы/CintaNotes/CintaNotes.exe

Добавление категории программ

Чтобы добавить собственную категорию в меню программ следует создать одноимённую папку в директории ./progs/. Программы добавленные в папку Default отображаются в корне меню программ, без категории.

Добавление ярлыка программы

Помимо портативного софта в меню программ можно добавить ярлыки на локально установленные программы. Такой указатель на программу будет отображаться в меню вместе с другими программами и будет работать как самый обычный ярлычок. Чтобы добавить ярлык на локально установленную программу просто скопируйте его в папку ./progs/нужная_вам_категория_программ/ или ./progs/Default/.

Информация

Не пытайтесь cкопировать в папку портативных программ ярлыки на папки, сайты и другие объекты не являющиеся программами. Такие ярлыки не будут отображаться в меню и соответственно не будут работать. Для создания ярлыков к сайтам, папкам и т.д. используйте [Меню → Настройки → Закладки] (см. Меню закладок).

Старт/стоп скрипты

Дополнение сценариев запуска и остановки сервера

В
Open Server Panel существует возможность дополнять сценарии запуска и остановки сервера своими .bat файлами (батниками).

Чтобы дополнить какой-либо сценарий необходимо создать файл-шаблон .tpl.bat в папке ./userdata/ с определённым именем (см. список ниже). Вы можете записать в такой файл произвольные последовательности команд, предназначенных для исполнения командным интерпретатором Windows.

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

Перед запуском

Используйте шаблон с именем /userdata/pre_start.tpl.bat для указания команд выполняемых ДО запуска всех модулей.

После запуска

Используйте шаблон с именем /userdata/start.tpl.bat для указания команд выполняемых ПОСЛЕ запуска всех модулей, но до того, как флаг состояния (в области уведомлений Windows) станет зеленым.

Перед остановкой

Используйте шаблон с именем /userdata/stop.tpl.bat для указания команд выполняемых ДО остановки модулей.

После остановки

Используйте шаблон с именем /userdata/post_stop.tpl.bat для указания команд выполняемых ПОСЛЕ остановки модулей, но до того, как флаг состояния (в области уведомлений Windows) станет красным.

Предупреждение

После начала процедуры завершения работы Windows запуск любых новых процессов невозможен, поэтому СТОП-скрипты (stop.bat и post_stop.bat) не выполняются. Если вам требуется обязательное выполнение скриптов остановки, то необходимо выключать
Open Server Panel вручную непосредственно перед тем, как вы хотите выключить компьютер.

Внимание!

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

Использование переменных в качестве подстановок

В файлах-шаблонах с расширением .tpl.bat можно использовать подстановки. Доступные варианты подстановки программных переменных:

Переменная Описание переменной
%realprogdir% Реальный путь до папки с
Open Server Panel (обратный слеш «»)
%progdir% Генерируемый путь до папки с
Open Server Panel с учетом виртуального диска (обратный слеш «»)
%sprogdir% Генерируемый путь до папки с
Open Server Panel с учетом виртуального диска (слеш «/»)
%dprogdir% Генерируемый путь до папки с
Open Server Panel с учетом виртуального диска (двойной обратный слеш «\»)
%dsprogdir% Генерируемый путь до папки с
Open Server Panel с учетом виртуального диска (двойной слеш «//»)
%realsitedir% Реальный путь до корневой папки доменов (обратный слеш «»)
%sitedir% Генерируемый путь до корневой папки доменов с учетом виртуального диска (обратный слеш «»)
%ssitedir% Генерируемый путь до корневой папки доменов с учетом виртуального диска (слеш «/»)
%httpport% Порт HTTP сервера
%httpsport% Порт HTTPS сервера
%postgresqlport% Порт PostgreSQL сервера
%mysqlport% Порт MySQL сервера
%mongodbport% Порт MongoDB сервера
%memcacheport% Порт Memcache сервера
%ftpport% Порт FTP сервера
%httpdriver% Название модуля HTTP
%phpdriver% Название модуля PHP
%mysql_driver% Название модуля MySQL / MariaDB
%pg_driver% Название модуля PostgreSQL
%mongo_driver% Название модуля MongoDB
%memcachedriver% Название модуля Memchache
%redisdriver% Название модуля Redis
%dnsdriver% Название модуля DNS
%ip% IP адрес сервера
%disk% Буква диска из генерируемого пути до папки с
Open Server Panel с учетом виртуального диска (только буква)
%osdisk% Буква диска из реального пути до папки с
Open Server Panel (только буква)
%sysdisk% Системный диск Windows (только буква)

Кроме написания команд перечисленные выше переменные можно использовать для указания реальных переменных окружения, например:

setx DIR_PHP "%realprogdir%modulesphp%phpdriver%"

Ограниченный режим

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

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

  • Использование своих алиасов и доменов (кроме домена localhost);
  • Указание IP адреса сервера (кроме адресов 127.0.0.1 и *);

Таким образом в ограниченном режиме вам будет доступен один из двух IP адресов: 127.0.0.1 или *, и только один домен localhost. Другие созданные вами алиасы и домены не будут обработаны программой.

Работать в ограниченном режиме уместно только при полном отсутствии прав администратора, например в условиях организации. В любом другом случае крайне рекомендуется правильно настроить права доступа к HOST файлу для возможности полноценной работы с разными доменами. Разрешить запись в HOSTS файл для всех пользователей можно выполнив через консоль (запускать от имени Администратора) следующую команду:

attrib -s -r -h -a C:Windowssystem32driversetchosts

Если в логах запуска вы видите сообщение о том, что Hosts файл недоступен для записи, то возможно что доступ к этому файлу блокируется антивирусом/файрволом, либо действуют ограничения прав доступа Windows.

Добавьте
Open Server Panel, а так же все остальные компоненты, о которых будет спрашивать антивирус/файрвол, в доверенные программы. Отключите защиту HOSTS файла (или системных файлов) в настройках вашего антивируса/файрвола, если такая защита присутствует. Попробуйте вручную удалить файл C:WindowsSystem32Driversetchosts и заново создать со следующим содержимым:

127.0.0.1 localhost

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

Предупреждение

При включённой службе контроля учётных записей пользователей (UAC) и запуске без прав администратора
Open Server Panel не будет иметь доступа к HOSTS файлу и автоматически перейдёт в ограниченный режим работы.

Запуск без внесения записей в HOSTS файл

В
Open Server Panel реализована возможность полноценного запуска без внесения записей в HOSTS файл. Эта возможность будет полезна пользователям офисных сетей и терминалов, где доступ к HOSTS файлу имеет только старший администратор. Если опция [Не вносить изменения в HOSTS файл] включена, то запуск сервера происходит без редактирования HOSTS файла будто все домены в нём уже прописаны, т.е. доступ к этому файлу не требуется вовсе.

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

Формат внесения записей в HOSTS файл стандартный — ip пробел домен, например:

192.168.5.10  rhino.acme.com
192.168.5.10  x.acme.com

Отправка почты через SMTP

Яндекс почта

Ниже показаны типичные настройки для отправки почты через SMTP сервер выбранного почтового провайдера.

Mail.ru почта

Ниже показаны типичные настройки для отправки почты через SMTP сервер выбранного почтового провайдера.

Gmail почта

Ниже показаны типичные настройки для отправки почты через SMTP сервер выбранного почтового провайдера.

По умолчанию Gmail не даёт возможности использовать SMTP, поэтому доступ нужно активировать отдельно. Вам необходимо выполнить следующие шаги по активации:

1. Авторизуйтесь в своём аккаунте Gmail
2. В той же вкладке браузера перейдите сюда
3. Активируйте доступ к аккаунту для «непроверенных приложений» (см. картинку ниже)
4. Выполните тестовую отправку письма через ваш скрипт на сервере
Open Server Panel
5. Обновите страницу (F5) и снова активируйте доступ к аккаунту для «непроверенных приложений» если он не активировался (пришедшее письмо о попытке доступа к аккаунту можно проигнорировать)

Теперь попробуйте отправить письмо еще раз, на этот раз отправка должна заработать.

Информация

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

Внешний доступ

Работа с внешними сетями

Open Server Panel может работать в локальных сетях и сети Интернет как веб-сервер. Для работы в сети Интернет необходим статический(белый) IP адрес. Чтобы открыть доступ к серверу извне необходимо указать * в качестве IP адреса в настройках
Open Server Panel, в этом случае доступ откроется сразу для всех сетей, к которым подключён ваш компьютер. Если вы хотите открыть доступ только для одной конкретной сети (например локальной), то укажите в настройках программы IP адрес выданный вашему компьютеру в этой сети.

Информация

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

Доступ извне к локальными доменам

После того, как вы настроите удалённый доступ к своему серверу, все локальные домены станут доступны удалённо. Но как их открыть? Чтобы открыть нужный сайт с удалённой машины потребуется внести в HOSTS файл такого компьютера запись с адресом вашего локального домена, например: 64.55.96.24 supersite (где 64.55.96.24 это адрес вашего компьютера, а supersite это имя локального домена). После внесения такой записи в HOSTS файл на удалённом компьютере домен supersite будет доступен при обычном наборе в строке браузера.

Обратите внимание — при простом наборе IP адреса вашего компьютера http://64.55.96.24/ или при попытке доступа к несуществующему локальному домену будет открываться пустая страница.

Для того, чтобы при наборе IP адреса вашего компьютера открывался определённый локальный сайт, необходимо создать алиас вида ваш_внешний_ip => ваш_локальный_домен. После этих действий указанный вами локальный домен, для которого вы создали алиас, станет доступен через локальную сеть или сеть Интернет по адресу http://ваш_внешний_ip/ (например http://64.55.96.24/). Если ваш компьютер подключен к нескольким сетям и в настройках сервера установлен IP=*, то такой алиас необходимо создать для каждого IP адреса выданного вашему компьютеру в каждой из сетей.

Внимание!

При работе с внешними сетями нет никакой гарантии безопасности вашего компьютера. Сервер часто запускается с правами Администратора, а значит, скрипты, запущенные под его управлением, могут делать на компьютере всё, что угодно. Дыры в безопасности скриптов могут открыть хакерам и вирусам доступ к вашему компьютеру.

Мы не рекомендуем такое использование
Open Server Panel! Перед настройкой удалённого доступа к серверу обязательно ознакомьтесь с разделом Защита сервера данного справочного руководства.

Внешнее управление

Open Server Panel может принимать некоторые команды через сеть Интернет, для этого имеется встроенная панель управления которая работает на выделенном порту. Так же программой можно управлять через командную строку.

Управление через Интернет

Чтобы получить доступ к панели управления необходимо набрать адрес http://localhost:1515/ (по умолчанию). Порт, логин и пароль к контрольной панели можно указать непосредственно в настройках
Open Server Panel [Меню → Настройки → Разное].

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

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

"C:openserverOpen Server Panel.exe"              # запуск программы
"C:openserverOpen Server Panel.exe" /start       # запуск сервера
"C:openserverOpen Server Panel.exe" /restart     # перезапуск сервера
"C:openserverOpen Server Panel.exe" /stop        # остановка сервера
"C:openserverOpen Server Panel.exe" /exit        # выход из программы

Защита сервера

Настройка защиты

Cервер становится крайне уязвимым, когда он открыт для доступа из сети Интернет, особенно с настройками установленными по умолчанию. Множество ботов и вирусов постоянно сканируют ip адреса в сети Интернет на предмет открытых портов и, как правило, незащищенный сервер оказывается взломанным уже через несколько часов после появления в сети.

Несколько шагов по защите веб-сервера от несанкционированного доступа:

  1. Отключите FTP сервер [Меню → Настройки → FTP сервер];
  2. Установите собственные пароли для root (и других) пользователей всех модулей СУБД;
  3. Включите защиту от внешнего доступа в настройках программы [Меню → Настройки → Сервер];
  4. Теперь перезапустите саму управляющую программу (не сервер);
  5. Выполните настройку файрвола закрыв на доступ извне все порты кроме тех, которые планируется использовать (например: 80,443,21,990,53);

Предупреждение

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

Встроенная защита от внешнего доступа

Выбор опции [Меню → Настройки → Сервер → Защитить сервер от внешнего доступа] отключит часть опасных функций PHP, доступ к веб-инструментам извне будет заблокирован, а доступ к диску для PHP скриптов будет ограничен корневой папкой доменов. Данная опция снижает производительность php-скриптов в 2-10 раз (зависит от интенсивности работы с файловой системой)!

Работа с Composer

Composer совместим со всеми версиями PHP начиная с 5.3 и в
Open Server Panel он доступен во всех совместимых модулях «из коробки».

Установка пакетов Composer

  1. Выполните [Меню → Дополнительно → Консоль];
  2. Перейдите в папку с тем сайтом, куда планируется установка;
  3. Выполните установку любого нужного вам пакета, например:
# Переход в папку с проектом
cd C:openserverdomainslocalhost

# Установка Symfony
composer create-project symfony/framework-standard-edition symfony

# Установка PHPUnit
composer create-project phpunit/phpunit phpunit & echo @php -d output_buffering=0 phpunitphpunit %*>phpunit.bat

# Установка Laravel
composer create-project laravel/laravel laravel --prefer-dist

# Установка phpDocumentor
composer create-project phpdocumentor/phpdocumentor phpdocumentor

В будущем, чтобы обновить установленный таким образом проект, достаточно перейти в папку с нужным проектом и выполнить команду composer update:

cd C:openserverdomainslocalhostphpunit & composer update

Работа в консоли

Для запуска встроенной консоли необходимо запустить сервер и выполнить [Меню → Дополнительно → Консоль]. Среда окружения (англ. Environment) формируется в момент запуска сервера и передаётся всем запускаемым модулям. Любые другие программы, будь то консоль или IDE, так же могут получить правильное окружение, достаточно запускать эти программы из меню
Open Server Panel. Для этого можно либо сделать закладку, либо добавить ярлык в меню программ (см. разделы Меню закладок и Меню программ).

Необходимо знать, что если вы запускаете консоль или любую другую программу из стандартного меню Пуск или используя ярлык на рабочем столе Windows, а не из меню
Open Server Panel, то они не смогут работать с виртуальным окружением сформированным в
Open Server Panel.

Встроенную консоль можно запустить даже если сервер выключен, в Full версии выполните [Меню → Программы → Консоль]. Однако при выключенном сервере среда окружения не сформирована и поэтому работать из консоли с PHP и другими модулями или программами (wget, composer, скриптами и т.д.) будет невозможно.

Внимание!

Если вы запустили консоль ДО запуска сервера, то среда окружения НЕ станет доступна в консоли.

Чтобы начать полноценную работу с модулями после запуска сервера нужно закрыть и заново открыть встроенную консоль (саму программу ConEmu, а не только вкладку), поскольку только при запущенном сервере консоль получает правильно сформированное окружение в момент запуска из меню.

Точно так же среда окружения не будет обновлена в консоли если вы переключились на другой модуль PHP или MySQL и перезапустили сервер, но при этом не перезапустили консоль!

Внимание!

При запуске стороннего ПО (консоли, программы, IDE, скрипты и проч.) строго придерживайтесь правила: сначала запустить сервер — потом программу.

Если вы изменили настройки
Open Server Panel или конфиги модулей: выключить программу — потом запустиь её заново.

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

Вопросы и ответы

Ничего не запускается?

Не стоит отчаиваться, загляните в общий лог программы и другие логи компонентов [Меню → Просмотр логов]. В подавляющем большинстве случаев там вы найдете причину неудачного старта. В более сложных случаях включите опцию [Запускать сервер в отладочном режиме], это позволит увидеть отладочную информацию при запуске. Так же добавьте
Open Server Panel в доверенные программы вашего файрвола или антивируса, если таковой имеется.

Пишет что порт 80, 3306 и т.д. уже занят!

Включите в настройках
Open Server Panel опцию [Запускать сервер в агрессивном режиме], в этом режиме все программы занимающие нужные порты будут принудительно закрыты. Добавьте
Open Server Panel в доверенные программы вашего антивируса/файрвола/прокси-сервера или отключите слежение за портами 80/443/21/90xx/3306 если оно есть. В отдельных антивирусах/файрволах возможны свои доп. настройки связанные с перехватом подключений программ к сети.

Пишет что нет прав доступа для работы в этой папке!

Вы пытаетесь запустить
Open Server Panel из папки, которая принадлежит другому пользователю, или же файлы
Open Server Panel были записаны на компьютер другим пользователем. Если
Open Server Panel будет запускаться пользователем Pavel (например), то войдите в систему под учётной записью Pavel и скопируйте
Open Server Panel в такую папку, которая принадлежит пользователю Pavel (имеются права на запись), после чего запуск сервера для этого пользователя станет возможным. Вместо копирования можно установить особые права доступа к папке с
Open Server Panel, обратитесь к администратору вашего компьютера.

Почему кнопки серые и не нажимаются?!

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

Я не могу открыть меню когда флаг желтого цвета!

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

Создал 3000 доменов и теперь сервер не запускается!

Увеличьте кол-во проверок состояния сервера до 20-30 или выше в настройках программы [Меню → Настройки → Разное]. Переключитесь на использование HTTP модуля Apache если вы используете модуль Nginx.

Хочу протестировать сайт с учётом разных скоростей интернета (мобильные устройства к примеру)!

В
Open Server Panel существует возможность ограничения скорости передачи данных для симуляции медленной загрузки сайта. Для ограничения скорости воспользуйтесь меню
Open Server Panel: [Меню → Настройки → Разное]. Скорость можно ограничить в пределах 1-40 КБайт в секунду, установка значения в 0 или более 40 отменяет ограничение. Скоростной лимит устанавливается на каждый запрос, поэтому, если клиент одновременно откроет 4 картинки на сайте (4 соединения), то каждая из них будет загружаться с заданной скоростью.

Где редактировать настройки модулей?

Для редактирования настроек модулей пользуйтесь меню
Open Server Panel: [Меню → Дополнительно → Конфигурация].

Куда сохраняются мои письма?

По умолчанию все письма сохраняются во временную папку userdata/tmp/email/, во время остановки сервера эта папка не очищается. Можно настроить отправку писем через удалённый SMTP сервер: [Меню → Настройки → Почта].

Я нажимаю в меню программы на нужный сайт, но ничего не открывается!

Для работы многих пунктов меню требуется наличие корректно установленного и работающего браузера по умолчанию. Так же вы можете напрямую указать свой браузер в настройках программы: [Меню → Настройки → Меню].

Я создал домен local_site.loc, но он не работает!

Символа подчеркивания не может быть в имени домена, поэтому такой домен не подключается. Разрешенные символы: [a-z0-9.-].

Сервер не стартует с ip 192.168.0.1 и говорит что localhost работает только на ip 127.0.0.1!

Действительно, домен localhost можно использовать только с ip адресом 127.0.0.1, поэтому либо переименуйте этот домен, либо удалите его, если он вам не нужен.

Я хочу работать без виртуального диска!

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

Я не вижу виртуального диска!

Если вы работаете не под учётной записью администратора, но
Open Server Panel запущен с правами администратора, то виртуальный диск (если он используется) будет для вас недоступен.
Open Server Panel при этом будет работать нормально. Вы можете отключить использование виртуального диска в настройках, при этом учитывайте требования к абсолютному пути описанные в предыдущем ответе.

Сервер запускается, но браузер говорит что домен не найден!

Если в вашем браузере настроена работа через прокси сервер, то локальные сайты будут ему недоступны. Чтобы исправить ситуацию откажитесь от использования прокси в вашем браузере или добавьте локальные домены и IP адрес сервера в список исключений для прокси в настройках обозревателя. В ряде случаев нужно пересоздать файл HOSTS (см. Решение проблем).

Для чего нужна настройка вывода закладок вместо сайтов?

В таком режиме созданные закладки отображаются вместо списка доменов, это будет полезно при создании демо-сборок с установленными скриптами (см. Создание сборок).

Мне трудно пересоздавать закладки, пользователей FTP и т.д, нужно их просто отредактировать!

Не нужно пересоздавать записи заново, просто сделайте двойной клик на интересующей вас записи в таблице после чего эта запись сразу же удалится из списка и будет вынесена обратно в поля редактирования. Не забудьте добавить отредактированную запись обратно в таблицу!

Подключение к базе данных длится более 1 сек!

Отключите использование протокола IPv6 используя инструкцию из раздела Решение проблем данного руководства.

Я скопировал в папку с доменом свой скрипт, после перезапуска сервер не видит файлов и показывает ошибку!

Скорее всего вы скопировали или создали такую подпапку в папке с доменом, имя которой подпадает под условия автоматического поиска корневой папки домена (см. Домены и алиасы).

Сервер постепенно занял всё место на диске!

Постепенное исчезновение свободного места говорит о том, что вы отключили автоочистку логов при запуске сервера. В результате при активном использовании сервера лог-файлы вырастают до огромных размеров и занимают всё свободное место на диске. Очистите лог-записи в окне просмотра логов и включите автоочистку логов при старте в настройках
Open Server Panel. Очистите папку .userdatatmp от временных файлов.

Как мне создать собственную конфигурацию хоста для домена?

Используйте шаблон конфигурации виртуального хоста в папке с нужным доменом для создания особой конфигурации домена. При создании/изменении файла требуется перезапуск сервера. Шаблон конфигурации для нужного модуля можно найти в папке ./userdata/config/.

Например, если вы хотите создать собственную конфигурацию домена xxx.ru для модуля Apache-2.4.2, то скопируйте файл ./userdata/config/Apache-2.4.3_vhost.conf в папку с нужным доменом, отредактируйте этот файл под свои нужды и перезапустите сервер.

Или другой пример, при использовании модуля Apache+Nginx можно скопировать в папку домена оба файла конфигурации для каждого сервера: Apache-2.2.23+Nginx-1.2.4_vhosta.conf и Apache-2.2.23+Nginx-1.2.4_vhostn.conf.

Обратите внимание — при редактировании конфигурации хоста нельзя удалять или заменять системные переменные %…%, вы можете вносить только новые записи дополняющие конфигурацию.

Как и где редактируются конфиги компонентов?

В
Open Server Panel используются файлы-шаблоны конфигурации, которые доступны через общее меню программы. Не пытайтесь редактировать временные файлы конфигов, которые создаются в момент запуска сервера, это не имеет смысла. Шаблоны конфигурации индивидуальны для каждого модуля, т.е. если вы выберите какой-либо из модулей в качестве активного, то будут активированы и шаблоны настроек именно этого модуля. Например: вы сконфигурировали шаблон файла php.ini при активном модуле PHP 5.2, после чего выбрали модуль PHP 5.3 в качестве активного. В этом случае вам необходимо еще раз сконфигурировать шаблон файла php.ini уже для модуля PHP 5.3.

Сами шаблоны настроек для всех модулей и инструментов хранятся в папке ./userdata/config/, их нельзя использовать как реальные конфиги и указывать при запуске модулей, консолей и скриптов. В процессе запуска шаблоны конфигурации проходят через парсер, который заменяет все переменные-подстановки на реальные данные и сохраняет уже готовые файлы конфигурации в папку ./userdata/temp/config/.

Как указать особые настройки подключения к SMTP серверу для выбранного домена?

В
Open Server Panel существует возможность отправки почты через сторонний SMTP сервер, при этом все домены используют те параметры подключения, которые были указаны пользователем в окне настроек
Open Server Panel. Для того чтобы определённый домен мог использовать собственные настройки подключения к SMTP серверу нужно указать их в шаблоне конфигурации этого хоста. Откройте шаблон конфигурации виртуального хоста (как его создать описано в предыдущем ответе) в папке с нужным доменом и добавьте в описание хоста следующее содержимое (одной строкой):

php_admin_value sendmail_path "%mailway% -t --smtp-ssl=none --smtp-server=smtp.xxx.xx --smtp-port=xx --smtp-from=xxx@xxx.xx --smtp-user=xxx@xxx.xx --smtp-pass=xxxxxx --pop3-server=pop3.xxx.xx --pop3-user=xxx@xxx.xx --pop3-pass=xxxxxx"

Например:

<VirtualHost *:%httpport%>
  %limit%
  DocumentRoot "%hostdir%"
  ...
  php_admin_value sendmail_path "%mailway% -t --smtp-ssl=none --smtp-server=smtp.xxx.xx --smtp-port=xx --smtp-from=xxx@xxx.xx --smtp-user=xxx@xxx.xx --smtp-pass=xxxxxx --pop3-server=pop3.xxx.xx --pop3-user=xxx@xxx.xx --pop3-pass=xxxxxx"
  ...
</VirtualHost>

Последнюю часть строки —pop3-server=pop3.xxx.xx —pop3-user=xxx@xxx.xx —pop3-pass=xxxxxx добавляйте только в том случае, если требуется авторизация POP3 перед SMTP. Возможные значения для параметра —smtp-ssl= это none,auto,ssl или tls.

Необходимо помнить, что при указании собственных настроек подключения к SMTP серверу отправка почты для выбранного домена будет работать не зависимо от основных настроек
Open Server Panel. Так же обратите внимание на то, что все данные SMTP сервера включая логин и пароль будут доступны в php скриптах и видны в информации phpinfo(), поэтому в целях безопасности не рекомендуется пользоваться описанной возможностью указания настроек отправки почты в конфиге хоста.

Решение проблем

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

  1. Запустите установщик
    Open Server Panel и не выбирая никакие компоненты к установке перейдите к окну выбора доп. задач и выполните установку DLL библиотек, настройку системы и прав доступа к файлам.
  2. Убедитесь что IP адрес, заданный в настройках, существует (кроме [*]). Так же убедитесь что все другие настройки программы корректны.
  3. Добавьте
    Open Server Panel в доверенные программы вашего файрвола/антивируса или настройте их должным образом, если таковые имеются.
  4. Запустите [Меню → Просмотр логов], попробуйте найти причину проблемы и устранить её (если это возможно).
  5. Включите в настройках
    Open Server Panel опцию [Запускать сервер в отладочном режиме] и попробуйте найти причину проблемы и устранить её (если это возможно).
  6. Выполните через консоль (запускать от имени Администратора) следующую команду: attrib -s -r -h -a C:Windowssystem32driversetchosts
  7. Активируйте службу DNS если она отключена и запустите её, отключите все службы в имени которых присутствует IIS.
  8. Отключите глобальные прокси и проксификаторы если они установлены на вашем компьютере.

Информация

Очень распространённая проблема это занятый порт 80, занимает его обычно программа Skype. Для устранения проблемы перейдите в [Настройки Skype → Дополнительно → Соединение] и снимите галочку с пункта [Использовать порты 80 и 443 в качестве альтернативных].

Контроль учётных записей пользователей (UAC)

При включённой службе контроля учётных записей пользователей (UAC) и запуске без прав администратора
Open Server Panel не будет иметь доступа к HOSTS файлу и автоматически перейдёт в ограниченный режим работы. Как правило, об ограниченном режиме сигнализирует наличие только одного домена localhost в меню программы, в то время как ранее были созданы и другие домены. Чтобы исправить ситуацию включите опцию [Требовать учётную запись Администратора] в настройках
Open Server Panel и перезапустите программу, либо отключите контроль учётный записей (UAC).

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

  1. Использование встроенного DNS сервера (настройка согласно Руководства);
  2. Активация опции [Не вносить изменения в HOSTS файл] + ручное редактирование этого файла;
  3. Установить разрешающие права записи в HOSTS файл для всех пользователей Windows;
  4. Отказ от возможности управления доменами и работа с единственным доменом localhost;

Создание сборок

Что это такое и зачем это нужно?

Например у вас есть свой проект (допустим некая CMS), который вы бы хотели сделать доступным на своём сайте в качестве демо-версии для потенциальных клиентов, показать заказчику или попросту сделать демонстрационный пакет на все случаи жизни. Нужно чтобы ваш программный продукт работал одинаково хорошо у всех, в одинаковой конфигурации, уже был установлен и готов для работы или ознакомления. В этом вам как раз и поможет
Open Server Panel.

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

Как создать кастомную сборку

  1. Скачайте дистрибутив
    Open Server Panel Basic последней версии и распакуйте его во временную папку. Перейдите в папку куда был распакован дистрибутив и запустите программу
    Open Server Panel.exe
    .
  2. Удалите ненужные модули в папке ./modules/php/*, ./modules/database/* и ./modules/http/* оставив в папках только по одному модулю, которые будут использоваться для вашего программного продукта. Если вы не планируете использовать модули DNS, Redis и Memcached, то папки с этими модулями так же можно удалить: ./modules/dns/*,./modules/redis/* и ./modules/memcached/* соответственно. Не удаляйте корневые каталоги с подтипом модулей даже если они пусты, это сделает программу неработоспособной.
  3. Нажмите [Меню → Настройки] и выберите для использования те модули, которые вы не удалили. Установите IP адрес сервера в значение 127.0.0.1, отключите [Автоматическую проверку обновлений], не отключайте опцию [Автоматически определять потребность в виртуальном диске]. Установите все другие нужные вам настройки.
  4. Нажмите [Меню → Дополнительно → Конфигурация] и настройте шаблоны конфигурации нужных модулей под ваш продукт (скрипт/сайт/cms), если это необходимо.
  5. Запустите сервер и установите ваш программный продукт (скрипт/сайт/cms) на домен localhost, который присутствует в
    Open Server Panel по умолчанию. Выполните необходимые действия по настройке скрипта после чего выйдите из всех форм авторизации где вы авторизовались (например: личный аккаунт, администрирование и т.д.).
  6. Остановите сервер. Нажмите [Меню → Настройки] и создайте закладки для основных страниц вашего программного продукта (например: Админ-панель, Личный аккаунт, Главная страница). Включите в настройках
    Open Server Panel опцию [Показывать закладки вместо сайтов]. Сохраните настройки.
  7. Нажмите [Меню → Выход] и переименуйте файл программы согласно имени вашего продукта, например ./временная папка/
    Open Server Panel.exe
    в ./временная папка/MegaCMS Server.exe.
  8. Теперь упакуйте содержимое временной папки в самораспаковывающийся архив. Тип и формат архива зависит лишь от предполагаемой формы распространения сборки.
  9. Готово!

Вышеописанным способом вы можете подготавливать не только кастомные сборки, но и dev-пакеты для разработчиков, offline-презентации сайтов, архивы порталов, интерактивные материалы на CD и т.д.

Установка фреймворка Laravel на OpenServer

Идем на сайт — laravel.com.Перед началом работы стоит проверить версию рнр (должна быть PHP >= 5.6.4). Для проверки версии зайдите в Настройки — > Модули OpenServer.

После этого, скопируйте ссылку на официальном сайте и откройте командную строку, как показано на картинке ниже. Можно использовать КС вашей операционной системы, но я пользуюсь от OpenServer. Для того, чтобы убедиться, что у вас установлен composer, нужно ввести composer в КС и нажать Enter. Если он не установлен, то его следует установить самостоятельно.
Далее нам нужно перейти в диреторию domains.Для этого используем команду cd c:OpenServerdomains (путь к папке — c:OpenServerdomains — измените, если он у вас отличается).
Далее введите скопированную команду в КС. Можно изменить название конечной папки установки (blog) на любое другое.

composer create-project --prefer-dist laravel/laravel blog

Нажмите Enter и дождитесь окончания установки.

Из всей структуры файлов, нас сейчас интересует .env На картинке он обведен красным. Открываем его в вашем текстовом редакторе.

Вверху второй абзац :-) Это то, что нам следует изменить, введя свои данные:


DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=minilaravel
— здесь имя вашей Базы Данных
DB_USERNAME=root — ваше имя пользователя
DB_PASSWORD= — ваш пароль (если нет, то оставить пустое место)

Теперь, если зайти на ваш сайт по адресу, то мы попадем не на главную страницу, а увидим список файлов. Чтобы это исправить, можно создать специальные настройки для OpenServer или в корневой директории вашего сайта создать отдельный файл .htaccess (подчеркнут красным на картинке выше). В него нужно прописать следующее:

RewriteEngine on
RewriteCond %{REQUEST_URI} !^public
RewriteRule ^(.*)$ public/$l [L]

Для настроек на локальном сервере — перейдите в Настройки -> Домены и Укажите имя вашего доена в первой графе,
а во второй выберете папку public, как показано на картинке ниже.

Нажмете кнопку Добавить

Теперь при переходе на сайт посетители будут попадать на главную страницу сайта

                                                                                                                                                             

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

Устанавливать буду на openserver, скачать его можно на официальном сайте. Первым делом создаем папку в папке domains, допустим qwerty, так будет называться мой проект в дальнейшем.  Затем заходим в среду разработки, я использую phpShtorm и выполняем в терминале команду.

composer create-project laravel/laravel .

Точка на конце обязательна, это значит что мы будем устанавливать проект в корневую папку, т.е. qwerty.

В место точки можно указать qwerty, тогда проект будет доступен по пути domains/qwerty/qwerty, лишнее вложение.

Настройка Openserver

Так теперь нужно настроить openserver. Заходим в настройки в Домены.

Устанавливаем Laravel 8 на локальную машину + авторизация

Выполняем действия как указаны на скриншоте. На этом установка закончена.

Авторизация

Дальше нужно подключить авторизацию для этого выполняем следующие команды в терминале последовательно.

composer require laravel/ui
php artisan ui vue --auth
npm install
npm run dev

Следующая

LaravelРоль администратора Laravel 8 через MIDDLEWARE

Помогла статья? Оцените её

Загрузка…

Подробности
Категория: Laravel
Просмотров: 6147

О том как установить Laraver (framwork) на на Openserver много разных статей в интернете, но у меня была ошибка, меня опенсервер не впускал в нужную папку…решаем быстро и легко тут…

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

cd G:прогиopen serveropen server2015openserverdomains

а он мне выкидывает такое:

W:

То есть он меня не пускает из этого виртуального диска, это видимо где-то есть в настройках openserver, но я пока не стал этим заморачиваться и подумал давай-ка я буду работать с виртуальным диском(он на ноуте просто как бы дублируется, на самом деле все лежит в пути, который указан выше на реальном диске D)

Я ввел следующее:

W:domains

а именно там все и лежит — и все — меня сразу перекинуло в эту папку.

А дальше дело техники, так как программа автоматической установки composer уже встроена в openserver, то нам лишь остается набрать такую команду(и не надо скачивать никаких ларавелей на свой компьютер — НЕ НАДО, все само установиться!!!!):

composer create-project laravel/laravel --prefer-dist

И все) дальше юзайте этот установленный Laravel чик…

Добавить комментарий

Понравилась статья? Поделить с друзьями:
  • Как поставить windows если стоит linux
  • Как поставить kubuntu рядом с windows 10
  • Как поставить windows xp на виртуальную машину virtualbox
  • Как поставить kali linux рядом с windows 10
  • Как поставить windows server на virtualbox