138 Comments

  1. cees

    PHP testing results in a 404

    Reply
  2. Richard

    I bookmarked this page YEARS ago and have referred to it many times. The instructions have held up well over the years and across a number of distros and releases of both Ubuntu and related others.

    Installing most recently on Mint 17.3 and 18, the package libapache2-mod-auth-mysql is neither available nor necessary.

    Reply

  3. Thank you so much. it work great.

    Reply

  4. Started on Ubuntu around 2 years ago and tried different versions, after a long time on Windows. Learned how to do various tasks in terminal and also practiced installing various other applications.
    This was however really new until l found your excellent tutorial and using the step by step guide which l found really easy.
    So thanks and will look at returning and adding more into my Ubuntu 14.04.
    Regards Ian

    Reply
  5. jimmyurin

    great tutorial, thanks a lot!
    Followed it a couple of times without any problems on older ubuntu versions.
    This time, using 14.04 in order to...
    ...fix the fully qualified domain name problem i had to

    echo "ServerName localhost" | sudo tee /etc/apache2/conf-available/fqdn.conf
    sudo a2enconf fqdn

    instead of

    echo "ServerName localhost" | sudo tee /etc/apache2/conf.d/fqdn

    why? Because they
    http://askubuntu.com/questions/256013/could-not-reliably-determine-the-servers-fully-qualified-domain-name
    say so.

    ... get php tested i had to put testing.php in /var/www/html/testing.php,not in /var/www/testing.php

    Reply

    • Thanks for the information.

      Reply
  6. Anji

    "Use the arrow keys on your keyboard to highlight apache2 and then used the space bar to select it."

    I think you'd better put the "space bar" in bold since many people seem to have missed it.. You explained it on your "fix" page but better they do it right away than trying to fix it later 😀

    Great tutorial. Kudos.

    Reply

    • Thanks for the suggestion. Made the update.

      Reply
      • Anji

        Hello, this post is quite old, didn't think you would reply.. hehe.
        I have a problem with the installation. I could not test with this command:
        echo "" | sudo tee /var/www/testing.php

        And for the Apache fully qualified domain name problem, I could not solve it with:
        echo "ServerName localhost" | sudo tee /etc/apache2/conf.d/fqdn

        Thanks for the help!

        Reply
        • Anji

          When i try this echo "ServerName localhost" | sudo tee /etc/apache2/conf.d/fqdn

          it says

          tee: /etc/apache2/conf.d/fqdn: No such file or directory
          ServerName localhost

          Reply
  7. superhl

    Awesome job and detailed.... I am trying to setup webcalendar . I copied the folder webcalendar into the "html" folder and I can run install/index.php from the browser; however, I get the message " The file permissions of the includes directory are set so that the installer does not have permission to create a new file. Please change the permissions of the following directory to continue.:
    /var/www/html/WebCalendar/includes
    Can someone direct me on how to resolve this? thanks

    Reply

    • The base folder for Apache is owned by the root user, you can change the permissions of the web server folders and your installer should work. Alternately, you can configure Apache to work with a folder under your user ID and that should work for you as well.

      Reply
  8. Melanie

    installed under mint 17 and working

    Reply

    • Thanks for the confirmation on Mint 17.

      Reply
  9. floppy

    had also to add the the phpmyadmin entry

    Include /etc/phpmyadmin/apache.conf

    in

    /etc/apache2/apache2.conf

    under linut mint 17 (ubuntu) then it worked!!

    Reply
    • Florian

      Thank you!

      Reply
  10. LucidLynx

    Nope... Couldn't find package lamp-server. you fail.
    ~Lucid Lynx

    Reply

    • Read the tutorial again. The command is NOT

      sudo apt-get install lamp-server

      The correct command is

      sudo apt-get install lamp-server^

      Sorry, you fail...

      Reply

  11. Greate article. thank you so much. before i installed XAMPP but i just remove it and go step by step on this post. thank man again

    Reply

    • For me it worked up to this command:
      $ sudo apt-get install libapache2-mod-auth-mysql phpmyadmin

      [outuput supressed]

      Package libapache2-mod-auth-mysql is not available, but is referred to by other package
      This might mean that package is missing, is outdated or is available only from another source

      E: Package 'libapache2-mod-auth-mysql' does not have a candidate for installation

      (Since my installation is in Portuguese, I had to translate the above text back to English. This means
      the wording might not be the same one you would see under an original English installation. Nevertheless,
      the meaning is similar enough).

      In a nutshell, I cannot finish the configuration because I can't find the fingered package.

      Any hints, please?

      - fernando

      Reply

      • Did you try running

        sudo apt-get update

        Then try running the command to install phpmyadmin.

        Are you using Ubuntu 12.04 or another version?

        Reply
  12. abas

    Hi

    followed your easy setup but a few questions.

    1.
    Is there an upgrade path? Currently php version running is 5.3.x?

    2.
    Is there a way to remove/delete this task, lamp-server?

    Thanks.

    Reply
    • Linerd

      The php version installed should be the latest one that's available in the repositories. As that gets updated, you should get the updates with your regular system updates.

      I have written a tutorial to remove LAMP. Make sure to do the dry run first to make sure that no packages you need will be removed. I've had some comments that certain developer packages get removed. Also, if you're running Kubuntu you'll have to reinstall the kubuntu-desktop package.

      http://tuxtweaks.com/2010/10/remove-lamp-in-ubuntu/

      Reply
  13. really delighted!

    Fantastic! Awesome! over the past decade ... off and on I tinker with various distros.. lots of them.. for me it has been really big headache installing LAMP on linux -- following these steps is like surfing the waves under sunny summer evening.. already finished 6 installations with happy smiles...

    Reply
  14. keya

    Phew! Thanks! I kept getting stuck at phpmyadmin because right at that point we were getting a flash flood warning, so I wasn't really concentrating and kept getting the black and white screen without login info.

    I had to reset the mysql password,

    https://help.ubuntu.com/community/MysqlPasswordReset

    uninstalled phpmyadmin, then reinstalled it, and REALLY READ the instructions on selecting the Apache2 server, and now everything seems to be working. Thank you for your fabulous instructions. I've spent a week with command line stuff, and it's really quite fun.

    Reply
  15. Dipak Chakraborty

    Most useful article. Thank You very much.

    Reply

  16. Nice tutorial, I've done this the hard way many times before. I have a couple of suggestions:

    1.) Don't use your root password for phpmyadmin for security reasons, have it generate the random one. You don't need to know it, it's used by the program.

    2.) After installing phpmyadmin, I have a habit of editing the configuration file in /etc/phpmyadmin/apache.conf and changing the /phpmyadmin alias to something less common like /webdata6, that helps to keep bad guys from discovering that phpmyadmin is in use just in case an exploit becomes available.

    3.) In general, restarting apache shouldn't be necessary when creating and testing php. If it doesn't work, then restart.

    Great tutorial, thanks.

    Reply
    • Linerd

      Bill, thanks for your tips. I've never been too concerned about security since I've only used this LAMP setup for development on my local machine, but I also know that some people have used this for their VPS setup, so these are definitely some good security tips. As for the Apache restart, it seems like every other version needs it so I keep it in the tutorial to keep it foolproof.

      Reply
  17. Paul Aphivantrakul

    This walkthrough is awesome. Thank you so much.

    Reply
  18. snoozer

    I echo comments by Rich..... OUTSTANDING LAMPP GUIDE. Follow carefully and click on the images provided for clarification.

    The only thing I would like to see in this tutorial is the command to change ownership of the web root folder.

    I followed this tutorial and it worked a treat in Linux Mint 15

    Reply
  19. Marsup

    I placed the following file (test.php) in /var/www after installing LAMP through the procedures given above.
    the http://localhost is working but why the http://localhost/test.php is not showing any output. It is just blank, no error. Am I missing something here ?

    PHP Testing

    <?php
    echo “If this works, we really did it!”;
    ?>

    Reply
    • Linerd

      Did you restart Apache?

      sudo service apache2 restart
      Reply
      • Marsup

        Yes I did. The installation is ok and the samples given in the installation procedure is working. But why a simple
        different example is not working? When one line php program like this is working, why
        not the one with echo? I am really puzzled, if someone can help me?.. I use Linux Mint 14. Thanks.

        Marsup

        Reply
        • Linerd

          I'm far from being a php expert. Did you try your program without the italics tags? If the tests in the tutorial worked, then maybe there is a syntax error in your program. Like I said, I'm no php expert. It's just a shot in the dark.

          I understand that there are some significant differences between php4 and php5. Maybe the version installed doesn't support the formatting tags?

          Reply
      • Marsup

        When I restart Apache with the sudo service apache2 restart command no error and no display
        to my above simple .php file. Now, when I stopped sudo service apache2 stop, it definitely giving error like

        Unable to connect Firefox can't establish a connection to the server at site1.
        (Same behavious with google chrome: could not connect to ..)

        What is missing in the code above?

        -Masup

        Reply
        • Linerd

          Apache2 is your web server, so when you stop it, of course it's no longer serving web pages. Just start it up again with

          sudo service apache2 start
          Reply
      • Marsup

        Sorry, I have intervene again for the third time today, as I was deliberate to get it. First thanks to Linerd for
        giving the suggestion to restart apache2. But other thing is that i copied and pasted the " character, from a
        .pdf text book. That was the culprit, and when I did on my key board, all is fine.

        Thanks again. I come back again as I move forward. very kind of you all.

        -Marsup

        Reply
        • Linerd

          Thanks for letting us know what solved your problem. Thanks also for visiting my site.

          Reply
  20. Moi

    Flawless...Thanks a lot

    Reply
  21. jl

    I have a problem

    Reply
  22. brian

    Perfect tutorial. You are best.

    Reply
  23. Issa

    Thank's a lot!!!
    great job........
    It's very helpfull.

    Reply
  24. Den

    Many thanks! You are the best!

    Reply

  25. This worked perfectly for me 🙂 Thanks so much.

    Reply

  26. Not sure if my case was an isolated case, but I needed to manually add the line "Include /etc/phpmyadmin/apache.conf" in the /etc/apache2/apache2.conf (as per https://help.ubuntu.com/community/ApacheMySQLPHP) in order to get the myPhpAdmin running

    Reply
    • pete

      thanks! did the trick

      Reply
    • Mark H

      Had the same issue, thanks for the fix

      Reply
  27. Ed

    Very nice! Thank you. Works great!

    Reply

  28. Outstanding, simple, easy to follow instructions that just works. Thanks! It looks like a number of people have had the same problem I did with the phpMyAdmin installation. I thought apache 2 was selected because it had a red mark, but this just meant the cursor was positioned there to allow it to be selected. I think this could be avoided with a small addition to the instructions. Just say that if an asterisk ("*") does not appear within the apache2 selection, it has not been properly selected.

    Reply
    • kc

      This happened to me - to fix this I had to purge the install:
      sudo apt-get purge libapache2-mod-auth-mysql phpmyadmin

      Reply
  29. Amit ghosh

    i have install lamp but how can i use php code.i insert php code in html but its not showing,what can i do,please tell me

    Reply
    • Brandon

      Create a PHP file instead of HTML. You can put HTML in it and the PHP extension instructs the server to process the PHP code in your file. Hope that helps!

      Reply

  30. Thanks for this post, Can anyone tell me how can i make permission for var/www folder, so that i can easily create and edit any file of www folder?

    Reply
    • Linerd

      The folder is owned by a user/group called www-data. Adding your user ID to that group should give you permission to create and edit files there.

      Reply
  31. Dinum

    thanks....

    Reply

  32. The next screen will ask if you want to configure phpMyAdmin with a database called dbconfig-common. Select "Yes" and hit .

    Following instructions on another website, I selected "No". Thereafter, I discovered the phpmyadmin not available. Please what can I do?

    Reply
  33. Mks

    I tried the above method, but when I test my "localhost/testing.php" the shown window does not appear, instead the "testing.php" file gets saved in my Downloads folder.

    Any ideas how can I fix this?

    Reply
    • Linerd

      Make sure to restart apache:

      sudo service apache2 restart

      You may need to restart your web browser as well.

      Reply

  34. Great! Thanks so much. Took me all of ten minutes to set up my local sites thanks to your fine directions,,,

    Reply
  35. Pavan

    Hi every one,
    I'm using ubuntu 12.04, and i'.m trying to save .php files on the root folder i.e., file:///var/www/
    But, when i'm going to save my file it's shows the following errors., i.e., it doesn't saves my file.
    What can I do?

    The errors are.,,

    Could not save file hi.php
    Error opening file '/var/www/hi.php': Permission denied

    File disappeared from disk
    File name: file:///var/www/hi.php

    Reply
  36. Emanuele

    Thanks,it worked very well!

    Reply
  37. Alejandro Lanza

    Awesomeness, thx so much!

    Reply
  38. ramin

    thank you very much. it was a very well written and smooth tutorial. thank you again.

    Reply
  39. Jo

    Getting this message:

    p@laptop:~$ sudo apt-get install tasksel
    E: Could not get lock /var/lib/dpkg/lock - open (11: Resource temporarily unavailable)
    E: Unable to lock the administration directory (/var/lib/dpkg/), is another process using it?
    p@laptop:~$

    How can I install tasksel?

    Reply
  40. pavan

    Thanks for clear description,
    I completely followed the above instructions, but i can't open phpmyadmin. When i'm trying to open, it says 404 error. How could i get phpmyadmin

    Reply
    • Linerd

      Check out this page. It should get it working for you.
      http://tuxtweaks.com/2012/05/fixing-common-problems-with-lamp-on-ubuntu/

      Reply
      • pavan

        Hi Linerd,
        Thanks for your response. But still my problem is alive. I can run http://localhost/testing.php but not PHPMYADMIN at localhost., when i'm trting this command
        echo "ServerName localhost" | sudo tee /etc/apache2/conf.d/fqdn
        It says,
        tee: apache2/conf.d/fqdn No such file directory

        What can i do?
        If it is a simple problem,then I'm Sorry to ask, Because I'm fresher for UBANTU 12.04

        Reply
        • pavan

          Finally I got it by using
          sudo dpkg-reconfigure -plow phpmyadmin

          sudo ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf.d/phpmyadmin.conf

          sudo /etc/init.d/apache2 reload

          Reply
          • alias

            Thanks!!! Your comment saved my time 🙂

  41. Bhavyesh Gadhethariya

    This is exactly what i was searching. Really a precise method to configure LAMP (Linux, Apache, Mysql, Php) on ubuntu 12.04

    Reply
  42. Kallist0

    Hello,

    How do change the location of my Sites folder, I keep getting permission errors; I was following a tutorial on another site. I must be misunderstanding something; when Change the DocumentRoot and Directory to point to the new location I get permission errors in my web browser.

    Instead of the default site location /var/www/ I want my Sites folder to be /home/accountname/Sites/

    Reply
  43. tag

    Thanks for such clear directions

    Reply
  44. Alex

    This is exactly what I was looking for. I just hope it works. Thank you for covering that this is used for a local environment!

    Reply
  45. elremx

    everything works fine until i try to test phpadmin. it says not found on this server

    any ideas?

    Reply
  46. Al

    The best article ever, thank you so much!

    Reply

  47. thank you 😀

    Reply
  48. Andy

    Thanks for the very clear directions. So, if I were setting up a Linux/MySQL/PHP server for a public site, how would these directions differ? It seems like the applications and installs would be the same, but perhaps some steps or best practices would be different?

    Forgive the dumb question. I'm relatively new to Ubuntu and I'd love to hear any suggestions for setting up and tuning a production box.

    Reply
  49. perlman

    In command line there is such error (...-desktop:~$ sudo apt-get install lamp-server^):
    Reading package lists... Done
    Building dependency tree
    Reading state information... Done
    E: Unable to locate package lamp-server^
    E: Couldn't find task 'lamp-server'
    E: Couldn't find any package by regex 'lamp-server^'

    Please, help me to start installing

    Reply
    • Linerd

      Is tasksel installed on your system? Try

      sudo tasksel install lamp-server

      You don't need the "^" in this version of the command. If tasksel is not installed, install it with

      sudo apt-get install tasksel

      then try again.

      Reply
      • perlman

        no, it didn't help/
        The problem was solved when I selected all repositories' checks at Software Ubuntu Center (Edit->Software Sources)

        Reply
        • Linerd

          Thanks for letting us know the solution.

          Reply
  50. haseeb

    So simply explained (both, page one and two) 😀 thanks a lot this is what i needed

    Reply

  51. By far the best walk-through hands down. And Fast. Thanks again.

    Reply
  52. chris

    Thanks a ton and god bless all of us for sharing and caring.

    Reply
  53. mostafa

    very very gooooooooooooooooood
    tnx you for your post
    it is very help me

    Reply
  54. Scott

    Awesome, thank you again.

    Reply
  55. Scott

    Hi again, do you see any issues installing WordPress after this?

    Reply
  56. Scott

    It works!! I hit enter with a block in the apache2 selection, and not a star. Anyway thanks very much!!

    Reply
    • Linerd

      Glad you got it working. Enjoy 🙂

      Reply
  57. Scott

    OK so I used Chrome instead of Firefox and testing php worked. I got the php information screen above. but, I installed phpMyAdmin and when I type http://localhost/phpmyadmin/ as the url i get. I am positive I did it correctly.

    Not Found

    The requested URL /phpmyadmin/ was not found on this server.
    Apache/2.2.22 (Ubuntu) Server at localhost Port 80

    Reply
  58. Scott

    <?php phpinfo(); ?>

    Reply
  59. Scott

    hmm, that should have read:

    In the file testing.php it's supposed to read "", correct?

    Reply
  60. Scott

    I followed to the letter and got this in the web page while testing php:

    Not Found

    The requested URL /testing.php/ was not found on this server.
    Apache/2.2.22 (Ubuntu) Server at localhost Port 80

    Can someone help?

    Reply
    • Linerd

      Try restarting Apache.

      sudo service apache2 restart

      You might also need to clear your browser cache to make it display properly.

      Reply
      • Scott

        Thanks for responding, I did a apache2 restart and it came back with 'OK'. Cleaned the browser cache. Still got the same response as above. In the file testing.php it's supposed to read correct? And should I be making the php file exe? I didn't. Thanks.

        Reply
  61. Aboup

    Thanks,
    Good tutoriel. It worked find for me

    Reply
  62. d21anthony

    Thank you sooooo much!!!

    Iv'e used a couple different methods and this one is by far the best! If you could make a tut for setting up multi-sites with their own docRoots that would be Awesome.... 🙂

    Anthony

    Reply
  63. James

    Thank you so much!

    I almost lost my job and your tutorial saved me. God bless your soul :D!

    James

    Reply
    • Linerd

      You're very welcome. That's the best comment I've gotten to date!

      Reply

  64. Hi, Great tutorial. I recently reinstalled phpMyAdmin on Ubuntu 12.04 and came across an issue with the configuration with Apache. I’ve written a post about it http://blog.peterfisher.me.uk/2012/06/27/solution-to-phpmyadmin-throwing-a-404-error/ basically the phpMyAdmin conf file was not inside the Apache configuration folder as the site was throwing 404 errors so I needed to symlink the phpMyAdmin conf to the the Apache config folder.

    Reply
  65. koroush

    Thanks!
    excellent

    Reply
  66. Ankit

    Hi...
    Grt work.. How to use phpadmin in this..

    Reply
  67. Leonardo

    Good tutorial. Works for me 100%. Thanks

    Reply
  68. Newbie

    Excellent Tutorial.
    How to set access permission for my website folder?

    "Forbidden

    You don't have permission to access /ddusa/ on this server."

    Reply
  69. nms

    excellent post. thank you

    Reply
  70. Ruben Ghosh

    WOW! That's work on my Computer...Thanks a lot..

    Reply

  71. The content was really useful and clearly explained.Thank you ....

    Reply
  72. Md. Moheb Ullah

    This is very excellent LAMP installing process. I think it is more user friendly process than ever, everybody will install it easily by having little command in English and about command line. I again thank the developers for contributing in this respect.

    Reply

  73. Thanks for this post. Just so that others may benefit, the installation did not put phpmyadmin. I had to do this separately.

    Reply
    • Linerd

      Installation of phpMyAdmin is covered on page 2 of this post.

      Reply
  74. ezekia

    Thanks Aloat

    Reply

  75. This worked great - thanks.

    Reply
  76. Nick

    Thanks very much! The exact steps installations on the newly installed ubuntu 12.04. Thank you!

    Reply

  77. great tutorial. i think you forgot to include installing phpmyadmin
    sudo apt-get install phpmyadmin

    so you'll not get phpmyadmin 404 error.

    Reply

  78. Really very nice............

    Reply
  79. ness

    Good work here!!!

    Reply
  80. John

    I found your site by accident after following another lamp install wicki, that caused endless problems. Your un-install link worked great. I did not want to try and un-install loads of seperate files (not clever enough !)

    If I now have a lamp server, could you do a tutorial on how to get my web page on to it ?

    All the how too? assume we all know how to do it I am a learner and am not sure what to do next.

    Your tutorial was very clear just what is needed,thank you.

    Reply
  81. Bruno

    Thank you so much for the work, clear and objective, I would give a little help to improve this tutorial.
    For those who could not access phpmyadmin after installation, as I researched a simple solution in a forum here in Brazil:
    macquley: "you must create a symbolic link to /var/www by default because phpmyadmin is installed in usr/share/ follows the command:
    sudo ln-s /usr/share/phpmyadmin /var/www/phpmyadmin
    , now in just access your browser http://localhost/phpmyadmin"

    link references: http://www.vivaolinux.com.br/topico/MySQL/Problemas-na-instalacao-do-PHPMyAdmin

    I hope this helps.

    Reply
  82. emiliano

    I love you!

    Reply
  83. Leon

    Great tutorial! Thank you so much! I love it.

    One little thing: The link under 'Apache Configuration' isn't working anymore.

    Reply
  84. Frank

    very grateful because since long time I've been trying to resolve this problem that appeared when I upgrade to Ubuntu 12.04. Before this aplication was working well.

    Thanks again.

    Francisco Pérez
    Programador

    Reply

  85. Thank you

    I like your way of creating tutorials.

    Very Helpful

    Reply

  86. Why restarting Apache after creating the testing.php file???

    Reply
    • Linerd

      As to the real why, I don't know. I just know I've needed to do that since Ubuntu 9.04 and honestly, I haven't tried not restarting Apache at this step. Maybe I'll try it tonight and see if it's still required. Thanks for your comment/question.

      Reply
    • Linerd

      Excellent question! There was no need at all to restart Apache. I've updated the tutorial. Thanks again for your question. 🙂

      Reply
    • Linerd

      Just added the Apache restart back to my post as some people were having problems with php files without the restart.

      Reply
  87. Vishal Bhite

    Interesting one!!!

    Helpful for me !!

    Thanks 🙂

    Reply
  88. Peter Jones

    Very many thanks for this. Most useful.

    Best wishes

    Peter Jones
    Crawley, West Sussex
    UK

    Reply

  89. thank you so much!. Excelent!

    Reply

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.