Пошаговое руководство по установке, настройке и тестированию сервера Linux, Apache, Informix и PHP

Рецепты для систем LAIP

Узнайте, как установить, настроить и протестировать сервер под управлением 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:

su - root

Затем вы можете просмотреть все пакеты, установленные в вашей системе:

rpm -qa | grep -i apache
rpm -qa | grep -i httpd
rpm -qa | grep -i php

После этого вы можете удалить все пакеты, найденные в результате выполнения предыдущих команд:

rpm -e filename

На этом этапе вы должны получить "чистый" дистрибутив Linux, готовый для установки и настройки компонентов.


Получение и распаковка файлов исходного кода для всех приложений

  1. Перейдите в папку, где хранятся все файлы исходного кода:
    cd /usr/local/src
  2. Получите необходимые вам компоненты:
    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:

PHP5.1.2
HTTP-сервер Apache2.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-системе выполните следующие шаги:

  1. Проверьте, требуется ли установить для вашей операционной системы какие-либо патчи. Для этого вы можете перейти на страницу Informix Dynamic Server.
  2. Создайте группу и пользователя Informix. Пользователь Informix выступает в роли учетной записи администратора для базы данных Informix. Обеспечьте надежную защиту этой учетной записи. Для создания группы и пользователя Informix выполните следующие шаги (где xxxx – это пароль для пользователя Informix):
    groupadd informix
    useradd -g informix -p xxxx -d /dev/null informix
  3. Создайте установочную директорию. Местоположением по умолчанию является /opt/informix. Последние две команды призваны гарантировать, что владельцем директории будут группа и пользователь Informix:
    su informix mkdir /opt/informix
    chown informix.informix /opt/informix
    chown informix.informix /opt/informix
  4. Настройте все необходимые переменные среды Значением переменной 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
  5. Распакуйте файлы Informix из указанного tar-файла. Если tar-файлы Informix Server и Client SDK находятся в текущей директории, выполните для распаковки следующие команды (предполагая, что имя файла IIF*.tar):
    mv IIF*.tar /opt/informix
    cd /opt/informix
    su informix tar -xvf IIF*.tar
  6. Перейдите к распакованным файлам и запустите установку IDS. Установить IDS можно тремя способами. По умолчанию используется метод с применением консоли. Существуют также графический и "молчаливый" способы установки. Вы можете выбрать любой подходящий вам способ. В этом примере используется метод с использованием консоли:
    ./install_rpm -acceptlicense=yes

    После запуска скрипта просто следуйте инструкциям на экране, чтобы завершить установку Informix. Убедитесь, что вы используете путь /opt/informix в качестве установочной директории. Флаг принятия условий лицензии следует устанавливать только в том случае, если вы принимаете условия лицензии Informix.

  7. Распакуйте tar-файл Client SDK в директорию /opt/informix.
    mv client*.tar /opt/informix
    cd /opt/informix
    su informix tar -xvf client*.tar
  8. Запустите установочный скрипт для установки Client SDK. После запуска скрипта просто следуйте инструкциям на экране, чтобы завершить установку Client SDK, являющегося компонентом Informix.
    	  ./installclientsdk

Настройка Informix и Informix Client SDK

  1. Создайте файлы переменных среды, необходимые для запуска и работы сервера 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
  2. Добавьте ваш сервер в файл sqlhosts. Этот файл находится в директории /opt/informix/etc. Вы должны добавить в файл sqlhosts имя INFORMIXSERVER, указанное ранее в переменных окружения. Строка добавляется в следующем формате: dbservername nettype hostname servicename [options]

    Вот что было добавлено в нашем случае:

    myserver onsoctcp myserver port_alias

    Указанный порт также должен быть открыт в вашей системе. В этом примере он был открыт в файле /etc/services. Ниже приведен пример строки, добавленной в файл services:

    port_alias 8201/tcp
  3. Создайте файл 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.

  4. Добавьте указанные выше директорию для хранения журналов и корневое пространство. Для конфигурации нашего примера были добавлены следующие строки:
    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
  5. Проверьте, что все работает правильно.
    1. Попробуйте запустить сервер:
      cd /opt/informix/bin
      oninit -i
    2. Убедитесь, что сервер запустился корректно, выполнив следующую команду:
      onstat -
    3. Если вы увидите сообщение "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=so

make
make install
  1. Для того чтобы файлы с расширением .php обрабатывались корректно, отредактируйте файл http.conf, который находится в директории /usr/local/apache/conf/httpd.conf. Найдите в этом файле следующие строки: #AddType application/x-httpd-php .php
    #AddType application/x-httpd-php-source .phps
  2. Если вы нашли вышеуказанные строки, удалите в них символы #. Если строки не найдены, добавьте их в файл без символов #. Это позволит Apache корректно обрабатывать php-файлы.
  3. Редактируя файл httpd.conf в директории /usr/local/apache/conf, вы можете более тонко настроить сервер Apache. В Интернете существует огромное количество документации по этой теме.

Установка и настройка PHP

Для установки PHP выполните следующие шаги:

  1. Скопируйте папку PDO_INFORMIX в поддиректорию exp установки PHP:
    cd /usr/local/src/php-5.1.2/ext
    cp -R ../../PDO_INFORMIX-1.0.0 pdo_informix
  2. Сконфигурируйте 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
  3. Теперь можно проверить правильность установки PHP. Для этого выполните следующую команду:
    php -m
  4. Эта команда должна вывести сведения о модулях PDO и pdo_informix. Если эти модули не включены в вывод, значит команды buildconf, configure, make или make install сработали не так, как ожидалось.

    У вас есть возможность сконфигурировать модуль pdo_informix после настройки самого PHP.

  5. Вы можете скомпилировать модуль pdo_informix отдельно, но для этого потребуется использовать команду phpize из установочной директории PHP. Вам не нужно выполнять этот шаг, если вы сконфигурировали или скомпилировали модуль pdo_informix во время конфигурации или компиляции PHP.
    cd pdo_informix
    phpize
    ./configure
    make
  6. Добавьте в файл 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-сервера выполните следующие шаги:

  1. Запустите сервер Apache. Все, что для этого нужно - выполнить следующую команду (под учетной записью root):
    /usr/local/apache/bin/apachectl start

    Откройте ваш любимый Web-браузер и наберите в адресной строке localhost. Вы должны увидеть начальную страницу Apache. Это будет означать, что Apache запустился.

  2. Убедитесь, что PHP работает с Apache. Для этого вам необходимо отредактировать файл index.html, который отображается в вашем браузере. Расположение этого файла зависит от того, куда вы установили Apache. В нашем примере файл находится в директории /usr/local/apache/htdocs/index.html.

    Сотрите файл index.html и замените его следующим файлом (с именем index.php):

    <html>
    <body>
    <?php
    echo "PHP and Apache are playing nicely!";
    ?>
    </body>
    </html>

    После этого, когда вы откроете измененную страницу (http://localhost/index.php), вы должны увидеть текст PHP and Apache are playing nicely!. Если вместо этого вы видите код PHP, значит, настройка совместной работы Apache и PHP не удалась.

  3. Проверьте, что Informix запущена и вы можете запросить информацию. Для этого выполните следующую команду:
    ps -aef | grep oninit

    Если найдены какие-либо процессы, значит, Informix работает. Если же процессы не обнаружены, запустите Informix с помощью команды, указанной ранее в этом руководстве. Инструмент, который использует Informix для создания или удаления баз данных и таблиц, а также для вставки и удаления данных – это dbaccess. Вы можете запустить dbaccess из следующей директории:

    /opt/informix/bin/dbaccess

    Не забудьте сделать следующее:

    1. Добавьте пользователей, которым необходим доступ к таблице 'informix'.sysauth, в базу данных sysuser.
    2. Для проверки установки вашего сервера создайте новую базу данных и добавьте в нее таблицу с данными.

    Если вы не знакомы с утилитой dbaccess, вы можете найти документацию по работе с ней в Интернете.

  4. Убедитесь, что PHP и PDO Informix работают корректно. Для этого перейдите в папку для документов Apache по умолчанию (/usr/local/apache/htdocs) и создайте в ней файл test.php. Содержимое файла test.php приведено ниже:
    <?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 готова к использованию!

Ресурсы

Научиться

Получить продукты и технологии

Обсудить

Комментарии

developerWorks: Войти

Обязательные поля отмечены звездочкой (*).


Нужен IBM ID?
Забыли Ваш IBM ID?


Забыли Ваш пароль?
Изменить пароль

Нажимая Отправить, Вы принимаете Условия использования developerWorks.

 


Профиль создается, когда вы первый раз заходите в developerWorks. Информация в вашем профиле (имя, страна / регион, название компании) отображается для всех пользователей и будет сопровождать любой опубликованный вами контент пока вы специально не укажите скрыть название вашей компании. Вы можете обновить ваш IBM аккаунт в любое время.

Вся введенная информация защищена.

Выберите имя, которое будет отображаться на экране



При первом входе в developerWorks для Вас будет создан профиль и Вам нужно будет выбрать Отображаемое имя. Оно будет выводиться рядом с контентом, опубликованным Вами в developerWorks.

Отображаемое имя должно иметь длину от 3 символов до 31 символа. Ваше Имя в системе должно быть уникальным. В качестве имени по соображениям приватности нельзя использовать контактный e-mail.

Обязательные поля отмечены звездочкой (*).

(Отображаемое имя должно иметь длину от 3 символов до 31 символа.)

Нажимая Отправить, Вы принимаете Условия использования developerWorks.

 


Вся введенная информация защищена.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=40
Zone=Linux, Information Management, Open source
ArticleID=345761
ArticleTitle=Пошаговое руководство по установке, настройке и тестированию сервера Linux, Apache, Informix и PHP
publish-date=10162008