php-compile.sh 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. #!/bin/bash
  2. MAIN_DIR=$(pwd)
  3. # Install dependencies
  4. sudo apt-get update -y
  5. sudo apt-get install -y zip unzip git ibgmp-dev gmp-dev pkg-config build-essential dpkg-dev debhelper autotools-dev libgeoip-dev libssl-dev libpcre3-dev zlib1g-dev
  6. sudo apt-get install -y libonig-dev
  7. sudo apt-get install -y libzip-dev
  8. sudo apt-get install -y openssl
  9. sudo apt-get install -y libsqlite3-dev
  10. sudo apt-get install -y libxml2-dev
  11. sudo apt-get install -y libcurl4-openssl-dev
  12. # Download PHP source
  13. wget http://de2.php.net/distributions/php-8.2.0.tar.gz
  14. tar -zxvf php-8.2.0.tar.gz
  15. cd php-8.2.0
  16. # Configure PHP
  17. sudo ./configure --prefix=/usr/local/phyre/php \
  18. --enable-fpm --with-fpm-user=admin --with-fpm-group=admin \
  19. --with-openssl \
  20. --with-mysqli \
  21. --with-gettext \
  22. --with-curl \
  23. --with-zip \
  24. --enable-mbstring \
  25. --with-libdir=lib/$(arch)-linux-gnu
  26. # Compile PHP
  27. sudo make
  28. sudo make install
  29. PACKAGE_MAIN_DIR=$MAIN_DIR/phyre-php-8.2.0
  30. sudo mkdir $PACKAGE_MAIN_DIR
  31. # Create debian package directories
  32. sudo mkdir -p $PACKAGE_MAIN_DIR/DEBIAN
  33. sudo mkdir -p $PACKAGE_MAIN_DIR/usr/local/phyre
  34. # Copy php compiled files
  35. sudo mv /usr/local/phyre/php $PACKAGE_MAIN_DIR/usr/local/phyre
  36. sudo cp $MAIN_DIR/php-fpm.conf $PACKAGE_MAIN_DIR/usr/local/phyre/php/etc
  37. # Copy debian package META file
  38. sudo cp $MAIN_DIR/control $PACKAGE_MAIN_DIR/DEBIAN
  39. sudo cp $MAIN_DIR/postinst $PACKAGE_MAIN_DIR/DEBIAN
  40. sudo cp $MAIN_DIR/postrm $PACKAGE_MAIN_DIR/DEBIAN
  41. # Set debian package post files permissions
  42. sudo chmod +x $PACKAGE_MAIN_DIR/DEBIAN/postinst
  43. sudo chmod +x $PACKAGE_MAIN_DIR/DEBIAN/postrm
  44. # Make debian package
  45. sudo dpkg-deb --build $PACKAGE_MAIN_DIR
  46. sudo dpkg --info $MAIN_DIR/phyre-php-8.2.0.deb
  47. sudo dpkg --contents $MAIN_DIR/phyre-php-8.2.0.deb
  48. # Move debian package to dist folder
  49. sudo mkdir -p $MAIN_DIR/dist
  50. sudo mv $MAIN_DIR/phyre-php-8.2.0.deb $MAIN_DIR/dist