5

У меня проблема с моим openoffice.org в версии Linux для RedHad.

OpenOffice успешно установлен и из командной строки, если я запускаю следующее от имени пользователя root, я получаю:

[root@s15548792 ~]# /usr/bin/ooffice "StarOffice.ServiceManager" -headless &
[1] 17321
[root@s15548792 ~]# ps | grep soffice.bin
17331 pts/0    00:00:00 soffice.bin

Когда я меняю пользователя apache, я получаю это:

[root@s15548792 ~]# su apache
bash-3.2$ /usr/bin/ooffice "StarOffice.ServiceManager" -headless &
[1] 17341
bash-3.2$ [Java framework] Error in function createSettingsDocument (elements.cxx).
javaldx failed!

[1]+  Done                    /usr/bin/ooffice "StarOffice.ServiceManager" -headless
bash-3.2$ ps -u `whoami` | grep soffice.bin
bash-3.2$

Очевидно, это проблема пользователя, но мне кажется, что все файлы OpenOffice.org принадлежат apache. Я искал несколько дней, и основные решения, похоже, меняют владельца ~/.config на apache, но я не могу понять, как это сделать.

Если это помогает, когда я запускаю команду, используя php, я получаю следующий вывод

[0] => Trying to open office... . /usr/bin/ooffice
[1] => [Java framework] Error in function createSettingsDocument (elements.cxx).
[2] => javaldx failed!
[3] => creation of executable memory area failed: Permission denied
[4] => creation of executable memory area failed: Permission denied
[5] => creation of executable memory area failed: Permission denied
[6] => creation of executable memory area failed: Permission denied
[7] => creation of executable memory area failed: Permission denied
[8] => creation of executable memory area failed: Permission denied
[9] => timeout - office could not be started

Также файл /usr /bin /ooffice содержит следующее:

#!/bin/sh
exec openoffice.org "$@"

Любая помощь будет высоко ценится.

2 ответа2

4

У меня была похожая проблема (с похожими сообщениями):

На нашем сервере nginx работает под пользовательскими www-data . Когда мы запускаем OpenOffice (или любые другие приложения, которые мы используем), из соображений безопасности мы запускаем его под пользовательскими www-apps (пользовательские www-data могут переходить в www-apps).

К сожалению, я получил это:

www-data@server:/tmp$ sudo -u www-apps /bin/bash
www-apps@server:/tmp$ oowriter -headless -nologo -norecovery -p report-8846.odt
[Java framework] Error in function createSettingsDocument (elements.cxx).
javaldx failed! 
creation of executable memory area failed: Permission denied

Проблема заключалась в том, что мне нужно было запустить команду sudo с аргументом -H чтобы изменить домашний каталог с /home/www-data на /home/www-apps . Чем это работает как шарм.

2

Возможно, вы уже исправили эту проблему, но если нет, то найдите домашний каталог для пользователя apache, выполнив команду cat /etc/passwd | grep apache (домашний каталог будет последним, кроме одного поля в строке). Установите этот каталог для записи пользователем apache. В моем случае это решило проблему (хотя я не использую apache, но использую lighttpd, и в этом случае мне пришлось сделать это в /var /www / и установить для записи с помощью www-data).

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .