Разрешение файла для пути к синонимам ElasticSearch

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

Я использую ElasticSearch в Laravel 5.2 и настраиваю файл синонимов, который по умолчанию находится в каталоге / и т.д. / ES / анализ. Я хочу обновлять его время от времени, поэтому я решил переместить его в каталог Laravel место хранения. После этого я снова открывал узел, чтобы мне не приходилось переиндексировать каждый раз, когда я добавляю синоним.

Моя проблема в том, что теперь я не могу добавить этот каталог как synonyms_path в настройки моего узла, я получаю сообщение об ошибке:

Вызвано: java.security.AccessControlException: доступ запрещен ("java.io.FilePermission" "/var/www/laravelproject/storage/app/elasticquent_synonyms.txt" "прочитано")

Наверное, потому что ES и Web-сервис запускаются разными пользователями или что-то в этом роде !? Я безуспешно пытался настроить разрешения. В любом случае весь место хранения в Laravel настроен на чтение для всех.

Я не могу получить к нему доступ и наоборот, не могу писать в / и т. д. / elasticsearch / анализ из моего веб-приложения. И в любом случае мне кажется, что иметь файл синонимов вне моего реального проекта - это неправильно.

Может ли кто-нибудь подсказать мне, что я могу сделать, чтобы обойти эту проблему?

Вы нашли какое-нибудь решение?

famas23 17.12.2018 16:04

Нет, к сожалению нет.

beast.caged 18.12.2018 20:15

Я нашел для себя, постараюсь опубликовать решение как можно скорее

famas23 18.12.2018 21:44

Не могли бы вы @beast caged, примите мой ответ, если считаете, что он решил вашу проблему или помог найти решение. Спасибо. Ваше здоровье!

famas23 09.01.2019 22:36
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
4
826
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Фактически, это проблема политики безопасности Java, чтобы решить ее, вам нужно найти, где находится vjm: Обычно он должен находиться под: /usr/lib/jvm/java-8-oracle/jre/lib/security/java.policy Отредактируйте файл с разрешением sudo, а затем добавьте эту конфигурацию гранта в конец файла политики.

grant {
    permission java.io.FilePermission "/var/www/laravelproject/storage/app/elasticquent_synonyms.txt", "read,write";
};

Спасибо (+1) - на Mac файл находился в Macintosh HD / Library / Java / JavaVirtualMachines / jdk1.8.0_111.jdk‌ / Contents / Home / ‌ jre / lib / security‌ /java.policy. Не удалось отредактировать его, поскольку он сказал, что файл не может быть отредактирован (может быть обходной путь - не искал его - просто решил сохранить его в каталоге ES / config)

Anupam 24.09.2020 18:26

Другие вопросы по теме