Projekt - část 16

Projekt - část 16

V tomto úkolu publikujeme náš projekt na projekt na internet.

1. Zaregistruj se na: https://cz.000webhost.com/registrace-stranek-zdarma, já pro urychlení zvolil přihlásit se s google.

registrace

2. Po přihlášení klikni na + Create New Site.

Vytvoření stránky

3. Vyplň údaje a klikni na create. Zapamatuji si nebo si někam napiš heslo, budeme jej ještě potřebovat.

Údaje stránky

4. Změň verzi PHP na PHP 8.0.

verze PHP

5. Jdi do Tools -> Database Manager a klikni na + New Database.

nová databáze

6. Vyplň název databáze, jméno uživatele a heslo. Pozor jméno databáze a uživatele se nesmí shodovat a heslo nesmí obsahovat část z názvu uživatele nebo databáze a zároveň musí obsahovat velké písmeno, číslo a speciální znak. Zároveň musí být delší než 12 znaků. Toto heslo také nezapomeň.

vytvoření databáze

7. Nainstaluj si program Filezilla. Na windows a macOs by měl jít stáhnout tady: https://filezilla-project.org/download.php?type=client. Na linux by mělo fungovat z terminálu sudo dnf install filezilla. Případně dořešíme operativně.

8. Nyní ještě v projektu opravíme soubor Class/Connection.php, aby jme v něm měli jak údaje do lokální databáze tak i do produkční. Pozor ať při kopírování nepřijdeš o údaje do své lokální databáze. Soubor Connestion.php bude vypadat takto:

<?php

class Connection
{
  private const DBNAME = 'mujblog';
  private const HOST = 'localhost';
  private const USERNAME = 'mujblog';
  private const PASSWORD = 'mujblog1';
  private const DBNAME_PRODUCTION = 'id1204433_mujblog';
  private const HOST_PRODUCTION = 'localhost';
  private const USERNAME_PRODUCTION = 'id120443_standa';
  private const PASSWORD_PRODUCTION = 'Mojeheslo123?';
  private PDO $pdo;

  public function __construct()
  {
    $dsn = 'mysql:dbname=' . (str_contains($_SERVER['HTTP_HOST'], 'localhost') ? self::DBNAME : self::DBNAME_PRODUCTION) . ';host=' . (str_contains($_SERVER['HTTP_HOST'], 'localhost') ? self::HOST : self::HOST_PRODUCTION) . ';charset=utf8mb4';

    try {
      $this->pdo = new PDO($dsn, str_contains($_SERVER['HTTP_HOST'], 'localhost') ? self::USERNAME : self::USERNAME_PRODUCTION, str_contains($_SERVER['HTTP_HOST'], 'localhost') ? self::PASSWORD : self::PASSWORD_PRODUCTION);
      $this->pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    } catch (PDOException $e) {
      die('Connection failed: ' . $e->getMessage());
    }
  }

  public function getPdo(): PDO
  {
    return $this->pdo;
  }
}

9. V souboru jen uprav údaje do lokální a produkční databáze. Název a uživatele do produkční databáze najdeš na hostingu v Tools -> Database Manager, heslo jsme vytvářeli před chvilkou.

10. Nyní nahrajeme projekt pomocí programu Filezilla na hosting. Údaje pro FTP připojení na hosting najdeš pod Website Settings -> General -> FTP Detailed Information. Heslo bude to první které jsme zadávali při vytváření stránky. Tyto údaje vyplň v programu Filezilla a klikni na Rychlé připojení.

hosting ftp
filezilla

11. Na FTP hostingu (pravá část ve Filezilla) přejdi do složky public_html. A ve svém počítači (levá část ve Filezille) najdi složku xampp/htdocs/projek. Vše co je uvnitř složky projekt nahraj na FTP do složky public_html.

12. Nyní nám již stačí pouze vyexportovat lokální databázi a nahrát jí do produkční databáze.

13. Otevři si http://localhost/adminer/. Po přihlášení vyber na levé straně Export a proveď export dle obrázku níže:

export adminer

14. Na hostingu jdi do Tools -> Database Manager a u databáze vyber Manage -> PhpMyAdmin.

15. V levé části klikni na svojí databázi, poté na import a proveď import dle obrázku:.

import databáze

16. Nyní by měl tvůj web fungovat, adresu webu najdeš v Website Settings -> General -> Website Name. Můžeš se zkusit přihlásit i do administrace a třeba vytvořit nějaký nový příspěvek na blogu.