Last active
December 22, 2021 16:29
-
-
Save czombos/de59bcc4e20328e3eb1241efa4231116 to your computer and use it in GitHub Desktop.
Install PHP 5.5.9 on Ubuntu 16.04
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
### Install PHP 5.5.9 on Ubuntu 16.04 | |
apt-get -y install build-essential libxml2-dev libxslt1-dev | |
apt-get -y install libfcgi-dev libfcgi0ldbl libjpeg62-dbg libxml2-dev | |
apt-get -y install libmcrypt-dev libssl-dev libc-client2007e libc-client2007e-dev | |
apt-get -y install libbz2-dev libcurl4-openssl-dev libjpeg-dev libpng12-dev | |
apt-get -y install libfreetype6-dev libkrb5-dev libpq-dev libicu-dev | |
ln -s /usr/lib/libc-client.a /usr/lib/x86_64-linux-gnu/libc-client.a | |
mkdir /opt/php-5.5.9 | |
mkdir /usr/local/src/php5-build | |
cd /usr/local/src/php5-build | |
wget http://br1.php.net/get/php-5.5.9.tar.bz2/from/this/mirror -O php-5.5.9.tar.bz2 | |
tar jxf php-5.5.9.tar.bz2 | |
cd php-5.5.9/ | |
./configure --prefix=/opt/php-5.5.9 --with-pdo-pgsql --with-zlib-dir --with-freetype-dir --enable-mbstring \ | |
--with-libxml-dir=/usr --enable-soap --enable-intl --enable-calendar --with-curl --with-mcrypt --with-zlib \ | |
--with-gd --with-pgsql --disable-rpath --enable-inline-optimization --with-bz2 --with-zlib --enable-sockets \ | |
--enable-sysvsem --enable-sysvshm --enable-pcntl --enable-mbregex --enable-exif --enable-bcmath --with-mhash \ | |
--enable-zip --with-pcre-regex --with-mysql --with-pdo-mysql --with-mysqli --with-jpeg-dir=/usr --with-png-dir=/usr \ | |
--enable-gd-native-ttf --with-openssl --with-fpm-user=www-data --with-fpm-group=www-data \ | |
--with-libdir=/lib/x86_64-linux-gnu --enable-ftp --with-imap --with-imap-ssl --with-gettext --with-xmlrpc --with-xsl \ | |
--with-kerberos --enable-fpm | |
make | |
make install | |
cp /usr/local/src/php5-build/php-5.5.9/php.ini-production /opt/php-5.5.9/lib/php.ini | |
cp /opt/php-5.5.9/etc/php-fpm.conf.default /opt/php-5.5.9/etc/php-fpm.conf | |
mkdir /opt/php-5.5.9/etc/php-fpm.d | |
echo "[Unit] | |
Description=The PHP 5.5.9 FastCGI Process Manager | |
After=network.target | |
[Service] | |
Type=simple | |
PIDFile=/opt/php-5.5.9/var/run/php-fpm.pid | |
ExecStart=/opt/php-5.5.9/sbin/php-fpm --nodaemonize --fpm-config /opt/php-5.5.9/etc/php-fpm.conf | |
ExecReload=/bin/kill -USR2 $MAINPID | |
[Install] | |
WantedBy=multi-user.target" >> /lib/systemd/system/php-5.5.9-fpm.service | |
echo 'zend_extension=opcache.so' >> /opt/php-5.5.9/lib/php.ini | |
for i in /opt/php-5.5.9/lib/php.ini;do | |
sed -i 's|max_execution_time = 30|max_execution_time = 120|' $i | |
sed -i 's|upload_max_filesize = 2M|upload_max_filesize = 512M|' $i | |
sed -i 's|post_max_size = 8M|post_max_size = 128M|' $i | |
sed -i 's|error_reporting = E_ALL & ~E_DEPRECATED|error_reporting = E_ERROR|' $i | |
sed -i 's|short_open_tag = Off|short_open_tag = On|' $i | |
sed -i "s|;date.timezone =|date.timezone = 'Europe\/Budapest'|" $i | |
done | |
### Change PHP-FPM Config | |
sed -i "s|;pid = run/php-fpm.pid|pid = run/php-fpm.pid|" /opt/php-5.5.9/etc/php-fpm.conf | |
sed -i "s|listen = 127.0.0.1:9000|listen = 127.0.0.1:8989|" /opt/php-5.5.9/etc/php-fpm.conf | |
sed -i "s|;include=etc/fpm.d/\*.conf|include=/opt/php-5.5.9/etc/php-fpm.d/\*.conf|" /opt/php-5.5.9/etc/php-fpm.conf | |
systemctl enable php-5.5.9-fpm.service | |
systemctl daemon-reload | |
systemctl start php-5.5.9-fpm.service | |
a2enmod proxy_fcgi | |
systemctl restart apache2 | |
mkdir /var/lib/php5-fpm | |
echo "[default] | |
listen = /var/lib/php5-fpm/default.sock | |
listen.owner = www-data | |
listen.group = www-data | |
listen.mode = 0660 | |
user = www-data | |
group = www-data | |
pm = dynamic | |
pm.max_children = 10 | |
pm.start_servers = 2 | |
pm.min_spare_servers = 1 | |
pm.max_spare_servers = 5 | |
pm.max_requests = 0 | |
chdir = / | |
env[HOSTNAME] = $HOSTNAME | |
env[TMP] = /var/www/tmp | |
env[TMPDIR] = /var/www/tmp | |
env[TEMP] = /var/www/tmp | |
env[PATH] = /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin | |
php_admin_value[open_basedir] = /var/www/html:/var/www/tmp:/tmp | |
php_admin_value[session.save_path] = /var/www/tmp | |
php_admin_value[upload_tmp_dir] = /var/www/tmp" >> /opt/php-5.5.9/etc/php-fpm.d/default.conf | |
### PHP support for vhost (/etc/apache2/sites-enabled/000-default.conf) | |
<VirtualHost *:80> | |
... | |
<IfModule mod_proxy_fcgi.c> | |
<Directory /var/www/html> | |
<FilesMatch "\.php[345]?$"> | |
SetHandler "proxy:unix:/var/lib/php5-fpm/default.sock|fcgi://localhost" | |
</FilesMatch> | |
</Directory> | |
</IfModule> | |
... | |
</VirtualHost> | |
systemctl restart php-5.5.9-fpm | |
systemctl restart apache2 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Hi, thanks for your script! But I don't know why it shows me the following error:
./install_php55_ubuntu1604.sh: línea 101: error sintáctico cerca del elemento inesperado `newline'
./install_php55_ubuntu1604.sh: línea 101: `<VirtualHost *:80>'
already perform the necessary steps to remove plus two characters. Do you know what can happen?