Как установить Tomcat7 в Ubuntu 14.04 LTS?

9

Если я apt-get install tomcat7это установил сломанный Tomcat7. Простой файл startup.sh выдаст мне ошибки, а когда исправлено, говорит, что tomcat запущен, но в localhost: 8080 ничего не отображается. shutdown.sh выдаст мне ошибки и даже выдаст исключения Java. Этого не происходило в некоторых предыдущих выпусках Ubuntu, где это просто работало. Так что, похоже, пакет Tomcat не поддерживается в последнее время.

Я могу заставить его работать из Eclipse (который, кстати, тоже не поддерживается должным образом), когда я тестирую свое веб-приложение. Однако есть вещи, которые мне нужно проверить в автономной установке Tomcat. Пока что Google не помог.

Кто-нибудь из вас смог правильно установить tomcat7 в Ubuntu 14.4LTS? Если да, можете ли вы указать мне правильное направление?

Редактировать:

Вот несколько журналов.

Начальный кот:

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

Сидя в localhost:8080http://127.0.0.1:8080, http://127.0.0.1, http://[my network ip here]):

Oops! Google Chrome could not connect to localhost:8080

Остановка кота также дает сбой:

$ 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)
Хуан Гарсия
источник
Не могли бы вы опубликовать вывод startup.sh и shutdown.sh?
Лети
5
Что подразумевается под apt-get install tomcat7установкой сломанного tomcat7?
Пандя
1
К сожалению, здесь недостаточно подробностей. Что именно заставляет вас думать, что Tomcat7 не работает с репозиториями? Какие симптомы говорят об этом?
Томас Уорд
Опубликуйте журналы ошибок. А также: что означает «но в localhost: 8080 ничего не отображается»? пустая страница? страница ошибки подключения? 404?
Eddieferetro
1
@Pandya не работает, я имею в виду, что apt-get устанавливает не работающий пакет. Это может быть не настроено, не обновлено, неполно, глючит ...
Хуан Гарсия

Ответы:

3

Я считаю, что ваша CATALINA_BASE неверна, она исчерпывает каталог / var / lib / tomcat7, а CATALINA_HOME подходит для того, как вы объявили переменную. Добавьте CATALINA_HOME и CATALINA_BASE в / etc / default / tomcat7 вместе с JAVA_HOME и JRE_HOME. Этот исполняемый файл уведомляет сервлет Tomcat о том, как устанавливается среда при запуске сервлета.

Можно также поместить их в / etc / profile и затем экспортировать в /etc/bash.bashrc (т. Е. Экспортировать CATALINA_HOME). Это следует делать только тогда и только тогда, когда на вашем сайте нет логина или регистрации пользователя. Без экспорта переменных они все равно будут объявлены локально.

Чтобы объявить переменные глобально, если вы являетесь администратором (группа 4, вам также может потребоваться переместить системный журнал в группу 37, очистить rsyslog и просто оставить демона работающим для журналов, чтобы вы сохранили обязательный контроль доступа). Можно подумать о создании файла ~ / .bash_completion или ~ / .bash_expert в вашем домашнем каталоге, где у вас есть что-то вроде этого:

# ~/.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

Затем создайте файл .tomservlet в /etc/bash_completion.d/.tomservlet и добавьте следующее:

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

После этого добавьте следующие строки в ~ / .bashrc

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

Затем создайте файл ~ / .bashrc, как показано ниже:

:~$ source .bashrc

и это должно заботиться о ваших проблемах безопасным способом, независимо от того, какой тип взаимодействия на стороне клиента имеет место. (Не держите меня в этом, вы никогда не знаете, что скрывают марсиане в киберпространстве, иногда это может быть страшным царством).

PS Ранее я имел в виду oracle-sun jdk7 или, по-моему, это просто Oracle Jdk7, поэтому, если вы используете Open Jdk, замените его при необходимости, если вы используете oracle, вернитесь в файл /etc/init.d/tomcat и измените его. openjdk к вашей версии, где скрипт ссылается на «$ OPENJDK». Это также предполагает, что вы установили из репозиториев.

Удачи, и пусть ваш кот мурлычет !!

oOpSgEo
источник
что делать, если localhost: 8080 работает нормально, но server_IP_address: 8080 не работает .... будет ли работать вышеуказанная процедура .....
Ашвани Кумар Рахул
8

Я попробовал это на свежем контейнере:

sudo apt-get install tomcat7
sudo dpkg-reconfigure tomcat7

Кажется, исправить проблему в моем случае.

Редактировать: dpkg-reconfigure заменит вашу пользовательскую конфигурацию для tomcat7 на конфигурацию менеджера пакетов по умолчанию или, если она есть, отобразит меню для настройки.

user283885
источник
Попробовал это, не исправить ошибку для меня, к сожалению. Сломал мою установку, связал исключения и т. Д.
Джон Литтл
Должен был добавить, чтоconfigure заменяет любые пользовательские файлы на значения по умолчанию для менеджера пакетов для данного пакета.
user283885
2
  1. Загрузите официальный кот с их сайта

    wget http://mirrors.fe.up.pt/pub/apache/tomcat/tomcat-7/v7.0.54/bin/apache-tomcat-7.0.54.zip
    
  2. Распакуйте его

    unzip apache-tomcat-7.0.54.zip       
    
  3. Убедитесь, что у вас установлена ​​Java и определен JAVA_HOME

  4. Начни свой кот.

LnxSlck
источник
0

Попробуйте запустить его как сервис с service tomcat7 start.

Я пробовал и это в моем местном (Ubuntu 14.04) и работает. Это дало мне проблему с де JAVA_HOME, но я исправил это так и работает:

1- Отредактируйте конфигурационный файл Tomcat:

vim /etc/default/tomcat7

2- Найдите строку JAVA_HOME (она прокомментирована) и добавьте что-то вроде:

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

ре:

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

Сохраните и запустите Tomcat как сервис:

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

а также

root@skynet:/etc/init.d# service tomcat7 stop
 * Stopping Tomcat servlet engine tomcat7
eddieferetro
источник
0

установка 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

я использую ssh, потому что это виртуальная машина «для теста»
1 скачайте файл «tomcat7.0 apache download»

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

2 извлечь это Ls

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

3 сделать режиссёр в

$ sudo mkdir /usr/local/tomcat7

4 переместить файл в каталог

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

5 установка

$ 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 конфигурации теперь мы идем на рабочий стол Ubuntu

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


выберите версию просмотрите каталог => готово

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

закрой это

$ sudo ./shutdown.sh

давайте сделаем тест

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

Видеоурок: ' http://www.youtube.com/watch?v=n5joqK07-NE '

hwez
источник
$ sudo service tomcat7 restartВыходtomcat7: unrecognized service
Juan Garcia
$ cd / opt / local / tomcat7 / bin $ ls вы найдете файл сценария оболочки, я не совсем уверен, какое имя может быть restart.sh, извините его с помощью $ sudo sh restart.sh, если restart.sh не существует, попробуйте запустить затем закройте и начните снова с $ sudo startup.sh $ sudo shutdown.sh $ sudo startup.sh
hwez
/ opt / local / tomcat7 / bin не существует, он находится в / usr / share / tomcat7 / bin. startup.sh сказал, что tomcat запущен, но браузер не видит ничего в localhost: 8080 (тоже пытается использовать локальный ip). shutdown.sh показывает предупреждения и выдает исключение. Я буду обновлять вопрос с журналом
Хуан Гарсия
Обновление: я отправил свои журналы
Хуан Гарсия
/ opt / tomcat / bin или / opt / tomcat7 или / etc / tomcat7 или / etc / tomcat, если вы не нашли его cd / opt; ls -lh && cd / etc; ls -ls вставьте pastebin и прокомментируйте его, я собираюсь установить tocat7 и проверьте его на u
hwez
0

У меня не было проблем с установкой и запуском Tomcat 7 в Ubuntu 14.04 LTS. Просто чтобы убедиться, я посмотрел историю Bash. Обратите внимание, что я сначала установил Oracle Java (на случай, если что-то изменится)

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

затем Tomcat

sudo apt-get install tomcat7

Команда

sudo service tomcat7 restart

дает

 * Stopping Tomcat servlet engine tomcat7           [ OK ] 
 * Starting Tomcat servlet engine tomcat7           [ OK ]
atmelino
источник