Серверные технологии · 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
Здесь вам нужно скачать следующие пакеты.
instantclient-basic-linux-x86-64-10.2.0.2-20060228.zip
instantclient-sqlplus-linux-x86-64-10.2.0.2-20060228.zip
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.so2. Настройка окружения:
Если вы устанавливаете все это от имени пользователя 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”.
Get new posts in your inbox
No spam. Unsubscribe anytime.