| Прежде чем начать В
этой статье предполагается, что вы используете 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 apacherpm -qa | grep -i httpd
 rpm -qa | grep -i php
 
 | 
 
 
После этого вы можете удалить все пакеты, найденные в результате выполнения предыдущих команд:
  
 
На этом этапе вы должны получить "чистый" дистрибутив Linux, готовый для установки и настройки компонентов.
  
 
 
 Получение и распаковка файлов исходного кода для всех приложений Перейдите в папку, где хранятся все файлы исходного кода:
  
Получите необходимые вам компоненты:
  | wget http://www.php.net/distributions/php-5.1.2.tar.gzwget 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.gztar 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 informixuseradd -g informix -p xxxx -d /dev/null informix
 
 | 
 
Создайте
установочную директорию. Местоположением по умолчанию является
/opt/informix. Последние две команды призваны гарантировать, что
владельцем директории будут группа и пользователь Informix: 
  | su informix mkdir /opt/informixchown informix.informix /opt/informix
 chown informix.informix /opt/informix
 
 | 
 
Настройте
все необходимые переменные среды Значением переменной INFORMIXDIR
должна быть директория, в которую вы установили Informix. Ниже
показано, как использовать значения по умолчанию:
 Bourne Again shell (bash):
  | INFORMIXDIR=/opt/informixexport INFORMIXDIR
 PATH=$PATH:$INFORMIXDIR/bin
 export PATH
 
 | 
 
 илиC shell (csh): | setenv INFORMIXDIR /opt/informixsetenv PATH ${PATH}:${INFORMIXDIR}/bin
 
 | 
 
Распакуйте
файлы Informix из указанного tar-файла. Если tar-файлы Informix Server
и Client SDK находятся в текущей директории, выполните для распаковки
следующие команды (предполагая, что имя файла IIF*.tar):
  | mv IIF*.tar /opt/informixcd /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/informixcd /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/informixset 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/informixsetenv 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 myserverDUMPDIR /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/logdirsu 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/binoninit -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/extcp -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_informixphpize
 ./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.soextension=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 готова к использованию!
  |