Пошаговое руководство по установке и настройке сервера 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: 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: 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-системе выполните следующие шаги: 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. Проверьте, что все работает правильно. a. Попробуйте запустить сервер: cd /opt/informix/bin oninit -i b. Убедитесь, что сервер запустился корректно, выполнив следующую команду: onstat - c. Если вы увидите сообщение "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):
После этого, когда вы откроете измененную страницу (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
Не забудьте сделать следующее: a. Добавьте пользователей, которым необходим доступ к таблице 'informix'.sysauth, в базу данных sysuser. b. Для проверки установки вашего сервера создайте новую базу данных и добавьте в нее таблицу с данными. Если вы не знакомы с утилитой dbaccess, вы можете найти документацию по работе с ней в Интернете. 4. Убедитесь, что 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
|