Пошаговое руководство по установке и настройке сервера Linux, Apache, Informix и PHP
Узнайте, как
установить, настроить и протестировать сервер под
управлением Linux®, Apache®, Informix® и PHP (LAIP). Эти
приложения предоставляют в ваше распоряжение мощный
набор средств для поддержки
Web-сервера.
Прежде чем начать
В этой статье предполагается, что вы используете
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):
После этого, когда вы откроете измененную страницу
(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 приведено ниже:
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 готова к
использованию!
Автор: Келлен Бомбардир
Источник: www.ibm.com
|