123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146 |
- #!/bin/bash
- MAIN_DIR=$(pwd)
- sudo apt-get update -y && sudo apt-get upgrade -y
- # Build Essentials
- sudo apt-get install -y build-essential
- sudo apt-get install -y libsodium-dev
- sudo apt-get install -y libonig-dev
- # Install Dependencies
- sudo apt-get install -y \
- autoconf \
- re2c \
- bison \
- sqlite3 \
- libsqlite3-dev \
- libpq-dev \
- libfcgi-dev \
- libfcgi0ldbl \
- libjpeg-dev \
- libpng-dev \
- libssl-dev \
- libxml2-dev \
- libcurl4-openssl-dev \
- libxpm-dev \
- libgd-dev \
- libmysqlclient-dev \
- libfreetype6-dev \
- libxslt1-dev \
- libpspell-dev \
- libzip-dev \
- libicu-dev \
- libldap2-dev \
- libxslt-dev \
- libssl-dev \
- libldb-dev \
- libgccjit-10-dev \
- libargon2-dev \
- zlib1g-dev \
- binutils \
- libtool \
- bison \
- re2c \
- pkg-config \
- make \
- autoconf\
- automake
- sudo apt-get update -y
- # Download PHP source
- wget http://de2.php.net/distributions/php-8.2.0.tar.gz
- tar -zxvf php-8.2.0.tar.gz
- cd php-8.2.0
- # Configure PHP
- sudo make LIBDIR=/usr/lib/$(arch)-linux-gnu install
- ./buildconf --force
- sudo ./configure --prefix=/usr/local/phyre/php \
- --enable-fpm \
- --with-fpm-user=admin \
- --with-fpm-group=admin \
- --enable-phpdbg \
- --enable-fpm \
- --with-pdo-mysql=mysqlnd \
- --with-mysqli=mysqlnd \
- --with-pgsql \
- --with-pdo-pgsql \
- --with-pdo-sqlite \
- --enable-intl \
- --without-pear \
- --enable-gd \
- --with-jpeg \
- --with-webp \
- --with-freetype \
- --with-xpm \
- --enable-exif \
- --with-zip \
- --with-zlib \
- --enable-soap \
- --enable-xmlreader \
- --with-xsl \
- --with-tidy \
- --enable-sysvsem \
- --enable-sysvshm \
- --enable-shmop \
- --enable-pcntl \
- --with-readline \
- --enable-mbstring \
- --with-curl \
- --with-gettext \
- --enable-sockets \
- --with-bz2 \
- --with-openssl \
- --with-gmp \
- --enable-bcmath \
- --enable-calendar \
- --enable-ftp \
- --with-enchant=/usr \
- --enable-sysvmsg \
- --with-ffi \
- --with-sodium \
- --enable-zend-test=shared \
- --enable-dl-test=shared \
- --enable-werror \
- --with-pear \
- --with-libdir=lib/$(arch)-linux-gnu
- # Compile PHP
- sudo make -j 4
- sudo make test
- sudo make install
- /usr/local/phyre/php/bin/php -v
- PACKAGE_MAIN_DIR=$MAIN_DIR/phyre-php-8.2.0
- sudo mkdir $PACKAGE_MAIN_DIR
- # Create debian package directories
- sudo mkdir -p $PACKAGE_MAIN_DIR/DEBIAN
- sudo mkdir -p $PACKAGE_MAIN_DIR/usr/local/phyre
- # Copy php compiled files
- sudo mv /usr/local/phyre/php $PACKAGE_MAIN_DIR/usr/local/phyre
- sudo cp $MAIN_DIR/php-fpm.conf $PACKAGE_MAIN_DIR/usr/local/phyre/php/etc
- # Copy debian package META file
- sudo cp $MAIN_DIR/control $PACKAGE_MAIN_DIR/DEBIAN
- sudo cp $MAIN_DIR/postinst $PACKAGE_MAIN_DIR/DEBIAN
- sudo cp $MAIN_DIR/postrm $PACKAGE_MAIN_DIR/DEBIAN
- # Set debian package post files permissions
- sudo chmod +x $PACKAGE_MAIN_DIR/DEBIAN/postinst
- sudo chmod +x $PACKAGE_MAIN_DIR/DEBIAN/postrm
- # Make debian package
- sudo dpkg-deb --build $PACKAGE_MAIN_DIR
- sudo dpkg --info $MAIN_DIR/phyre-php-8.2.0.deb
- sudo dpkg --contents $MAIN_DIR/phyre-php-8.2.0.deb
- # Move debian package to dist folder
- sudo mkdir -p $MAIN_DIR/dist
- sudo mv $MAIN_DIR/phyre-php-8.2.0.deb $MAIN_DIR/dist
|