Ubuntu – phptheadmin throws a 404 on opening

Apache2MySQLPHPserver

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

Best Answer

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.

Related Question