Jak zainstalować Tomcat7 w Ubuntu 14.04 LTS?

9

Jeśli ja apt-get install tomcat7instaluje zepsuty tomcat7. Prosty startup.sh da mi błędy, niż gdy naprawiony mówi, że tomcat się uruchomił, ale nic nie pojawia się w localhost: 8080. shutdown.sh da mi błędy, a nawet wyrzuci wyjątki Java. Nie działo się tak w niektórych poprzednich wersjach Ubuntu, w których po prostu działało. Wygląda na to, że pakiet tomcat nie był ostatnio obsługiwany.

Mogę sprawić, aby działał z Eclipse (który zresztą nie został odpowiednio utrzymany) podczas testowania mojej aplikacji internetowej. Są jednak rzeczy, które muszę przetestować w samodzielnej instalacji tomcat. Jak dotąd Google nie pomógł.

Czy któryś z was zdołał poprawnie zainstalować tomcat7 w Ubuntu 14.4LTS? Jeśli tak, czy możesz wskazać mi właściwy kierunek?

Edytować:

Oto kilka dzienników.

Począwszy tomcat:

$ sudo /usr/share/tomcat7/bin/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
Tomcat started.

Przeglądając się localhost:8080(i http://127.0.0.1:8080, http://127.0.0.1, http://[my network ip here]):

Oops! Google Chrome could not connect to localhost:8080

Zatrzymywanie tomcat również kończy się niepowodzeniem:

$ sudo /usr/share/tomcat7/bin/shutdown.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
Jul 03, 2014 7:15:55 PM org.apache.catalina.startup.ClassLoaderFactory validateFile
WARNING: Problem with directory [/usr/share/tomcat7/common/classes], exists: [false], isDirectory: [false], canRead: [false]
Jul 03, 2014 7:15:55 PM org.apache.catalina.startup.ClassLoaderFactory validateFile
WARNING: Problem with directory [/usr/share/tomcat7/common], exists: [false], isDirectory: [false], canRead: [false]
Jul 03, 2014 7:15:55 PM org.apache.catalina.startup.ClassLoaderFactory validateFile
WARNING: Problem with directory [/usr/share/tomcat7/server/classes], exists: [false], isDirectory: [false], canRead: [false]
Jul 03, 2014 7:15:55 PM org.apache.catalina.startup.ClassLoaderFactory validateFile
WARNING: Problem with directory [/usr/share/tomcat7/server], exists: [false], isDirectory: [false], canRead: [false]
Jul 03, 2014 7:15:55 PM org.apache.catalina.startup.ClassLoaderFactory validateFile
WARNING: Problem with directory [/usr/share/tomcat7/shared/classes], exists: [false], isDirectory: [false], canRead: [false]
Jul 03, 2014 7:15:55 PM org.apache.catalina.startup.ClassLoaderFactory validateFile
WARNING: Problem with directory [/usr/share/tomcat7/shared], exists: [false], isDirectory: [false], canRead: [false]
Jul 03, 2014 7:15:55 PM org.apache.catalina.startup.Catalina stopServer
SEVERE: Catalina.stop: 
java.io.FileNotFoundException: /usr/share/tomcat7/conf/server.xml (No such file or directory)
    at java.io.FileInputStream.open(Native Method)
    at java.io.FileInputStream.<init>(FileInputStream.java:146)
    at org.apache.catalina.startup.Catalina.stopServer(Catalina.java:466)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.apache.catalina.startup.Bootstrap.stopServer(Bootstrap.java:370)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:457)
Juan Garcia
źródło
czy możesz zamieścić dane wyjściowe startup.sh i shutdown.sh?
Lety
5
Co należy rozumieć przez apt-get install tomcat7instalowanie uszkodzonego tomcat7?
Pandya
1
Niestety nie ma tu wystarczająco dużo szczegółów. Co dokładnie sprawia, że ​​myślisz, że Tomcat7 jest zepsuty z repozytoriów? Jakie objawy to sugerują?
Thomas Ward
Opublikuj dzienniki błędów. A także: co oznacza „ale nic nie pojawia się w localhost: 8080”? nieważna strona? strona błędu połączenia? 404?
eddieferetro
1
@Pandya przez broken Mam na myśli, że apt-get instaluje niedziałający pakiet. Nie można go konfigurować, nie aktualizować, niekompletny, buggy ...
Juan Garcia

Odpowiedzi:

3

