Recently I have been asked by friends, colleagues and even family, how to install and configure a “development or testing” area on their personal computer (localhost). Because I have been asked to do this and each time I end up searching the Internet for guides and help, I thought that it would be a good time to condense what I have found, learned and know to be an ideal setup for a localhost environment.
I have set this post up differently then others that I have seen. I have broken the parts into sections and have linked to those sections so that if you need to come back for help on just one area you can jump to that section/area of the post.
Let me give guidance to those people who run Windows and even Mac OSx:
I would recommend you use a program called XAMPP. XAMPP is a great program and can be installed on all OS platforms (Linux, Mac and Windows). You can download a executable file from XAMPPs Site
Mac OSx Users
I would recommend you use a program called MAMP. MAMP is also a great program for the Mac users. It makes it easy for the users to get things done. You can download the dmg from the MAMP Site
Let’s get started since this post is for you.
Everything that I suggest here will be done through terminal. To launch terminal follow these steps:
Application -> Accessories -> Terminal
- Once terminal is open type or copy the following command:
sudo aptitude install apache2
- Answer any questions that arise as you see fit. Once the process is finished installing you will need to test that the installation worked. To do this open another tab in your browser and in the address bar type localhost (link to help http://localhost). You should see the text “It works” and that means you have installed Apache2 correctly
If at the end of your installation you get an error or a message inside the terminal window that says “Could not reliably determine the server’s fully qualified domain name, using 127.0.1.1 for ServerName” you can fix this by running the following command in terminal.
gksu gedit /etc/apache2/conf.d/fqdn
You might need to enter your password before the file will open. This command will open a file in gedit (a text editor for Linux).
- When gedit opens, type “ServerName localhost” (without the quotes) inside the file and click Save.
- Close the file.
Everything in the MySQL section will be done through the terminal window. To launch terminal follow these steps: Application -> Accessories -> Terminal
- Once terminal is open type of copy the following command:
sudo aptitude install mysql-server libapache2-mod-auth-mysql php5-mysql
- Near the end of the installation you will be asked to give a user name and password for MySQL
If you leave the user name blank it will default to “root”
That is it. At this point you should now have MySQL installed an running on your localhost. You can test this by typing mysql in the terminal window. If all is setup correctly you should get a “Welcome to MySQL monitor. Commands end with ; or \g.” and a prompt that says mysql>. From here you can run your mysql commands.
Everything in the PHP section will be done through the terminal window. To launch a terminal follow these steps: Application -> Accessories -> Terminal
- Once your terminal is open type or copy the following command:
sudo aptitude install php5 php5-common libapache2-mod-php5 php5-gd php5-dev curl libcurl3 libcurl3-dev php5-curl
- After everything is installed you will need to restart Apache for the server to see and implement PHP
sudo /etc/init.d/apache2 restart
- You can now test to see if PHP5 is working with Apache. To test if PHP is installed you can create a .php file inside your /var/www/ directory
sudo gedit /var/www/test.php
- The command will open gedit (Linux text editor). Once gedit is open type in the following code:
- Open a new tab in your browser and in the address bar type localhost/test.php (link to help http://localhost/test.php)
After running step 5 you should see your PHP Info page. This page will display the settings of your PHP configuration file and what is available via Apache2, MySQL and many other settings you may not care to know about. But the thing is if you see the PHP Information page you have successfully set up PHP5 to work with Apache.
Congratulations, I hope this means you have been able to install one, two or even all three of the items outlined in this post. If everything has worked out correctly you know have a local environment to develop on. Good luck and have fun.
If you have questions please leave a comment.