Просмотр сообщений

В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.


Сообщения - keremet

Страницы: 1 2 [3] 4 5 ... 31
31
OpenIndiana / Компиляция jabberd2
« : Июнь 23, 2014, 01:32:42 am »
pkg install pkg:/developer/gcc/gcc-43
pkg install pkg:/library/libidn
export PATH=/usr/gcc/4.3/bin:$PATH

wget http://www.corpit.ru/mjt/udns/udns-0.4.tar.gz
tar xf udns-0.4.tar.gz
cd udns-0.4
./configure --disable-ipv6
make

wget ftp://ftp.gnu.org/gnu/gsasl/libgsasl-1.8.0.tar.gz
tar xf libgsasl-1.8.0.tar.gz
cd libgsasl-1.8.0
CFLAGS="-O2 -I/usr/include/idn" ./configure --prefix=/home/keremet/compilation/libgsasl-1.8.0_bin  --enable-static --disable-shared
make
make install

Нужна openssl версии не ниже 1.0.1
pkg install pkg:/system/library/math/header-math
wget http://www.openssl.org/source/openssl-1.0.1h.tar.gz
tar xf openssl-1.0.1h.tar.gz
cd openssl-1.0.1h
./config --prefix=/home/keremet/compilation/openssl-1.0.1h_bin
make
make test
make install

OPENSSLDIR: "/home/keremet/compilation/openssl-1.0.1h_bin/ssl"


wget https://github.com/jabberd2/jabberd2/releases/download/jabberd-2.3.2/jabberd-2.3.2.tar.gz
tar xf jabberd-2.3.2.tar.gz
cd jabberd-2.3.2
#maximum allowed optimization level is -O2
LDFLAGS="-L/home/keremet/compilation/udns-0.4 -L/home/keremet/compilation/openssl-1.0.1h_bin/lib -L/home/keremet/compilation/libgsasl-1.8.0_bin/lib" CFLAGS="-O2 -I/usr/include/idn -I/home/keremet/compilation/udns-0.4 -I/home/keremet/compilation/libgsasl-1.8.0_bin/include -I/home/keremet/compilation/openssl-1.0.1h_bin/include" ./configure --enable-static --disable-shared --disable-experimental --prefix=/home/keremet/compilation/jabberd-2.3.2_bin
make

32
OpenIndiana / Добавление пользователя
« : Июнь 16, 2014, 02:17:48 pm »
Добавляем пользователя с именем user:
zfs create rpool/export/home/user
useradd -d /export/home/user/ -s /bin/bash user
chown user /export/home/user/
passwd user

33
OpenIndiana / Настройка ejabberd
« : Июнь 15, 2014, 10:40:24 pm »
pkg install pkg:/web/server/ejabberd
svcadm enable svc:/network/xmpp:ejabberd

# su - daemon /usr/sbin/ejabberdctl register USERNAME HOSTNAME PASSWORD

Конфиг /etc/ejabberd/ejabberd.cfg

Лог /var/ejabberd/log/ejabberd.log

netstat -a|grep LIS
*.epmd
*.41110
Надо как-то убрать эти порты

34
OpenIndiana / NAT
« : Июнь 13, 2014, 04:21:32 pm »
# cat /etc/hostname.vr0
192.168.1.1
# cat /etc/hostname.rtls1
192.168.2.1
# cat /etc/ipf/ipnat.conf
map sppp0 192.168.0.0/16 -> 0/32 proxy port ftp ftp/tcp
map sppp0 192.168.0.0/16 -> 0/32 portmap tcp/udp auto
map sppp0 192.168.0.0/16 -> 0/32

# routeadm -u -e ipv4-forwarding
# ipf -E
# ipnat -CF -f /etc/ipf/ipnat.conf

35
Официальный сайт http://collabtive.o-dyn.de/
Скачать исходники http://sourceforge.net/projects/collabtive/files/collabtive/1.2/collabtive-12.zip/download
Распаковать их в /var/apache2/2.2/htdocs/collabtive/collabtive-12

pfexec svcadm enable svc:/application/database/mysql:version_51
$ mysql -u root -p password

mysql> CREATE DATABASE `collabtive`;
mysql> GRANT ALL PRIVILEGES ON collabtive.* TO 'collabtive'@'localhost' IDENTIFIED BY 'some_pass' WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;
mysql> exit

