touch: não é possível tocar em `/usr/share/tomcat7/logs/catalina.out ': esse arquivo ou diretório não existe

8

Estou com um problema ao iniciar o tomcat a partir do terminal. Instalei o tomcat usando - sudo apt-get install tomcat7, alguns dias atrás. Agora, quando estou iniciando usando o comando abaixo, estou recebendo o seguinte erro:

~/tomcat7/bin$ sudo ./startup.sh

Using CATALINA_BASE:   /usr/share/tomcat7  
Using CATALINA_HOME:   /usr/share/tomcat7  
Using CATALINA_TMPDIR: /usr/share/tomcat7/temp  
Using JRE_HOME:        /usr   
Using CLASSPATH:       /usr/share/tomcat7/bin/bootstrap.jar:/usr/share/tomcat7/bin/tomcat-juli.jar
touch: cannot touch `/usr/share/tomcat7/logs/catalina.out': No such file or directory  
./catalina.sh: 389: ./catalina.sh: cannot create /usr/share/tomcat7/logs/catalina.out: Directory nonexistent

Não consigo entender o que deu errado. Consegui acessar - http://localhost:8080quando o instalei. Mas, em seguida, executei o comando para desativar a inicialização no momento da inicialização:

sudo update-rc.d tomcat remove

E agora não está começando. :(

Rohit Jain
fonte
Tem certeza de que está executando o Tomcat a partir dos pacotes Ubuntu? Eu acho que não ... Parece que você instalou outro do upstream (in ~/tomcat7?), Pois o do Ubuntu não grava arquivos de log /usr/share/tomcat7/logs, mas em /var/logalgum lugar. Você não quis rodar o Tomcat como service tomcat start?
gertvdijk
@gertvdijk. Oh céus! Funciona agora. Parece que o tomcat foi instalado como um serviço. Obrigado.
Rohit Jain
@gertvdijk. Eu tenho mais uma pergunta. Agora estou tentando implantar um arquivo de guerra. Eu copiei no /usr/share/tomcat7/webappsdiretório. Mas quando eu acesso a página, mostra erro 404. Então mudei o arquivo war para - /var/lib/tomcat7/webapps, também está mostrando o mesmo erro. Como eu implantaria a guerra? Se você quiser, posso postá-lo como uma pergunta diferente.
Rohit Jain
@gertvdijk. Enquanto isso, você pode adicionar seu comentário como resposta. Eu aceito. Obrigado :)
Rohit Jain
Por favor, não faça novas perguntas nos comentários. Faça uma nova pergunta pressionando o botão "Fazer pergunta" na parte superior da página.
gertvdijk

Respostas:

5

Quando instalado usando o tomcat7pacote, pretende-se iniciar e parar o Tomcat usando upstart ( service tomcat start) ou o /etc/init.d/tomcatscript. Se você o iniciar usando o startup.shscript, é provável que suas variáveis ​​ambientais estejam configuradas incorretamente.

Consulte a minha resposta à sua pergunta anterior ( como devo instalar o Apache Tomcat 7 para uso com o Eclipse? ) Para obter uma maneira melhor de instalar o Tomcat se você não quiser executá-lo como um serviço.

David Edwards
fonte
Está bem. Acho melhor instalar uma instância privada do tomcat. Posso apenas fazer - apt-get purge tomcat7para desinstalar o anterior?
Rohit Jain
O @RohitJain No. apt-getgerencia os pacotes Ubuntu, não os arquivos que você instalou de outra fonte. Consulte o arquivo README / INSTALL ou outra documentação com a fonte upstream da outra instância que você instalou. Evite executar o software da fonte se os pacotes Ubuntu estiverem disponíveis. Como você vê, está dificultando o gerenciamento do seu sistema.
gertvdijk
@gertvdijk. Eu instalei usando apt-get install tomcat7apenas. Posso desinstalá-lo assim neste caso?
Rohit Jain
1

basta criar a pasta que falta assim:

sudo mkdir /var/tomcat/logs

execute o tomcat novamente assim:

sudo sh /opt/apache-tomcat-{version}/bin/startup.sh

A mensagem em si é auto-explicativa; se você não conhece a hierarquia do sistema de arquivos Unix / Linux e como ele funciona, eu recomendo que você comece a assistir a alguns tutoriais.

JulsLyon
fonte
0

No meu caso, enfrentei um problema semelhante e o tomcat7 não seria iniciado.
Aparentemente, a /var/log/tomcat7pasta foi excluída devido à reinicialização da caixa ...

Aqui está como eu consertei:

rwxrwxrwx 1 root    root      17 Feb 27  2014 logs -> ../../log/tomcat7
/var/log# mkdir tomcat7
/var/log/tomcat7# cd /etc/init.d/
/etc/init.d# ./tomcat7 start
dinbo
fonte