Strona 1 z 1

Chroot Apache Mysql joomla

: 24 marca 2010, 20:00
autor: declerc
Witam.
Do Apache2 uruchomiłem: libapache2-mod-chroot, chroota zamknąłem w /var/www. i to działa.

Ale jako że używam joomla, która korzysta z mysql to pojawił się problem z dostępem do mysqla.
Wiem, że trzeba do jaila przenieść interpreter i biblioteki tylko, że nie do końca wiem, który interpreter mysqla (i czy z całymi ścieżkami).

N. dla mysqld mam takie biblioteki:

Kod: Zaznacz cały

sudo ldd /usr/sbin/mysqld
        linux-vdso.so.1 =>  (0x00007fff10ea5000)
        librt.so.1 => /lib/librt.so.1 (0x00007fa974444000)
        libz.so.1 => /usr/lib/libz.so.1 (0x00007fa97422d000)
        libwrap.so.0 => /lib/libwrap.so.0 (0x00007fa974024000)
        libdl.so.2 => /lib/libdl.so.2 (0x00007fa973e20000)
        libpthread.so.0 => /lib/libpthread.so.0 (0x00007fa973c04000)
        libcrypt.so.1 => /lib/libcrypt.so.1 (0x00007fa9739cc000)
        libnsl.so.1 => /lib/libnsl.so.1 (0x00007fa9737b4000)
        libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007fa9734a8000)
        libm.so.6 => /lib/libm.so.6 (0x00007fa973225000)
        libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00007fa97300e000)
        libc.so.6 => /lib/libc.so.6 (0x00007fa972cbb000)
        /lib64/ld-linux-x86-64.so.2 (0x00007fa97464d000)
Tylko nie wiem, czy to to czy np.:

Kod: Zaznacz cały

-rwxr-xr-x 1 root root   91608 lut 13 13:46 /usr/bin/mysql
Informacje apacha:

Kod: Zaznacz cały

Apache/2.2.9 (Debian) PHP/5.2.6-1+lenny8 with Suhosin-Patch mod_chroot/0.5 configured

: 24 marca 2010, 20:41
autor: db
Hej! MySQL nie ma interpretera. Pierwsze, to po prostu demon bazy danych, drugie to klient. Potrzebne Ci libmysqlclient.so.*.Dodatkowo musisz mieć podlinkowane gniazdo do bazy danych (lokalizację znajdziesz w /etc/mysql/my.cnf).

: 24 marca 2010, 22:24
autor: declerc
Jako że Debiana mam od tygodnia to napiszę co i jak robiłem żeby znający się na rzeczy mogli wychwycić ewentualne błędy usunąć.

W jailu /var/www/, podlinkowałem gniazdo do bazy:

Kod: Zaznacz cały

sudo mkdir -p /var/www/var/run/mysqld/  
 cd /var/www/var/run/mysqld
 sudo ln -s /var/run/mysqld/mysqld.sock
Udostępniłem lib. w jailu :

Kod: Zaznacz cały

mkdir /var/www/usr/lib/
 cd /usr/lib/
 sudo cp libmysqlclient.so* /var/www/var/usr/lib/
W katalogu /var/www/var/usr/lib/ uzyskałem:

Kod: Zaznacz cały

lrwxrwxrwx 1 root root      26 mar 24 21:59 libmysqlclient_r.so.15 -> libmysqlclient_r.so.15.0.0
-rw-r--r-- 1 root root 2147984 lut 13 13:46 libmysqlclient_r.so.15.0.0
lrwxrwxrwx 1 root root      24 mar 24 21:59 libmysqlclient.so.15 -> libmysqlclient.so.15.0.0
-rw-r--r-- 1 root root 2138416 lut 13 13:46 libmysqlclient.so.15.0.0
Nadal z joomla otrzymuję:

Kod: Zaznacz cały

Database Error: Unable to connect to the database:Could not connect to  MySQL

: 24 marca 2010, 23:12
autor: db
Zobacz, ręcznie, czy połączenie jest możliwe i jak usiłuje łączyć się Joomla. Może łączy się po TCP? Błąd, który dostajesz jest troszkę zbyt enigmatyczny.

: 25 marca 2010, 09:37
autor: declerc
już nie mam błędu mysql tylko apache wyświetla:

Kod: Zaznacz cały

Restarting web server: apache2(98)Address already in use: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
Unable to open logs