Install Magento 2.3.7


Magento version 2.4.0 or higher cannot be installed on the hosting, since they require the Elasticsearch module, which is on the hosting not supported.
  1. Install PHP 7.3 for site and for console (cm. official requirements).
  2. V PHP settings disable psr extension.
  3. Download from official repository on GitHub archive with Magento 2.3.7 distribution.
  4. Place the distribution files on the hosting:
    1. Through filemanager or any FTPclient upload the archive to hosting in site root directory.
    2. Unpack downloaded archive and place its contents so that it ends up in root directory of the site.
    3. Edit two file .htaccess - in root directory of the site and subdirectory pub (or replace their contents with the one taken fromhere):
      1. Find a line like this:
        Options +FollowSymlinks

        Replace it with this:

        Options +SymLinksIfOwnerMatch
      2. Find all such blocks of code:
        <IfVersion < 2.4>
            order allow,deny
            deny from all
        <IfVersion >= 2.4>
            Require all denied

        Replace each of them with this line (or comment out all lines except this one):

        Require all denied
  5. Prepare the database:
    • If there is no free database, create new.
    • If there is an unused database, you can clear and use it.
  6. V MySQL security settings disable restriction of access by IP. Without this, Magento will not allow the installation to continue and will report that the user does not have enough rights.
  1. Connect to hosting via SSH.
  2. Go to site root directory (insteadof example.com/sub enter your details):
    cd ~/example.com/sub
  3. Download Composer 1.9.0 and make it executable:
    wget https://getcomposer.org/download/1.9.0/composer.phar && chmod +x composer.phar && mv composer.phar composer
  4. Install dependencies:
    ./composer install
  5. Install Magento (substitute your data in the command parameters):
    bin/magento setup:install \
    --base-url=http://example.com/ \
    --db-host=example.mysql.tools \
    --db-name=example_db \
    --db-user=example_db \
    --db-password='password' \
    --admin-firstname=admin \
    --admin-lastname=admin \
    --admin-email=admin@example.com \
    --admin-user=admin \
    --admin-password='password' \
    --language=uk_UA \
    --currency=UAH \
    --timezone=Europe/Kyiv \

    In command (description of all parameters is available in official documentation):

    • base-url - the address where the site will work.
    • db-host — host Database.
    • db-nametitle Database.
    • db-userlogin database user.
    • db-passwordpassword database user.
    • admin-firstname - administrator name.
    • admin-lastname - Administrator's last name.
    • admin-email - administrator mail.
    • admin-user - administrator login.
    • admin-password - administrator password. Must be at least 7 characters and contain at least 1 letter and 1 number.
    • language - language.
    • currency - currency.
    • timezone - Timezone.
    • use-rewrites — use of web server redirects for generated storefront and admin panel links.
  6. Copy from string "Magento Admin URI" address of access to the admin panel of the site and save it for yourself.
  7. Change administrator password to your own. Without this, logging into the site's admin panel with the previously specified data does not work.
  8. Check the site is working.