Problemas de instalação com o CouchDB 1.6 no Ubuntu 15.10

1

Depois de usar o CouchDB 1.4 no Ubuntu 14.04, recentemente tentei começar de novo com 15.10 e com o pacote couchdb principal. Ele instalou o couchdb 1.6, que foi uma mudança bem-vinda, mas a documentação de instalação do ubuntu no site do sofá não foi atualizada.

Estou tendo alguns problemas para começar a trabalhar. Eu executei a instalação do pacote aptdb do apt-get install e criei um grupo e usuário couchdb.

Parece que talvez o repositório do Ubuntu não instale as coisas nos mesmos locais, como diz a documentação do couchdb para o Ubuntu (que não é um grande problema), mas também não parece criar todos os problemas. as pastas necessárias, nem definir as permissões corretas.

Quando executo couchdb -b , recebo Apache CouchDB needs write permission on the PID file: /var/run/couchdb/couchdb.pid

Separadamente (como mais informações), a pasta / var / run / couchdb não é criada na instalação, mas se eu a criar (e algumas outras) e definir as permissões daquelas para couchdb: couchdb também, as coisas começam. No entanto, isso não acontece permanentemente, pois o arquivo pid é reiniciado após a reinicialização e estamos de volta à estaca zero. Como uma nota lateral, eu também não sei se todo o log requerido ou outras pastas são criadas na instalação. Deixe-me saber se você percebeu alguma coisa lá.

Como outra informação, quando tento executar sudo -i -u couchdb couchdb , obtenho: sudo: unable to change directory to /usr/local/var/lib/couchdb: No such file or directory

Este (usr / local) parece a pasta correta da documentação, mas as instalações do Ubuntu 15 parecem não usar / usr / local e usam principalmente / etc / couchdb. Um pouco confuso tentando acompanhar todos os documentos por causa disso.

Se eu executar sudo -i -u couchdb couchdb , obtenho:

{"init terminating in do_boot",{{badmatch,{error,{bad_return,    
{{couch_app,start,[normal,  
["/etc/couchdb/default.ini","/etc/couchdb/local.ini"]]},{'EXIT',{{bad match,
{error,{error,enoent}}},[{couch_server_sup,start_server,1,
[{file,"couch_server_sup.erl"},{line,56}]},{application_master,start_it_old,4,
[{file,"application_master.erl"},{line,273}]}]}}}}}},[{couch,start,0,
[{file,"couch.erl"},{line,18}]},{init,start_it,1,[]},{init,start_em,1,[]}]}}

Crash dump is being written to: erl_crash.dump...done
init terminating in do_boot ()

Qual é um erro enoent. Eu também recebo o irmão de erro de permissões disso às vezes (eecees? Não me lembro). Isso é alguma ajuda?

Quando eu corro por aí destruindo coisas criando pastas aleatórias e alterando permissões, posso chegar perto, mas não consigo obter o arquivo pid final para manter as permissões corretas. Esse é o único problema ou devo ter cuidado com a instalação do 15.10 em geral? Alguém pode me ajudar a resolver o erro de permissões pid? Como eu corro isto? Obrigado!

    
por Paul Wright 07.11.2015 / 08:59

1 resposta

1

A resposta está no script init que vem junto com o pacote ubuntu padrão.

/etc/init.d/couchdb começando na linha 83

start_couchdb () {
    # Start Apache CouchDB as a background process.

    mkdir -p "$RUN_DIR"
    if test -n "$COUCHDB_USER"; then
        chown $COUCHDB_USER "$RUN_DIR"
    fi
    command="$COUCHDB -b"
    if test -n "$COUCHDB_STDOUT_FILE"; then
        command="$command -o $COUCHDB_STDOUT_FILE"
    fi
    if test -n "$COUCHDB_STDERR_FILE"; then
        command="$command -e $COUCHDB_STDERR_FILE"
    fi
    if test -n "$COUCHDB_RESPAWN_TIMEOUT"; then
        command="$command -r $COUCHDB_RESPAWN_TIMEOUT"
    fi
    run_command "$command" > /dev/null
}

Eu consegui o pacote oficial do ubuntu 15.10 vagrant e instalei o pacote couchdb, então editei /etc/couchdb/local.ini para ligar o httpd a um endereço IP diferente e reiniciei o serviço couchdb via /etc/init.d/couchdb restart

Tudo funcionou bem para mim.

TL; DR usa o script de inicialização /etc/init.d/couchdb para iniciar / parar e reiniciar o couchdb

    
por 12.11.2015 / 15:39