пятница, 6 ноября 2009 г.

PHP с Oracle 10 на Ubuntu 9.10

Сегодня мне нужно было запустить сайт под убунтой, сайт был написан на PHP, и использовал базу данных Oracle.

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

Установил убунту, после пару минут гугления, я нашел как установить оракл

Очень радостный момент был в том, компания оракл, сделал ветку исходников для дебиана и убунту

Для начала нужно эту же ветку указать в соурс листе убунту

Для этого открываем этот файлик /etc/apt/sources.list и вставляем в конец вот эту строчку

deb http://oss.oracle.com/debian unstable main non-free


После этого открываем консоль

И вводим вот такую строчку

wget http://oss.oracle.com/el4/RPM-GPG-KEY-oracle -O- | sudo apt-key add -

Эта строчка добавляет оракловский gpg публичный ключ к нам в список apt-key

Потом выполняем несколько простых команд

sudo apt-get update
sudo aptitude install oracle-xe oracle-xe-client


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

После того как, я изменил увеличил размер свопа до 2 гб, я повторил команды заново.

После этого все уже было хорошо.

Дальше я вводил следующую цепочку команд

sudo /etc/init.d/oracle-xe configure

и все! Оракл установлен

Что бы перейти на страницу управления базой данных
Нужно перейти по ссылке http://127.0.0.1:8080/apex


Далее мне нужен был апач с пшп
Тут вообще все просто
Выполняем команду

sudo apt-get install php5 libapache2-mod-php5

Перезагружаем апач

sudo /etc/init.d/apache2 restart

После этого пробуем зайди на страницу http://localhost/, и убеждаемся что все работает

После этого единственное, что остается нам сделать это подключить OCI8 в пшп, это драйвер оракла для пшп, и это наверно самая трудная часть установки.

Первое что стоит сделать, скачать файлы с сайт Оракла, я скачал зип файлы, для 10 версии basic и sdk

После этого выполнил команды

sudo su
mkdir -p /opt/oracle/instantclient


Создал попочку, потом переместил туда 2 скачанных архива
И выполнил следующие команды

cd /opt/oracle/instantclient
unzip instantclient-basic.zip
unzip instantclient-sdk.zip
echo /opt/oracle/instantclient >> /etc/ld.so.conf
ldconfig

и

ln -s libclntsh.so.10.1 libclntsh.so
ln -s libocci.so.10.1 libocci.so


и

apt-get install php-pear
apt-get install php-pear php5-dev build-essential


и

mkdir -p /usr/local/src
cd /usr/local/src
pecl download oci8
tar xzf oci8-1.3.4.tgz
cd oci8-1.3.4
phpize
./configure --with-oci8=shared,instantclient,/opt/oracle/instantclient
make
make install


И все, мы подключили oci8 к пшп


После этого нужно в php.ini по адресам - /etc/php5/apache2/php.ini и /etc/php5/cli/php.ini, прописать 1 строчку  - extension=oci8.so

И конечно же перезапустить апач

sudo /etc/init.d/apache2 restart

И все, все работает