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.
2. Po přihlášení klikni na + Create New Site.
3. Vyplň údaje a klikni na create. Zapamatuji si nebo si někam napiš heslo, budeme jej ještě potřebovat.
4. Změň verzi PHP na PHP 8.0.
5. Jdi do Tools -> Database Manager a klikni na + New Database.
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ň.
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í.
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:
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:.
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.