Created
May 23, 2011 21:58
-
-
Save FrancisVarga/987713 to your computer and use it in GitHub Desktop.
setup a virgin ubuntu thx to -> https://github.com/chluehr
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 | |
#----------------------------------------------------------- | |
# | |
# Purpose: Just run this script to install the required | |
# ubuntu/pear packages for php development. | |
# | |
# Tested on Ubuntu 10.04 | |
#----------------------------------------------------------- | |
echo "Installing basic packages for development." | |
echo "Notes:" | |
echo "- if asked for a password, provide your system user password" | |
echo "- if asked for a mysql server password, enter 'root'" | |
echo -n "Press ENTER to continue, CTRL-c to cancel:" | |
read DUMMY | |
sudo echo | |
# check repositories add / activate "partner" repository | |
echo "Checking / enabling 'partner' Ubuntu repository" | |
grep -q -r '^deb .* partner' /etc/apt/sources.list || | |
( echo "ERROR: Ubuntu 'partner' repository not enabled." | |
echo "Adding 'deb http://archive.canonical.com/ lucid partner' ... " | |
sudo sed -i -e "s|^# deb .* partner$|deb http://archive.canonical.com/ lucid partner|" /etc/apt/sources.list | |
sudo apt-get update | |
) | |
# basic PHP (to be extended!): | |
sudo apt-get --assume-yes install \ | |
libapache2-mod-php5 \ | |
php-pear \ | |
php5-mysql \ | |
php5-sqlite \ | |
php5-xdebug \ | |
php5-xcache \ | |
php5-suhosin \ | |
php5-gd \ | |
php5-mcrypt \ | |
php5-xsl \ | |
php5-curl \ | |
php5-memcache \ | |
php5-imagick \ | |
php-apc \ | |
php5-openssl \ | |
php5-mongo \ | |
php5-iconv | |
# tools | |
sudo apt-get --assume-yes install \ | |
flip | |
# update php memory limit | |
echo "Raising memory limit in php.ini files" | |
sudo sed -i -r 's/^ *memory_limit *= *.*/memory_limit = 512M/' /etc/php5/apache2/php.ini | |
sudo sed -i -r 's/^ *memory_limit *= *.*/memory_limit = 512M/' /etc/php5/cli/php.ini | |
# typical 3rd party systems (db,cache ..): | |
echo "Installing MySQL server, Memcache & Beanstalk daemons" | |
sudo apt-get --assume-yes install \ | |
mysql-server \ | |
beanstalkd \ | |
memcached | |
# activate beanstalkd: | |
sudo echo "START=yes" >> /etc/default/beanstalkd | |
sudo /etc/init.d/beanstalkd restart | |
# needed for pecl installs: | |
echo "Prepare build system for pecl installs" | |
sudo apt-get --assume-yes install \ | |
build-essential \ | |
autoconf \ | |
php5-dev | |
# development environment: | |
echo "Setup developer tools" | |
sudo apt-get --assume-yes install \ | |
sun-java6-jdk \ | |
subversion \ | |
git-all \ | |
vim \ | |
gettext \ | |
ssh \ | |
wget \ | |
curl \ | |
nmap \ | |
traceroute \ | |
rsync \ | |
beanstalkd \ | |
libmp3lame-dev \ | |
imagemagick \ | |
zlib1g-dev \ | |
ffmpeg \ | |
lftp && | |
sudo update-java-alternatives -s java-6-sun | |
sudo echo "START=yes" >> /etc/default/beanstalkd | |
sudo /etc/init.d/beanstalkd start | |
# installing couchbase stuff: | |
wget -q http://varga-multimedia.com/downloads/couchbase.deb && | |
sudo dpkg -i couchbase.deb && | |
rm couchbase.deb && | |
wget -q http://varga-multimedia.com/downloads/membase.deb && | |
sudo dpkg -i membase.deb && | |
rm membase.deb && | |
wget -q http://sdk-snapshots.couchbase.com/latestbuilds/php-couchbase-memcached_ubuntu_9.04_x86_64.tar.gz && | |
tar xzf php-couchbase-memcached_ubuntu_9.04_x86_64.tar.gz | |
# xDebug stuff: | |
echo "Enabling xdebug PHP debugger" | |
echo "[XDebug]" > /tmp/xdebug.ini | |
echo "xdebug.remote_enable=1" >> /tmp/xdebug.ini | |
echo "xdebug.remote_host=localhost" >> /tmp/xdebug.ini | |
echo "xdebug.remote_port=9000" >> /tmp/xdebug.ini | |
echo 'xdebug.remote_handler="dbgp"' >> /tmp/xdebug.ini | |
sudo mv /tmp/xdebug.ini /etc/php5/conf.d/xdebug.ini | |
# enable Apache extensions: | |
echo "Enabling Apache mod_rewrite & restarting Apache" | |
sudo a2enmod rewrite | |
sudo apache2ctl graceful | |
# enable xdebug profiling trigger: | |
XDEBUG_INI=/etc/php5/apache2/conf.d/xdebug.ini | |
XDEBUG=`locate xdebug.so|tail -1` | |
echo >$XDEBUG_INI "zend_extension=$XDEBUG" | |
echo >>$XDEBUG_INI "[XDebug]" | |
echo >>$XDEBUG_INI "xdebug.remote_enable=1" | |
echo >>$XDEBUG_INI "xdebug.remote_host=localhost" | |
echo >>$XDEBUG_INI "xdebug.remote_port=9000" | |
echo >>$XDEBUG_INI 'xdebug.remote_handler="dbgp"' | |
echo >>$XDEBUG_INI "" | |
echo >>$XDEBUG_INI "xdebug.profiler_enable_trigger=1" # XDEBUG_PROFILE | |
echo >>$XDEBUG_INI ";xdebug.profiler_output_dir=/tmp/" | |
echo "Pls. visit => localhost:8091" | |
echo "Pls. visit => localhost:5984" | |
echo "SUCCESS: SETUP FINISHED." | |
# eof |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment