Як встановити 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? Якщо так, чи можете ви вказати мене в правильному напрямку?

Редагувати:

Ось кілька журналів.

Початковий 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.

Сидячи в 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 вирваний із сховищ? Які симптоми говорять про це?
Thomas Ward

Опублікуйте журнали помилок. А також: що означає "але нічого не відображається в localhost: 8080" означає? недійсна сторінка? сторінка помилки підключення? 404?
eddieferetro

1
@Pandya ламаною Я маю на увазі, що apt-get встановлює не працює пакет. Він не може бути налаштований, не оновлений, неповний, баггі ...
Juan Garcia

Відповіді:


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, ви також можете подумати про переміщення syslog до групи 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, замініть його за необхідності, якщо ви користуєтеся оракулом, поверніться у файл /etc/init.d/tomcat та змініть openjdk до вашої версії, де сценарій посилається на "$ OPENJDK". Це також передбачає, що ви встановлені з сховищ.

Удачі, і нехай ваш мармур !!


що робити, якщо localhost: 8080 працює нормально, але server_IP_address: 8080 не робить ... чи буде
описана

8

Я спробував це на свіжому контейнері:

sudo apt-get install tomcat7
sudo dpkg-reconfigure tomcat7

Здається, виправити це питання в моєму випадку.

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


Спробував це, не виправив помилку для мене сумно. Зламали також мою установку, прив’язують винятки тощо.
Джон Літтл

Слід додати, що перенастроювання замінює будь-які власні файли з типовими налаштуваннями менеджера пакунків для даного пакету.
користувач283885

2
  1. Завантажте офіційний Tomcat з їх веб-сайту

    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. Почніть свій томат.


0

Спробуйте запустити його як службу service tomcat7 start.

Я спробував і це в моєму локальному (ubuntu 14.04) і працює. Це створило мені проблему з de JAVA_HOME, але я виправив це так і працює:

1- Редагувати конфігураційний файл tomcat:

vim /etc/default/tomcat7

2- Знайдіть рядок JAVA_HOME (це коментується) та введіть щось на зразок:

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

pe:

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

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 завантажити'

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

2 витягнути його лс

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

3 зробіть реж у

$ sudo mkdir /usr/local/tomcat7

4 перемістіть файл у dir

$ 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


виберіть версію, перегляньте dir => закінчити

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


$ sudo service tomcat7 restartВихідtomcat7: unrecognized service
Juan Garcia

$ cd / opt / local / tomcat7 / bin $ ls ви знайдете файл скрипта оболонки, я не точно впевнений у назві, яке воно може бути перезапущено.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 показує попередження та кидає виняток. Я оновлю питання з журналом
Juan Garcia

Оновлення: Я опублікував свої журнали
Хуан Гарсія

/ opt / tomcat / bin або / opt / tomcat7 або / etc / tomcat7 або / etc / tomcat, якщо ви не знайдете його CD / opt; ls -lh && cd / тощо; ls-поставте в pastebin і прокоментуйте, що я збираюся встановити tocat7 і перевірити його на u
hwez

0

У мене не було проблем із встановленням та запуском Tomcat 7 в Ubuntu 14.04 LTS. Щоб переконатися, я підняв історію баш. Зауважте, що я вперше встановив Oracle Java (на випадок, якщо це зміниться)

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

потім Томкат

sudo apt-get install tomcat7

Команда

sudo service tomcat7 restart

дає

 * Stopping Tomcat servlet engine tomcat7           [ OK ] 
 * Starting Tomcat servlet engine tomcat7           [ OK ]
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.