Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

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

share|improve this question
    
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. –  NewBiL Jun 9 '13 at 14:59

3 Answers 3

up vote 1 down vote accepted

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.

share|improve this answer
    
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? –  SimplySimon Jun 9 '13 at 15:20
    
For example with ls -lh –  C1sc0 Jun 9 '13 at 15:22
    
ls -lh reports drwxr-xr-x 2 root root 4.0K Jun 7 21:04 www –  SimplySimon Jun 9 '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 –  C1sc0 Jun 9 '13 at 15:43
    
I have added the details to the bottom of the question. chown makes all files in www www-data –  SimplySimon Jun 9 '13 at 15:43

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.

share|improve this answer
    
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! –  SimplySimon Jun 9 '13 at 16:08
    
Try restarting apache (sudo service apache2 restart) –  Capt.Nemo Jun 9 '13 at 16:10
    
I tried that, see the edit at the bottom of the original question –  SimplySimon Jun 9 '13 at 16:20
    
At this point, I'd probably download phpmyadmin and unzip it in /var/www/ –  Capt.Nemo Jun 13 '13 at 11:56
2  
Thanks a lot! I forgot to tick the apache2 while installation with tasksel. –  nahtnam Apr 23 at 4:04

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

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.