Linux за българи: Форуми

Linux секция за начинаещи => Настройка на програми => Темата е започната от: runtime в May 23, 2012, 20:22



Титла: lighttpd + php5-cgi + jail
Публикувано от: runtime в May 23, 2012, 20:22
Здравейте,
пуснах един http сървър с lighttpd и го вкарах в chroot но създавам един сокет за връзка с един сървър, а за жалост нещо взе да ми връща грешка защото е в затвора :)

PHP Notice:  Can't create socket [localhost:1234], errno: 0, error: Success in /var/www/classes/FAConn.class.php on line 214

Въпроса ми е коя библиотека или кое трябва да вкарам в jail-a за да създаде сокета? Чета из нета ама не намирам работещ вариант.


Титла: Re: lighttpd + php5-cgi + jail
Публикувано от: ntrance в May 23, 2012, 21:20
Здравейте,
пуснах един http сървър с lighttpd и го вкарах в chroot но създавам един сокет за връзка с един сървър, а за жалост нещо взе да ми връща грешка защото е в затвора :)

PHP Notice:  Can't create socket [localhost:1234], errno: 0, error: Success in /var/www/classes/FAConn.class.php on line 214

Въпроса ми е коя библиотека или кое трябва да вкарам в jail-a за да създаде сокета? Чета из нета ама не намирам работещ вариант.



Как го стартираш ?


Титла: Re: lighttpd + php5-cgi + jail
Публикувано от: runtime в May 23, 2012, 21:27
Цитат
apt-get install lighttpd php5-cgi php5-cli
mkdir /webroot
mkdir /webroot/tmp/
chmod 1777 /webroot/tmp/
mkdir /webroot/etc
mkdir -p /webroot/var/log/lighttpd
chown www-data:www-data /webroot/var/log/lighttpd
mkdir -p /webroot/var/tmp/lighttpd/cache/compress/
chown www-data:www-data /webroot/var/tmp/lighttpd/cache/compress/
mkdir -p /webroot/home/lighttpd
chown www-data:www-data /webroot/home/lighttpd
chmod 0700 /webroot/home/lighttpd
ls -dl /webroot/home/lighttpd
l2chroot
mkdir -p /webroot/usr/bin
cp /usr/bin/php5-cgi /webroot/usr/bin/
cp /usr/bin/php-cgi /webroot/usr/bin/
cp -avr /etc/php5 /webroot/etc/
cp /etc/hosts /webroot/etc/
cp /etc/nsswitch.conf /webroot/etc/
cp /etc/resolv.conf /webroot/etc/
cp /etc/services /webroot/etc/
cp /etc/localtime /webroot/etc/
./l2chroot /usr/bin/php5-cgi
./l2chroot /usr/bin/php-cgi
cp /lib/ld-linux.so.2 /webroot/lib
lighty-enable-mod fastcgi
echo server.chroot = '"/webroot"' >> /etc/lighttpd/lighttpd.conf
mkdir /webroot/var/www
cp -R /var/www/ /webroot/var
mkdir /webroot/var/cache
mkdir /webroot/var/cache/lighttpd
mkdir /webroot/var/cache/lighttpd/compress
mkdir /webroot/var/lib
mkdir /webroot/var/lib/php5
chown www-data:www-data /webroot/var/lib/php5
mkdir /webroot/usr/share
mkdir /webroot/usr/share/zoneinfo/
cp -fR /usr/share/zoneinfo/* /webroot/usr/share/zoneinfo/

/etc/init.d/lighttpd start



Като предполагам те вълнуват тези два реда само:

echo server.chroot = '"/webroot"' >> /etc/lighttpd/lighttpd.conf
/etc/init.d/lighttpd start


Стартира успешно и си виждам индекса, но не може да създаде сокет връзка.


Титла: Re: lighttpd + php5-cgi + jail
Публикувано от: dejuren в May 24, 2012, 02:33
Код:
strace /etc/init.d/lighttpd start
така ще видиш какво му липсва.


Титла: Re: lighttpd + php5-cgi + jail
Публикувано от: runtime в May 24, 2012, 12:53
Той стартира, проблема е, че php не може да създаде сокет със функцията socket_create. Точно тя ми връща грешка. Предполагам не може да извика някоя библиотека,но за жалост само мога да гадая защото в лога не ми влиза нищо, което да върши работа за да ме насочи.


Титла: Re: lighttpd + php5-cgi + jail
Публикувано от: zeridon в May 25, 2012, 11:27
Провери къде се създава сокета. Много вероятно е да е във /var/run или подобна директория която ти липсва в chroot-а


Титла: Re: lighttpd + php5-cgi + jail
Публикувано от: runtime в May 25, 2012, 13:21
Не ще и не ще... Май ще взема да се откажа "за сега"   [_]3

Рекурсивно изкопирах в chroot-a
/etc
/bin
/usr
/var
/lib
/tmp
и всевъзможни още комбинации и не иска да създава сокет и не иска :)
Махна ли го от chroot всичко си върви.