Incorrect Installation

Hi Elgg Gurus! I installed elgg in my Debian Jessie and when I access it as http://192.168.1.108/elgg/elgg-2.0.2/ from my LAN, I can see

(1) SN name link pointing to "localhost@elgg/elgg-2.0.2/" (which doesn't work of course), then below

(2) Login link "http://localhost/elgg/elgg-2.0.2/login#login-dropdown-box" but in /var/www/html/elgg/elgg-2.0.2/ there is no "login" file (command find /var/www/html/elgg -name "*login*" doesn't find anything in "/var/www/html/elgg/elgg-2.0.2/". Then

(3) there is a rectangle with input fields "Username or email", "Password", "Remember me" and "Login" button. Then there are two links "Register" and "Lost password", incorrect analogously (pointing to "localhost" instead of 192.168.1.108" and not existing files of "register" and "forgotpassword"). Then below the rectangle, there are 

(4) Nine analogously incorrect links as it follows:

etc. etc. Please advise kindly what crucial mistake I have done... :( Thank you so much. 

 

  • Use "192.168.1.108/elgg/elgg-2.0.2/" instead of "localhost/elgg/elgg-2.0.2/" in your advance setting page. (IP that can be publically access by others)

  • Dear Rohit, thank you for your response. The 192.168.1.108 URL is rewritten by elgg to "localhost..." and when I fix it back to 192.168.1.108, it fails for the reason that the file doesn't exist in the target URL directory (it is so for all links). There must be some serious mistake which I did during the installation. 

  • The pages of the url are created dynamically. There is no issue with the url. Study the api's and you will understand.

  • Hi Rohit, I don't understand how can the URL be generated correctly if the URL tries to access a file which doesn't exist? E.g. "http://localhost/elgg/elgg-2.0.2/login#login-dropdown-box" (there is no "login*" file in the directory of "/var/www/html/elgg/elgg-2.0.2"). What should I study, please? :( 

  • There are not always physical files in the Elgg directory matching the urls. That's because Elgg uses rewrite rules.

    The first question is, if mod_rewrite is correctly working on your server. It should, because the installation seems to have completed. Then the second question: what have you entered as "site url" during the installation? Have you entered http://localhost/elgg/elgg-2.0.2 or have you entered http://192.168.1.108/elgg/elgg-2.0.2? If you try to access your site by the other url (not the one entered during installation), the redirect done by the rewrite rules is likely to fail. If the IP gets redirected to localhost even if you have installed Elgg using the url I don't think the problem is within Elgg - it shouldn't redirect to localhost. More likely, the redirect happens by some configuration setting on your server, e.g. by what's defined in /etc/hosts.

    Usage of "localhost" as site domain is also not ideal. It will work to access the site from the computer the Elgg site is installed on but not from any other computer - and if only for testing purposes. If you don't want to use the IP or localhost as site domain, you can enter a hostname to be used for accessing the Elgg site (or other pages available on the server) by adding a line of the following form to /etc/hosts

    192.168.1.108     my_hostname.home.xyz  my_hostname

    This will only work if 192.168.1.108 is a static IP for this server. If it's a dynamic IP use

    127.0.0.1     my_hostname.home.xyz  my_hostname

    instead. You can access the Elgg site then by the site url http://my_hostname.home.xyz/elgg/elgg-2.0.2 if that's also the hostname used during installation. So, you would either have to re-install Elgg or you would have to alter the site url entry in the database directly (as explained at http://learn.elgg.org/en/2.0/admin/duplicate-installation.html#database-entries) if you can't access the admin section of your Elgg site.

    From other computers you could also access the Elgg site by http://my_hostname.home.xyz/elgg/elgg-2.0.2 if you make a corresponding entries in their hosts file. This will only work with the correct IP of your server though and NOT with 127.0.0.1.

  • Thank you so much, iionly! I believed that whether I use localhost or IP wasn't important because one can need to use several ways of accessing elgg (i.e. "localhost", IP and also the one with forwarded port from the public static IP). So I'll have to reinstall elgg. Then I'll have also to study the Apache rewrite module which I've never used.. Thank u again!