7

I moved a Joomla 1.5 site to another hosting provider under different domain. Everything works fine, all pages load fine, but I can't log into administrator panel, not the front end.

The username/password is OK, because I get an error saying my password is incorrect if I type in gibberish, but when I type in correct credentials, nothing happens on the backend login, I just get redirected back to the login form. On the front-end, when I try to log in, I get redirected to the homepage with a message "You have to log in first".

All auth plugins are enabled in the database, I've checked as it seems to be a common error, and I've updated my configuration.php file.

I thought the site might have issues with old sessions, so I deleted all records in the jos_session table, which gave me an info message on the backend login "Your session has expired, please log in again", but after trying to log in again, I simply get redirected to the login page, with no message, like before.

Does anyone have any idea where to look next? It smells like session handling issue, but session handling in the database seems to work fine, the table got populated again.

Thanks!

4 Answers 4

4

It's hard to say exactly what's wrong, but here are some things you can try (please backup your configuration.php and .htaccess files before making any changes).

  1. Although you say your username/password is correct, try creating a new super-admin user by following this guide.

  2. What version of PHP/mySQL are your new server using? Is it the same as the old host? Is it compatible with Joomla 1.5.

  3. Enable error reporting by setting var $error_reporting = '32767'; in configuration.php

  4. Enable debug by setting var $debug = '0'; in your configuration.php file.

  5. Check your .htaccess file (if it exists, rename it to .htaccess.old or something). If not, copy.

  6. Enable the FTP layer in configuration.php by adding details from a valid FTP account on your server. In some cases, erroneous server configuration might limit access to certain files.

    var $ftp_host = '127.0.0.1'; //This is the default localhost address reference. Your Web host may have set this differently. 
    var $ftp_port = '21'; // Port 21 is the default FTP port on most operating systems, but may have been configured differently by your host provider.
    var $ftp_user = 'your ftp username';
    var $ftp_pass = 'your ftp password';
    var $ftp_root = 'the absolute path of the directory that the ftp client should open within';
    $ftp_enable = '1'; Set to '1' to enable the FTP layer facility.
    
  7. Make sure all files were completely transferred. If possible, repeat the transfer using Akeeba Backup.

  8. Make sure you're running the latest version of Joomla 1.5. Unless you've applied core hacks or edited the default template, you can download the latest version and unzip in to your Joomla directory, overwriting any existing files.

  9. Make sure your database user has all required permission to run Joomla.

SELECT, INSERT, UPDATE, DELETE are indeed required for normal usage. If you want to install new components (which need to create new tables) you will also need CREATE and DROP and maybe ALTER (for components that need to update their old tables when upgrading).

These are just a few ideas from the top of my head. #2 & #3 might provide important information regarding any error.

1
  • Thanks for an extensive answer! I've tried 1., for 2. I've checked and both PHP/MySQL versions are high enough. I've enabled debugging and played around with .htacces but with no luck. I didn't get around to trying other suggestions you made because we just ended up using the old hosting provider and pointed the new domain to the old IP address. Everything works now... it was a really weird issue. Commented Oct 14, 2014 at 14:24
2

You may have a redirection conflict where the www version of the administrator login is redirecting to the non-www version of the website or vice versa.

Try logging in to the www version of the website and the non-www version of the website to see if there is any difference.

Check for any redirections in the .htaccess file and ensure that the $live_site parameter (if one is set) is set to the corresponding www or non-www version of the website.

You could also try temporarily replacing the contents of .htaccess with htaccess.txt (assuming you have .htaccess enabled) to reset this file to the default and check if there is an issue with your .htaccess file.

1
  • Thanks for the suggestion! This is one of the things I've tried at start, I've modified the .htaccess file to reflect the current domain and checked for possible redirects, but with no luck. Commented Oct 14, 2014 at 14:21
2

If you've tried all of the above and you've had no joy. Here's a suggestion.

Login into cPanel. When you get its dashboard, locate the Database section in your cPanel.

In the Database section located the PHPMyAdmin icon. Click the PHPMyAdmin icon which takes you to PHPMyAdmin interface.

From the left hand column, click the database name associated with your Joomla website.

This will bring up all the Joomla database table names in right hand side.

Locate the table XX_users, Where XX_ is the table prefix you've used.

Once you can see XX_users, locate your Admin user from among the user records visible.

Once you've located the Admin user, at the extreme right hand side, you will see a check box, Select the check box.

Click on the pencil icon or the link Edit. The Admin user record will open in the editor.

Locate the password data entry field.

Delete its contents using the backspace key OR Select the contents and hit the delete key.

Next key in the new password that you want.

NOTE: ON the immediate left hand side of the data entry field there is a Drop Down List Box. Click on the DDLB and select MD5 from the list of choices available. This is very important.

Click GO.

That's it. You are done.

Now login to Joomla using the new password and everything should work just fine.

1
  • Thanks for the suggestion, but the passwords are not really the problem, and also are not simply MD5 hashes; there's a bit of additional salting logic happening from what I was able to observe in the code. Commented Oct 14, 2014 at 14:20
0

I had the same issue with a website transferred from my localhost to its online domain.

I've tried so many suggestions and nothing worked until I tried to change the "HTTP" to "https", and voila -- it worked!

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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