They offer different flash templates with latest features.
Login

Forgot password
Register
Latest changes

The idea module was updated:

  • We now have 10 statuses instead of 5
  • The review process now involves both moderators and developers
  • Moderators can now review form and content separately
  • Moderators can now delegate decisions to developers when they are unable to assess the pertinence or feasibility of an idea
Improve this website
  • Report bugs here.
  • Register ideas for improvements using the idea module on this website.
Back
Written by:
mysoomro
Score: 70
votes: 78
Format: Article

 Installing LAMP (Linux, Apache, MySQL and PHP) On Linux Mint


Installing LAMP (Linux, Apache, MySQL and PHP) On Linux Mint

Through this tutorial, you'll learn how to Install Apache, MySQL and PHP.

If you're a webpage designer or developer and use PHP, mySQL and Apache, you'll be needing these applications to be installed. When I istalled Mint, I was looking for a way to install LAMP and found a tutorial on a website by somebody named "Cargoship". That tutorial was for ubuntu. But I installed it on my Linux mint, and it is working.

 

 

In this guide I will show you how to install a LAMP system. LAMP stands for Linux, Apache, MySQL, PHP. The guide is intended to help those who have very little knowlegde of using Linux.

 

We will not cover how to install Linux the L of LAMP, because Linux Mint is already installed in your computer.

 

Install Apache

To start off we will install Apache.

1. Open up the Terminal (Applications > Accessories > Terminal).

2. Copy/Paste or type the following line of code into Terminal and then press enter:

sudo apt-get install apache2

3. The Terminal will then ask you for you're password, type it and then press enter.

 

Testing Apache

To make sure everything installed correctly we will now test Apache to ensure it is working properly.

1. Open up any web browser and then enter the following into the web address:

http://localhost/

You should see a folder entitled apache2-default/. Open it and you will see a message saying "It works!" , congrats to you! or something like that!

 

Install PHP

In this part we will install PHP 5.

Step 1. Again open up the Terminal (Applications > Accessories > Terminal).

Step 2. Copy/Paste or type the following line into Terminal and press enter:

sudo apt-get install php5 libapache2-mod-php5

Step 3. In order for PHP to work and be compatible with Apache we must restart Apache. Type the following code in Terminal to do this:

sudo /etc/init.d/apache2 restart

 

Test PHP

To ensure there are no issues with PHP let's give it a quick test run.

Step 1. In the terminal copy/paste or type the following line:

sudo gedit /var/www/testphp.php

This will open up a file called testphp.php.

 

Step 2. Copy/Paste this line into the phptest file:

 

<?php phpinfo(); ?>

Step 3. Save and close the file.

Step 4. Now open you're web browser and type the following into the web address:

http://localhost/testphp.php

 

(It will show you the page that has all information about your php. If you have prior experience of installing php in some other OS, you must have seen this page.)

Congrats you have now installed both Apache and PHP!

 

Install MySQL

To finish this guide up we will install MySQL.

Step 1. Once again open up the amazing Terminal and then copy/paste or type this line:

sudo apt-get install mysql-server

Step 2 (optional). In order for other computers on your network to view the server you have created, you must first edit the "Bind Address". Begin by opening up Terminal to edit the my.cnf file.

gksudo gedit /etc/mysql/my.cnf

Change the line

bind-address = 127.0.0.1

And change the 127.0.0.1 to your IP address.

(In Linux Mint 11, terminal itself asked to the set password, But if it doesn't follow the step 3.)

Step 3. This is where things may start to get tricky. Begin by typing the following into Terminal:

mysql -u root

Following that copy/paste or type this line:

mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('yourpassword');

(Make sure to change yourpassword to a password of your choice.)

Step 4. We are now going to install a program called phpMyAdmin which is an easy tool to edit your databases. Copy/paste or type the following line into Terminal:

sudo apt-get install libapache2-mod-auth-mysql php5-mysql phpmyadmin

After that is installed our next task is to get PHP to work with MySQL. To do this we will need to open a file entitled php.ini. To open it type the following:

gksudo gedit /etc/php5/apache2/php.ini

Now we are going to have to uncomment the following line by taking out the semicolon (;).

Change this line:

;extension=mysql.so

To look like this:

extension=mysql.so

Now just restart Apache and you are all set! 

sudo /etc/init.d/apache2 restart

 


If you get a 404 error upon visiting http://localhost/phpmyadmin: You will need to configure apache2.conf to work with Phpmyadmin.


sudo gedit /etc/apache2/apache2.conf


Include the following line at the bottom of the file, save and quit.

Include /etc/phpmyadmin/apache.conf

 

Then just restart Apache

sudo /etc/init.d/apache2 restart

 


 

 

 

Now make wonderful website and have fun!wink

Terminal scares the newbies, but here, you'll see how magical terminal or comand promt (whatever you call it) is.

And as Linux is very secure OS, it'll ask you the password again and again, on every administrative command. You'll have to type in your password many times, whenever terminal asks for it.

 

The End


Tags: terminal, gedit, browser (firefox).
Created: 1 year ago.
Last edited: 1 year ago.
Reviewed: 1 year ago.
Read 2013 times.

Comments
5 hours ago

Lipe_San
All good
thanks for the tutorial, pretty straightforward and funcional

now i'll try to put the open ssl libraries to work
 
1 week ago

screamon
All went well untill:
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('yourpassword');
I only could give in my password without the ( )
I could read: bash: syntax error near unexpected token '('
In the PHP.ini I couldn't find a line with ;extension=mysql.so

when I restarted Apache2 I read: could not reliably determine the server's fully qualified domain name, using 127.0.1.1. for servername.
But I had changed that address in my.cnf
I am an new user of LINUX Mint 14 Nadia what did I do wrong?
 
2 weeks ago

kouros
thanks a lot!!!
 
3 weeks ago

oxman
Concise, clear and effective. My gratitude to you sir.
 
3 weeks ago

rmisra1
excellent tutorial ..thanks to document and share same  
1 month ago

turkert
I've fixed some apache packet errors by "apt-get update".
I haven't edited php ini because it didn't exist and the files in etc/php5/apache2/conf.d seems already enabled mysql support.
Phpmyadmin installation also asks for a password. I've given the same password as mysql/root

Well done, good tutorial.
 
1 month ago

Chet
Hi Nisan92,

After you complete the above tutorial, you will now have a new folder called /var/www/. This is where you will put your site. I personally use the LAMP stack to run a local version of Wordpress on my machine.

I install the latest version of Wordpress right in the folder /var/www/.

I can then build the site and test various code changes and plugins "before" I FTP the site up to my web server. I hope this answers your questions.
 
1 month ago

nisan92
I have installed them all, And Now i want to open a site through...
Where i have to keep my pages??
Do i have to do anything else?
 
2 months ago

rickrick2014
I haven't edited any customization files. Can somebody get an access to my server from the Internet? I need the server only for a php programming so i don't want somebody from the internet has the access to my server.  
2 months ago

427008
Thank you. Very usefull  
3 months ago

mysoomro
I'm happy that some of you people found this tutorial helpful. And I'm sorry for the problems or differences that some of you have faced.
I've been busy lately and haven't updated the tutorial..
 
3 months ago

kaizerking
how to install multipl versions of php, or apache, or mysql?
and enable as requird like wamp server addons?
 
3 months ago

cardiffjc
I found this very helpful.
There were a few instances where the tutorial didn't match up exactly with what I saw on my machine, but I was able to work around them.

eg 1 - when I installed MySQL from the command line, it failed ."..unable to fetch some archives...suggest you run (sudo) apt-get update"
The apt-get update seemed to be OK, but the tests later showed that MySQL was not present on my PC. So I took the easy way out and installed from the package manager, which worked with no problems.
eg 2 The tutorial recommends some changes to the phpini file to work with SQL, but my phpini file is not as described. Hope it doesn't matter, or I can fix it.
 
4 months ago

girofleeash
Ho! here is what I get when testing :

Index of /

Name Last modified Size Description
 
4 months ago

girofleeash
This tutorial is great, just found it and can't wait to try reinstalling. I just started and can't get the ''it works!'' page from apache2... I had to restart from scratch and think I might have messed up with some documents perhaps host and hostnames, i don't know what I should do. anyone can help?  
4 months ago

mouton
Thanks for the clear instructions.

I installed Apache2 through webmin; the command line supplied by webmin was:
apt-get -y --force-yes -f install apache2
No password was requested, but the installation went fine since I got "It works!".
How could I make sure that there is a password and that it is not some kind of default password?
 
4 months ago

cckwes
Thank you very much for the guide  
5 months ago

Webbsurfaren
Magic!  
5 months ago

PipoST
Thank you very much. This tutorial saved me a lot of time.  
5 months ago

mysoomro
Thanks for you comments and support.
@burin never heard anything as you said before. naming files as something.php5.
 
5 months ago

ercag
if take permisson(write/read) error than use this

sudo chown -R /var/www
 
5 months ago

Tuomas
Not all worked excatly like u said, but easy to fine the good way.

Thanks for this tutorial.

[Test on Mint Nadia MATE]
 
5 months ago

burin
To my machine I need to name it something.php5 instead of something.php or it won't work.I don't know why.(Mint 14 Cinnemon x64)  
5 months ago

spooge
Excellent instructions - worked like a charm. I also learned that using the command line (apt) is better than using the Software Manger GUI that comes w/ LMDE. I tried it via the GUI first and had problems getting phpMyAdmin installed cleanly (the GUI doesn't prompt for server or phpmyadmin setup). Thanks again!  
6 months ago

mintstar
Thanks! Worked for LM13.  
6 months ago

EmpireITtech
I'm getting this when I try to login: Connection for controluser as defined in your configuration failed.  
6 months ago

EmpireITtech
Using your guide I was able to do almost everything, however I cannot login to the phpMyAdmin page with the user "root"...I've tried to reset the password but it's not doing anything....where should I look to either set that password or turn off the password?  
6 months ago

mysoomro
You're welcome! :)  
6 months ago

almighty000
Thanks a lot for this helpful tutorial.  
6 months ago

jofersu
Thank you, it's really works.  
6 months ago

pablobablo
Thanks!  
7 months ago

mysoomro
Thanks! :)  
7 months ago

JC13
Good one thanks
 
8 months ago

huskeraider
Outstanding!!!  
8 months ago

robins80
The install worked great. However, I'm getting 403 forbidden errors trying to retrieve such things as my style sheets or jquery files. How can I grant access to the var\www directory to my pages, or is there some other directory I can put them?  
8 months ago

mysoomro
@Meshy112: Check my comment on this page addressed to Mark about a year ago..  
8 months ago

Meshy112
Thx. It's very helpful. But how I can comminucate with my ftp-server. Do i need to also install a ftp? Where can i get the data for connection with filezilla to the local-host? Server, username, password, port?  
8 months ago

mysoomro
you're welcome :)  
8 months ago

itsyash
great tutorial man ! seriously..
took me just 10 mins :)
thanks !
 
