25

I have installed php5 and phpMyAdmin from the Ubuntu Software Centre on a fresh install of Ubuntu 13.04.

when I enter localhost in my browser the following is displayed:

It works!

This is the default web page for this server.

The web server software is running but no content has been added, yet.

So something is working.

if I then type in localhost/phpmyadmin or localhost/phpmyadmin/index.php the page returns a 404 error page, file not found.

I created a file in /var/www called test.php with one line in it <?php phpinfo(); ?> when I try to access it through my browser, I get 403 Forbidden

This points to a permissions problem

with phpMyAdmin I also installed:

  • Apache HTTP Server metapackage (apache2)
  • Base support for JavaScript library packages (javascript-common)
  • Fast webserver with minimal memory footprint (lighttpd)
  • MySQL Client (mysql-client)
  • GD module for php5 (php5-gd)
  • MySQL Server (mysql-server)

When installing phpMyAdmin, I was not asked any questions, which I found interesting as on previous installs, I have been asked to choose a server.

The folder /etc/phpmyadmin has the following content:

  • conf.d/
  • config-db.php.ucf-dist

The folder conf.d has no content

Is there something I need to install which I haven't or is there something I can do to fix the 404 & 403 errors?

Edit

owners in /var

:/var$ ls -lh
total 48K
drwxr-xr-x  2 root root     4.0K Jun  9 12:16 backups
drwxr-xr-x 21 root root     4.0K Jun  9 13:28 cache
drwxrwsrwt  2 root whoopsie 4.0K Jun  9 16:01 crash
drwxr-xr-x 73 root root     4.0K Jun  8 19:24 lib
drwxrwsr-x  2 root staff    4.0K Apr 19 10:03 local
lrwxrwxrwx  1 root root        9 Jun  9 16:00 lock -> /run/lock
drwxr-xr-x 20 root root     4.0K Jun  9 16:01 log
drwxrwsr-x  2 root mail     4.0K Apr 24 18:01 mail
drwxrwsrwt  2 root whoopsie 4.0K Apr 24 18:05 metrics
drwxr-xr-x  2 root root     4.0K Apr 24 18:01 opt
lrwxrwxrwx  1 root root        4 Jun  9 16:00 run -> /run
drwxr-xr-x 10 root root     4.0K Jun  8 19:41 spool
drwxrwxrwt  4 root root     4.0K Jun  9 16:25 tmp
drwxr-xr-x  2 www-data www-data     4.0K Jun  7 21:04 www

and:

...:/var$ ls -lh /var/www
total 12K
-rw-r--r-- 1 www-data www-data  177 Jun  7 20:30 index.html
-rw-r--r-- 1 www-data www-data 3.5K Jun  7 20:30 index.lighttpd.html
-rw-r--r-- 1 www-data www-data   20 Jun  7 21:04 test.php
-rw-r--r-- 1 www-data www-data    0 Jun  7 21:04 test.php~

on restarting the apache2 service I get the following in Terminal

simon@simon-VGN-AR71E:~$ sudo service apache2 restart
apache2: Syntax error on line 260 of /etc/apache2/apache2.conf: Could not open configuration file /etc/apache2/conf.d/phpmyadmin.conf: No such file or directory
Action 'configtest' failed.
The Apache error log may have more information.
   ...fail!

i renamed phpmyadmin.conf link and ran

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

see the broken link symbol in nautilus:

enter image description here

simon@simon-VGN-AR71E:~$ ls -lh /etc/apache2/conf.d
total 16K
-rw-r--r-- 1 root root  269 Jul 16  2012 charset
lrwxrwxrwx 1 root root   45 Jun  7 21:14 javascript-common.conf -> /etc/javascript-common/javascript-common.conf
-rw-r--r-- 1 root root 3.3K Jul 16  2012 localized-error-pages
-rw-r--r-- 1 root root  143 Jul 16  2012 other-vhosts-access-log
lrwxrwxrwx 1 root root   28 Jun  9 17:28 phpmyadmin.conf -> ../../phpmyadmin/apache.conf
-rw-r--r-- 1 root root 1.7K Jul 16  2012 security

END===================================

2
  • I also face same type of problem and solved it changing the directory permission. But changing System folder's permission is not a good idea I think. You may create new server directory inside home.
    – Nabil
    Jun 9, 2013 at 14:59
  • 2
    Did you add this to /etc/apache2/apache2.conf? Include /etc/phpmyadmin/apache.conf Dec 21, 2014 at 3:13

