php-compile.sh 1.6 KB

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