Habe euch schon lange verprochen ein Tut zu chroot und xampp zu schreiben, nun habe ich es zusammen und bei mir funzt es so einwandfrei!
Bei mir ist SUSE 9.1 installiert.
- Code: Select all
Chroot Installation unter Suse 9.1
Version 4 by cola > economex
--------------------------->>>> Vorbeireitung einer Chroot umgebung
su
mkdir /opt/www
ln -s /opt/www /www
cd /www
mkdir -p usr/bin usr/lib lib etc tmp dev webhome opt
ln -s usr/bin bin
chmod 777 tmp
chmod +t tmp
mknod -m 666 dev/null c 1 3
mkdir -p usr/share/zoneinfo
cp -pi /usr/share/zoneinfo/MET usr/share/zoneinfo/
cd etc
ln -s ../usr/share/zoneinfo/MET localtime
cd ..
set |grep LANG
mkdir usr/share/locale
cp -a /usr/share/locale/SPRACHE usr/share/locale/
cp -pi /lib/libc.so.6 /lib/libdl.so.2 /lib/libpthread.so.0 /lib/ld-linux.so.2 /lib/libacl.so.1 /lib/libattr.so.1 /lib/libcrypt.so.1 /lib/libm.so.6 /lib/libnss_dns.so.2 /lib/libnss_files.so.2 /lib/librt.so.1 /lib/libselinux.so.1 /lib/libreadline.so.4 /lib/libhistory.so.4 /lib/libncurses.so.5 /lib/libresolv.so.2 /lib/libnsl.so.1 /lib/libpam.so.0 /lib/libz.so.1 lib/
cp -pi /usr/lib/libdb.so.3 /usr/lib/libtermcap.so.2 /usr/lib/libgdbm.so.2 usr/lib/
cp -pi /lib/libc.so.6 /www/opt/lampp/lib
cp -pi /bin/ls /bin/sh /bin/cat bin/
cp -R /usr/share/locale usr/share/
cp -R /usr/lib/locale usr/lib/
cp /etc/profile etc/
touch etc/profile.local
mkdir -p usr/lib/rep/ usr/lib/rep/0.16.2/ usr/lib/rep/0.16.2/i586-suse-linux/rep/ usr/lib/rep/0.16.2/i586-suse-linux/rep/i18n
cp -R /usr/lib/rep/0.16.2/i586-suse-linux/rep/i18n usr/lib/rep/0.16.2/i586-suse-linux/rep/i18n
mkdir -p usr/share/rep/ usr/share/rep/0.16.2/ usr/share/rep/0.16.2/lisp/ usr/share/rep/0.16.2/lisp/rep/ usr/share/rep/0.16.2/lisp/rep/i18n
cp -R /usr/share/rep/0.16.2/lisp/rep/i18n usr/share/rep/0.16.2/lisp/rep/i18n
cp -pi /bin/bash /bin/sleep /bin/grep /bin/netstat /bin/egrep /bin/sed /bin/touch /bin/chown /bin/date /bin/rm /bin/stty /bin/cp /bin/chmod /bin/hostname bin/
cp -pi /usr/bin/tee /usr/bin/expr /usr/bin/awk /usr/bin/ldd /usr/bin/tail /usr/bin/gawk /usr/bin/head /usr/bin/test /usr/bin/id usr/bin/
echo 'int main(int argc, char *argv[]) { return(1); }' > /tmp/False.c
cc -o /www/usr/bin/False /tmp/False.c
--------------------------->>>> Dateien Anlegen
# ---- Inhalt von /www/etc/passwd ----#
www:x:888:888:Web Account:/webhome:/usr/bin/False
nobody:x:999:999:Nobody User:/var/lib/nobody:/usr/bin/False
# ---- Inhalt von /www/etc/group ----#
www:x:888:
nobody:x:999:
# ---- Inhalt von etc/shadow ----#
www:*:10104:-1:99999:-1:-1:-1:134537804
nobody:*:10104:-1:99999:-1:-1:-1:134537804
# ---- Inhalt von /www/etc/nsswitch.conf ----#
passwd: files
shadow: files
group: files
hosts: files dns
# ---- Inhalt von /www/etc/resolv.conf ----#
## domain mit pcnamen -> mynet.home
domain pcname.domain
## nameserver angeben -> 212.40.0.10
nameserver dns_server
# ---- Inhalt von etc/hosts ----#
127.0.0.1 localhost loopback
# Beispiel -> 192.168.196.2 ns ns.mynet
ip pcname pcname.domain
--------------------------->>>> Rechte ändern
chmod 400 etc/shadow
chmod 111 usr/bin/*
--------------------------->>>> Testen von Chroot
chroot /www /bin/ls -l /
-> sollte alle daten aus /www auflisten!
chroot /www hostname
-> solle als Beispiel ns (pcname) ausgeben (gemäss hostname)
--------------------------->>>> Xampp Installieren
cd tmp/
wget http://mesh.dl.sourceforge.net/sourceforge/xampp/xampp-linux-1.4.9a.tar.gz
tar xvfz xampp-linux-1.4.9a.tar.gz -C /www/opt/
cd ..
joe opt/lampp/etc/httpd.conf --> Benutzername www Gruppe www
chroot /www chown -R www:www /opt/lampp/htdocs
#chroot /www chown -R www:www /opt/lampp/var/mysql/phpmyadmin/
---> Wichtig
-> Wenn MySQL nicht startet (gemäss /www/opt/lampp/var/mysql/error_file)
chroot /www chown -R nobody:nobody /opt/lampp/var/mysql/
--------------------------->>>> Security
chmod ugo-rw /www/opt/lampp/bin/*
chroot /www /opt/lampp/lampp security
--------------------------->>>> LAMP Starten
chroot /www /opt/lampp/lampp start
bei Fehlern oder Verbesserungen bitte posten!
Danke
gr. cola