Прежде чем начать
В
этой статье предполагается, что вы используете 32-разрядную систему
Linux на основе менеджера пакетов RPM. Все процедуры, представленные в
этом руководстве, выполнялись в ОС Red Hat Enterprise Linux 4 и SUSE
Linux 9. Тем не менее общая концепция может использоваться и при работе
с другими дистрибутивами Linux.
Предварительные действия
Прежде
всего вам понадобятся Informix Dynamic Server и набор разработчика
Informix Software Development Kit. Если у вас нет этих продуктов, вы
можете найти их на странице
семейства продуктов Informix.
В
большинстве дистрибутивов Linux некоторые или все компоненты LAIP уже
установлены. Как правило, они не устанавливаются из исходных файлов, и
поэтому могут не содержать нужных скомпилированных расширений. Чтобы
удалить эти компоненты, не столкнувшись с проблемами менеджера RPM,
необходимо войти в систему под учетной записью root:
Затем вы можете просмотреть все пакеты, установленные в вашей системе:
rpm -qa | grep -i apache rpm -qa | grep -i httpd rpm -qa | grep -i php |
После этого вы можете удалить все пакеты, найденные в результате выполнения предыдущих команд:
На этом этапе вы должны получить "чистый" дистрибутив Linux, готовый для установки и настройки компонентов.
Получение и распаковка файлов исходного кода для всех приложений
- Перейдите в папку, где хранятся все файлы исходного кода:
- Получите необходимые вам компоненты:
wget http://www.php.net/distributions/php-5.1.2.tar.gz wget http://apache.osuosl.org/httpd/httpd-2.2.0.tar.gz wget http://www.pecl.php.net/get/PDO_INFORMIX-1.0.0.tgz |
В нашей установке использовались следующие версии продуктов LAIP:
PHP | 5.1.2 | HTTP-сервер Apache | 2.2.0 | Informix Dynamic Server (IDS) | 10.00.UC4 | Informix Client Software Development Kit (Client SDK) | 2.90.UC4 | Informix PHP Data Objects (PDO) | 1.0.0 |
Для
корректной работы других версий этих продуктов могут потребоваться
шаги, отличные от тех, что приведены в этой статье. Приведенные в этом
руководстве процедуры предназначены исключительно для вышеперечисленных
версий. Тем не менее общая концепция применима и к другим версиям.
Распаковка полученных файлов исходного кода
tar zxf httpd-2.2.0.tar.gz tar zxf php-5.1.2.tar.gz tar zxf PDO_INFORMIX-1.0.0.tgz |
Установка Informix и Client SDK
Для установки Informix в вашей Linux-системе выполните следующие шаги:
- Проверьте, требуется ли установить для вашей операционной системы какие-либо патчи. Для этого вы можете перейти на страницу Informix Dynamic Server.
- Создайте
группу и пользователя Informix. Пользователь Informix выступает в роли
учетной записи администратора для базы данных Informix. Обеспечьте
надежную защиту этой учетной записи. Для создания группы и пользователя
Informix выполните следующие шаги (где xxxx – это пароль для
пользователя Informix):
groupadd informix useradd -g informix -p xxxx -d /dev/null informix |
- Создайте
установочную директорию. Местоположением по умолчанию является
/opt/informix. Последние две команды призваны гарантировать, что
владельцем директории будут группа и пользователь Informix:
su informix mkdir /opt/informix chown informix.informix /opt/informix chown informix.informix /opt/informix |
- Настройте
все необходимые переменные среды Значением переменной INFORMIXDIR
должна быть директория, в которую вы установили Informix. Ниже
показано, как использовать значения по умолчанию:
Bourne Again shell (bash):
INFORMIXDIR=/opt/informix export INFORMIXDIR PATH=$PATH:$INFORMIXDIR/bin export PATH |
или
C shell (csh):
setenv INFORMIXDIR /opt/informix setenv PATH ${PATH}:${INFORMIXDIR}/bin |
- Распакуйте
файлы Informix из указанного tar-файла. Если tar-файлы Informix Server
и Client SDK находятся в текущей директории, выполните для распаковки
следующие команды (предполагая, что имя файла IIF*.tar):
mv IIF*.tar /opt/informix cd /opt/informix su informix tar -xvf IIF*.tar |
- Перейдите
к распакованным файлам и запустите установку IDS. Установить IDS можно
тремя способами. По умолчанию используется метод с применением консоли.
Существуют также графический и "молчаливый" способы установки. Вы
можете выбрать любой подходящий вам способ. В этом примере используется
метод с использованием консоли:
./install_rpm -acceptlicense=yes |
После
запуска скрипта просто следуйте инструкциям на экране, чтобы завершить
установку Informix. Убедитесь, что вы используете путь /opt/informix в
качестве установочной директории. Флаг принятия условий лицензии
следует устанавливать только в том случае, если вы принимаете условия
лицензии Informix.
- Распакуйте tar-файл Client SDK в директорию /opt/informix.
mv client*.tar /opt/informix cd /opt/informix su informix tar -xvf client*.tar |
- Запустите
установочный скрипт для установки Client SDK. После запуска скрипта
просто следуйте инструкциям на экране, чтобы завершить установку Client
SDK, являющегося компонентом Informix.
| Настройка Informix и Informix Client SDK
- Создайте
файлы переменных среды, необходимые для запуска и работы сервера
Informix. В домашней директории создается файл .informix, содержащий
следующие строки:
Bourne Again shell (bash):
set INFORMIXDIR=/opt/informix set INFORMIXSQLHOSTS=/opt/informix/etc/sqlhosts set ONCONFIG=onconfig set INFORMIXSERVER=myserver set SERVERNUM=1 set PATH=$INFORMIXDIR/bin:.:$PATH |
или
C shell (csh):
setenv INFORMIXDIR /opt/informix setenv INFORMIXSQLHOSTS /opt/informix/etc/sqlhosts setenv ONCONFIG onconfig setenv INFORMIXSERVER myserver setenv SERVERNUM 1 setenv PATH $INFORMIXDIR/bin:.:$PATH |
- Добавьте
ваш сервер в файл sqlhosts. Этот файл находится в директории
/opt/informix/etc. Вы должны добавить в файл sqlhosts имя
INFORMIXSERVER, указанное ранее в переменных окружения. Строка
добавляется в следующем формате:
dbservername nettype hostname servicename [options]
Вот что было добавлено в нашем случае:
myserver onsoctcp myserver port_alias |
Указанный
порт также должен быть открыт в вашей системе. В этом примере он был
открыт в файле /etc/services. Ниже приведен пример строки, добавленной
в файл services:
- Создайте
файл onconfig. Этот файл должен располагаться в директории
/opt/informix/etc. В ней уже должен находиться стандартный файл
onconfig с именем onconfig.std. Для нашего примера достаточно поместить
в этот файл строки, приведенные ниже. В вашем конкретном случае вам
могут потребоваться дополнительные переменные, или вы можете
использовать не все переменные, перечисленные ниже. Итак, файл onconfig
содержит следующие строки:
DBSERVERNAME myserver DUMPDIR /tmp LOGDIR /opt/informix/logdir MSGPATH /opt/informix/logdir/online.log PHYSDBS rootdbs ROOTNAME rootdbs ROOTPATH /opt/informix/logdir/rootdbs ROOTSIZE 30000 |
Переменная
DBSERVERNAME – это уникальное имя, назначенное определенному экземпляру
сервера базы данных. DUMPDIR – директория, в которую сервер выгружает
общую память, а также сообщения. LOGDIR – это директория для хранения
журналов экземпляра IDS. MSGPATH содержит полный путь к файлу
регистрации сообщений. PHYSDBS – это имя пространства dbspace,
содержащего физический журнал. ROOTNAME – имя корневого пространства
root dbspace. ROOTPATH – полный путь к начальному фрагменту
пространства root dbspace. ROOTSIZE – размер начального фрагмента
пространства root dbspace.
- Добавьте указанные выше директорию для
хранения журналов и корневое пространство. Для конфигурации нашего
примера были добавлены следующие строки:
su informix mkdir /opt/informix/logdir su informix chmod 777 /opt/informix/logdir cd /opt/informix/logdir su informix touch rootdbs su informix chmod 660 rootdbs su root chown informix.root rootdbs |
- Проверьте, что все работает правильно.
- Попробуйте запустить сервер:
cd /opt/informix/bin oninit -i |
- Убедитесь, что сервер запустился корректно, выполнив следующую команду:
- Если вы увидите сообщение
"shared memory not initialized for INFORMIXSERVER 'myserver'" , значит, установка не работает. Если же вы увидите нечто похожее на "IBM Informix Dynamic Server Version 10.00.UC4 -- On-Line -- Up 00:00:07 -- 19508 Kbytes" , значит, все запустилось и работает.
Если позже вам потребуется остановить сервер, выполните следующую команду:
С любыми вопросами по Informix Dynamic Server можно обращаться в
информационный центр IBM Informix Dynamic Server v10.0 (EN).
Установка и настройка Apache
Для установки Apache с поддержкой динамически загружаемых модулей выполните следующие шаги:
cd /usr/local/src/httpd-2.2.0/
./configure \ --prefix=/usr/local/apache \ --enable-shared=max \ --enable-module=rewrite \ --enable-module=so
make make install |
- Для
того чтобы файлы с расширением .php обрабатывались корректно,
отредактируйте файл http.conf, который находится в директории
/usr/local/apache/conf/httpd.conf. Найдите в этом файле следующие
строки:
#AddType application/x-httpd-php .php
#AddType application/x-httpd-php-source .phps
- Если вы нашли вышеуказанные строки, удалите в них символы
# . Если строки не найдены, добавьте их в файл без символов # . Это позволит Apache корректно обрабатывать php-файлы.
- Редактируя
файл httpd.conf в директории /usr/local/apache/conf, вы можете более
тонко настроить сервер Apache. В Интернете существует огромное
количество документации по этой теме.
Установка и настройка PHP
Для установки PHP выполните следующие шаги:
- Скопируйте папку PDO_INFORMIX в поддиректорию exp установки PHP:
cd /usr/local/src/php-5.1.2/ext cp -R ../../PDO_INFORMIX-1.0.0 pdo_informix |
- Сконфигурируйте PHP с поддержкой расширения PDO и выполните команду make:
cd /usr/local/src/php-5.1.2
./buildconf --force
./configure --with-apxs2=/usr/local/apache/bin/apxs \ --disable-debug \ --disable-ftp \ --disable-inline-optimization \ --disable-magic-quotes \ --disable-mbstring \ --enable-wddx=shared \ --enable-xml \ --with-dom \ --with-regex=system \ --with-xml \ --with-jpeg-dir=/usr/lib \ --with-zlib-dir=/usr/lib \ --with-zlib \ --without-pdo-sqlite \ --without-iconv \ --without-sqlite \ --enable-shared \ --enable-pdo \ --with-pdo-informix=/opt/informix
make make install
cp php.ini-dist /usr/local/lib/php.ini |
- Теперь можно проверить правильность установки PHP. Для этого выполните следующую команду:
- Эта команда должна вывести сведения о модулях PDO и pdo_informix. Если эти модули не включены в вывод, значит команды
buildconf , configure , make или make install сработали не так, как ожидалось.
У вас есть возможность сконфигурировать модуль pdo_informix после настройки самого PHP.
- Вы
можете скомпилировать модуль pdo_informix отдельно, но для этого
потребуется использовать команду phpize из установочной директории PHP.
Вам не нужно выполнять этот шаг, если вы сконфигурировали или
скомпилировали модуль pdo_informix во время конфигурации или компиляции
PHP.
cd pdo_informix phpize ./configure make |
- Добавьте
в файл php.ini необходимые расширения. Этот файл находится в директории
/usr/local/lib/php.ini. В файле php.ini указывается директория
загружаемых расширений. Обычно эта директория расположена после
следующей строки:
; Directory in which the loadable extensions (modules) reside.
В нашем примере нужные нам строки выглядят следующим образом:
; Directory in which the loadable extensions (modules) reside. extension_dir = "/usr/local/lib/php/extensions/no-debug-non-zts-20050922/" |
Еще
одно изменение, которое необходимо внести в файл php.ini – это
определение расширений PDO и pdo_informix. Сведения о них находятся в
разделе Dynamic Extensions файла php.ini. Если эти расширения были
созданы в качестве общих модулей, вам необходимо скопировать их в
вышеуказанную директорию расширений и разрешить в файле php.ini, как
показано ниже:
extension=pdo.so extension=pdo_informix.so |
Проверка работы созданного Web-сервера
Для проверки работы созданного Web-сервера выполните следующие шаги:
- Запустите сервер Apache. Все, что для этого нужно - выполнить следующую команду (под учетной записью root):
/usr/local/apache/bin/apachectl start |
Откройте ваш любимый Web-браузер и наберите в адресной строке localhost. Вы должны увидеть начальную страницу Apache. Это будет означать, что Apache запустился.
- Убедитесь,
что PHP работает с Apache. Для этого вам необходимо отредактировать
файл index.html, который отображается в вашем браузере. Расположение
этого файла зависит от того, куда вы установили Apache. В нашем примере
файл находится в директории /usr/local/apache/htdocs/index.html.
Сотрите файл index.html и замените его следующим файлом (с именем index.php):
<html> <body> echo "PHP and Apache are playing nicely!"; ?> </body> </html> |
После этого, когда вы откроете измененную страницу (http://localhost/index.php), вы должны увидеть текст PHP and Apache are playing nicely! . Если вместо этого вы видите код PHP, значит, настройка совместной работы Apache и PHP не удалась.
- Проверьте, что Informix запущена и вы можете запросить информацию. Для этого выполните следующую команду:
Если
найдены какие-либо процессы, значит, Informix работает. Если же
процессы не обнаружены, запустите Informix с помощью команды, указанной
ранее в этом руководстве. Инструмент, который использует Informix для
создания или удаления баз данных и таблиц, а также для вставки и
удаления данных – это dbaccess. Вы можете запустить dbaccess из
следующей директории:
/opt/informix/bin/dbaccess |
Не забудьте сделать следующее:
- Добавьте пользователей, которым необходим доступ к таблице 'informix'.sysauth, в базу данных sysuser.
- Для проверки установки вашего сервера создайте новую базу данных и добавьте в нее таблицу с данными.
Если вы не знакомы с утилитой dbaccess, вы можете найти документацию по работе с ней в Интернете.
- Убедитесь,
что PHP и PDO Informix работают корректно. Для этого перейдите в папку
для документов Apache по умолчанию (/usr/local/apache/htdocs) и
создайте в ней файл test.php. Содержимое файла test.php приведено ниже:
$db = new PDO("informix:host=servername.domain.com; service=8201; database=test_db; server=testserver; protocol=onsoctcp; EnableScrollableCursors=1;", "testuser", "testpass");
print "Connection Established!\n\n";
$stmt = $db->query("select * from test_table"); $res = $stmt->fetch( PDO::FETCH_BOTH ); $rows = $res[0]; echo "Table contents: $rows.\n";
?>
|
Переменные
в строке подключения соответствуют потребностям нашей системы. Выберите
переменные и их значения, чтобы они подходили для вашей системы и вашей
среды. Первая строка – это строка подключения к базе данных Informix.
Структура informix: необходима для открытия строки подключения. Значением переменной host является просто имя хоста, на котором запущен сервер. Значением переменной service является номер порта, открытого для вашей базы данных (/etc/services). Переменная database содержит имя базы данных, которую вы создали ранее. Переменная server содержит имя экземпляра базы данных, созданного ранее. Переменная protocol
– это тип протокола, который вы указали в файле /etc/sqlhosts.
Остальные параметры говорят сами за себя. Последние два параметра
объекта PDO – это имя пользователя и пароль. Убедитесь, что
пользователь был добавлен в базу данных sysuser, как это было описано
выше.
Когда вы откроете Web-страницу test.php, вы должны увидеть строки Connection Established! и Table Contents , за которыми следует содержимое вашей таблицы.
Поздравляем! Теперь ваша система LAIP готова к использованию!
Об авторе |
| | Келлен
Бомбардир (Kellen Bombardier) является разработчиком программного
обеспечения IBM и участником команды разработчиков Information
Management. |
Источник: http://www.ibm.com/developerworks/ru/library/dm-0606bombardier/index.html |