OpenOffice “Java framework” Erro na função createSettingsDocument (elements.cxx)

5

Eu tenho um problema com o meu openoffice.org em uma versão RedHad do linux.

O OpenOffice é instalado com sucesso e, a partir da linha de comando, se eu executar o seguinte como root, obtenho:

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

Quando eu mudo o usuário apache eu recebo isto:

[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$

É obviamente um problema do usuário, mas parece que todos os arquivos do OpenOffice.org são de propriedade do apache. Eu pesquisei por dias agora e as principais soluções parecem estar mudando o dono do ~ / .config para o apache, mas não consigo descobrir como fazer isso.

Se ajuda quando executo o comando usando php eu recebo a seguinte saída

[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

Além disso, o arquivo / usr / bin / ooffice contém o seguinte:

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

Qualquer ajuda seria muito apreciada.

    
por Ben 10.02.2012 / 17:25

2 respostas

4

Eu estava com problemas semelhantes (com mensagens semelhantes):

Em nosso servidor, o nginx é executado sob o usuário www-data . Quando executamos o OpenOffice (ou qualquer outro aplicativo que usamos), por questões de segurança, o executamos sob o usuário www-apps (o usuário www-data é capaz de fazer o sudo para www-apps ).

Infelizmente, eu estava entendendo isso:

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

O problema era que eu precisava executar o comando sudo com o argumento -H para alterar o diretório inicial de /home/www-data para /home/www-apps . Do que funcionou como um encanto.

    
por 21.08.2012 / 17:10
2

Você pode ter corrigido este problema agora, mas se não, descubra o diretório home para o usuário apache fazendo cat /etc/passwd | grep apache (o diretório inicial será o último mas um campo na linha). Defina este diretório para ser gravável pelo usuário apache. No meu caso, isso resolveu o problema (embora eu não esteja usando o apache, mas estou usando lighttpd, nesse caso eu tive que fazer isso com / var / www / e configurá-lo para gravável por www-data).

No entanto, sou um novato no gerenciamento de servidores e não tenho idéia se isso tornará o seu servidor da Web inseguro.

    
por 31.03.2012 / 15:31