В большинстве дистрибутивов Linux некоторые или все компоненты LAIP уже установлены. Как правило, они не устанавливаются из исходных файлов, и поэтому могут не содержать нужных скомпилированных расширений. Чтобы удалить эти компоненты, не столкнувшись с проблемами менеджера RPM, необходимо войти в систему под учетной записью root:su - root
Затем вы можете просмотреть все пакеты, установленные в вашей системе:rpm -qa | grep -i apacherpm -qa | grep -i httpdrpm -qa | grep -i php
После этого вы можете удалить все пакеты, найденные в результате выполнения предыдущих команд:rpm -e filename
На этом этапе вы должны получить "чистый" дистрибутив Linux, готовый для установки и настройки компонентов.
Получение и распаковка файлов исходного кода для всех приложенийПерейдите в папку, где хранятся все файлы исходного кода: cd /usr/local/srcПолучите необходимые вам компоненты: wget http://www.php.net/distributions/php-5.1.2.tar.gzwget http://apache.osuosl.org/httpd/httpd-2.2.0.tar.gzwget http://www.pecl.php.net/get/PDO_INFORMIX-1.0.0.tgz
В нашей установке использовались следующие версии продуктов LAIP:PHP5.1.2HTTP-сервер Apache2.2.0Informix Dynamic Server (IDS)10.00.UC4Informix Client Software Development Kit (Client SDK)2.90.UC4Informix PHP Data Objects (PDO)1.0.0Для корректной работы других версий этих продуктов могут потребоваться шаги, отличные от тех, что приведены в этой статье. Приведенные в этом руководстве процедуры предназначены исключительно для вышеперечисленных версий. Тем не менее общая концепция применима и к другим версиям.
Распаковка полученных файлов исходного кодаtar zxf httpd-2.2.0.tar.gztar zxf php-5.1.2.tar.gztar 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/informixchown informix.informix /opt/informixНастройте все необходимые переменные среды Значением переменной INFORMIXDIR должна быть директория, в которую вы установили Informix. Ниже показано, как использовать значения по умолчанию:Bourne Again shell (bash):INFORMIXDIR=/opt/informixexport INFORMIXDIRPATH=$PATH:$INFORMIXDIR/binexport 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/informixsu 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/informixsu informix tar -xvf client*.tarЗапустите установочный скрипт для установки Client SDK. После запуска скрипта просто следуйте инструкциям на экране, чтобы завершить установку Client SDK, являющегося компонентом Informix. ./installclientsdk
Настройка Informix и Informix Client SDKСоздайте файлы переменных среды, необходимые для запуска и работы сервера Informix. В домашней директории создается файл .informix, содержащий следующие строки:Bourne Again shell (bash):set INFORMIXDIR=/opt/informixset INFORMIXSQLHOSTS=/opt/informix/etc/sqlhostsset ONCONFIG=onconfigset INFORMIXSERVER=myserverset SERVERNUM=1set PATH=$INFORMIXDIR/bin:.:$PATH
илиC shell (csh): setenv INFORMIXDIR /opt/informixsetenv INFORMIXSQLHOSTS /opt/informix/etc/sqlhostssetenv ONCONFIG onconfigsetenv INFORMIXSERVER myserversetenv SERVERNUM 1setenv PATH $INFORMIXDIR/bin:.:$PATH Добавьте ваш сервер в файл sqlhosts. Этот файл находится в директории /opt/informix/etc. Вы должны добавить в файл sqlhosts имя INFORMIXSERVER, указанное ранее в переменных окружения. Строка добавляется в следующем формате:dbservername nettype hostname servicename [options] Вот что было добавлено в нашем случае:myserver onsoctcp myserver port_alias
Указанный порт также должен быть открыт в вашей системе. В этом примере он был открыт в файле /etc/services. Ниже приведен пример строки, добавленной в файл services:port_alias 8201/tcpСоздайте файл onconfig. Этот файл должен располагаться в директории /opt/informix/etc. В ней уже должен находиться стандартный файл onconfig с именем onconfig.std. Для нашего примера достаточно поместить в этот файл строки, приведенные ниже. В вашем конкретном случае вам могут потребоваться дополнительные переменные, или вы можете использовать не все переменные, перечисленные ниже. Итак, файл onconfig содержит следующие строки: DBSERVERNAME myserverDUMPDIR /tmpLOGDIR /opt/informix/logdirMSGPATH /opt/informix/logdir/online.logPHYSDBS rootdbsROOTNAME rootdbsROOTPATH /opt/informix/logdir/rootdbsROOTSIZE 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/logdircd /opt/informix/logdirsu informix touch rootdbssu informix chmod 660 rootdbssu root chown informix.root rootdbsПроверьте, что все работает правильно. Попробуйте запустить сервер: cd /opt/informix/binoninit -iУбедитесь, что сервер запустился корректно, выполнив следующую команду: onstat -Если вы увидите сообщение "shared memory not initialized for INFORMIXSERVER 'myserver'", значит, установка не работает. Если же вы увидите нечто похожее на "IBM Informix Dynamic Server Version 10.00.UC4 -- On-Line -- Up 00:00:07 -- 19508 Kbytes", значит, все запустилось и работает. Если позже вам потребуется остановить сервер, выполните следующую команду:onmode -kuyС любыми вопросами по 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=somakemake 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/informixmakemake installcp php.ini-dist /usr/local/lib/php.iniТеперь можно проверить правильность установки PHP. Для этого выполните следующую команду: php -mЭта команда должна вывести сведения о модулях PDO и pdo_informix. Если эти модули не включены в вывод, значит команды buildconf, configure, make или make install сработали не так, как ожидалось. У вас есть возможность сконфигурировать модуль pdo_informix после настройки самого PHP.Вы можете скомпилировать модуль pdo_informix отдельно, но для этого потребуется использовать команду phpize из установочной директории PHP. Вам не нужно выполнять этот шаг, если вы сконфигурировали или скомпилировали модуль pdo_informix во время конфигурации или компиляции PHP. cd pdo_informixphpize./configuremakeДобавьте в файл 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):
После этого, когда вы откроете измененную страницу (http://localhost/index.php), вы должны увидеть текст PHP and Apache are playing nicely!. Если вместо этого вы видите код PHP, значит, настройка совместной работы Apache и PHP не удалась.Проверьте, что Informix запущена и вы можете запросить информацию. Для этого выполните следующую команду: ps -aef | grep oninit
Если найдены какие-либо процессы, значит, 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 приведено ниже: 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 готова к использованию!