8 months ago

mysoomro
@artyart: Agreed. There are minor differences. The first time I installed LAMP the prompts were mostly as mentioned above the second time I installed they were slightly different.
But they don't create any big confusion..
 
8 months ago

artyart
Nice job, thanks some of the prompts about passwords and making a new db are a little different in lm13, but the install is very clear and makes this a simple task.
 
8 months ago

mysoomro
You're most welcome @thanh4890, @kyousanzo, @bobbilob and @Hiuhu.. :)  
8 months ago

thanh4890
Thanks, it worked like a charm!  
10 months ago

kyousanzo
thanks for info :D  
11 months ago

bobbilob
I tried to a LAMP stack on Ubuntu with repeated frustration. Tried Mint and followed your tutorial with success!
Linuxmint 13 Maya comes with pluma rather than gedit, so a substitution was needed. Substitution also works for bluefish (my favourite) but generates some error messages.
 
11 months ago

Hiuhu
Oh tnanx it worked  
11 months ago

mysoomro
Where are you saving those .php files??
Make sure to save them in the Root > var > www ...
 
11 months ago

Hiuhu
I followed those instructions & did exactly what you said but now when I try a file with a .php extension it, the browser downloads it instead of loading it what could be the problem ? (thnx)  
1 year ago

mysoomro
You're welcome!!  
1 year ago

htutt
Thanks, very helpful one.  
1 year ago

mysoomro
Sorry for late reply. I couldn't sign in for sometime.
@Harri-P: You're most welcome! :-)
@sapistic: I guess stleon gave you a good help. And for for uploading the files to your website you need to use an ftp(file transfer protocol) client. Use filezilla for it. You can install it with following command in your terminal


sudo apt-get install filezilla


or you can download it from this link:
http://community.linuxmint.com/software/view/filezilla
just click on install. :-)
@stleon: thanks buddy! :-)
 
1 year ago

sapistic
Thanks  
1 year ago

stleon
/var/www by root. or in your home directory(http://community.linuxmint.com/tutorial/view/853)  
1 year ago

sapistic
So I got all this, but now I want to make a website. I have a basic knowledge of web languages, including PHP, but once I have my files, where do I save them so that Apache and PHP have access to them?  
1 year ago

Harri-P
Thank you so much for this! Was brilliant explanation and really clear. I remember trying to do it before and was not looking forward to doing it again but i had done it within 20mins with this! thanks  
1 year ago

mysoomro
you're most welcome stleon...  
1 year ago

stleon
Thank you very much for the wonderful tutorial.  
1 year ago

mysoomro
@gdawn: check these out and see if they're helpful.


http://www.webhostingtalk.com/showthread.php?t=875255


MySQL: Error 1045 (28000): Access denied for user ‘root’@'localhost’ (using password: NO):

 
1 year ago

gdawg
While attempting to install mysql I get the following error:
jane@gdawg-Satellite-C675 ~ $ mysql -u root
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

I also tried 'sudo mysql -u root' but got same result. Any help will be appreciated.
 
1 year ago

mysoomro
@cahyadwiguna: Check this tutorial. I think you'll find help in it.
http://community.linuxmint.com/tutorial/view/244
 
1 year ago

mysoomro
@minx, Did you changed you httpd-vhosts.conf file?
if you didn't, you need to specify your virtual hosts there, something like following
##
##ServerAdmin postmaster@yourvirtualhost.localhost
##DocumentRoot "/var/www/yourvirtualhost"
##ServerName yourvirtualhost.localhost
##ServerAlias www.yourvirtualhost.localhost
##ErrorLog "logs/yourvirtualhost.localhost-error.log"
##CustomLog "logs/yourvirtualhost.localhost-access.log" combined
##


You can find location of httpd-vhosts.conf file from httd.conf it is normally in apache/conf/extra.
 
1 year ago

minx
Hello,
How to use virtual hosts in Apache? I followed a tutorial of ubuntu and i have activated vhost_alias module but it does not work.
 
1 year ago

nicolx
I think is important fix this on apache restart:
Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
Is just a warning but i hate see them! :P
To solve it, open /etc/apache2/site-avaiable/default and att at top of file ServerName localhost.
If you like it add this tips in this article!
 
1 year ago

cahyadwiguna
how to make virtual directory or /var/www in home?
how to make change permission?
 
1 year ago

slotzero
Great write up - thanks!  
1 year ago

mysoomro
Hey mk_hayes and the64u.. I'll look into other question and comments later on. But mk_hayes you're right for

<?php phpinfo(); ?>
not
<!--?php phpinfo(); ?-->

But I noticed this error long ago and corrected it twice.. If you look at the older comments you'll find out.. But I don't know why it's changing again and again. I think some other codes are messing up with the codes in this tutorial..

Sorry for inconvenience.
 
1 year ago

mk_hayes
Thanks for this tutorial as it's a great start but it needs a few additions.

Yeah, Test PHP instructions are still, or perhaps again screwy.

sudo gedit /var/www/testphp.php opens up a file called testphp.php, not phptest.php as you have written. And the file needs to contain this:

<?php phpinfo(); ?>

not this:

<!--?php phpinfo(); ?-->

And for those looking for ;extension=mysql.so in php.ini
search for this without the ; as it is spaced well apart from the rest and you'll be able to find and uncomment it. (Which is what removing the semicolon does.)

I needed manuka's comment to get phpmyadmin to work. Also, while it may seem obvious, phpmyadmin login is root plus the password created during the mysql install.
 
1 year ago

the64u
hi,

i work on LAMP last 3 Days.
I m working Linux Mint Katya 32bit
i also tries Mint community, ther Mr Collin helped me..

I want create DB for Drupal

But face probelem in log in of localhots/phpmyadmin
error : #1045 Cannot log in to the MySQL server

when i found i completely remove the mysql-server, PHP5,Apache2
and then follow the instruction given by u.
Start was ok,but the commend does not show any thing
http://localhost/testphp.php
After that there is no content for ;extension=mysql.so

i still finding another solution..


Help me to sort out..




 
1 year ago

QianQinD
Thanks for the very helpful article:)  
1 year ago

mysoomro
you're most welcome. :-)  
1 year ago

zaenal1234
Thank's for this tutorial...& very useful&helpful;.  
1 year ago

zibams
thanks so much bro this is really awesome  
1 year ago

mysoomro
Dear Bob,
You're most welcome. I'm glad that this tutorial is assisting the Linuxmint community.

Regards,
Younis
 
1 year ago

mysoomro
Dear Mark,

Try using SCP Client for Mac
Transmit http://www.panic.com/transmit/
or filezilla or cyberduck.

If you want to setup FTP following link might help you in this regard.
http://community.linuxmint.com/software/view/vsftpd
https://security.appspot.com/vsftpd.html
http://www.unixmen.com/linux-tutorials/475-insall-vsftpd-in-ubuntu-
 
1 year ago

macgraphic
Thanks mysoomro, that got it all set up nicely on Mint.

Got a question though, how can I set up FTP accounts within Mint/LAMP to allow access (uploading of files {plugins etc for the wordpress sites on there} for use on them - I also have this installed on a local PC, but do my site coding in Dreamweaver on a mac (on same local network).

Thank again. Mark
 
1 year ago

guruwannabe
Hi,
Thanks a lot.
Just managed to install Apache, MySQL and PHP following your tutorial.
Regards,
Bob
 
1 year ago

manuka
This is a step a lot of LAMP tuts miss, if you are getting a 404 error after finishing all the install steps for http://localhost/phpmyadmin then do the following:

Type the following command to open up your apache2.conf file:
gksudo gedit /etc/apache2/apache2.conf

Add the following line of code inside apache2.conf:
Include /etc/phpmyadmin/apache.conf

Now restart Apache:
sudo /etc/init.d/apache2 restart

Done. I can't claim credit for this and is documented on a few LAMP installs round the place
 
1 year ago

ilucmaster
How to install pear-php, i bought a bock named Beginning PHP 5 and MySQL E-Commerce  
1 year ago

prativasic
Thanks for this wonderful tutorial. Although I use Xampp for it. But for my 64bit PC, I think it's the best way.
And dear Gurman, you can try installing Xampp for Linux which is a package containing the same and requires less command line.
 
1 year ago

mysoomro
Dear Gurman! try using these terminal commands you'll see if it's more complex or really fast, easy and convenient. With just one command, it'll locate the site of the application on web, download it for you, and Install it.. All in one go.. What can me more easy and convenient than this.. And I don't agree with you.. Web page developers and designers do need to code a lot.. May be only graphical part doesn't need coding but all other stuff needs a lot of code. PHP, MySQL, CSS, HTML, XHTML, XML, ASP.NET, JavaScript, all are code based technologies.. Though you can use GUI phpmyadmin for MySQL, but all other still need codings.  
1 year ago

Gurman
"If you're a webpage designer or developer..."
If I am a webpage designer or developer I do not want to understand the complexities of command line. I need a modern graphical interface for fast and convenient installation and configuration.The designer should be able to do the design but not programming shell. imho.
 
1 year ago

Elisa
IMO, for silly noobs aka beginners it's better instead Apache, use rather other web server, a nice GUI configured one -> 'Cherokee' :D or another powerful one - 'lighttpd' ;)
Think about that :P
 
1 year ago

Fiffifips
Thanx to trollboy and thanx to mysoomro ! working with terminal is fun . and always don't panik! things go on . I think it did well. and I will go on with this stuff working, thanx. My Homepage is waiting ....  
1 year ago

mysoomro
Got it right. :). I think the websites code was messing up with the code of tutorial.  
1 year ago

mysoomro
Thank you. and yes, you're 100% right. It's <?php phpinfo(); ?>. But I think there is some problem. When I went to edit this, this entire field of code was empty. And I had checked each code before uploading the tutorial.
Let me try it again.
 
1 year ago

trollboy
Good tutorial but Test PHP step 2 is wrong

It should read
<?php phpinfo(); ?>

instead of
<!--?php phpinfo(); ?-->

 

Other tutorials from mysoomro