Пошаговое руководство по установке и настройке сервера 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 , за которыми следует содержимое вашей таблицы.
|