CloudFoundry контейнер установить linux mail команду

При переносе приложения PHP / WordPress на CloudFoundry мы сталкиваемся с проблемой, заключающейся в том, что приложение опирается на Linux. mail команда, которая не установлена ​​в контейнерах CloudFoundry по умолчанию.

Есть ли способ установить это в контейнере, в котором приложения запускаются при запуске?

0

Решение

Лучшее решение — перевести ваше приложение на прямую связь с SMTP-сервером. Есть плагины WordPress, которые позволят вам сделать это. Вы можете рассмотреть возможность использования одного из них. Я не знаю вашей ситуации, но использовать их часто просто.

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

Пара замечаний по этому поводу:

  1. Вы не можете установить RPM или DEB пакеты, потому что не можете получить root-права на CF. Лучшее, что вы можете сделать, — это принести свои двоичные файлы и сценарии вместе с приложением (или написать собственный пакет сборки, но это намного больше работы).

  2. Вы могли бы взять mail двоичный файл из системы Linux и связать его с вашим приложением. Например, установить mail в виртуальной машине (работает Ubuntu Trusty или использовать cloudfoundry/cflinuxfs2 изображение докера), скопируйте mail двоичные и зависимые разделяемые библиотеки в каталог в вашем приложении. Нажмите ваше приложение, включая эти двоичные файлы. Затем вы можете настроить переменные PATH и LD_LIBRARY_PATH env, чтобы WordPress мог найти команду, а команда могла найти связанные с ней общие библиотеки.

  3. Если вы не можете / не хотите связываться с # 2, вы можете написать скрипт на вашем любимом языке сценариев (Python, Perl, Ruby, PHP и т. Д.), Который реализует такой же кли, как mail Команда (достаточно для удовлетворения потребностей WordPress) и общается напрямую с SMTP-сервером. Назовите сценарий mail и наведите на него WordPress или вставьте в PATH.

  4. Чтобы настроить переменную среды PATH, вы не хотите использовать cf set-env, Это потому, что вы можете переопределить только переменные с cf set-envВы не можете сделать традиционный PATH=$PATH:/my/new/path, Чтобы сделать эту работу, вы хотите включить .profile файл в корне вашего приложения. Это будет получено и получено до запуска вашего приложения, и в него вы можете добавить PATH=$PATH:$HOME/path/to/mail/script, где /path/to/mail/script это местоположение того, что вы связываете с вашим приложением, и то, что вы хотите, доступно по пути. Мы префикс это $HOME так что это указывает на наше приложение.

    https://docs.cloudfoundry.org/devguide/deploy-apps/deploy-app.html#profile

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector