Ingredients:
Introduction:
This recipe is for people who want to install symfony2 quickly with all dependencies, without having to read the excellent documentation that can be found here:
This recipe can be used by linux users or by windows users that run linux in a virtual machine.
This will get you:
- A working Symfony2 installation
- Pretty URL’s (using mod_rewrite)
- Optimized execution speed (using php5-apc)
- Configured timezone settings and internationalization support (using php5-intl)
- Run as a specific user and not as www-data (using apache2-mpm-itk)
- Created a database and installed a database management tool (phpmyadmin).
The instructions are meant for a development platform. If you use these instructions on a production platform the least you should do is choose a more secure password. NB: You also might want to run Ubuntu Server instead of Xubuntu in such a case.
This will NOT get you:
- A debugging environment (using XDebug)
- An PHP IDE with debugging integration (Eclipse PDT)
For serious web development you might want the above: a full-featured IDE and a step-by-step debugger. This will be discussed in another post.
Instructions:
The lines below with a “-” are actions and the lines with a “$” are commands:
- Download and install Virtualbox - Download xubuntu iso - Configure a new Virtual Machine with: OS set to: Linux/Ubuntu 64 4 cores (assuming you have 8 cores) 2048 MB RAM (assuming you have at least 4096) 20 GB VDI dynamic disk - Select the Xubuntu iso file in the first run wizard - Install Xubuntu by following the steps - Install additional drivers (guest additions) and reboot - Open up a web browser - Go to http://symfony.com/download and click download - Save "Symfony_Standard_Vendors_2.x.xx.tgz" and unpack it - Move the "Symfony" folder to your home directory and rename it to "public_html" $ sudo apt-get install lamp-server^ php-apc apache2-mpm-itk php5-intl php5-sqlite phpmyadmin choose a mysql root password choose to configure phpmyadmin for apache2 $ sudo a2enmod rewrite $ sudo nano /etc/php5/apache2/php.ini NB: use Ctrl-W Ctrl-R to search and replace search: ;date.timezone = replace: date.timezone = Europe/Amsterdam NB: enter your local timezone if you are not in Europe/Amsterdam (see http://en.wikipedia.org/wiki/List_of_tz_database_time_zones) search: short_open_tag = On replace: short_open_tag = Off $ pwd NB: note down the output, as this is the path of your home folder (in my case: /home/maurits) $ id -un NB: note down the output, as this is your user name (in my case: maurits) $ id -gn NB: note down the output, as this is your group name (in my case: maurits) $ sudo nano /etc/apache2/sites-enabled/000-default NB: use Ctrl-W Ctrl-R to search and replace search: /var/www replace: {YOUR_HOME_FOLDER}/public_html/web NB: you have to enter the home folder path you found from the pwd command instead of {YOUR_HOME_FOLDER} $ sudo nano /etc/apache2/sites-enabled/000-default NB: add the following line under the DocumentRoot AssignUserId {YOUR_USER_NAME} {YOUR_GROUP_NAME} NB: you have to enter your user name and group name instead of {YOUR_USER_NAME} {YOUR_GROUP_NAME} $ sudo service apache2 restart - Open web browser and go to http://127.0.0.1/phpmyadmin - Login with root user and chosen root password - Click "Privileges" - Click "Add a new User" - Enter/choose: username: symfony host: localhost password: symfony retype: symfony - Select "Create database with same name and grant all privileges" - Click "Create User" - Open a web browser and go to http://127.0.0.1/config.php - verify that symfony does not complain about anything - click "Configure your Symfony Application online" - Enter/choose: Driver: MySQL (PDO) Host: localhost Name: symfony User: symfony Password: symfony Password again: symfony - Let symfony generate a "Global Secret" - Choose "Next Step" - Symfony should say: Your distribution is configured! - Click "Go to the Welcome page" - Click "Run the Demo" - Play around with the demo to see that everything works
Bonus instructions:
Some nice tips on how to customize your Xubuntu:
- You can make your Xubuntu panels look like Gnome2
http://namakutux.blogspot.com/2011/11/how-to-make-xfce-looks-like-gnome-2.html - You can replace abiword/gnumeric with the much better libre office:
sudo apt-get remove abiword gnumeric && sudo apt-get install libreoffice - You can replace leafpad with the full-featured gedit:
sudo apt-get remove leafpad && sudo apt-get install gedit
That is it for today, have fun!