Все о Linux. LinuxRSP.Ru


Cвежие новости Linux и BSD, анонсы статей и книг прямо в почтовый ящик!
Подписаться письмом


 Сегодняшние новости:

25 лет исполнилось ядру Linux

Релиз KDevelop 5.0

Oracle открывает код JDK9 для ARM

Выпущен Timewarrior 1.0.0

Релиз Android 7.0

Percona Memory Engine для MongoDB на базе WiredTiger

PowerShell открыт и доступен для Linux

Форк TrueCrypt: VeraCrypt 1.18

Релиз Snapcraft 2.14

Релиз Go 1.7

Стабильный выпуск рабочего стола Lumina

Вышла первая версия аналога OpenCV - DCV 0.1

Выпуск минималистичной программы для мониторинга jsonmon 3

В MIT разработали новый язык программирования

Первый релиз Qt5Gtk2

Godot 2.1 - новая версия открытого игрового движка

Свободная цифровая станция звукозаписи: Ardour 5.0

Обновление SkypeWeb Plugin for Pidgin

Вышла версия 3.0 Android File Transfer для Linux (и для OS X)

Программный аналог MIDI-контроллера для создания музыки: Launchpadd v1.3

Mozilla спонсирует поддержку Python 3.5 в PyPy

Ef 0.08 - программа для моделирования динамики заряженных частиц

Обновление текстового редактора TEA до версии 42.0.0

Релиз OpenOrienteering Mapper 0.6.4

Вышли Guix и GuixSD 0.11

Релиз Opera 39

Выпуск LibreOffice 5.2

В OpenSSH обнаружены и устранены некоторые уязвимости

Эмулятор FCEUX 2.2.3

Компания Билайн переходит на российскую СУБД с открытым исходным кодом Tarantool

Google

 Новые статьи :

Утилиты для восстановления потерянных данных в Linux

Лучшие файловые менеджеры для Android

20 лучших бесплатных книг о Linux

Как сгенерировать открытый/закрытый SSH-ключ в Linux

Grive - клиент Google Drive для Linux с открытым исходным кодом

Протокол IPv6: варианты подключения

Сервер из образа: DHCP + TFTP + Initrd + OpenVZ

Обзор веб-панелей управления хостингом

Приёмы работы с Vim

Nginx как Reverse Proxy для сайта, использующего SSL

Разработка модулей ядра Linux

Мониторинг нагрузки http-сервера Apache 2

Перевод комментариев к файлу конфигурации Squid

Решение проблем при использовании "1c предприятие" 8.2 в Linux

Advanced Bash-Scripting Guide Искусство программирования на языке сценариев командной оболочки







Rambler's Top100





 
 

Настройка связки
InterBase 6.0 for Linux и Perl 5.005_03
на сервере RedHat 6.2

     Настройка данной связки ставит перед собой целью возможность создания
динамических страниц формируемых с помощью информации SQL сервера IB DataBase 6.0
бесплатно распростаняемого компанией InterBase на работающем сервер под управлением Linux Redhat 6.2

В состав операционной системы Linux Redhat 6.2 обязательно входит язык программирования Perl
Он является неотъемлемой частью системы. Более того, он зарекомендавал себя с самой лучшей стороны,
как простой, но очень функциональный язык. Он с пресущей ему легкостью справиться и с нашей задачей.
Использование языка Perl для выполнения различных задач для web сервера поддерживается модулем CGI.

Для настройки всего перечисленного нам потребуются следующие пакеты:

1. Пакет сервера interbase-6.0-1.i386.rpm его размер 3 870 779 байт. Получить можно на www.InterBase.com
в разделе Downloads

2.Модуль для PerlIBPerl-08p3.tar.gz его размер 172 485. Взять его можно на том же сервере
пройдя по ссылкам...


Данный rpm сервера так называемый Классический сервер, существует еще и Суперсервер.
Судя по материалам в Сети Суперсервер предрасположен для выполнения задач где требуется
высокое быстродействие, в свою очередь Классический сервер признается как более надежный....
Еще следует сказать, что Суперсервер вероятно не запуститься (у меня он просто не хотел ставиться)
на системе Redhat 6.0 Ну а для почтового сервера с 50 машинами в сети и выделенной линией к провайдеру
не актуально установка Суперсервера, к тому же с таким характером :(((.....


Вот наконец и приступаем к самому интересному..

Перед установкой новой версии необходимо убрать предыдущую версию сервера, ну а если забыли, то rpm обязательно об этом скажет Становимся прежде всего суперпользователем, или находим где нибудь администратора aka root.
Ставим пакет сервера с помощью команды

# rpm -ihv interbase-6.0-1.i386.rpm

Наверняка у вас все пройдет благополучно,инсталяция Interbase на Linux на редкость всегда проходила гладко
за исключением указанного выше Суперсервера на систему Redhat 6.0. Но на этот раз все просто обязанно
пройти на ура, В результате установки на вашем компьютере установиться Interbase в каталог /opt/interbase/.
Знакомые с версиями для Windows Interbase обнаружат полное соответствие в именах файлов и катологах
между двумя версиями. Здесь следует отметить, что данная версия сервера не нуждается в файле лицензии,
в отличии от его бета-версии. По умолчанию пороль для администратора сервера с именем SYSDBA = masterkey.
И что необходимо сделать в первую очередь, так это изменить его по соображениям защиты с помощью утилиты gsec
c каталога /opt/interbase/bin/ . С помощью утилиты gsec можно так же добавить пользователей, присвоить им
необходимые права, вобщем невероятно полезная утилита, необходимо заметить, что она имеет два режима:
командной строки и интерактивный режим, когда команды выполняются в своего рода среде.

Немаловажно отметить наличие в файле /etc/servises строки :

gds_db 3050/tcp # InterBase Database Remote Protocol

Эта строка является копией единственной не задокументированной строки в файле servises.isc. Таким образом сервер будет функционировать по порту 3050.
Теперь сервер готов к работе, если Ваш компьютер подключен к сети то можно проверить его функционирование с любой машины в сети. При запуске команды на сервере

# ps ax

в списке процессов должна присутствовать строка:

на пример :
6004 ? S 0:00 /opt/interbase/bin/gds_lock_mgr которая сообщает о работе процесса сервера.

Теперь, когда мы имеем рабочий SQL сервер (на мой взгляд один из лучших), нам надо обеспечить
его функционирование с языком программирования Perl, т.к. это необходимо для
обеспечения создания динаммических страниц нашего web сайта. Для этого необходимо взяться за пакет
IBPerl-08p3.tar.gz Это ничто иное, как исходники для создания модуля IBPerl
необходимого для нашей задачи. Возможно это уже не самая свежая версия, но новее я пока не нашел :)
Командой
# tar xzf IBPerl-08p3.tar.gz мы получаем систему каталогов с разархивированным содержанием пакета.
Как проделывали много раз, заходим в каталог и видем уже готовый IBPerl.pm, с начала я пошел по легкому пути,вернее
по неправильному пути, так что обсуждать его нет смысла :). Вобщем необходмо выполнить следующие команды:


# perl Makefile.PL
# make
# make install


Теперь я расскажу что мы будем иметь с установки этого пакета :
Сейчас у нас есть модуль, который позволит скриптам написаным на Perl получать, вводить и редактировать
информацию из таблиц баз данных SQL сервера, при взаимодействии с другим модулем CGI эта возможность
позволить не напрягаясь выполнить нашу задачу- связать WEB сервер и SQL сервер.
Проверить работу нового модуля можно запустив примеры из дистрибутива. При их запуске можно получить различные
предупреждения и даже ошибки, но здесь важно проверить работу именно модуля, т.е. что бы не было сообщения о том.
что Perl не может найти нужный нам модуль IBPerl.pm Скажу честно, у меня все встало с первого раза,
без ошибок.
Но на этом я не остановился, создав базу с компьютера под управлением Windows (так проще :((( ) с начала я добился
только факта вывода данных на монитор на сервере, но они упорно не хотели жить в браузере. После долгих раздумий и немного
пива я сделал следующее: перенес базу даных в каталог WEB сервера, у меня это /home/httpd/html/base/ т.е. базы данных
существуют наравне со страницами WEB сервера. Но и это не решило проблему :((( Затем я помотрел настройки Squid'а
вот оно решение : есть в файле настроек squid'a указания, под какими юзером и группой он работает, я присвоил файлам
баз данных эти параметры. Файл /etc/squid/squid.conf содержит следующее:

cache_effective_user nobody
cache_effective_group nobody



Соответственно мои действия носили следующий характер:

# chmod 755 base.gdb
# chown nobody base.gdb
# chgrp nobody base.gdb



И в результате я долго не мог поверить, я так долго об этом мечтал, и наконец то оно свершилось :))))!!!
Текст скрипта я взял из примера, который был в комплекте поставки дистрибутива модуля. Настроить его на мою
ситуацию не составило труда, поменял имя сервера, пароль, и sql выражение и готово :)))
Текст скрипта привожу полностью, Скрипт из рабочего телефонного справочника, база данных содержит
только одну таблицу с простой структурой, которая следут из sql выражения.


Более полное представление можно получить изучив примеры поставляемые с модулем. Их комплект
полностью показывает все возможности данного модуля для работы с базами данных SQL сервера.
Теперь я перечислю все команды указанные выше :

# rpm -ihv interbase-6.0-1.i386.rpm

# perl Makefile.PL
# make
# make install

# chmod 755 base.gdb
# chown nobody base.gdb
# chgrp nobody base.gdb

В дополнение немного изменив текст скрипта получаем практически универсальное средство для ведения баз данных
с помощью самого на мой взгляд лучшего SQL сервера InterBase для самой лучшей ОС Linux Red Hat.
Как можно догадаться, простой выборкой сведений по условию возможности данной технологии не ограничиваются,
Налицо межплатформенность, а возможности SQL сервера Interbase просто огромны, таким образом имеет смысл
создание баз данных, с разграниченным доступом для пользователей в сети (Ethernet) и сведениями доступными
для посетителей сайта,когда механизм грантов снимает головную боль с разграничением прав на доступ
к информации любого количества запросов.Я позволю себе предположить, что крупные и
серьезные проекты в Сети, которые готовятся множеством людей, в разных городах и (или)
странах невозможно построить и поддерживать без применения SQL серверов. Все пакеты
использованные мною свободно распространяются и не составит труда ими обзавестись, таким
образом данная технология не ограничивается ни финансовыми ограничениями, ни техническими.

Обязан признать. что сказанное мною чистая правда и ничего кроме правды...

Владимир Бычков.
Администратор Свободненских электрических сетей СП Амурэнерго.
А написать мне можно очень просто :
root@svob.amur.elektra.ru
reboot@svob.amur.elektra.ru
vovan@svob.amur.elektra.ru


      

Связь | О проекте LinuxRSP | Реклама | О Linux
© 1999-2017 LinuxRSP