октября 15, 2010
Обзавелся Макбуком.
На дескопе использовал FreeBSD ~ 3 года, Redhat\ASPlinux\Ubuntu\SUSE ~ 3 года, Win7 ~ полтора года.
сентября 22, 2010
Вынужденный даунгрейд trac c Ubuntu 10.04 на 8.04
Ошибка выглядит так:
(Database newer than Trac version)
.....
sqlite3 /srv/trac/ПРОЕКТ/db/trac.db
> update system set value = 19 where name = "database_version";
(Database newer than Trac version)
.....
sqlite3 /srv/trac/ПРОЕКТ/db/trac.db
> update system set value = 19 where name = "database_version";
trac-admin /srv/trac/ПРОЕКТ/ upgrade
MySQL. Защита БД от физической кражи.
Задача - защитить от физической кражи файлы баз данных MySQL (кража дисков, останов сервера и загрузка с LiveCD для копирования данных). MySQL работает под управлением Linux.
Выбранное решение.
- ОС Ubuntu 8.04.4. Автозагрузка Mysql не предусмотрена и отключена.
- Каталоги datadir (/var/lib/mysql) зашифрованы на основном сервере mysql-master и зеркальном mysql-slave. Шифрование - encfs.
- Резервное копирование осуществляется с отдельного сервера (территориально рядом с серверами СУБД). Через ssh на mysql-slave запускается mysqldump, вывод архивируется и переносится на сервер резервного копирования, архив шифруется pgp, копируются на второй сервер резервного копирования (территориально удаленный).
- Скрипты резервного копирования включающие необходимые пароли, закрытый ключ ssh, настройки pgp на сервере резервного копирования находятся в зашифрованном каталоге администратора на этом же сервере, монтирование его автоматически не предусмотрено.
- копии ключей, скриптов и паролей, в том числе для монтирования encfs, в электронном и печатном виде в двух экземплярах хранятся в сейфе.
Выбранное решение.
- ОС Ubuntu 8.04.4. Автозагрузка Mysql не предусмотрена и отключена.
- Каталоги datadir (/var/lib/mysql) зашифрованы на основном сервере mysql-master и зеркальном mysql-slave. Шифрование - encfs.
- Резервное копирование осуществляется с отдельного сервера (территориально рядом с серверами СУБД). Через ssh на mysql-slave запускается mysqldump, вывод архивируется и переносится на сервер резервного копирования, архив шифруется pgp, копируются на второй сервер резервного копирования (территориально удаленный).
- Скрипты резервного копирования включающие необходимые пароли, закрытый ключ ssh, настройки pgp на сервере резервного копирования находятся в зашифрованном каталоге администратора на этом же сервере, монтирование его автоматически не предусмотрено.
- копии ключей, скриптов и паролей, в том числе для монтирования encfs, в электронном и печатном виде в двух экземплярах хранятся в сейфе.
Ubuntu 8.04.4 и trac. Вот так и LTS с незакрытыми багами!
После установки trac+apache+mod_python ничего не запустилось. Переносил с другого сервера путем копирования каталогов трэка.
В логах апача:
TracError: ClearSilver not installed (/usr/lib/python2.5/site-packages/neo_cgi.so: undefined symbol: Py_InitModule4)
Ошибка на лаунчпаде с 2008 года:
https://bugs.launchpad.net/ubuntu/+source/clearsilver/+bug/86685
Админы с горянаступают на горло своей песне собирают из исходников
http://fluffypixies.blogspot.com/2008/04/ubuntu-64bit-clearsilver-python-fix.html
Спасибо доброму человеку https://launchpad.net/~gagern
Он пофиксил бажный пакет и его можно скачать: https://launchpad.net/~gagern/+archive/ppa/+packages
Итак:
wget --no-check-certificate https://launchpad.net/~gagern/+archive/ppa/+files/python-clearsilver_0.10.4-1ubuntu2~ppa2_amd64.deb
dpkg -i python-clearsilver_0.10.4-1ubuntu2~ppa2_amd64.deb
service apache2 restart
Все работает.
p.s. завел свой репозиторий на лаунчпаде. буду собирать lighttpd с поддержкой deflate.
В логах апача:
TracError: ClearSilver not installed (/usr/lib/python2.5/site-packages/neo_cgi.so: undefined symbol: Py_InitModule4)
Ошибка на лаунчпаде с 2008 года:
https://bugs.launchpad.net/ubuntu/+source/clearsilver/+bug/86685
Админы с горя
http://fluffypixies.blogspot.com/2008/04/ubuntu-64bit-clearsilver-python-fix.html
Спасибо доброму человеку https://launchpad.net/~gagern
Он пофиксил бажный пакет и его можно скачать: https://launchpad.net/~gagern/+archive/ppa/+packages
Итак:
wget --no-check-certificate https://launchpad.net/~gagern/+archive/ppa/+files/python-clearsilver_0.10.4-1ubuntu2~ppa2_amd64.deb
dpkg -i python-clearsilver_0.10.4-1ubuntu2~ppa2_amd64.deb
service apache2 restart
Все работает.
p.s. завел свой репозиторий на лаунчпаде. буду собирать lighttpd с поддержкой deflate.
сентября 01, 2010
Ubuntu Server, crypt data catalog.
На сайте http://www.truecrypt.org есть версия для Linux. Более того, есть консольная версия для x64.
Качаем, устанавливаем последнюю версию с сайта разработчиков:
Качаем, устанавливаем последнюю версию с сайта разработчиков:
wget http://www.truecrypt.org/download/truecrypt-7.0-linux-console-x64.tar.gz
tar -xzf truecrypt-7.0-linux-console-x64.tar.gz
./truecrypt-7.0-setup-console-x64
Принимаем лицензионное соглашение, устанавливаем программу.
Использование.
Документация в каталоге /usr/share/truecrypt/doc/TrueCrypt User Guide.pdf
А также.
truecrypt -h
Создать новый шифрованный том:
truecrypt -t -c
Монтировать том:
truecrypt volume.tc /media/truecrypt1
Размонтировать том
truecrypt -d volume.tc
Размонтировать все тома:
truecrypt -d
августа 10, 2010
Ubuntu rsync. Синхронизация каталогов.
# rsync -avz --stats /srv/ /mnt/srv/
/srv/ - откуда
/mnt/srv/ - куда
-a оскращение опций --group --owner --perms --times --devices --links --recursive
-z сжатие. весьма сомнительна польза. использую редко.
-v вывод информации о обрабатываемых файлах. тоже весьма сомнительная польза.
--stats вывод статистики работы после завершения.
Пример статистики:
Number of files: 45417
Number of files transferred: 0
Total file size: 26918780966 bytes
Total transferred file size: 0 bytes
Literal data: 0 bytes
Matched data: 0 bytes
File list size: 1196894
File list generation time: 0.001 seconds
File list transfer time: 0.000 seconds
Total bytes sent: 1226850
Total bytes received: 29955
sent 1226850 bytes received 29955 bytes 4087.17 bytes/sec
/srv/ - откуда
/mnt/srv/ - куда
-a оскращение опций --group --owner --perms --times --devices --links --recursive
-z сжатие. весьма сомнительна польза. использую редко.
-v вывод информации о обрабатываемых файлах. тоже весьма сомнительная польза.
--stats вывод статистики работы после завершения.
Пример статистики:
Number of files: 45417
Number of files transferred: 0
Total file size: 26918780966 bytes
Total transferred file size: 0 bytes
Literal data: 0 bytes
Matched data: 0 bytes
File list size: 1196894
File list generation time: 0.001 seconds
File list transfer time: 0.000 seconds
Total bytes sent: 1226850
Total bytes received: 29955
sent 1226850 bytes received 29955 bytes 4087.17 bytes/sec
Ubuntu iscsi initiator (openiscsi). Подключение массивов с Netapp.
Предельно просто:
Устанавливаем инициатор
# apt-get install open-iscsi
# /etc/init.d/open-iscsi start
Проверяем что доступно на контроллере хранилища:
# iscsiadm -m discovery -t st -p 172.17.101.7
172.17.101.7:3260,2000 iqn.1992-08.com.netapp:sn.0135042482
# dmesg
[1916461.731194] sd 7:0:0:73: [sda] 1688408064 512-byte hardware sectors (864465 MB)
[1916461.731374] sd 7:0:0:73: [sda] Write Protect is off
[1916461.731380] sd 7:0:0:73: [sda] Mode Sense: bd 00 00 08
[1916461.731711] sd 7:0:0:73: [sda] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
[1916461.732082] sd 7:0:0:73: [sda] 1688408064 512-byte hardware sectors (864465 MB)
[1916461.732255] sd 7:0:0:73: [sda] Write Protect is off
[1916461.732259] sd 7:0:0:73: [sda] Mode Sense: bd 00 00 08
[1916461.732581] sd 7:0:0:73: [sda] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
[1916461.732587] sda: sda1
[1916461.732949] sd 7:0:0:73: [sda] Attached SCSI disk
[1916461.732991] sd 7:0:0:73: Attached scsi generic sg0 type 0
[1918313.020481] scsi8 : iSCSI Initiator over TCP/IP
[1918313.268343] scsi 8:0:0:73: Direct-Access NETAPP LUN 0.2 PQ: 0 ANSI: 4
[1918313.268864] sd 8:0:0:73: [sda] 1688408064 512-byte hardware sectors (864465 MB)
[1918313.269046] sd 8:0:0:73: [sda] Write Protect is off
[1918313.269049] sd 8:0:0:73: [sda] Mode Sense: bd 00 00 08
[1918313.269377] sd 8:0:0:73: [sda] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
[1918313.269742] sd 8:0:0:73: [sda] 1688408064 512-byte hardware sectors (864465 MB)
[1918313.269916] sd 8:0:0:73: [sda] Write Protect is off
[1918313.269922] sd 8:0:0:73: [sda] Mode Sense: bd 00 00 08
[1918313.270248] sd 8:0:0:73: [sda] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
[1918313.270256] sda: sda1
[1918313.270626] sd 8:0:0:73: [sda] Attached SCSI disk
[1918313.270665] sd 8:0:0:73: Attached scsi generic sg0 type 0
#iscsiadm -m node -T iqn.1992-08.com.netapp:sn.0135042482 --login
ls -al /dev/disk/by-id/
total 0
drwxr-xr-x 2 root root 360 2010-08-10 17:15 .
drwxr-xr-x 6 root root 120 2010-07-19 11:53 ..
lrwxrwxrwx 1 root root 16 2010-07-19 11:53 cciss-3600508b1001036303420202020200000 -> ../../cciss/c0d0
lrwxrwxrwx 1 root root 18 2010-07-19 11:53 cciss-3600508b1001036303420202020200000-part1 -> ../../cciss/c0d0p1
lrwxrwxrwx 1 root root 18 2010-07-19 11:53 cciss-3600508b1001036303420202020200000-part2 -> ../../cciss/c0d0p2
lrwxrwxrwx 1 root root 18 2010-07-19 11:53 cciss-3600508b1001036303420202020200000-part3 -> ../../cciss/c0d0p3
lrwxrwxrwx 1 root root 18 2010-07-19 11:53 cciss-3600508b1001036303420202020200000-part4 -> ../../cciss/c0d0p4
lrwxrwxrwx 1 root root 18 2010-07-19 11:53 cciss-3600508b1001036303420202020200000-part5 -> ../../cciss/c0d0p5
lrwxrwxrwx 1 root root 18 2010-07-19 11:53 cciss-3600508b1001036303420202020200000-part6 -> ../../cciss/c0d0p6
lrwxrwxrwx 1 root root 16 2010-07-19 11:53 edd-int13_dev80 -> ../../cciss/c0d0
lrwxrwxrwx 1 root root 18 2010-07-19 11:53 edd-int13_dev80-part1 -> ../../cciss/c0d0p1
lrwxrwxrwx 1 root root 18 2010-07-19 11:53 edd-int13_dev80-part2 -> ../../cciss/c0d0p2
lrwxrwxrwx 1 root root 18 2010-07-19 11:53 edd-int13_dev80-part3 -> ../../cciss/c0d0p3
lrwxrwxrwx 1 root root 18 2010-07-19 11:53 edd-int13_dev80-part4 -> ../../cciss/c0d0p4
lrwxrwxrwx 1 root root 18 2010-07-19 11:53 edd-int13_dev80-part5 -> ../../cciss/c0d0p5
lrwxrwxrwx 1 root root 18 2010-07-19 11:53 edd-int13_dev80-part6 -> ../../cciss/c0d0p6
lrwxrwxrwx 1 root root 9 2010-08-10 17:15 scsi-360a980005033534d675a4f7a6a774138 -> ../../sda
lrwxrwxrwx 1 root root 10 2010-08-10 17:15 scsi-360a980005033534d675a4f7a6a774138-part1 -> ../../sda1
Точно также подключаем все диски. Работаем с ними обычными утилитами - fdisk, mkfs*, mount.
В fstab в опциях монтирования используем _netdev, например:
# iSCSI
#UUID=6fd02688-cb1f-49ce-95f6-c749e6115e9a /srv ext3 _netdev 0 2
#LABEL=backup /mnt ext3 _netdev 0 2
Устанавливаем инициатор
# apt-get install open-iscsi
# /etc/init.d/open-iscsi start
Проверяем что доступно на контроллере хранилища:
# iscsiadm -m discovery -t st -p 172.17.101.7
172.17.101.7:3260,2000 iqn.1992-08.com.netapp:sn.0135042482
# dmesg
[1916461.731194] sd 7:0:0:73: [sda] 1688408064 512-byte hardware sectors (864465 MB)
[1916461.731374] sd 7:0:0:73: [sda] Write Protect is off
[1916461.731380] sd 7:0:0:73: [sda] Mode Sense: bd 00 00 08
[1916461.731711] sd 7:0:0:73: [sda] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
[1916461.732082] sd 7:0:0:73: [sda] 1688408064 512-byte hardware sectors (864465 MB)
[1916461.732255] sd 7:0:0:73: [sda] Write Protect is off
[1916461.732259] sd 7:0:0:73: [sda] Mode Sense: bd 00 00 08
[1916461.732581] sd 7:0:0:73: [sda] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
[1916461.732587] sda: sda1
[1916461.732949] sd 7:0:0:73: [sda] Attached SCSI disk
[1916461.732991] sd 7:0:0:73: Attached scsi generic sg0 type 0
[1918313.020481] scsi8 : iSCSI Initiator over TCP/IP
[1918313.268343] scsi 8:0:0:73: Direct-Access NETAPP LUN 0.2 PQ: 0 ANSI: 4
[1918313.268864] sd 8:0:0:73: [sda] 1688408064 512-byte hardware sectors (864465 MB)
[1918313.269046] sd 8:0:0:73: [sda] Write Protect is off
[1918313.269049] sd 8:0:0:73: [sda] Mode Sense: bd 00 00 08
[1918313.269377] sd 8:0:0:73: [sda] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
[1918313.269742] sd 8:0:0:73: [sda] 1688408064 512-byte hardware sectors (864465 MB)
[1918313.269916] sd 8:0:0:73: [sda] Write Protect is off
[1918313.269922] sd 8:0:0:73: [sda] Mode Sense: bd 00 00 08
[1918313.270248] sd 8:0:0:73: [sda] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
[1918313.270256] sda: sda1
[1918313.270626] sd 8:0:0:73: [sda] Attached SCSI disk
[1918313.270665] sd 8:0:0:73: Attached scsi generic sg0 type 0
#iscsiadm -m node -T iqn.1992-08.com.netapp:sn.0135042482 --login
ls -al /dev/disk/by-id/
total 0
drwxr-xr-x 2 root root 360 2010-08-10 17:15 .
drwxr-xr-x 6 root root 120 2010-07-19 11:53 ..
lrwxrwxrwx 1 root root 16 2010-07-19 11:53 cciss-3600508b1001036303420202020200000 -> ../../cciss/c0d0
lrwxrwxrwx 1 root root 18 2010-07-19 11:53 cciss-3600508b1001036303420202020200000-part1 -> ../../cciss/c0d0p1
lrwxrwxrwx 1 root root 18 2010-07-19 11:53 cciss-3600508b1001036303420202020200000-part2 -> ../../cciss/c0d0p2
lrwxrwxrwx 1 root root 18 2010-07-19 11:53 cciss-3600508b1001036303420202020200000-part3 -> ../../cciss/c0d0p3
lrwxrwxrwx 1 root root 18 2010-07-19 11:53 cciss-3600508b1001036303420202020200000-part4 -> ../../cciss/c0d0p4
lrwxrwxrwx 1 root root 18 2010-07-19 11:53 cciss-3600508b1001036303420202020200000-part5 -> ../../cciss/c0d0p5
lrwxrwxrwx 1 root root 18 2010-07-19 11:53 cciss-3600508b1001036303420202020200000-part6 -> ../../cciss/c0d0p6
lrwxrwxrwx 1 root root 16 2010-07-19 11:53 edd-int13_dev80 -> ../../cciss/c0d0
lrwxrwxrwx 1 root root 18 2010-07-19 11:53 edd-int13_dev80-part1 -> ../../cciss/c0d0p1
lrwxrwxrwx 1 root root 18 2010-07-19 11:53 edd-int13_dev80-part2 -> ../../cciss/c0d0p2
lrwxrwxrwx 1 root root 18 2010-07-19 11:53 edd-int13_dev80-part3 -> ../../cciss/c0d0p3
lrwxrwxrwx 1 root root 18 2010-07-19 11:53 edd-int13_dev80-part4 -> ../../cciss/c0d0p4
lrwxrwxrwx 1 root root 18 2010-07-19 11:53 edd-int13_dev80-part5 -> ../../cciss/c0d0p5
lrwxrwxrwx 1 root root 18 2010-07-19 11:53 edd-int13_dev80-part6 -> ../../cciss/c0d0p6
lrwxrwxrwx 1 root root 9 2010-08-10 17:15 scsi-360a980005033534d675a4f7a6a774138 -> ../../sda
lrwxrwxrwx 1 root root 10 2010-08-10 17:15 scsi-360a980005033534d675a4f7a6a774138-part1 -> ../../sda1
Точно также подключаем все диски. Работаем с ними обычными утилитами - fdisk, mkfs*, mount.
В fstab в опциях монтирования используем _netdev, например:
# iSCSI
#UUID=6fd02688-cb1f-49ce-95f6-c749e6115e9a /srv ext3 _netdev 0 2
#LABEL=backup /mnt ext3 _netdev 0 2
мая 02, 2010
Windows 7 FLAC tags support
1. Сам кодек:
http://www.xiph.org/dshow/
Directshow Filters for Ogg Vorbis, Speex, Theora and FLAC
2. Поддержка тэгов Flac
http://bmproductions.fixnum.org/wmptagplus/
http://www.xiph.org/dshow/
Directshow Filters for Ogg Vorbis, Speex, Theora and FLAC
2. Поддержка тэгов Flac
http://bmproductions.fixnum.org/wmptagplus/
марта 21, 2010
На злобу дня.
Закон технологии Лермана.
Любую техническую проблему можно преодолеть, имея достаточно времени и денег.
Закон Джухэни.
Компромисс всегда обходится дороже, чем любая из альтернатив.
Аксиома Дучарма.
Если рассмотреть проблему достаточно внимательно, то Вы увидите себя как часть этой проблемы.
Закон Муира.
Когда мы пытаемся вытащить что-нибудь одно, оказывается, что оно связано со всем остальным.
Закон Мэрианна.
Находишь всегда то, что не искал.
Закон Буба.
То, что ищешь, найдешь, только обыскав все.
Закон Хелранга.
Подожди - и плохое само собой исчезнет.
Закон термодинамики Мерфи.
Под давлением все ухудшается.
Первый закон Чизхолма.
Все, что может испортиться, портится.
Афоризм Кохрэйна.
Получая направление на анализ подумайте, что Вы предпримете, если результат окажется: а) положительным, б) отрицательным. Если ответы совпадут, надобность в анализе отпадет.
Комментарий Лорда Коэна.
Доступность операции - еще не показатель того, что ее надо делать.
Четыре принципа производственника.
В наборе инструментов не хватает именно того гаечного ключа или сверла, которые нужны. Для выполнения большинства операций требуются три руки. Оставшиеся гайки никогда не подходят к оставшимся болтам. Чем тщательнее составлен проект, тем больше неразбериха, если что-то пошло не так.
Постулат Персига.
Число разумных гипотез, объясняющих любое данное явление, бесконечно.
Третий закон Финейгла.
В любом наборе исходных данных самая надежная величина, не требующая никакой проверки, является ошибочной.
Закон Шмидта.
Если долго портить машину, она сломается.
Первый закон ремонта.
Нельзя починить то, что не сломано.
Правило точности.
Работая над решением задачи, всегда полезно знать ответ.
Правило точности Рэя.
Измеряй микрометром. Отмечай мелом. Отрубай топором.
Закон силы Энтони.
Не тратьте силы, возьмите молоток побольше!
Второй закон Вышковского.
Все можно наладить, если вертеть в руках достаточно долго.
Закон Лоуэри.
Заело деталь - надави на нее. Если сломалась - ничего: все равно надо было заменять...
Закон Купера.
Если Вам неприятно какое-то слово в техническом тексте, не обращайте внимания. Текст полностью сохраняет смысл и без него.
Первое правило умного ремонта.
Ничего не выбрасывай.
Аксиома Кана.
Если ничто другое не помогает, прочтите, наконец, инструкцию!
или 50
|
Любую техническую проблему можно преодолеть, имея достаточно времени и денег.
Закон Джухэни.
Компромисс всегда обходится дороже, чем любая из альтернатив.
Аксиома Дучарма.
Если рассмотреть проблему достаточно внимательно, то Вы увидите себя как часть этой проблемы.
Закон Муира.
Когда мы пытаемся вытащить что-нибудь одно, оказывается, что оно связано со всем остальным.
Закон Мэрианна.
Находишь всегда то, что не искал.
Закон Буба.
То, что ищешь, найдешь, только обыскав все.
Закон Хелранга.
Подожди - и плохое само собой исчезнет.
Закон термодинамики Мерфи.
Под давлением все ухудшается.
Первый закон Чизхолма.
Все, что может испортиться, портится.
Афоризм Кохрэйна.
Получая направление на анализ подумайте, что Вы предпримете, если результат окажется: а) положительным, б) отрицательным. Если ответы совпадут, надобность в анализе отпадет.
Комментарий Лорда Коэна.
Доступность операции - еще не показатель того, что ее надо делать.
Четыре принципа производственника.
В наборе инструментов не хватает именно того гаечного ключа или сверла, которые нужны. Для выполнения большинства операций требуются три руки. Оставшиеся гайки никогда не подходят к оставшимся болтам. Чем тщательнее составлен проект, тем больше неразбериха, если что-то пошло не так.
Постулат Персига.
Число разумных гипотез, объясняющих любое данное явление, бесконечно.
Третий закон Финейгла.
В любом наборе исходных данных самая надежная величина, не требующая никакой проверки, является ошибочной.
Закон Шмидта.
Если долго портить машину, она сломается.
Первый закон ремонта.
Нельзя починить то, что не сломано.
Правило точности.
Работая над решением задачи, всегда полезно знать ответ.
Правило точности Рэя.
Измеряй микрометром. Отмечай мелом. Отрубай топором.
Закон силы Энтони.
Не тратьте силы, возьмите молоток побольше!
Второй закон Вышковского.
Все можно наладить, если вертеть в руках достаточно долго.
Закон Лоуэри.
Заело деталь - надави на нее. Если сломалась - ничего: все равно надо было заменять...
Закон Купера.
Если Вам неприятно какое-то слово в техническом тексте, не обращайте внимания. Текст полностью сохраняет смысл и без него.
Первое правило умного ремонта.
Ничего не выбрасывай.
Аксиома Кана.
Если ничто другое не помогает, прочтите, наконец, инструкцию!
или 50
|
марта 17, 2010
batch file encoding from CP1251 to UTF8.
#/bin/bash
for i in `find . -name '*.php' -type f`
do
echo $i
iconv -f WINDOWS-1251 -t UTF-8 "$i" > tmp
mv -f tmp "$i"
done
for i in `find . -name '*.php' -type f`
do
echo $i
iconv -f WINDOWS-1251 -t UTF-8 "$i" > tmp
mv -f tmp "$i"
done
марта 11, 2010
PHP-OCI8 Ubuntu LTS
1. Устанавливаем apache, php (модули опционально) :
2. Устанавливаем пакеты для сборки модуля php из pear:
3. Устанавливаем библиотеку libaio:
4. Создаем каталоги:
5. Скачиваем с офсайта последние версии Instantclient и SDK http://www.oracle.com/technology/tech/oci/instantclient/index.html . Должны быть два архива zip (в нашем случае это были basic-10.2.0.4.0-linux-x86_64.zip и sdk-10.2.0.4.0-linux-x86_64.zip)
6. Копируем скачанные архивы в каталог /opt/oracle/instantclient/, переходим в него и разархивируем содержимое:
7. Создаем символические ссылки на библиотеки, т.к. бОльшая часть софта, в том числе и oci8, ориентируется на создаваемые имена библиотек:
8. Обновляем кэш динамических библиотек:
9. Переходим в каталог и скачиваем модуль oci8:
10. Разархивируем модуль, переходим в каталог с исходниками oci8 и подготавливаем окружение для сборки модуля:
11. Перед самой сборкой устанавливаем переменные окружения оракула:
12. Проверяем переменную окружения:
Должны получить ответ:
14. Собираем модуль:
15. Собираем модуль oci8:
16. Редактируем конфиги php:
17. Само расширение установлено в каталоге:
18. Перезапускаем apache и все. Я проверял наличие модуля выводом функции
phpinfo()
19. Создаем каталог для файлов sqlnet.ora и tnsnames.ora
20. В конфиге апача или виртуалхоста (а также .htaccess) можно установить переменные:
# apt-get install apache2 php5-common php5 php5-dev libapache2-mod-php5
# php5-cli2. Устанавливаем пакеты для сборки модуля php из pear:
# apt-get install build-essential php-pear3. Устанавливаем библиотеку libaio:
# apt-get install libaio14. Создаем каталоги:
# mkdir /opt/oracle/instantclient/
# mkdir /opt/oci8/5. Скачиваем с офсайта последние версии Instantclient и SDK http://www.oracle.com/technology/tech/oci/instantclient/index.html . Должны быть два архива zip (в нашем случае это были basic-10.2.0.4.0-linux-x86_64.zip и sdk-10.2.0.4.0-linux-x86_64.zip)
6. Копируем скачанные архивы в каталог /opt/oracle/instantclient/, переходим в него и разархивируем содержимое:
# cd /opt/oracle/instantclient/
# unzip \*.zip7. Создаем символические ссылки на библиотеки, т.к. бОльшая часть софта, в том числе и oci8, ориентируется на создаваемые имена библиотек:
# cd /opt/oracle/instantclient/instantclient_10_2/
# ln -s libocci.so.10.1 libocci.so
# ln -s libclntsh.so.10.1 libclntsh.so8. Обновляем кэш динамических библиотек:
# echo /opt/oracle/instantclient/instantclient_10_2/ >> /etc/ld.so.conf
# ldconfig9. Переходим в каталог и скачиваем модуль oci8:
# cd /opt/oci8/
# pecl download oci810. Разархивируем модуль, переходим в каталог с исходниками oci8 и подготавливаем окружение для сборки модуля:
# tar -xzf oci8-1.4.0.tgz
# cd /opt/oci8/oci8-1.4.0
# phpize11. Перед самой сборкой устанавливаем переменные окружения оракула:
# export ORACLE_HOME=/opt/oracle/instantclient/instantclient_10_212. Проверяем переменную окружения:
# echo $ORACLE_HOMEДолжны получить ответ:
# /opt/oracle/instantclient/instantclient_10_214. Собираем модуль:
# cd /opt/oci8/oci8-1.4.0
#./configure \
--with-oci8=share,instantclient,/opt/oracle/instantclient/instantclient_10_215. Собираем модуль oci8:
# make
# make install16. Редактируем конфиги php:
# echo extension=oci8.so; /etc/php5/apache2/php.ini
# echo extension=oci8.so; /etc/php5/cli/php.ini17. Само расширение установлено в каталоге:
# /usr/lib/php5/20060613/18. Перезапускаем apache и все. Я проверял наличие модуля выводом функции
phpinfo()
19. Создаем каталог для файлов sqlnet.ora и tnsnames.ora
mkdir -p /opt/oracle/instantclient/instantclient_10_2/network/admin20. В конфиге апача или виртуалхоста (а также .htaccess) можно установить переменные:
SetEnv TNS_ADMIN «/opt/oracle/instantclient/instantclient_10_2/network/admin»
SetEnv LD_LIBRARY_PATH «/opt/oracle/instantclient/instantclient_10_2»
SetEnv ORACLE_HOME «/opt/oracle/instantclient/instantclient_10_2»
SetEnv NLS_LANG=RUSSIAN_CIS.AL32UTF8
Подписаться на:
Сообщения (Atom)