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===================================

Simon
  • 4,813
  • 8
  • 35
  • 52
  • 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 09 '13 at 14:59
  • 2
    Did you add this to /etc/apache2/apache2.conf? Include /etc/phpmyadmin/apache.conf – Debashish D. Dev Dec 21 '14 at 03:13

5 Answers5

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.

Nemo
  • 9,460
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.

AntonyMN
  • 351
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.

IamK
  • 298
  • 1
  • 6
  • 15
  • 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 09 '13 at 15:20
  • For example with ls -lh – IamK Jun 09 '13 at 15:22
  • ls -lh reports drwxr-xr-x 2 root root 4.0K Jun 7 21:04 www – Simon Jun 09 '13 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 09 '13 at 15:43
  • I have added the details to the bottom of the question. chown makes all files in www www-data – Simon Jun 09 '13 at 15:43
  • Alias phpmyadmin /usr/share/phpmyadmin added, no change or do I need to restart the service? – Simon Jun 09 '13 at 15:54
  • Exactly :) sudo service apache2 restart – IamK Jun 09 '13 at 15:55
  • That's done and added the error I received to the bottom of the question. I'll try rebooting. – Simon Jun 09 '13 at 16:02
  • run, the following sudo ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf.d/phpmyadmin.conf – IamK Jun 09 '13 at 16:04
  • I get ln: failed to create symbolic link ‘/etc/apache2/conf.d/phpmyadmin.conf’: File exists, still not working :( – Simon Jun 09 '13 at 16:11
  • Added the nautilus screenshot to bottom of the question. – Simon Jun 09 '13 at 16:19
  • Maybe the www-data user don't have a read permission to the link, can you paste me the result of: sudo ln -lh /etc/apache2/conf.d – IamK Jun 09 '13 at 16:56
  • ln -lh give ln: invalid option -- 'l' – Simon Jun 09 '13 at 17:02
  • Ohh, sorry, sudo ls -lh /etc/apache2/conf.d – IamK Jun 09 '13 at 17:03
  • Placed at the bottom of the question. – Simon Jun 09 '13 at 17:09
  • At the beginning you created a file test.php, that works or still throws 403? – IamK Jun 09 '13 at 17:13
  • You are welcome, try to remove phpmyadmin and install it from source. – IamK Jun 09 '13 at 17:29
  • I'll do that now. I'll get back to you. – Simon Jun 09 '13 at 17:49
  • Sorry to be a pain, I have downloaded phpMyAdmin-4.0.3-english.tar.gz but after searching for instructions on how to install it, I'm still looking at the screen , none the wiser. Any suggestions? – Simon Jun 09 '13 at 19:11
  • I have added a description to the bottom of my answer. Before you start the process remove all installed packages what you already installed (with apt-get remove packagename) – IamK Jun 09 '13 at 19:51
  • These are too many comments, and this discussion would be better suited for chat. – RolandiXor Jun 09 '13 at 20:35
  • it's working for me by doing http://project.local/phpmyadmin after doing what exist in official ubuntu site by addin the including path to apache2/apache2.conf and the symolic links – khaled_webdev Feb 25 '14 at 22:42
0

My phpmyadmin was not opening.

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

Black
  • 801
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

martintama
  • 211
  • 1
  • 5