Зайти по ссылке http://localhost/collabtive/collabtive-12/install.php
Ввести настройки и начать пользоваться :)

Потом по кнопке "Настройка системы/Настройка системы" изменить язык интерфейса на русский


36
.text
.globl _start

_start:
   pushl   $message_l
   pushl   $message
   pushl   $1
   movl   $4,%eax
   pushl   %eax
   syscall
   addl   $16,%esp
   
   xorl   %eax,%eax
   pushl   %eax
   incl   %eax
   pushl   %eax
   syscall
   hlt
.data
message:
   .string "HW!\n"
message_l = .-message-1

Компиляция:
 as -o test.o test.s && ld -s test.o && ./a.out

Размер: 384 байта

Трассировка:
$ truss ./a.out
execve("./a.out", 0x08047AE4, 0x08047AEC)  argc = 1
HW!
write(1, " H W !\n", 4)            = 4
_exit(0)
$

Для сравнения программа на С:
#include <unistd.h>
int main(int agrc, char** agrv){
   write(1,"HW!\n",4);
   return 0;
}

gcc -O3 ggg.c

Размер 8128 байт
Формируемый ассемблерный код (gcc -S -O3 ggg.c )
   .file   "ggg.c"
   .section   .rodata.str1.1,"aMS",@progbits,1
.LC0:
   .string   "HW!\n"
   .text
   .p2align 2,,3
.globl main
   .type   main, @function
main:
   pushl   %ebp
   movl   %esp, %ebp
   subl   $8, %esp
   andl   $-16, %esp
   subl   $20, %esp
   pushl   $4
   pushl   $.LC0
   pushl   $1
   call   write
   xorl   %eax, %eax
   leave
   ret
   .size   main, .-main

