Setting up PHP and Symfony on OSX using VirtualBox Ubuntu 14.04

  1. Install Virtual Box with Ubuntu 14.04 LTE
  2. Install Guest Additions 
  3. Optional: install ssh so you can use your OSX terminal and remote in
  4. Install symfony – sudo curl -LsS -o /usr/local/bin/symfony
  5. sudo chmod a+x /usr/local/bin/symfony
  6. Set timezone, locale and hostname:
    sudo dpkg-reconfigure tzdata
    sudo locale-gen en_NZ.UTF-8
    sudo vim /etc/hosts
    sudo echo "web.address" > /etc/hostname
  7. Install your dev stack – sudo apt-get install <packages>.
    Mine is as follows:

    1. PHP
      sudo apt-get install mysql-client php5 php5-cli php5-mysql npm nodejs-legacy php5-gmp php5-curl php5-gd php5-mongo php5-fpm php5-dev mcrypt libpcre3-dev php5-mcrypt git openjdk-7-jre-headless curl acl wget ntp ntpdate -y
    2. MySQL server
      sudo apt-get install mysql-server mysql-client mysql-utilities mysqltuner -y
      sudo npm -g install less bower
    3. Mongodb
      sudo apt-key adv --keyserver hkp:// --recv 7F0CEB10
      echo "deb "$(lsb_release -sc)"/mongodb-org/3.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.0.list
      sudo apt-get update
      sudo apt-get install -y mongodb-org
  8. Install Composer
  9. Clone your repo into /var/www/ then cd to dir
  10. Install symfony dependencies
    # Set SYMFONY_ENV to dev, if not yet done
    export SYMFONY_ENV=dev
    SYMFONY_ENV=dev composer.phar -o install
  11. Setup your parameters.yml file with the correct settings
  12. npm install / bower install if necessary
    NB – dont forget to set your “path to node” in your parameters file. In my case they were:
    path_to_node: /usr/bin/node
    path_to_node_modules: /usr/local/lib/node_modules
  13. Install your symfony project assets. For me:
    php app/console assets:install

    php app/console assetic:dump
    php app/console fos:elastica:populate
  14. Run your web server. For me:
    php app/console server:start

Cmd + Del

There’s a new chapter unfolding at the moment. A big transition between what went before and what is about to come. A lot of the work is happening in the cave at the moment and reasonably soon it will start to come out. So in some ways it’s appropriate that I’ve managed to delete a lot of the media and scribblings on this blog to date on tired Friday afternoon whilst wearing my cowboy hat. On to the next chapter…