[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Gallery/ImageMagick/NetPBM req'd files in chroot? [RESOLVED]



Dear Misc@,

Thanks to everyone for the kind help and suggestions on fixing the chroot problem. I now have Gallery working within the chroot. I've polished up the script that I threw together to setup the chroot environment. Maybe someone else will find this useful...

=======================================================


#!/bin/sh # # [ gallery-openbsd-chroot-install ] # # ------------------------------------------------------------------------ # Copyright (c) 2005 Nick G Holmes <nick_g_holmes_(_at_)_hotmail_(_dot_)_com> # # Permission to use, copy, modify, and distribute this software for any # purpose with or without fee is hereby granted, provided that the above # copyright notice and this permission notice appear in all copies. # # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. # ------------------------------------------------------------------------ # # 1.0 03-Apr-2005 NGH First release # # # OVERVIEW # ======== # This script copies the necessary files from the true root # to Apache's chroot'd environment. Script creates needed # directories. # # Test Environment: # * OpenBSD_3.6-RELEASE (sparc) # - All errata up to 01 April 2005 # * SparcStation 20 (Ross 180MHz CPU, 256MB RAM) # * Gallery 1.4.4-pl6 # * PHP 4.3.8 # * ImageMagick 6 # * NetPBM 9.24 # * jhead 2.2 # # INSTALLING A CHROOT'D GALLERY # ============================= # # 01 pkg_add (ftpserver)/php4-core-4.3.8.tgz # * FOLLOW INSTRUCTIONS TO SETUP PHP.INI AND HTTPD.CONF!!! # 02 pkg_add (ftpserver)/ImageMagick-6.0.0-2-no_x11.tgz # 03 pkg_add (ftpserver)/netpbm-9.24p1.tgz # 04 pkg_add (ftpserver)/jhead-2.2.tgz # 05 Download gallery and tar xfz the file into htdocs # 06 mkdir -p /var/www/htdocs/albums # 07 chown www:www /var/www/htdocs/albums # 08 chmod 755 /var/www/htdocs/albums # 09 NOW RUN THIS SCRIPT # 10 Using your web browser, follow the gallery setup procedure # - Don't forget temp directory is /tmp as it will be chroot! # 11 After it's all working, run /var/www/htdocs/gallery/secure.sh # # # A FINAL NOTE # ============ # This script worked for me. It might not work for you. Mileage may vary. # My scripting isn't so hot, so the below is probably very basic looking. # If you spot any errors, please e-mail me. # # My thanks goes out to: # * Bruno Rohee.........(Suggestions on libraries) # * Stuart Henderson....(advice on using ldd) # * Daniel Polak........(Help with files I missed) # * And everyone else on the OpenBSD misc@ mailing list # # =============================================== # echo '== Gallery chroot Copy Tool ==' mkdir -p /var/www/tmp chmod -R 777 /var/www/tmp touch /var/www/htdocs/gallery/config.php chmod 0777 /var/www/htdocs/gallery/config.php touch /var/www/htdocs/gallery/.htaccess chmod 0777 /var/www/htdocs/gallery/.htaccess mkdir -p /var/www/bin mkdir -p /var/www/var/run mkdir -p /var/www/usr/lib mkdir -p /var/www/usr/libexec mkdir -p /var/www/usr/local/bin mkdir -p /var/www/usr/local/lib mkdir -p /var/www/usr/local/lib/pkgconfig mkdir -p /var/www/usr/local/lib/ImageMagick-6.0.0/config mkdir -p /var/www/usr/local/include mkdir -p /var/www/usr/local/include/libexif mkdir -p /var/www/usr/local/include/jasper mkdir -p /var/www/usr/local/include/wand mkdir -p /var/www/usr/local/include/magick mkdir -p /var/www/usr/local/include/Magick++ mkdir -p /var/www/usr/local/include/libpng mkdir -p /var/www/usr/local/share/netpbm mkdir -p /var/www/usr/local/share/ImageMagick-6.0.0 mkdir -p /var/www/usr/local/share/doc/png # # # # Mirror libs to chroot jail # -------------------------- echo 'Copying library files...' cp /usr/lib/libc.so.34.1 /var/www/usr/lib cp /usr/lib/libm.so.2.0 /var/www/usr/lib cp /usr/lib/libz.so.4.0 /var/www/usr/lib cp /usr/libexec/ld.so /var/www/usr/libexec cp /usr/local/lib/libjpeg.so.62.0 /var/www/usr/local/lib cp /usr/local/lib/libpbm.so.1.0 /var/www/usr/local/lib cp /usr/local/lib/libpgm.so.1.0 /var/www/usr/local/lib cp /usr/local/lib/libpng.so.4.0 /var/www/usr/local/lib cp /usr/local/lib/libpnm.so.1.0 /var/www/usr/local/lib cp /usr/local/lib/libppm.so.1.0 /var/www/usr/local/lib cp /usr/local/lib/libtiff.so.36.1 /var/www/usr/local/lib cp /usr/local/lib/libbz2.so.10.2 /var/www/usr/local/lib cp /usr/local/lib/libxml2.so.8.11 /var/www/usr/local/lib cp /usr/local/lib/libiconv.so.4.0 /var/www/usr/local/lib cp /usr/local/lib/libjasper.so.1.0 /var/www/usr/local/lib cp /var/run/ld.so.hints /var/www/var/run # # Mirror sh to chroot jail # ------------------------ echo 'Copying shell files...' cd /var/www/bin cp /bin/sh . # # Mirror ImageMagick to chroot jail # --------------------------------- echo 'Copying ImageMagick files...' cd /var/www/usr/local/bin cp /usr/local/bin/Magick++-config . cp /usr/local/bin/Magick-config . cp /usr/local/bin/Wand-config . cp /usr/local/bin/compare . cp /usr/local/bin/composite . cp /usr/local/bin/conjure . cp /usr/local/bin/convert . cp /usr/local/bin/identify . cp /usr/local/bin/mogrify . cp /usr/local/bin/montage . cd /var/www/usr/local/include cp /usr/local/include/Magick++.h . cd /var/www/usr/local/include/Magick++ cp /usr/local/include/Magick++/* . cd /var/www/usr/local/include/magick cp /usr/local/include/magick/* . cd /var/www/usr/local/include/wand/ cp /usr/local/include/wand/* . cd /var/www/usr/local/lib/ImageMagick-6.0.0/config cp /usr/local/lib/ImageMagick-6.0.0/config/* . cd /var/www/usr/local/lib cp /usr/local/lib/libMagick++.a . cp /usr/local/lib/libMagick++.la . cp /usr/local/lib/libMagick.a . cp /usr/local/lib/libMagick.la . cp /usr/local/lib/libWand.a . cp /usr/local/lib/libWand.la . cp /usr/local/lib/libMagick++.so.6.1 . cp /usr/local/lib/libMagick.so.6.1 . cp /usr/local/lib/libWand.so.6.1 . cd /var/www/usr/local/lib/pkgconfig cp /usr/local/lib/pkgconfig/ImageMagick++.pc . cp /usr/local/lib/pkgconfig/ImageMagick.pc . cp /usr/local/lib/pkgconfig/Wand.pc . cd /var/www/usr/local/share/ImageMagick-6.0.0 cp -R /usr/local/share/ImageMagick-6.0.0/* . # # Mirror jasper to chroot jail # ---------------------------- echo 'Copying jasper files...' cd /var/www/usr/local/bin/ cp /usr/local/bin/imgcmp . cp /usr/local/bin/imginfo . cp /usr/local/bin/jasper . cd /var/www/usr/local/include/jasper cp /usr/local/include/jasper/* . cd /var/www/usr/local/lib cp /usr/local/lib/libjasper.a . cp /usr/local/lib/libjasper.la . cp /usr/local/lib/libjasper.so.1.0 . # # Mirror jbigkit to chroot jail # ----------------------------- echo 'Copying jbigkit files...' cd /var/www/usr/local/include cp /usr/local/include/jbig.h . cd /var/www/usr/local/bin cp /usr/local/bin/pbmtojbg . cp /usr/local/bin/jbgtopbm . cd /var/www/usr/local/lib cp /usr/local/lib/libjbig.a . cp /usr/local/lib/libjbig.so.1.2 . # # Mirror jpeg to chroot jail # -------------------------- echo 'Copying jpeg files...' cd /var/www/usr/local/bin cp /usr/local/bin/icc2ps . cp /usr/local/bin/icclink . cp /usr/local/bin/icctrans . cp /usr/local/bin/jpegicc . cp /usr/local/bin/tifficc . cp /usr/local/bin/wtpt . cd /var/www/usr/local/include cp /usr/local/include/icc34.h . cp /usr/local/include/lcms.h . cd /var/www/usr/local/lib cp /usr/local/lib/liblcms.a . cp /usr/local/lib/liblcms.la . cp /usr/local/lib/liblcms.so.1.12 . # # Mirror libexif to chroot jail # ----------------------------- echo 'Copying libexif files...' cd /var/www/usr/local/include/libexif cp /usr/local/include/libexif/* . cd /var/www/usr/local/lib cp /usr/local/lib/libexif.a . cp /usr/local/lib/libexif.la . cp /usr/local/lib/libexif.so.8.0 . cd /var/www/usr/local/lib/pkgconfig cp /usr/local/lib/pkgconfig/libexif.pc . # # Mirror mpeg-lib to chroot jail # ------------------------------ echo 'Copying mpeg-lib files...' cd /var/www/usr/local/include cp /usr/local/include/mpeg.h . cd /var/www/usr/local/lib cp /usr/local/lib/libmpeg.a . cp /usr/local/lib/libmpeg.so.13.1 . # # Mirror netpbm to chroot jail # ---------------------------- echo 'Copying netpbm files...' cd /var/www/usr/local/bin cp /usr/local/bin/*ppm* . cp /usr/local/bin/*pnm* . cp /usr/local/bin/*pgm* . cp /usr/local/bin/*pbm* . cp /usr/local/bin/*pam* . cp /usr/local/bin/*pcd* . cd /var/www/usr/local/include cp /usr/local/include/pam.h . cp /usr/local/include/pammap.h . cp /usr/local/include/pbm.h . cp /usr/local/include/pgm.h . cp /usr/local/include/pm.h . cp /usr/local/include/pm_config.h . cp /usr/local/include/pm_shhopt.h . cp /usr/local/include/pnm.h . cp /usr/local/include/ppm.h . cp /usr/local/include/ppmcmap.h . cp /usr/local/include/ppmdraw.h . cp /usr/local/include/ppmfloyd.h . cd /var/www/usr/local/lib cp /usr/local/lib/libpbm.a . cp /usr/local/lib/libpgm.a . cp /usr/local/lib/libpnm.a . cp /usr/local/lib/libppm.a . cp /usr/local/lib/libpbm.so.1.0 . cp /usr/local/lib/libpgm.so.1.0 . cp /usr/local/lib/libpnm.so.1.0 . cp /usr/local/lib/libppm.so.1.0 . cd /var/www/usr/local/share/netpbm cp /usr/local/share/netpbm/* . # # Mirror png to chroot jail # ------------------------- echo 'Copying png files...' cd /var/www/usr/local/bin cp /usr/local/bin/libpng-config . cd /var/www/usr/local/include/libpng cp /usr/local/include/libpng/* . cd /var/www/usr/local/share/doc/png cp /usr/local/share/doc/png/* . cd /var/www/usr/local/lib cp /usr/local/lib/libpng.a . cp /usr/local/lib/libpng.so.4.0 . # # Mirror tiff to chroot jail # -------------------------- echo 'Copying tiff files...' cd /var/www/usr/local/bin cp /usr/local/bin/fax2ps . cp /usr/local/bin/*tiff* . cp /usr/local/bin/pal2rgb . cp /usr/local/bin/rgb2ycbcr . cp /usr/local/bin/thumbnail . cd /var/www/usr/local/include cp /usr/local/include/*tiff* . cd /var/www/usr/local/lib cp /usr/local/lib/libtiff.a . cp /usr/local/lib/libtiff.so.36.1 . # # Mirror jhead to chroot jail # --------------------------- echo 'Copying jhead files...' cd /var/www/usr/local/bin cp /usr/local/bin/jhead . # # Mirror jpegtran to chroot jail # ------------------------------ echo 'Copying jpegtran files...' cd /var/www/usr/local/bin cp /usr/local/bin/jpegtran . # echo 'Setting permissions on chroot jail...' chmod -R 755 /var/www/usr cd /var/www echo 'Complete.'

_________________________________________________________________
It's fast, it's easy and it's free. Get MSN Messenger today! http://www.msn.co.uk/messenger




Visit your host, monkey.org