5 Answers 5

50

It seems to me that you forgot to tick apache during the phpmyadmin installation screen. You can check if that is the case by checking for the presence of /etc/apache2/conf.d /phpmyadmin file.

You can reconfigure phpmyadmin with the following command:

sudo dpkg-reconfigure phpmyadmin

You will see the following screen:

Choose Web Server

Tick apache (using spacebar), and tab to OK.

8
  • I get ln: failed to create symbolic link ‘/etc/apache2/conf.d/phpmyadmin.conf’: File exists after I complete this. It still doesn't work!
    – Simon
    Jun 9, 2013 at 16:08
  • 1
    Try restarting apache (sudo service apache2 restart)
    – Nemo
    Jun 9, 2013 at 16:10
  • 8
    Thanks a lot! I forgot to tick the apache2 while installation with tasksel.
    – nahtnam
    Apr 23, 2014 at 4:04
  • 7
    You're golden. Why is this not ticked by default and why does it let you proceed without making a choice?
    – Miro
    Jan 20, 2015 at 12:07
  • 3
    During initial installation, I kind of pressed <ENTER> instead of <SPACE> to select Apache2, and the window disappeared.
    – Suraj
    Apr 5, 2015 at 7:24
20

I know this is a very old problem, so if you encounter such an error and the above does not help you, this might:

Use this command sudo nano /etc/apache2/apache2.conf to open the file using nano then add the following line:

Include /etc/phpmyadmin/apache.conf

Save and close. Then restart the server. This should work.

9
  • This worked for me! Thanks
    – athi
    Oct 14, 2019 at 5:33
  • Worked for me too
    – Teshan N.
    Feb 3, 2020 at 4:53
  • Really, its worked for me
    – Rohit
    Mar 11, 2020 at 12:08
  • Thats the solution for me! Sep 24, 2020 at 22:05
  • Also worked for me!
    – paddyg
    Oct 4, 2020 at 13:12
6

Maybe it is an apache permission problem. Try to put in your /etc/apache2/sites-available/default the following lines

<Directory /> AllowOverride All </Directory>

and check that the /var/www folders owner is www-data

==================================================================================

Install mysql server: sudo apt-get install mysql-server

Here the installer will ask the mysql-server root password

Install apache 2: sudo apt-get install apache2

Test it: localhost (You must see "It works!" etc)

Install php5: sudo apt-get install php5

sudo apt-get install libapache2-mod-php5

sudo /etc/init.d/apache2 restart

Testing it: create the file php_info.php in /var/www/

The content of the file: <?php phpinfo(); ?>

Install php modules: sudo apt-get install php-pear php5-gd php5-xsl curl libcurl3 libcurl3-dev php5-curl

Connect apache 2 and mysql together: sudo apt-get install libapache2-mod-auth-mysql

Install phpmyadmin:

`sudo apt-get install php5-mysql`
`sudo apt-get install phpmyadmin`

Connect php5 with mysql server:

Edit the file /etc/php/apache2/php.ini

Uncomment the following line: extension=mysql.so

Restart apache: service apache2 restart

Try phpmyadmin: localhost/phpmyadmin/

This worked for me many times.

22
  • Thanks for that,I changed the existing AllowOverride none with AllowOverride All no change, still 404. How do I find out the owner of a folder or file?
    – Simon
    Jun 9, 2013 at 15:20
  • For example with ls -lh
    – IamK
    Jun 9, 2013 at 15:22
  • ls -lh reports drwxr-xr-x 2 root root 4.0K Jun 7 21:04 www
    – Simon
    Jun 9, 2013 at 15:28
  • Try to edit your default file in sites-available folder and put the bottom, after </VirtualHost> the following Alias phpmyadmin /usr/share/phpmyadmin
    – IamK
    Jun 9, 2013 at 15:43
  • I have added the details to the bottom of the question. chown makes all files in www www-data
    – Simon
    Jun 9, 2013 at 15:43
0

This can be pretty obvious but, does /etc/phpmyadmin/apache.conf exists?. If it does, try letting dpkg do all the job. rm the link you manually created and run again:

sudo dpkg-reconfigure -plow phpmyadmin

0

My phpmyadmin was not opening.

The problem was, because I tried to call it with https instead of http.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .