- Download the complete package from the official website.
- Pull code and libraries from the authors GitHub.
- Use Vagrant to download and configure a ready to go virtual machine.
The author discourages using the first method for anything other than a fast try-out, recommends the second method for actual deployment, and advocates the third method for development as it provides an encapsulated development environment.
Installing Vagrant and it's dependencies on my Linux Mint machine was pretty straight forward, just using:
apt-get install vagrant
VirtualBox is a dependency of Vagrant which was also installed. Next I downloaded the specified Vagrant configuration file and issued the command to fire up the preconfigured server and dev environment, very exciting:
Hundreds and hundreds of megabytes of downloads later and Vagrant reports that the server cannot start because VirtualBox required me to make changes to my BIOS settings.
After some Googling, I found this explanation and solution - clear the nginx cache in Vagrant:
The commands I executed in addition to the above information:-
vagrant@lucid64:~$ sudo vi /etc/nginx/nginx.conf
vagrant@lucid64:~$ sudo service nginx restart
Finally after getting a working dev environment I typed out the code in the chapter to get the basic foundation of the application. I fired up my browser to the URL specified and it didn't work.
I'd already wasted too much time on this method and decided to abandon Vagrant, and try method two - get the files from GitHub.
I quickly installed Apache web server on my machine and cloned the authors GitHib repository. I moved my source files and reloaded the project in my browser. It didn't work again.
I completed chapter one, typing out the remaining code for the application, only to find myself with an app which did nothing and reported no errors.
I also took the downloadable source code for the chapter provided by the author and ran it, only to achieve the same result.
At this point I have given up on the book, I can't waste any more time trying to get the code to work. There is no point in learning how to document and test an application which doesn't work.
This book has made me frustrated and angry and I couldn't recommend it any less. I can only assume this book is a cruel joke by the author make me feel stupid and unproductive. Hopefully I can still get some use from this book, come winter I will be using it as a £14.99 fire lighter.
You may find other reviews of this book less ranty: