Серверные технологии · 3 min read · Nov 19, 2025

Сборка Apache с поддержкой PHP, MySQL, OCI8 Instant Client

Сборка Apache с поддержкой PHP, MySQL, OCI8 Instant Client

Автор: Найяр Ахмад

Контакт: nayyares AT gmail DOT com  |  nayyar.ahmad AT cilix DOT co DOT mz

Домашняя страница: www.cbtcandy.org

Посвящение: Бабу, в его любящих воспоминаниях.

Предисловие:

Существует множество руководств по сборке Apache с поддержкой PHP, MySQL, но очень редко можно найти документ о поддержке OCI8 в сборке Apache. Недавно я собирал веб-сервер в своем дата-центре и действительно столкнулся с проблемами, когда искал документы по установке. Существует несколько документов, но большинство из них используют либо RPM-версии пакетов, либо пропускают некоторые важные шаги. Я пытаюсь написать руководство, которое поможет вам хотя бы понять установку поэтапно.

Платформа:

Я использую сервер IBM x системы x86_64 с RHEL 4 Update Level 4.

Итак, начнем:

1. Скачивание Oracle Instant Client.

Прежде всего, вам нужно скачать Oracle Instant Client, вот ссылка для его загрузки, я скачиваю для Linux x86_64, вы можете настроить в соответствии с вашим оборудованием.

Вот ссылка, где вы можете найти точный установщик для вашего оборудования.

http://www.oracle.com/technology/software/tech/oci/instantclient/index.html

Поскольку я делаю это на Linux x86_64, я буду использовать следующую ссылку:

http://www.oracle.com/technology/software/tech/oci/instantclient/htdocs/linuxx86_64soft.html

Здесь вам нужно скачать следующие пакеты.

  1. instantclient-basic-linux-x86-64-10.2.0.2-20060228.zip

  2. instantclient-sqlplus-linux-x86-64-10.2.0.2-20060228.zip

  3. instantclient-sdk-linux-x86-64-10.2.0.2-20060228.zip

После загрузки в вашу локальную директорию вам нужно разархивировать их, как:

$ cd $HOME

предполагая, что вы скачали в домашнюю директорию пользователя.

$ unzip instantclient-basic-linux-x86-64-10.2.0.2-20060228.zip
$ unzip instantclient-basic-linux-x86-64-10.2.0.2-20060228.zip
$ unzip instantclient-sdk-linux-x86-64-10.2.0.2-20060228.zip

Эти файлы будут разархивированы в $HOME/instantclient_10_2.

Создайте символическую ссылку на библиотеку клиента:

$ ln -s $HOME/instantclient_10_2/libclntsh.so.10.1 $HOME/instantclient_10_2/libclntsh.so

2. Настройка окружения:

Если вы устанавливаете все это от имени пользователя oracle, который должен быть владельцем вашего сервера базы данных, тогда вам нужно внести изменения в файл .bash_profile пользователя oracle. Скорее всего, у вас есть сервер БД и Apache на одном сервере, тогда вы могли бы установить некоторые переменные, в противном случае вам нужно будет записать их в oracle.bash_profile. Но иногда может возникнуть ситуация, когда ваш веб-сервер, т.е. сервер Apache, отделен от сервера Oracle DB, я имею в виду, что оба находятся на отдельных серверах (машинах), тогда вам просто нужно добавить переменную LD_LIBRARY_PATH в .bash_profile текущего пользователя, т.е. пользователя, который устанавливает все это здесь.

Теперь, если вы устанавливаете через пользователя oracle:

$ vi $HOME/.bash_profile

и добавьте/отредактируйте следующие строки,

export ORACLE_HOME=/path/to/your/installdir
export ORACLE_BASE=/base/dir
export ORACLE_OWNER=user
export ORACLE_SID=database
export ORACLE_TERM=xterm
export TNS_ADMIN=/path/to/your/installdir/network/admin
export LD_LIBRARY_PATH=$HOME/instantclient_10_2/

Но если вы не устанавливаете от имени пользователя oracle, как обсуждалось выше:

$ vi $HOME/.bash_profile

и просто эта строка:

export LD_LIBRARY_PATH=$HOME/instantclient_10_2/

Теперь вы завершили настройку окружения.

3. Установка Apache:

Теперь вам нужно скачать исходный код Apache для компиляции на вашей машине, вот ссылка для загрузки:

http://httpd.apache.org/download.cgi

Я использую Apache1.3. Теперь это зависит от вас, какую версию Apache вы хотите скачать, но все же люди рекомендуют Apache1.3, и я буду придерживаться этой рекомендации.

Чтобы открыть tar Apache, измените имя файла в соответствии с вашим релизом Apache:

$ tar zxvf apache1.3....tar.gz  
$ cd apache1.3...  
$ ./configure --prefix=$HOME/apache --enable-so --with-mpm=prefork --with-port=8888

Вы можете изменить порт в соответствии с вашими потребностями, даже на 80, но никогда не пытайтесь делать это на производственном сервере.

$ make  
$ make install

Теперь мы закончили с Apache на данный момент.

4. Установка PHP:

Вы можете скачать выбранную вами версию исходного кода PHP по адресу:

http://www.php.net/downloads.php

Моя рекомендация - PHP4.3.X, я использую PHP 4.3.4 для своего сервера. Теперь, чтобы открыть tar, сделайте это:

$ tar zxvf php4.3.4..tar.gz  
$ cd php4.3.4  
$ ./configure --prefix=$HOME/php --with-apxs=$HOME/apache/bin/apxs --with-mysql=/usr --with-config-file-path=$HOME/apache/conf --with-oci8-instant-client=$HOME/instantclient_10_2 --enable-sigchild  
$ make  
$ make install  
$ cp php.ini-recommended $HOME/apache/conf/php.ini

Добавьте эти строки в файл $HOME/apache/conf/httpd.conf:

      AddType application/x-httpd-php         .php
      AddType application/x-httpd-php-source  .phps

Перезапустите Apache:

$ $HOME/apache/bin/apachectl start

Чтобы проверить, что расширение настроено, создайте простой PHP-скрипт phpinfo.php, где веб-сервер сможет его прочитать.

Загрузите скрипт в браузере, используя URL с “http://“. Страница браузера должна содержать раздел “oci8”, говорящий “OCI8 Support enabled”.

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.