Uważam, że twoja CATALINA_BASE jest niepoprawna, kończy się ona w katalogu / var / lib / tomcat7, a CATALINA_HOME jest poprawny pod względem sposobu zadeklarowania zmiennej. Dodaj CATALINA_HOME i CATALINA_BASE do / etc / default / tomcat7 wraz z JAVA_HOME i JRE_HOME. Ten plik wykonywalny powiadamia serwlet tomcat o tym, jak środowisko jest ustawione podczas uruchamiania serwletu.

Można również rozważyć umieszczenie ich w / etc / profile, a następnie wyeksportowanie ich do /etc/bash.bashrc (tj. Eksport CATALINA_HOME). Należy to zrobić tylko wtedy, gdy witryna nie ma loginu ani rejestracji użytkownika. Bez eksportowania zmiennych nadal byłyby deklarowane lokalnie.

Aby globalnie zadeklarować zmienne jako podejście, jeśli jesteś administratorem (grupa 4, możesz również pomyśleć o przeniesieniu syslogu do grupy 37, wyczyszczeniu rsyslog i po prostu utrzymaniu działania demona dla dzienników, aby zachować obowiązkową kontrolę dostępu) może zastanowić się nad utworzeniem pliku ~ / .bash_completion lub ~ / .bash_expert w katalogu domowym, w którym masz coś takiego:

# ~/.bash_expert in regards to servlet alias
if [ -f /etc/bash_completion.d/.tomservlet ]; then
    . /etc/bash_completion.d/.tomservlet
fi
export CATALINA_HOME
export CATALINA_BASE
export JRE_HOME
export JAVA_HOME

Następnie utwórz plik .tomservlet w /etc/bash_completion.d/.tomservlet i dodaj:

CATALINA_HOME=/usr/share/tomcat7
CATALINA_BASE=/var/lib/tomcat7
JAVA_HOME=/usr/lib/jvm/jdk1.7.0
JRE_HOME=$JAVA_HOME:/jre

Po zakończeniu dodaj następujące wiersze do ~ / .bashrc

if [ -f "$HOME/.bash_expert" ];then
    . "$HOME/.bash_expert"
fi

Następnie źródłowy plik ~ / .bashrc, jak pokazano poniżej:

:~$ source .bashrc

i to powinno zająć się Twoimi problemami w bezpieczny sposób, bez względu na rodzaj interakcji po stronie klienta. (Nie trzymaj mnie tego, nigdy nie wiesz, co Marsjanie czają się w cyberprzestrzeni, czasami może to być przerażające królestwo).

PS Wcześniej miałem na myśli jdk7 oracle-sun lub domyślnie Jdk7 Oracle, więc jeśli używasz Open Jdk, zamień go w razie potrzeby, jeśli używasz oracle, wróć do pliku /etc/init.d/tomcat openjdk do twojej wersji, w której skrypt odwołuje się do „$ OPENJDK”. Zakłada się również, że zainstalowałeś z repozytoriów.

Powodzenia i niech twój kocur mrucze !!

oOpSgEo
źródło
co zrobić, jeśli localhost: 8080 działa dobrze, ale adres_IP_serwera: 8080 nie .... czy powyższa procedura zadziała .....
Ashwani Kumar Rahul
8

Próbowałem tego na świeżym pojemniku:

sudo apt-get install tomcat7
sudo dpkg-reconfigure tomcat7

Wydaje się, że to rozwiązuje problem w moim przypadku.

Edycja: dpkg-reconfigure zastąpi twoją niestandardową konfigurację dla tomcat7 domyślną konfiguracją menedżera pakietów lub, jeśli podano, wyświetli menu do dostosowania.

użytkownik 283885
źródło
Próbowałem tego, nie naprawiłem błędu niestety dla mnie. Zepsułem także moją instalację, wiążę wyjątki itp.
John Little
Powinien był zostać dodany, że ponowna konfiguracja zastępuje dowolne pliki niestandardowe domyślnymi ustawieniami menedżera pakietów dla danego pakietu.
user283885,
2
  1. Pobierz oficjalnego kocura z ich strony internetowej

    wget http://mirrors.fe.up.pt/pub/apache/tomcat/tomcat-7/v7.0.54/bin/apache-tomcat-7.0.54.zip
    
  2. Rozpakuj to

    unzip apache-tomcat-7.0.54.zip       
    
  3. Upewnij się, że masz zainstalowaną Javę i zdefiniowano JAVA_HOME

  4. Uruchom swojego kocura.

LnxSlck
źródło
0

Spróbuj uruchomić go jak usługę z service tomcat7 start.

Próbowałem i to w moim lokalnym (ubuntu 14.04) i działa. Dało mi to problem z de JAVA_HOME, ale naprawiłem to w ten sposób i działa:

1- Edytuj plik konfiguracyjny tomcat:

vim /etc/default/tomcat7

