Windows Server 2016/2019
Нажмите «Win+X», затем «Y» и измените стандартное имя сервера. Измените имя на «passwork» для того, чтобы задействовать локальный домен «passwork.local» в частной сети.
Для того, чтобы внесенные изменения вступили в силу необходимо перезагрузить систему.
Откройте «Server Manager» и добавьте роль «Web Server (IIS)».
В настройках файервола разрешите входящее соединение по протоколу UDP на порт 5353.
Откройте ссылку https://www.mongodb.com/download-center/community выберите «Server», в поле «Version» выберите версию 4.2, в поле «OS» выберите «Windows», в поле «Package» выберите «MSI», затем нажмите «Download». Начнется процесс скачивания пакета MongoDB. Запустите скачанный файл, чтобы начать процесс установки.
Или вы можете воспользоваться ссылкой https://fastdl.mongodb.org/win32/mongodb-win32-x86_64-2012plus-4.2.0-signed.msi для скачивания актуальной версии (на момент написания инструкции) напрямую.
Нажмите «Next», согласитесь с условиями использования, опять нажмите «Next». Выберите опцию «Complete».
Отметьте пункт «Install MongoD as a Service». Нажмите «Next».
Отмените установку «Install MongoDB Compass». Нажмите «Next», затем «Install» для начала процесса установки.
Нажмите «Finish» после завершения процесса установки.
Настройка файервола Windows
Откройте «Control Panel» и выберите раздел «System and Security». Затем нажмите на «Windows Firewall».
Вы должны увидеть окно управления файерволом Windows:
Нажмите на «Allow an app or feature trough Windows Firewall», появится новое окно. Нажмите «Allow another app» -> нажмите «Browse» и найдите приложение MongoDB Database Server «C:\Program Files\MongoDB\Server\4.2\bin\mongod.exe», затем нажмите «Add» и «Ok».
Убедитесь в том, что служба MongoDB была успешно запущена
Проверьте лог файл C:\Program Files\MongoDB\Server\4.2\log\mongod.log и обратите внимание на строку: [initandlisten] waiting for connections on port 27017
Мы будем использовать Web Platform Installer для установки PHP, поэтому откройте ссылку https://www.microsoft.com/web/downloads/platform.aspx для его установки.
Нажмите «Run».
Согласитесь с условиями и нажмите «Install». После завершения установки нажмите «Finish».
Откройте «Server Manager», перейдите в «Tools» и кликните на «Internet Information Services (IIS) Manager», выберите сервер и дважды кликните на иконке «Web Platform Installer».
Перейдите на вкладку «Products» и используя поиск найдите доступные версии PHP. Выберите PHP 7.3 из списка и нажмите «Add». Затем выберите «Install» и согласитесь с условиями использования.
Если вы увидите сообщение «PHP Manager for IIS failed to install», то просто проигнорируйте его. Нажмите «Finish».
4. Установка MongoDB PHP драйвера, Phalcon PHP фреймворка, а также дополнительных расширений и опций.
Перейдите по ссылке https://windows.php.net/downloads/pecl/releases/mongodb/1.5.5/php_mongodb-1.5.5-7.3-nts-vc15-x86.zip для скачивания MongoDB PHP драйвера.
Перейдите по ссылке https://github.com/phalcon/cphalcon/releases/download/v3.4.4/phalcon_x86_vc15_php7.3_3.4.4_nts.zip для скачивания Phalcon PHP фреймворка.
Распакуйте the «php_mongodb-1.5.5-7.3-nts-vc15-x86.zip» архив и скопируйте «php_mongodb.dll» в «C:\Program Files (x86)\PHP\v7.3\ext».
Распакуйте the «phalcon_x86_vc15_php7.3_3.4.4_nts.zip» архив и скопируйте «php_phalcon.dll» в «C:\Program Files (x86)\PHP\v7.3\ext».
Откройте «C:\Program Files (x86)\PHP\v7.3\php.ini» при помощи блокнота и добавьте в раздел [ExtensionList] следующие строки:
Сохраните изменения и закройте блокнот.
Скачайте и установите Visual C++ Redistributable Packages for Visual Studio 2015. Выберите «vcredist_x86.exe» версию.
Перезапустите «IIS», чтобы PHP расширения подгрузились.
Авторизуйтесь в портале для клиентов Пассворк — https://portal.passwork.ru
Скачайте Пассворк в виде ZIP-архива.
Извлеките архив и скопируйте содержимое в директорию «C:\inetpub\wwwroot\».
Установка прав доступа
Откройте IIS Manager, нажмите правой кнопкой на вебсайт и выберите «Edit permissions».
Нажмите «Edit», затем «Add» найдите «IUSR» аккаунт. Выберите в списке «IUSR» и разрешите «Write» и «Modify» опции, затем нажмите «Ok» два раза.
Изменение физического пути веб-сайта
Нажмите правой кнопкой мыши на «Default Web Site» > «Manage Website» > «Advanced Settings». Измените физическое расположение сайта на «C:\inetpub\wwwroot\public\», затем нажмите «Ok».
Rewrite rules
Используя «Web Platform Installer» установите «URL Rewrite» модуль.
Закройте IIS Manager и снова откройте его, выберите вебсайт. Кликните два раза на иконку «URL Rewrite». Нажмите «Import rules» и выберите .htaccess файл из корневой директории сайта, нажмите «Open» затем «Import».
Нажмите «Apply» после успешного импорта.
Откройте http://passwork.local для доступа к веб-сайту.
При первом открытии Пассворк вы увидите диалог инсталляции, который проверит корректность настройки сервера и позволит ввести базовые параметры.
💡 Оставьте все поля в значениях по умолчанию, если вы устанавливаете новую копию Пассворк.
Зарегистрируйте администратора Пассворк
Введите логин и пароль для первого пользователя. Пользователь автоматически станет администратором и владельцем организации.
Откройте «Server Manager», выберите «Tools» затем «Internet Information Services (IIS) Manager», выберите сервер и два раза кликните на «Server Certificates», импортируйте сертификат.
Перейдите к сайтам, выберите сайт и нажмите «Bindings». Выберите «https» протокол из выпадающего списка. Введите полное доменное имя «passwork.local». Выберите SSL сертификат из списка (в инструкции имя сертификата «https»).
Затем нажмите «Close».
Проверьте SSL-соединение, откройте ссылку https://passwork.local.
При работе через SSL-соединение (HTTPS) браузер Chrome требует наличия флагов Secure и SameSite у cookie. Без этих флагов браузер не будет принимать куки, и вы не сможете авторизоваться в Пассворке в Chrome.
Для того чтобы установить эти флаги, включите параметр session.cookie_secure в файле C:\Program Files (x86)\PHP\7.2\php.ini:
И установите параметр disableSameSiteCookie (секция [application])в файле C:\inetpub\wwwroot\app\config\config.ini в значение Off.
💡 Не устанавливайте эти параметры или верните их в исходное значение, если вы передумаете использовать SSL и будете работать через HTTP-протокол