Трассировка:
$ truss ./a.out
execve("a.out", 0x08047A7C, 0x08047A84)  argc = 1
sysconfig(_CONFIG_PAGESIZE)         = 4096
mmap(0x00000000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANON, -1, 0) = 0xFEFB0000
mmap(0x00000000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANON, -1, 0) = 0xFEFA0000
memcntl(0xFEFBE000, 27724, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0
mmap(0x00000000, 4096, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_ANON, -1, 0) = 0xFEF90000
memcntl(0x08050000, 2580, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0
resolvepath("/usr/lib/ld.so.1", "/lib/ld.so.1", 1023) = 12
getcwd("/data/compilation/asm", 1017)      = 0
resolvepath("/data/compilation/asm/a.out", "/data/compilation/asm/a.out", 1023) = 27
stat64("/data/compilation/asm/a.out", 0x08047720) = 0
open("/var/ld/ld.config", O_RDONLY)      Err#2 ENOENT
stat64("/usr/ccs/lib/libc.so.1", 0x08046F20)   Err#2 ENOENT
stat64("/lib/libc.so.1", 0x08046F20)      = 0
resolvepath("/lib/libc.so.1", "/lib/libc.so.1", 1023) = 14
open("/lib/libc.so.1", O_RDONLY)      = 3
mmapobj(3, 0x00020000, 0xFEF904D0, 0x08046F8C, 0x00000000) = 0
close(3)               = 0
memcntl(0xFEE30000, 188400, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0
mmap(0x00010000, 24576, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_ANON|MAP_ALIGN, -1, 0) = 0xFEE20000
getcontext(0x08047580)
getrlimit(RLIMIT_STACK, 0x08047578)      = 0
getpid()               = 1061 [1060]
lwp_private(0, 1, 0xFEE22A00)         = 0x000001C3
setustack(0xFEE22A60)
sysi86(SI86FPSTART, 0xFEF8700C, 0x0000133F, 0x00001F80) = 0x00000001
HW!
write(1, " H W !\n", 4)            = 4
_exit(0)


Улучшенная программа на С:
$ cat ggg_asm.h
static int inline write_asm(int fildes, const void *buf, int nbyte){
   asm("pushl %0"::"r"(nbyte));
   asm("pushl %0"::"r"(buf));
   asm("pushl %0"::"r"(fildes));
   asm("movl $4,%eax\n\t"
   "pushl   %eax\n\t"
   "syscall\n\t"
   "addl   $16,%esp");
   return 0;
}

static void inline exit_asm(int rel_value){
   asm("pushl %0"::"r"(rel_value));
   asm("movl $1,%eax\n\t"
   "pushl   %eax\n\t"
   "syscall\n\t"
   "addl   $8,%esp");   
}

$ cat ggg_asm.c
#include <ggg_asm.h>
void _start(){
   write_asm(1,"HW!\n",4);
   exit_asm(0);
}

Компиляция: gcc -fno-ident -I. -O3 -c -o ggg_asm.o ggg_asm.c && ld -s ggg_asm.o
Размер 444 байт
Формируемый ассемблерный код
   .file   "ggg_asm.c"
   .section   .rodata.str1.1,"aMS",@progbits,1
.LC0:
   .string   "HW!\n"
   .text
   .p2align 2,,3
.globl _start
   .type   _start, @function
_start:
   movl   $1, %ecx
   movl   $.LC0, %edx
   movl   $4, %eax
/APP
   pushl %eax
   pushl %edx
   pushl %ecx
   movl $4,%eax
   pushl   %eax
   syscall
   addl   $16,%esp
/NO_APP
   xorb   %al, %al
/APP
   pushl %eax
   movl $1,%eax
   pushl   %eax
   syscall
   addl   $8,%esp
/NO_APP
   ret
   .size   _start, .-_start

Трассировка:
$ truss ./a.out
execve("./a.out", 0x08047ABC, 0x08047AC4)  argc = 1
HW!
write(1, " H W !\n", 4)            = 4
_exit(0)

37
Приведенный ниже скрипт работает из предположения, что заврапленный код начинается с 21-ой строки файла

#!/usr/bin/python

import base64
import zlib
import sys

# simple substitution table
charmap = [0x3d, 0x65, 0x85, 0xb3, 0x18, 0xdb, 0xe2, 0x87, 0xf1, 0x52, 0xab, 0x63, 0x4b, 0xb5, 0xa0, 0x5f, 0x7d, 0x68, 0x7b, 0x9b, 0x24, 0xc2, 0x28, 0x67, 0x8a, 0xde, 0xa4, 0x26, 0x1e, 0x03, 0xeb, 0x17, 0x6f, 0x34, 0x3e, 0x7a, 0x3f, 0xd2, 0xa9, 0x6a, 0x0f, 0xe9, 0x35, 0x56, 0x1f, 0xb1, 0x4d, 0x10, 0x78, 0xd9, 0x75, 0xf6, 0xbc, 0x41, 0x04, 0x81, 0x61, 0x06, 0xf9, 0xad, 0xd6, 0xd5, 0x29, 0x7e, 0x86, 0x9e, 0x79, 0xe5, 0x05, 0xba, 0x84, 0xcc, 0x6e, 0x27, 0x8e, 0xb0, 0x5d, 0xa8, 0xf3, 0x9f, 0xd0, 0xa2, 0x71, 0xb8, 0x58, 0xdd, 0x2c, 0x38, 0x99, 0x4c, 0x48, 0x07, 0x55, 0xe4, 0x53, 0x8c, 0x46, 0xb6, 0x2d, 0xa5, 0xaf, 0x32, 0x22, 0x40, 0xdc, 0x50, 0xc3, 0xa1, 0x25, 0x8b, 0x9c, 0x16, 0x60, 0x5c, 0xcf, 0xfd, 0x0c, 0x98, 0x1c, 0xd4, 0x37, 0x6d, 0x3c, 0x3a, 0x30, 0xe8, 0x6c, 0x31, 0x47, 0xf5, 0x33, 0xda, 0x43, 0xc8, 0xe3, 0x5e, 0x19, 0x94, 0xec, 0xe6, 0xa3, 0x95, 0x14, 0xe0, 0x9d, 0x64, 0xfa, 0x59, 0x15, 0xc5, 0x2f, 0xca, 0xbb, 0x0b, 0xdf, 0xf2, 0x97, 0xbf, 0x0a, 0x76, 0xb4, 0x49, 0x44, 0x5a, 0x1d, 0xf0, 0x00, 0x96, 0x21, 0x80, 0x7f, 0x1a, 0x82, 0x39, 0x4f, 0xc1, 0xa7, 0xd7, 0x0d, 0xd1, 0xd8, 0xff, 0x13, 0x93, 0x70, 0xee, 0x5b, 0xef, 0xbe, 0x09, 0xb9, 0x77, 0x72, 0xe7, 0xb2, 0x54, 0xb7, 0x2a, 0xc7, 0x73, 0x90, 0x66, 0x20, 0x0e, 0x51, 0xed, 0xf8, 0x7c, 0x8f, 0x2e, 0xf4, 0x12, 0xc6, 0x2b, 0x83, 0xcd, 0xac, 0xcb, 0x3b, 0xc4, 0x4e, 0xc0, 0x69, 0x36, 0x62, 0x02, 0xae, 0x88, 0xfc, 0xaa, 0x42, 0x08, 0xa6, 0x45, 0x57, 0xd3, 0x9a, 0xbd, 0xe1, 0x23, 0x8d, 0x92, 0x4a, 0x11, 0x89, 0x74, 0x6b, 0x91, 0xfb, 0xfe, 0xc9, 0x01, 0xea, 0x1b, 0xf7, 0xce]

def decode_base64_package(base64str):
   base64dec = base64.decodestring(base64str)[20:] # we strip the first 20 chars (SHA1 hash, I don't bother checking it at the moment)
   decoded = ''
   for byte in range(0, len(base64dec)):
      decoded += chr(charmap[ord(base64dec[byte])])
   return zlib.decompress(decoded)
   

if len(sys.argv) < 2:
   sys.stderr.write("Usage: %s infile.plb [outfile]\n" % sys.argv[0])
   sys.exit(1)

infile = open(sys.argv[1])
outfile = None
if len(sys.argv) == 3:
   outfile = open(sys.argv[2], 'w')

lines = infile.readlines()
base64str = ''
for i in range(20, len(lines)):
   if lines!="/\r\n" and lines!="/\n":
      base64str += lines.replace("\n","").replace("\r","")
if outfile:
   outfile.write(decode_base64_package(base64str) + "\n")
else:
   print decode_base64_package(base64str)

38
OpenIndiana / Компиляция git
« : Март 19, 2014, 02:23:07 pm »
Так как git в OpenIndiana достаточно старый, пришлось скомпилировать последний, ориентируясь на описание http://git-scm.com/book/ru/%D0%92%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5-%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0-Git

Выкачать последнюю версию git
http://code.google.com/p/git-core/downloads/list
tar xf git-1.9.0.tar.gz
cd git-1.9.0
sed 's|INSTALL = /usr/ucb/install|INSTALL = /usr/bin/ginstall|g'<config.mak.uname >config.mak.uname.oi
sed 's/CC = cc/CC = gcc/g'<Makefile |sed 's/include config.mak.uname/include config.mak.uname.oi/g'>Makefile.oi
gmake -f Makefile.oi prefix=/usr/local/git-1.9.0 all
sudo gmake -f Makefile.oi prefix=/usr/local/git-1.9.0 install


После запуска gitk первый косяк, который бросается в глаза, - это шрифт русских букв. Для его устранение выбрать пункт меню Редактировать/Настройки, в появившемся окне кнопка Fonts. Выбрать как вариант шрифт clean.

Для автодописывания параметров команды git
cp contrib/completion/git-completion.bash ~/.git-completion.bash
Добавить в ~/.bashrc строку source ~/.git-completion.bash


Для нормальной работы /usr/local/git-1.9.0/bin/git mergetool поставить meld и указать его в настройках
pkg install pkg:/developer/meld
/usr/local/git-1.9.0/bin/git config --global merge.tool meld


39
OpenIndiana / Установка Eclipse
« : Февраль 28, 2014, 02:32:00 pm »
Зайти на сайт http://download.eclipse.org/eclipse/downloads/
В разделе Latest Release  щелкнуть на нужный релиз, например 4.3.1
С открывшейся страницы пройти по ссылке Solaris Platform в правом верхнем углу.
Выбрать архитектуру Solaris 10 (x86/GTK 2)

Скачанный архив распаковать в нужный каталог, запустить исполняемый файл eclipse

41
В oi_151.1.8 настройка переключения раскладки может выполняться существенно проще - через GUI.
В меню GNOME: Система/Параметры/Клавиатура
На вкладке Layouts добавить русскую раскладку
В окне, которое откроется по кнопке "Options..." выбрать сочетание клавиш для переключения раскладки.
Текущая раскладка будет отображаться в правом верхнем углу

42
OpenIndiana / Установка OpenIndiana на SSD
« : Январь 03, 2014, 02:15:53 pm »
Чтобы сократить количество записей на SSD
1. домашний каталог и своп разместить на обычный жесткий диск.
Скопировать в /export/home/keremet файлы .bashrc и .profile из исходного домашнего каталога

sudo zfs create -V 4G oldhdd/swap

Добавить в /etc/vfstab строку
/dev/zvol/dsk/oldhdd/swap       -               -               swap    -       no      -

Удалить строку про своп на SSD.

$ zfs list
NAME                       USED  AVAIL  REFER  MOUNTPOINT
oldhdd                    6,14G   137G    32K  legacy
oldhdd/export             2,01G   137G    32K  /export
oldhdd/export/home        2,01G   137G    33K  /export/home
oldhdd/export/home/keremet  2,01G   137G  2,01G  /export/home/keremet
oldhdd/swap               4,13G   141G    16K  -
rpool                     7,24G  21,8G  45,5K  /rpool
rpool/ROOT                3,26G  21,8G    31K  legacy
rpool/ROOT/openindiana    3,26G  21,8G  3,13G  /
rpool/dump                3,94G  21,8G  3,94G  -
rpool/export              36,2M  21,8G    32K  legacy
rpool/export/home         36,2M  21,8G    33K  legacy
rpool/export/home/keremet   36,2M  21,8G  36,2M  legacy

sudo zfs set atime=off rpool
sudo zfs set atime=off rpool/ROOT
sudo zfs set atime=off rpool/ROOT/openindiana
sudo zfs set atime=off oldhdd/export
sudo zfs set atime=off oldhdd/export/home
sudo zfs set atime=off oldhdd/export/home/keremet

43
OpenIndiana / Настройка https
« : Октябрь 28, 2013, 01:35:31 pm »
svcadm disable apache22
svccfg -s apache22 setprop httpd/ssl = boolean: 'true'

cd /etc/apache2/2.2/
sudo openssl req -new -x509 -out server.crt -keyout server.key

Будут созданы 2 файла: server.crt и server.key, защищенные парольной фразой

Убрать парольную фразу:
sudo cp server.key{,.orig}
sudo openssl rsa -in server.key.orig -out server.key
sudo rm server.key.orig

Скопировать образцовый конфигурационный файл в каталог, откуда эти файлы подгружаются для использования
sudo cp /etc/apache2/2.2/samples-conf.d/ssl.conf /etc/apache2/2.2/conf.d/

svcadm enable apache22

Настройки DocumentRoot должны совпадать в /etc/apache2/2.2/httpd.conf и /etc/apache2/2.2/conf.d/ssl.conf
Для запрета http в httpd.conf должен быть убрать параметр Listen

44
OpenIndiana / Re: Подключение к Oracle
« : Октябрь 18, 2013, 05:16:57 pm »
Настройка Apache+PHP

1. скачать Oracle instantclient
basic-10.2.0.5.0-solaris-x86.zip      jdbc-10.2.0.5.0-solaris-x86.zip  sqlplus-10.2.0.5.0-solaris-x86.zip
basiclite-10.2.0.5.0-solaris-x86.zip  sdk-10.2.0.5.0-solaris-x86.zip

2.Скомпилить PHP с поддержкой Apache и Oracle
ln -s /home/keremet/oracle/instantclient_10_2//libclntsh.so.10.1 /home/keremet/oracle/instantclient_10_2//libclntsh.so
export LD_LIBRARY_PATH=/home/keremet/oracle/instantclient_10_2/
keremet@openindiana:~/oracle/instantclient_10_2$ sudo cp *.so /usr/lib/
pkg install pkg:/compatibility/ucb
checking for known struct flock definition... configure: error: Don't know how to define struct flock on this system, set --enable-opcache=no
tar xf php-5.5.4.tar.bz2
cd php-5.5.4
CFLAGS="-O2" CPPFLAGS="-O2" ./configure --with-apxs2 -with-oci8=instantclient,/home/keremet/oracle/instantclient_10_2/ --enable-opcache=no


keremet@openindiana:~/compile/php-5.5.4$ make
/bin/sh /home/keremet/compile/php-5.5.4/libtool --silent --preserve-dup-deps --mode=compile cc  -DSSL_EXPERIMENTAL -DSSL_ENGINE -I/usr/apache2/2.2/include  -DSOLARIS2=11 -D_POSIX_PTHREAD_SEMANTICS -mt -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/apr/1.3/include   -I/usr/apr-util/1.3/include -I/usr/include -Isapi/apache2handler/ -I/home/keremet/compile/php-5.5.4/sapi/apache2handler/ -DPHP_ATOM_INC -I/home/keremet/compile/php-5.5.4/include -I/home/keremet/compile/php-5.5.4/main -I/home/keremet/compile/php-5.5.4 -I/home/keremet/compile/php-5.5.4/ext/date/lib -I/home/keremet/compile/php-5.5.4/ext/ereg/regex -I/usr/include/libxml2 -I/home/keremet/oracle/instantclient_10_2//sdk/include -I/home/keremet/compile/php-5.5.4/ext/sqlite3/libsqlite -I/home/keremet/compile/php-5.5.4/TSRM -I/home/keremet/compile/php-5.5.4/Zend  -O2 -D_POSIX_PTHREAD_SEMANTICS  -I/usr/include -O2   -c /home/keremet/compile/php-5.5.4/sapi/apache2handler/mod_php5.c -o sapi/apache2handler/mod_php5.lo
cc1: error: invalid option `t'
make: *** [sapi/apache2handler/mod_php5.lo] Ошибка 1

Убрать -mt. Ниже 4 скорректированных команды
keremet@openindiana:~/compile/php-5.5.4$
/bin/sh /home/keremet/compile/php-5.5.4/libtool --silent --preserve-dup-deps --mode=compile cc  -DSSL_EXPERIMENTAL -DSSL_ENGINE -I/usr/apache2/2.2/include  -DSOLARIS2=11 -D_POSIX_PTHREAD_SEMANTICS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/apr/1.3/include   -I/usr/apr-util/1.3/include -I/usr/include -Isapi/apache2handler/ -I/home/keremet/compile/php-5.5.4/sapi/apache2handler/ -DPHP_ATOM_INC -I/home/keremet/compile/php-5.5.4/include -I/home/keremet/compile/php-5.5.4/main -I/home/keremet/compile/php-5.5.4 -I/home/keremet/compile/php-5.5.4/ext/date/lib -I/home/keremet/compile/php-5.5.4/ext/ereg/regex -I/usr/include/libxml2 -I/home/keremet/oracle/instantclient_10_2//sdk/include -I/home/keremet/compile/php-5.5.4/ext/sqlite3/libsqlite -I/home/keremet/compile/php-5.5.4/TSRM -I/home/keremet/compile/php-5.5.4/Zend  -O2 -D_POSIX_PTHREAD_SEMANTICS  -I/usr/include -O2   -c /home/keremet/compile/php-5.5.4/sapi/apache2handler/mod_php5.c -o sapi/apache2handler/mod_php5.lo

/bin/sh /home/keremet/compile/php-5.5.4/libtool --silent --preserve-dup-deps --mode=compile cc  -DSSL_EXPERIMENTAL -DSSL_ENGINE -I/usr/apache2/2.2/include  -DSOLARIS2=11 -D_POSIX_PTHREAD_SEMANTICS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/apr/1.3/include   -I/usr/apr-util/1.3/include -I/usr/include -Isapi/apache2handler/ -I/home/keremet/compile/php-5.5.4/sapi/apache2handler/ -DPHP_ATOM_INC -I/home/keremet/compile/php-5.5.4/include -I/home/keremet/compile/php-5.5.4/main -I/home/keremet/compile/php-5.5.4 -I/home/keremet/compile/php-5.5.4/ext/date/lib -I/home/keremet/compile/php-5.5.4/ext/ereg/regex -I/usr/include/libxml2 -I/home/keremet/oracle/instantclient_10_2//sdk/include -I/home/keremet/compile/php-5.5.4/ext/sqlite3/libsqlite -I/home/keremet/compile/php-5.5.4/TSRM -I/home/keremet/compile/php-5.5.4/Zend  -O2 -D_POSIX_PTHREAD_SEMANTICS  -I/usr/include -O2   -c /home/keremet/compile/php-5.5.4/sapi/apache2handler/sapi_apache2.c -o sapi/apache2handler/sapi_apache2.lo



/bin/sh /home/keremet/compile/php-5.5.4/libtool --silent --preserve-dup-deps --mode=compile cc  -DSSL_EXPERIMENTAL -DSSL_ENGINE -I/usr/apache2/2.2/include  -DSOLARIS2=11 -D_POSIX_PTHREAD_SEMANTICS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/apr/1.3/include   -I/usr/apr-util/1.3/include -I/usr/include -Isapi/apache2handler/ -I/home/keremet/compile/php-5.5.4/sapi/apache2handler/ -DPHP_ATOM_INC -I/home/keremet/compile/php-5.5.4/include -I/home/keremet/compile/php-5.5.4/main -I/home/keremet/compile/php-5.5.4 -I/home/keremet/compile/php-5.5.4/ext/date/lib -I/home/keremet/compile/php-5.5.4/ext/ereg/regex -I/usr/include/libxml2 -I/home/keremet/oracle/instantclient_10_2//sdk/include -I/home/keremet/compile/php-5.5.4/ext/sqlite3/libsqlite -I/home/keremet/compile/php-5.5.4/TSRM -I/home/keremet/compile/php-5.5.4/Zend  -O2 -D_POSIX_PTHREAD_SEMANTICS  -I/usr/include -O2   -c /home/keremet/compile/php-5.5.4/sapi/apache2handler/apache_config.c -o sapi/apache2handler/apache_config.lo


/bin/sh /home/keremet/compile/php-5.5.4/libtool --silent --preserve-dup-deps --mode=compile cc  -DSSL_EXPERIMENTAL -DSSL_ENGINE -I/usr/apache2/2.2/include  -DSOLARIS2=11 -D_POSIX_PTHREAD_SEMANTICS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/apr/1.3/include   -I/usr/apr-util/1.3/include -I/usr/include -Isapi/apache2handler/ -I/home/keremet/compile/php-5.5.4/sapi/apache2handler/ -DPHP_ATOM_INC -I/home/keremet/compile/php-5.5.4/include -I/home/keremet/compile/php-5.5.4/main -I/home/keremet/compile/php-5.5.4 -I/home/keremet/compile/php-5.5.4/ext/date/lib -I/home/keremet/compile/php-5.5.4/ext/ereg/regex -I/usr/include/libxml2 -I/home/keremet/oracle/instantclient_10_2//sdk/include -I/home/keremet/compile/php-5.5.4/ext/sqlite3/libsqlite -I/home/keremet/compile/php-5.5.4/TSRM -I/home/keremet/compile/php-5.5.4/Zend  -O2 -D_POSIX_PTHREAD_SEMANTICS  -I/usr/include -O2   -c /home/keremet/compile/php-5.5.4/sapi/apache2handler/php_functions.c -o sapi/apache2handler/php_functions.lo


sudo make install

Вот модуль для апача: /usr/apache2/2.2/libexec/libphp5.so
Поставится и заменит текущий автоматически

Заполнить /var/opt/oracle/tnsnames.ora

Скрипт для проверки
<?php
//Должна быть версия 5.5.4
echo 'Текущая версия PHP: ' . phpversion();

// Выводит строку типа '2.0' или ничего, если расширение не подключено
echo phpversion('tidy');
if ($c=OCILogon("user", "passwd", "tnsname")) {
  echo "Successfully connected to Oracle.\n";
  OCILogoff($c);
} else {
  $err = OCIError();
  echo "Oracle Connect Error " . $err[text];
}

?>

Для корректного отображения русских букв надо написать в php-коде:
      putenv("NLS_LANG=AMERICAN_AMERICA.UTF8");
      putenv("LANG=ru_RU.UTF-8");

45
OpenIndiana / Подключение к Oracle
« : Октябрь 15, 2013, 06:01:07 pm »
Скачать Instant Client  нужной версии (http://www.oracle.com/technetwork/topics/solx86soft-092689.html)
В моем случае: basic-10.2.0.5.0-solaris-x86.zip, sqlplus-10.2.0.5.0-solaris-x86.zip, basiclite-10.2.0.5.0-solaris-x86.zip, jdbc-10.2.0.5.0-solaris-x86.zip, sdk-10.2.0.5.0-solaris-x86.zip
Распаковать все архивы в один каталог (например, /home/keremet/oracle/instantclient_10_2).
Заполнить файл ~/.tnsnames.ora

Первые 2 переменные, чтобы нормально отображались русские буквы

export NLS_LANG=AMERICAN_AMERICA.UTF8
export LANG=ru_RU.UTF-8
export LD_LIBRARY_PATH=/home/keremet/oracle/instantclient_10_2
/home/keremet/oracle/instantclient_10_2/sqlplus user/passwd@server

Страницы: 1 2 [3] 4 5 ... 31