The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Каталог документации / Раздел "Руководства по FreeBSD на русском" / Оглавление документа

Java™ и Jakarta Tomcat во FreeBSD

$FreeBSD$

FreeBSD is a registered trademark of Wind River Systems, Inc. This is expected to change soon.

CVSup is a registered trademark of John D. Polstra.

Linux is a registered trademark of Linus Torvalds in the United States.

Microsoft, FrontPage, MS-DOS, Outlook, Windows, Windows Media, and Windows NT are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries.

Sun, Sun Microsystems, Java, Java Virtual Machine, JavaServer Pages, JDK, JSP, JVM, Netra, Solaris, StarOffice, Sun Blade, Sun Enterprise, Sun Fire, SunOS, and Ultra are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries.

Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in this document, and the FreeBSD Project was aware of the trademark claim, the designations have been followed by the ``™'' or the ``®'' symbol.

Этот документ создавался с надеждой на облегчение жизни тем, кому необходимо установить и запустить Java™ на FreeBSD, с наименьшими проблемами. Запланируйте потратить на такой проект целый день, так как он занимает время на компиляцию и сборку всех частей сначала по отдельности, а потом в целом. В нём также показывается, как установить популярные Jakarta Tomcat Servlet и контейнер JSP™ на операционную систему FreeBSD.


1 Введение

Днём рождения языка программирования Java считается 23 мая 1995 года. Наверное, следует ожидать, что, по прошествии такого периода времени, приложения будут легко устанавливаться и работать после установки одного пакаджа, или порта FreeBSD, таким образом становясь доступными ``массам''. К сожалению, это не наш случай, так как права на распространение Java очень крепко удерживаются компанией Sun Microsystems, которая запрещает повторное распространение. Все Java-апплеты должны компилироваться из исходного кода, вместе с Java Development Kit от Sun Microsystems. Все эти ингридиенты должны смешиваться друг с другом в определённой последовательности, собираться и компилироваться конечным пользователем. По моему мнению, при таком подходе к распространению Java будет использоваться только разработчиками и хакерами. Я ещё раз в этом убедился, когда у меня возникла необходимость в обработке нескольких .jsp-страниц клиента на моём Web-сервере, и пришлось настраивать www/jakarta-tomcat на работу с www/apache13 в моей системе FreeBSD.

Часть, касающаяся установки Tomcat, достаточно понятна, а трудность заключалась в том, чтобы заставить Java Development Kit запускаться и работать с FreeBSD 4.X, так как Sun Microsystems поставляет бинарные файлы только для Linux, Solaris™ и Windows NT®. Это значит, что мне предстояло компилироваться собственный JDK™ для FreeBSD. Я начал с поиска документации в Internet. Быстро обнаружилось, что там исходного кода и патчей к нему больше, чем мне нужно, но очень мало документации о том, что же делать после получения всего необходимого.

В этой статье вы найдёте, как установить Java Development Kit на FreeBSD и как заставить его работать с Tomcat. В разделе reference даётся дополнительная литература для изучения.


2 Окружение Java

Убедитесь, что ваша коллекция портов обновлена до самого последнего состояния, так как попытка построения при помощи make из старых исходных текстов будет оканчиваться неудачно. Вы можете полностью обновить вашу колллекцию портов при помощи CVSup. Обратитесь к разделу ../../books/handbook/cvsup.html для получения более полной информации. Вы можете также сгрузить требуемые вам порты вручную с сайта ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/, чтобы продолжить.

Note: Вам нужно включить Linux Emulation (Linux-ABI) в файле конфигурации вашего ядра. Просто добавьте следующий параметр в этот файл и перекомпилируйте ядро. Инструкции по построению ядра можно найти в Руководстве FreeBSD.

options        COMPAT_LINUX

При перекомпиляции параметр, указанный выше, добавит поддержку Linux-ABI к вашему ядру.

Зависимости, приведённые в списке ниже, требуется установить в ручном режиме в определённом порядке. Автоматически сгружаемые зависимости здесь не приведены.

Вам потребуется получить следующее:

  1. Сгрузить bsd-jdk131-patches-5.tar.gz по адресу http://www.eyesbeyond.com/freebsddom/java/jdk13.html и поместить архив в каталог /usr/ports/distfiles.

  2. Затем запустить браузер и перейти на страницу http://java.sun.com/j2se/1.3/download-linux.html, где найти сгружаемый SDK. Щёлкните на кнопке ``continue'', находящейся под ``GNUZIP Tar Shell Script''. Удостоверьтесь, что вы прочли буквально всё на странице лицензирования, прежде чем щёлкнуть на кнопке ``Accept''! Вы перейдёте на страницу под названием ``Download Java(TM) 2 SDK, Standard Edition 1.3.1_02''. Прокрутите страницу вниз и щёлкните на кнопке ``HTTP download''. После появления окошка ``File Download'', обязательно щёлкните на кнопке ``Open'', а не ``Save''. Будет выдано ещё одно окно ``File Download'' - на этот раз выберите ``Save'', и теперь вы сможете сохранить файл j2sdk-1_3_1_02-linux-i386.bin. Поместите его в каталог /usr/ports/distfiles.

  3. Перейдите на страницу http://www.sun.com/software/java2/download.html. В таблице под Produce Description, которая называется Java 2 SDK 1.3.1, перейдите к ячейке справа и щёлкните на ``download''. Вы перейдёте на страницу ``Sign On'', где должны ввести своё имя, если уже имеете учётную запись, либо зарегистрироваться для получения доступа. После того, как вы зарегистрируетесь, то будете перенаправлены на страницу ``Legal'', где должны будете согласиться с условиями лицензионного соглашения; прокрутите вниз (прочитайте лицензию) и щёлкните на кнопке ``Continue''. Следующей страницей будет ``Receipt''. На этом этапе вы должны записать ваш номер. Вам будет предложено выбрать ближайшее к вам местоположение. Щёлкните на ``Java 2 SDK, Standard Edition, version 1.3.1''. Сохраните файл j2sdk-1_3_1-src.tar.gz в каталог /usr/ports/distfiles/.

Note: Очень важно, чтобы вы прочитали Лицензионное Соглашение (License Agreement), которое предлагается компанией Sun Microsystems. В части, касающейся использования Java, имеется несколько ограничений, которые вы должны принимать во внимание. Проект FreeBSD не несёт никакой ответственности за ваши действия.

Не удаляйте никаких сгруженных вами файлов, так как они будут нужны для построения некоторых портов FreeBSD, которые будут обсуждаться дальше.

Теперь, когда у вас собраны все исходные файлы и порты, вам необходимо начать процесс с построения java/linux-jdk13:

# cd /usr/ports/archivers/gtar; make all install clean
# cd /usr/ports/archivers/unzip; make all install clean
# cd /usr/ports/archivers/zip; make all install clean

И, наконец:

# cd /usr/ports/java/linux-jdk13
# make all install clean

После того, как вы построили java/linux-jdk13, вам нужно протестировать его, чтобы убедиться, что он работает так, как предполагалось. Для этого выполните:

# cd /usr/local/linux-jdk1.3.1/bin
# ./java -version

Вывод команды выше должен выглядеть следующим образом:

java version "1.3.1_02"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.1_02-b02)
Classic VM (build 1.3.1_02-b02, green threads, nojit)

Если вы не получили правильный ответ, вам нужно выполнить:

# cd /usr/ports/java/linux-jdk13
# make deinstall

И убедитесь, что в /usr/local нет каталога linux-jdk1.3.1. Если вы обнаружите фрагмент каталога, удалите его. Повторите процедуру построения и установки для java/linux-jdk13.

Для создания версии Java Development Kit 1.3.1 для FreeBSD, выполните следующее:

  1. Проверьте начилие файла j2sdk-1_3_1-src.tar.gz в вашем каталоге /usr/ports/distfiles. Этот файл необходим для применения ``наборов патчей'', обсуждаемых ниже.

  2. Для построения порта вам потребуется сгрузить набор патчей. Файл с этим набором носит название bsd-jdk131-patches-6.tar.gz. Вы должны также проверить целостность файла, сравнив его контрольную сумму MD5 со следующей.

    MD5 (bsd-jdk131-patches-6.tar.gz) = 9cade10b81d6034fdd2176bef32bdbf9
    

    Набор патчей доступен по ссылке:

Последний этап, указанный выше (построение специальной версии JDK) займёт некоторое время.


3 Установка Jakarta Tomcat

3.1 Обзор

Java становится всё более популярной в качестве основы для создания различных масштабируемых независимых от платформы решений. Одним из наиболее востребованных применений Java является её использование на рынке сервис-провайдеров ASP (Application Service Provider). Java является подходящим решением для таких рынков, со следующими преимуществами:

  • Независимость от платформы

  • Широкое признание в отрасли

  • Масштабируемость

  • Надёжность работы

  • Распределённость, многопоточность, безопасность и прочее

Очень важной развивающейся технологией, выросшей из Java, является JSP (JavaServer Pages™).

JSP (JavaServer Pages) представляет собой серверную технологию, созданную компанией Sun Microsystems, которая даёт простой и быстрый способ генерации динамического контента из страниц HTML. В ней используются теги XML и скриплеты Java, позволяющие скрывать и отделять логику от особенностей дизайна и представления. При вызове страницы JSP она динамически преобразуется в сервлет и обрабатывается сервером для генерации конечной страницы HTML/XML для клиента. Когда JSP используется совместно с JavaBeans, то возможно создавать самые разнообразные и сколь угодно масштабируемые приложения, которые можно объединить с мощью и производительностью FreeBSD.

Tomcat является реализацией технологий сервлет Java и JavaServer Pages с открытым кодом, которая была сделана в рамках проекта Jakarta организацией Apache Software Foundation. Tomcat реализует новую Servlet-технологию (под названием Catalina), основанную на абсолютно новой архитектуре по спецификациям Servlet 2.3 и JSP 1.2. Сюда включены много дополнительных возможностей, которые делают её удобной платформой для разработки и внедрения Web-приложений и Web-сервисов. По сути своей Tomcat является сервером приложений, написанным на все 100% исключительно на языке Java.

Tomcat используется в разных целях, диапазон его применения не ограничен только серверами приложений. Он предоставляет открытую платформу для разработки расширяемых Web-служб и служб управления контентом. При использовании Tomcat на оптимизированной системе FreeBSD он обеспечивает высоконадёжную и быструю работу служб.

Пожалуйста, обратитесь к разделу reference для получения дополнительной информации о Tomcat и JSP. В следующем разделе будет показано, как построить ``Рабочую среду Tomcat'' для FreeBSD. В этом руководстве использовалась версия Tomcat под номером 4.0.3. В ней содержатся исправления серьёзных недочётов и следующие обновления/изменения:

  • Спецификация JSP 1.2

  • Спецификация Java Servlet 2.3

  • Полная обратная совместимость со спецификациями Java Servlet 2.2 и JSP 1.1


3.2 Рабочая среда Tomcat для FreeBSD

После настройки необходимой для работы Tomcat среды Java, что мы проделали ранее, установить Tomcat на машину с FreeBSD очень просто.

Для установки Tomcat на FreeBSD следуйте описываемой ниже процедуре:

  1. Выполните шаги выше для настройки необходимого Java-окружения.

  2. Установите значение переменной окружения JAVA_HOME, которая должна указывать на каталог, куда был установлен JDK (в примерах ниже указана ссылка на специализированную версию JDK). Если вы используете в качестве вашего командного процессора sh(1), то можете задать значение JAVA_HOME при помощи команды:

    # export JAVA_HOME="/usr/local/jdk1.3.1"
    

    Те, кто использует csh(1) или совместимый с ним командный процессор, должны воспользоваться немного другой командой:

    # setenv JAVA_HOME /usr/local/jdk1.3.1
    

    Эта переменная окружения должна быть задана всегда, что делается добавлением её в .profile или .cshrc, в зависимости от используемой вами оболочки. Эта переменная жизненно важна для функционирования всех программ на основе Java, включая сам Tomcat.

  3. Сгрузите ``бинарный дистрибутив'' Tomcat с Web-сайта Jakarta, расположенного по адресу http://jakarta.apache.org/builds/jakarta-tomcat-4.0/release/v4.0.3/bin/. Сгружаемый файл имеет название jakarta-tomcat-4.0.3.tar.gz.

  4. При упаковке и архивации файла, сгруженного нами на предыдущем шаге, использовались особые ``GNU-расширения''. Для его распаковки нам необходимо установить программу GNU Tar (archivers/gtar) при помощи такой команды:

    # cd /usr/ports/archivers/gtar && make all install clean
    
  5. Разархивируйте и распакуйте файл jakarta-tomcat-4.0.3.tar.gz в каталог /usr/local и переименуйте каталог в tomcat-4.0 для облегчения его использования:

    # cd /usr/local
    # gtar zxvf jakarta-tomcat-4.0.3.tar.gz
    # ls jakarta*
    jakarta-tomcat-4.0.3
    # mv jakarta-tomcat-4.0.3 tomcat-4.0
    

    Если хотите, то файл jakarta-tomcat-4.0.3.tar.gz можно удалить.

Note: Вопрос установки с использованием исходного кода выходит за рамки этого документа. Пожалуйста, для получения дополнительной информации о построении из исходных текстов обратитесь к следующим файлам, находящимся в каталоге с дистрибутивом Tomcat:

  • /usr/local/tomcat-4.0/README.txt

  • /usr/local/tomcat-4.0/BUILDING.txt


3.3 Управление Tomcat - основы

Теперь мы закончили установку Tomcat. В следующем примере показано, как запустить сервер Tomcat:

# cd /usr/local/tomcat-4.0/bin
# ./startup.sh  (for starting Tomcat)

Вы можете проверить, запустился ли ваш сервер Tomcat, посетив такой URL: http://127.0.0.1:8080 или http://localhost:8080. Для остановки Tomcat:

# cd /usr/local/tomcat-4.0/bin
# ./shutdown.sh

(для остановки Tomcat)

Скрипты startup.sh и shutdown.sh являются конечными интерфейсами для выполнимого скрипта catalina.sh из того же самого каталога; если вам нужно запускать Tomcat автоматически во время загрузки системы, выполните:

# cd /usr/local/etc/rc.d
# ln -s /usr/local/tomcat-4.0/bin/catalina.sh

Отредактируйте файл catalina.sh, добавив в его начало (после раздела комментариев):

JAVA_HOME=/usr/local/jdk1.3.1

Если сетевой порт 8080 уже занят каким-то сервисом, вы можете изменить его, отредактировав файл server.xml в каталоге Tomcat conf/. В примере ниже порт будет изменён на 80, в предположении, что на этом порту никаких сервисов не запущено.

# cd /usr/local/tomcat-4.0/conf
# fgrep -n 8080 server.xml
~65:         By default, a non-SSL HTTP/1.1 Connector is established on port 8080.
~89:         port="8080" minProcessors="5" maxProcessors="75"
# cat server.xml | sed s/8080/80/ > server.xml.new
# mv server.xml.new server.xml

4 Ссылки


4.1 Заключение

Итак, мы достигли конца статьи и получили рабочую версию Tomcat. Мы надеемся, что вы овладели основами установки и построения Java Development Kit на FreeBSD, а также научились устанавливать бинарный дистрибутив сервера приложений Tomcat, выпущенный Apache Software Foundation. В разделе reference находятся ссылки на дополнительные ресурсы по этому вопросу, некоторые в печатном виде, некоторые в World Wide Web или в обоих видах.

Самой важным моментом является дисковое пространство. Я советую иметь 700 Мбайт или больший объём свободного пространства в каталоге /usr. Я надеюсь, что эта статья немного помогла вам. Все вопросы, комментарии, благодарности и негодования, пожалуйста, направляйте авторам.


Этот, и другие документы, могут быть скачаны с ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

По вопросам связанными с FreeBSD, прочитайте документацию прежде чем писать в <questions@FreeBSD.org>.
По вопросам связанным с этой документацией, пишите <doc@FreeBSD.org>.
По вопросам связанным с русским переводом документации, пишите <frdp@FreeBSD.org.ua>.




Спонсоры:
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2022 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру