|
#!/usr/bin/env bash |
|
|
|
# make sure we are root |
|
if [ 'root' != "$(whoami)" ]; then |
|
echo "You need to be root to run this script." |
|
exit 1 |
|
fi |
|
|
|
# configure owner |
|
CHOWN_USER=$SUDO_USER |
|
|
|
if [ '' = "$CHOWN_USER" ]; then |
|
CHOWN_USER=$USER |
|
fi |
|
|
|
CHOWN_GROUP=$(id "$SUDO_USER" -gn) |
|
CHOWN_HOME="/home/$CHOWN_USER" |
|
|
|
### |
|
# Require that the command successfully exit. |
|
# |
|
# @param string ARG... The command line argument. |
|
## |
|
function must |
|
{ |
|
"$@" |
|
|
|
STATUS=$? |
|
|
|
if [ 0 -ne $STATUS ]; then |
|
exit $STATUS |
|
fi |
|
} |
|
|
|
# install dependencies |
|
#must apt-get build-dep php5 |
|
must apt-get install -y autoconf automake autotools-dev bison build-essential chrpath comerr-dev debhelper dh-apparmor dpkg-dev flex freetds-common freetds-dev g++ g++-4.8 icu-devtools krb5-multidev language-pack-de language-pack-de-base lcov libaio1 libapr1 libapr1-dev libaprutil1 libaprutil1-dev libaspell-dev libbison-dev libbsd-dev libbz2-dev libct4 libcurl4-openssl-dev libdb-dev libdb5.3-dev libdbd-mysql-perl libdbi-perl libedit-dev libenchant-dev libevent-core-2.0-5 libevent-dev libevent-extra-2.0-5 libevent-openssl-2.0-5 libevent-pthreads-2.0-5 libexpat1-dev libfl-dev libfontconfig1-dev libfreetype6-dev libgcrypt11-dev libgd-dev libglib2.0-dev libgmp-dev libgmp3-dev libgmpxx4ldbl libgnutls-dev libgnutlsxx27 libgpg-error-dev libgssrpc4 libice-dev libicu-dev libidn11-dev libjbig-dev libjpeg-dev libjpeg-turbo8-dev libjpeg8-dev libkadm5clnt-mit9 libkadm5srv-mit9 libkdb5-7 libkrb5-dev libldap2-dev libltdl-dev liblzma-dev libmagic-dev libmhash-dev libmysqlclient-dev libmysqlclient18 libodbc1 libp11-kit-dev libpam0g-dev libpcre3-dev libpcrecpp0 libpng12-dev libpq-dev libpq5 libpspell-dev libpthread-stubs0-dev librecode-dev librecode0 librtmp-dev libsasl2-dev libsctp-dev libsctp1 libsensors4-dev libsigsegv2 libsm-dev libsnmp-dev libsqlite3-dev libssl-dev libstdc++-4.8-dev libsybdb5 libsystemd-daemon-dev libtasn1-6-dev libterm-readkey-perl libtidy-0.99-0 libtidy-dev libtiff5-dev libtiffxx5 libtinfo-dev libtool libvpx-dev libwrap0-dev libx11-dev libxau-dev libxcb1-dev libxdmcp-dev libxml2-dev libxmltok1 libxmltok1-dev libxpm-dev libxslt1-dev libxt-dev m4 mysql-client-5.5 mysql-client-core-5.5 mysql-common odbcinst odbcinst1debian2 po-debconf re2c systemtap-sdt-dev unixodbc unixodbc-dev uuid-dev x11proto-core-dev x11proto-input-dev x11proto-kb-dev xorg-sgml-doctools xtrans-dev zlib1g-dev |
|
must apt-get install -y php5 php5-dev php-pear autoconf automake curl build-essential libxslt1-dev re2c libxml2 libxml2-dev php5-cli bison libbz2-dev libreadline-dev |
|
must apt-get install -y libfreetype6 libfreetype6-dev libpng12-0 libpng12-dev libjpeg-dev libjpeg8-dev libjpeg8 libgd-dev libgd3 libxpm4 libltdl7 libltdl-dev |
|
must apt-get install -y libssl-dev openssl |
|
must apt-get install -y gettext libgettextpo-dev libgettextpo0 |
|
must apt-get install -y libicu-dev |
|
must apt-get install -y libmhash-dev libmhash2 |
|
must apt-get install -y libmcrypt-dev libmcrypt4 |
|
must apt-get install -y mysql-client libmysqlclient-dev libmysqld-dev |
|
must apt-get install -y postgresql-client postgresql-contrib |
|
|
|
# download phpbrew |
|
must curl -L -O https://github.com/phpbrew/phpbrew/raw/master/phpbrew |
|
|
|
# set up phpbrew |
|
must mv phpbrew /usr/local/bin |
|
must chmod 755 /usr/local/bin/phpbrew |
|
|
|
# replace home path |
|
HOME=$CHOWN_HOME |
|
|
|
# install phpbrew |
|
must phpbrew init |
|
|
|
echo >> ~/.bashrc |
|
echo '. ~/.phpbrew/bashrc' >> ~/.bashrc |
|
|
|
# fix permissions |
|
chown -R "$CHOWN_USER:$CHOWN_GROUP" ~/.phpbrew |
|
|
|
# phpbrew can't find gmp.h unless its in a specific location |
|
if [ ! -f /usr/include/gmp.h ] && [ -f /usr/include/x86_64-linux-gnu/gmp.h ]; then |
|
ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h |
|
fi |
|
|