2- Wyszukaj wiersz JAVA_HOME (jest skomentowany) i umieść coś takiego:

JAVA_HOME=/usr/lib/jvm/<your-jvm>

pe:

JAVA_HOME=/usr/lib/jvm/java-7-oracle

Zapisz i uruchom tomcat jak usługę:

root@skynet:/etc/init.d# service tomcat7 start
 * Starting Tomcat servlet engine tomcat7  

i

root@skynet:/etc/init.d# service tomcat7 stop
 * Stopping Tomcat servlet engine tomcat7
eddieferetro
źródło
0

instalowanie środowiska Eclipse & Defult jdk & git

$ sudo apt-get eclipse
$ sudo apt-get eclipse-jdt
$ sudo apt-get eclipse-pde
$ sudo apt-get eclipse-platform
$ sudo apt-get eclipse-rcp

$ sudo apt-get install default-jdk
$ sudo apt-get install ant git

używam ssh, ponieważ jest to maszyna wirtualna „do testu”
1 pobierz plik „tomcat7.0 apache download”

$ wget http://apache.claz.org/tomcat/tomcat-7/v7.0.54/bin/apache-tomcat-7.0.54.tar.gz

2 wyodrębnij to ls

$ sudo tar -xvf apache-tomcat-7.0.54.tar.gz

3 zrobić reż

$ sudo mkdir /usr/local/tomcat7

4 przenieś plik do katalogu

$ mv apache-tomcat-7.0.54 /usr/local/tomcat7

5 instalacji

$ cd /usr/local/tomcat7/apache-tomcat-7.0.54
$ sudo ln -s /var/lib/tomcat/conf conf
$ sudo ln -s /etc/tomcat7/policy.d/03catalina.policy/conf/catalina.policy
$ sudo ln -s /var/log/tomcat7 log
$ sudo chmor -R 777 /usr/local/tomcat7/apach*/conf

6 konfiguracji teraz przechodzimy do pulpitu Ubuntu

Lunch eclipse => window => Preferences => Server => Runtime Envirenment


wybierz wersję przeglądaj katalog => zakończ

$ cd ../../apach*/bin
$ ls -la 

Zamknij to

$ sudo ./shutdown.sh

zróbmy test

eclipse => file => new => other... => web project

doulble click it => right click web content => test.htm 

<html>
<head>
<title> testing tomcat7 & eclipse</title>
</head>
<h2>Job's Done !</h2>

click on 'no servers are ....' => tomcat version => next => add to configured 
menu => run => run as => fninish
localhost:8080/test/test.htm
localhost:8080/project name/page name

Samouczek wideo: „ http://www.youtube.com/watch?v=n5joqK07-NE

hwez
źródło
Dane $ sudo service tomcat7 restartwyjściowetomcat7: unrecognized service
Juan Garcia
$ cd / opt / local / tomcat7 / bin $ ls znajdziesz plik skryptu powłoki nie jestem pewien co do nazwy, którą mógłby być zrestartowany. sh wycisz go przez $ sudo sh restart.sh jeśli restart.sh nie istnieje spróbuj uruchomić następnie zamknij, a następnie zacznij ponownie od $ sudo startup.sh $ sudo shutdown.sh $ sudo startup.sh
hwez
/ opt / local / tomcat7 / bin nie istnieje, znajduje się w katalogu / usr / share / tomcat7 / bin. startup.sh powiedział, że tomcat się uruchomił, ale przeglądarka niczego nie widzi w localhost: 8080 (próbowanie również z lokalnym ip). shutdown.sh wyświetla ostrzeżenia i zgłasza wyjątek. Zaktualizuję pytanie w dzienniku
Juan Garcia
Aktualizacja: Wysłałem swoje dzienniki
Juan Garcia
/ opt / tomcat / bin lub / opt / tomcat7 lub / etc / tomcat7 lub / etc / tomcat, jeśli nie znajdziesz go cd / opt; ls -lh && cd / etc; ls -ls wstawiłem pastebin i skomentowałem, że zainstaluję tocat7 i sprawdzę, czy u
hwez
0

Nie miałem problemów z instalacją i uruchomieniem Tomcat 7 w Ubuntu 14.04 LTS. Dla pewności przejrzałem historię bash. Pamiętaj, że najpierw zainstalowałem Oracle Java (na wypadek, gdyby to miało znaczenie)

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer

następnie Tomcat

sudo apt-get install tomcat7

Komenda

sudo service tomcat7 restart

daje

 * Stopping Tomcat servlet engine tomcat7           [ OK ] 
 * Starting Tomcat servlet engine tomcat7           [ OK ]
atmelino
źródło