Skip to content

Setup Instruction (1.8)

Planet Cloud edited this page Sep 26, 2020 · 11 revisions

Requirements

  • PHP Version 7.2+

Important Changes and Notes

  • This version can be installed on any domain with or without a MOFH host.
  • This version is meant to be independent and can be separated from your reseller account website.
  • If you chose to enable domain selection, ensure the credentials are set (see below).

Installation

  1. Download the project source and extract it to the root directory of the site domain.
  2. Edit the config file (sys-auth/app/config.php). See #configuration.
  3. If you chose to enable domain selection, see #multisite.
  4. If you have existing .htaccess file, copy the contents of LOGGED's .htaccess and paste them above yours.

Configuration

The new configuration file has groups of settings. This will be in bold.

sys

  • debug_mode: bool, shows error message intended for troubleshooting.
  • color_scheme: string, defines the color for elements like buttons.
  • cpanel_url: string, defines the control panel URL for login. WITHOUT THE cpanel. Example: cpanel URL is cpanel.rf.gd, enter rf.gd only.
  • enable_login_form: bool, enables/disables the login form.
  • enable_signup_form: bool, enables/disables the signup form.
  • enable_domain_selector: bool, enables/disables the domain selection during signup.
  • domain_selection: array, list of domains to choose from when signing up.
  • accept_request_from_other_logged: bool, if set to false, signup request from other LOGGED installation will be rejected.
  • feature
    • remember_username: bool, enables/disables login page remember username feature.
    • language_selector: bool, enables/disables login page language selector feature.

company

  • name: string, your company name.
  • logo: string (url), your company logo (image).
  • logo_type: string ('text'|'image'), defines the logo type.
  • slogan: string, your company slogan.
  • main_domain: string, your main website.
  • favicon: string (url), favicon URL.
  • contact_email: string (email), where users sends contact email.
  • report_abuse_email: string (email), where users report abuse.

page: string, set titles and messages.

Domain Selection

Before setting up the domain selection, it would be better to know how LOGGED handles this.

How LOGGED handles Domain Selection? LOGGED will basically forward the signup request from one LOGGED installation to the other. But LOGGED the receiving LOGGED won't just accept it and create an account. That would be terrible especially if spammed. So what LOGGED does is that it will only accept request from the site you have allowed. This is configured in the credentials file located in sys-auth/app. See #credentials for more information. If the request are valid and allowed, LOGGED will accept the request and creates the account.

Setting Up the Domain Selection There are a few different ways to set up your site with domain selection. In this section I will explain 2 systems: Main and rest MOFH and All MOFH.
Main means a main primary website, separated from MyOwnFreeHost reseller account. It has the benefits of cloudflare SSL, with no hit limit (depending on where you host them) and the freedom to choose where to host the site.

Main and rest MOFH

LOGGED must be installed on all sites. Assuming you have 3 website: Main, Site A, Site B. Site A and Site B is a MOFH website.
Install Project LOGGED on all the sites.
Then ensure:

  • The enable_domain_selector is enabled
  • domain_selection is filled apropriately
  • accept_request_from_other_logged is set to true on Site A and Site B
  • accept_request_from_other_logged is set to false on Main
  • Credentials are configured properly on all sites.

All MOFH

LOGGED must be installed on all sites Assuming you have 3 website: Site A, Site B, and Site C. Where all of them is a MOFH website. Install Project LOGGED on all the sites. Then ensure:

  • The enable_domain_selector is enabled
  • domain_selection is filled apropriately
  • accept_request_from_other_logged is set to true on all sites
  • Credentials are configured properly on all sites.

Note: The All MOFH can be a bit tricky.

Credentials

This section will describe how the credentials system work in LOGGED 1.8.

IMPORTANT NOTE: Please generate the key and ID using a strong password generator without symbol. Ensure that it is at least 16 characters long to prevent brute-force attacks.

LOGGED can send the request to another installation of LOGGED but it is up to the receiving LOGGED to accept or reject the signup request.

From now on, the LOGGED that initiated the request will be referred as "Sender" and the LOGGED that received the request as "Receiver".

LOGGED will only accept the request if the receiver end has set sys.accept_request_from_other_logged to true and if the credentials provided is correct.

The Sender must set their credentials inside target.credentials.php located under sys-auth/app. It should looks something like this:

return [
    'hosting1.com' => [
        'identifier' => 'YOUR_ID_HERE',
        'key' => 'YOUR_KEY_HERE',
        'protocol' => 'https'
    ],
    'hosting2.com' => [
        'identifier' => 'YOUR_ID_HERE',
        'key' => 'YOUR_KEY_HERE',
        'protocol' => 'https'
    ]
];
  • Where hosting1.com and hosting2.com is the target domain. Replace this with the domain you have available for signup.
  • The identifier key is used to identify the sender. This must be unique! Only one sender may have this unless you have a shared key.
  • The key key is like a password. This can be generated using a password generator.
  • The protocol key specifies the protocol to use when sending the request. Possible values are http and https.

Once the sender's end has been configured, it is time to configure the receiving end.

The receiving end credentials file is api.credential.php located under sys-auth/app. It should look something like this:

return [
    'YOUR_ID_HERE' => [
        'domain' => 'DOMAIN_HERE',
        'key' => 'YOUR_KEY_HERE',
    ]
];
  • Where YOUR_ID_HERE is the identifier you've placed on the sender's end.
  • The domain key is used to identify the sender's domain.
  • The key key is used to authenticate the request and must match the one placed in the sender's end.

Once both LOGGED has been configured, you should be good to go.

Screenshots

Login Page Signup with Selector Signup with Selector: Showcase Validator Signup: Creating Account