Устарело
Пассворк 4
Docker
31мин
установка пассворк с помощью docker пожалуйста, обратите ваше внимание, это docker compose сборка для linux установка docker скачайте и установите docker ce ( https //docs docker com/engine/install ) cкачайте и установите docker compose ( https //docs docker com/compose/install/ https //docs docker com/compose/install/ ) обновите систему sudo –i apt get update apt get upgrade установите git apt get install git скачайте файлы управления и шаблонные конфиг файлы создайте директорию /server и склонируйте файлы mkdir /server git clone https //github com/passwork me/docker git /server скачайте исходные файлы пассворк удалите файл gitkeep rm /server/sites/prod/ gitkeep склонируйте репозиторий укажите логин и пароль, которые вам сообщили менеджеры пассворк git clone http //passwork download/passwork/passwork git /server/sites/prod cd /server/sites/prod/ git checkout v4 💡 где взять логин и пароль мы отправляем логин и пароль к нашему репозиторию после покупки пассворк перейдите в каталог для docker compose cd /server/docker compose/ запустите docker compose docker compose up d проверьте, что контейнеры запустились и работают docker ps инсталляция при первом открытии пассворк вы увидите диалог инсталляции, который проверит корректность настройки сервера и позволит ввести базовые параметры 💡 если вы устанавливаете новую копию пассворк — оставьте все поля в значениях по умолчанию кроме строки подключения к бд в ней необходимо изменить localhost на db зарегистрируйте администратора пассворк введите логин и пароль для первого пользователя пользователь автоматически станет администратором и владельцем организации о docker образах docker образы устроены таким способом, что все важные данные вынесены в общие с хостовой машиной папки поэтому вы можете смело останавливать, удалять и создавать новые контейнеры конфигурационные файлы так же хранятся в общих папках (т е не в контейнере), поэтому вы можете провести любую настройку nginx, php и mongodb без внесения изменений непосредственно в образы или контейнеры просто внесите изменения в конфиг файлы и перезапустите контейнер или сервисы если вам необходимо внести изменения в образ, то войдите в контейнер, внесите изменения и затем сделайте коммит в ваш образ командой docker commit \<container id> you name/image name более подробно описано в официальной документации docker полезные команды скопируйте утилиту dexec в /usr/bin/ cp /server/dexec /usr/bin/dexec вход в контейнер docker exec it \<container> bash восстановление прав для файлов сайта (требуется после обновления) /server/docker nginx permissions nginx перезагрузка nginx без остановки /server/docker nginx reload nginx контейнеры запущены с опцией autostart это означает, что docker автоматически перезапустит контейнер, если он по каким либо причинам остановится поэтому, если вам необходимо остановить контейнер, сперва отключите autostart /server/docker norestart \<container> включить autostart обратно /server/docker autorestart \<container> без опции autostart вы можете остановить контейнеры принудительно docker stop \<container> обратите внимание, что если опция autostart включена, то эти команды перезапустят nginx и mongodb, используйте ее в крайних случаях, так как это может повлечь порчу данных структура файлов файлы конфигураций /server/conf/ данные (база данных) /server/data/ логи /server/log/ сайты /server/sites/ пример как изменить конфигурацию nginx или php отредактируйте файлы mcedit /server/conf/nginx/prod site mcedit /server/conf/nginx/nginx conf mcedit /server/conf/php/php ini перезапустите nginx и php fpm /server/docker nginx reload nginx docker restart php настройка почты nginx контейнер использует postfix для отправки почты все конфигурационные файлы вы можете найти здесь /server/conf/postfix/ отредактируйте их под свои нужды перезапустите postfix, чтобы изменения вступили в силу docker exec i postfix service postfix reload пример настройки postfix откройте конфигурационный файл /server/conf/postfix/main cf mcedit /server/conf/postfix/main cf убедитесь в том, что параметр myhostname совпадает с полным доменным именем вашего сервера myhostname = passwork настройка имен и паролей smtp откройте или создайте файл /server/conf/postfix/sasl passwd mcedit /server/conf/postfix/sasl passwd добавьте smtp хост, имя пользователя и пароль должны быть записаны в следующем формате \[mail isp example] username\ password если вы хотите использовать нестандартный tcp порт (например, 587), используйте следующий формат \[mail isp example] 587 username\ password для gmail запись будет выглядеть следующим образом \[smtp gmail com] 587 username\ password создайте хэшированную базу данных для postfix, выполните команду postmap docker exec it postfix postmap /etc/postfix/sasl passwd после успешного выполнения команды в директории /server/conf/postfix должен появиться новый файл sasl passwd db защита файла с паролями и хэш файла файлы /server/conf/postfix/sasl passwd и /server/conf/postfix/sasl passwd db, созданные в предыдущих шагах, содержат ваши учетные данные smtp в виде простого текста по соображениям безопасности вы должны изменить права доступа к ним, так чтобы только пользователь root мог читать и записывать в файл выполните следующие команды, чтобы изменить владельца файлов на root и обновить права доступа для файлов chown root\ root /server/conf/postfix/sasl passwd /server/conf/postfix/sasl passwd db chmod 0600 /server/conf/postfix/sasl passwd /server/conf/postfix/sasl passwd db конфигурация релей сервера откройте файл /server/conf/postfix/main cf mcedit /server/conf/postfix/main cf измените параметр relayhost, на свой внешний smtp релей если в файле sasl passwd был указан нестандартный tcp порт, то вы должны использовать тот же порт при настройке параметра relayhost укажите smtp релей relayhost = \[mail isp example] 587 для gmail запись будет выглядеть следующим образом relayhost = \[smtp gmail com] 587 в конце файла добавьте следующие параметры для включения аутентификации \# enable sasl authentication smtp sasl auth enable = yes \# disallow methods that allow anonymous authentication smtp sasl security options = noanonymous \# where to find sasl passwd smtp sasl password maps = hash /etc/postfix/sasl passwd \# enable starttls encryption smtp use tls = yes \# where to find ca certificates smtp tls cafile = /etc/ssl/certs/ca certificates crt сохраните изменения перезапустите postfix