Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
Obě strany předchozí revize Předchozí verze Následující verze | Předchozí verze | ||
cs:tech:idp:mariadb [2020/03/26 14:44] jan.oppolzer@cesnet.cz [Instalace] |
cs:tech:idp:mariadb [2024/03/27 09:36] (aktuální) Jan Oppolzer |
||
---|---|---|---|
Řádek 1: | Řádek 1: | ||
====== MariaDB ====== | ====== MariaDB ====== | ||
- | **Na této stránce se nachází návod, jak do linuxové distribuce Debian nainstalovat MariaDB pro potřeby Shibboleth IdP.** | + | * [[:cs:tech:idp:5:mariadb|MariaDB pro Identity Provider 5]] |
- | + | * [[:cs:tech:idp:4:mariadb|MariaDB pro Identity Provider 4]] | |
- | ---- | + | |
- | + | ||
- | ===== Instalace ===== | + | |
- | + | ||
- | Databázi //MariaDB// nainstalujeme následujícím příkazem: | + | |
- | + | ||
- | <code bash> | + | |
- | # Instalace MariaDB | + | |
- | apt install --no-install-recommends mariadb-server mariadb-client libmariadb-java | + | |
- | </code> | + | |
- | + | ||
- | Pomocí ''openssl'' si vygenerujeme silné heslo pro přístup k databázi uživatelem //root//: | + | |
- | + | ||
- | <code bash> | + | |
- | # Vygenerování silného hesla pro uživatele root | + | |
- | openssl rand -hex 20 | + | |
- | </code> | + | |
- | + | ||
- | Spustíme utilitu ''mysql_secure_installation'' a postupujeme dle instrukcí v terminálu: | + | |
- | + | ||
- | <code bash> | + | |
- | # Spuštení mysql_secure_installation | + | |
- | mysql_secure_installation | + | |
- | </code> | + | |
- | + | ||
- | ===== Databáze ===== | + | |
- | + | ||
- | <WRAP center tip 100%> | + | |
- | **Máme-li persistentní identifikátory ze stávající instalace Shibboleth IdP, databázi si samozřejmě přesuneme.** | + | |
- | + | ||
- | Na stávajícím serveru provedeme export: | + | |
- | + | ||
- | <code mysql> | + | |
- | mysqldump shibboleth > ~/persistentIDs.sql | + | |
- | </code> | + | |
- | + | ||
- | Soubor ''persistentIDs.sql'' bezpečně překopírujeme na nový server, např. pomocí ''scp'', a po vytvoření databáze //shibboleth// importujeme stávající identifikátory: | + | |
- | + | ||
- | <code mysql> | + | |
- | mysql -u root -p shibboleth < ~/persistentIDs.sql | + | |
- | </code> | + | |
- | </WRAP> | + | |
- | + | ||
- | Přihlásíme se do //MariaDB//: | + | |
- | + | ||
- | <code bash> | + | |
- | # Přihlášení k MariaDB | + | |
- | mysql | + | |
- | </code> | + | |
- | + | ||
- | Vytvoříme databázi //shibboleth// a v ní tabulku //shibpid//. | + | |
- | + | ||
- | <code mysql> | + | |
- | # Vytvoříme databázi 'shibboleth' a tabulku 'shibpid' | + | |
- | SET NAMES 'utf8'; | + | |
- | SET CHARACTER SET utf8; | + | |
- | CHARSET utf8; | + | |
- | CREATE DATABASE IF NOT EXISTS shibboleth CHARACTER SET=utf8; | + | |
- | USE shibboleth; | + | |
- | CREATE TABLE IF NOT EXISTS `shibpid` ( | + | |
- | `localEntity` VARCHAR(255) NOT NULL, | + | |
- | `peerEntity` VARCHAR(255) NOT NULL, | + | |
- | `principalName` VARCHAR(255) NOT NULL DEFAULT '', | + | |
- | `localId` VARCHAR(255) NOT NULL, | + | |
- | `persistentId` VARCHAR(50) NOT NULL, | + | |
- | `peerProvidedId` VARCHAR(255) DEFAULT NULL, | + | |
- | `creationDate` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, | + | |
- | `deactivationDate` TIMESTAMP NULL DEFAULT NULL, | + | |
- | PRIMARY KEY (localEntity, peerEntity, persistentId) | + | |
- | ) ENGINE=InnoDB DEFAULT CHARSET=utf8; | + | |
- | </code> | + | |
- | + | ||
- | Pomocí příkazu ''DESCRIBE'' si můžeme zobrazit, jak tabulka vypadá. | + | |
- | + | ||
- | <code mysql> | + | |
- | # Zobrazení definice tabulky 'shibpid' | + | |
- | DESCRIBE shibpid; | + | |
- | </code> | + | |
- | + | ||
- | Tabulka //shibpid// musí vypadat následovně: | + | |
- | + | ||
- | <code mysql> | + | |
- | +------------------+--------------+------+-----+-------------------+-----------------------------+ | + | |
- | | Field | Type | Null | Key | Default | Extra | | + | |
- | +------------------+--------------+------+-----+-------------------+-----------------------------+ | + | |
- | | localEntity | varchar(255) | NO | PRI | NULL | | | + | |
- | | peerEntity | varchar(255) | NO | PRI | NULL | | | + | |
- | | principalName | varchar(255) | NO | | | | | + | |
- | | localId | varchar(255) | NO | | NULL | | | + | |
- | | persistentId | varchar(50) | NO | PRI | NULL | | | + | |
- | | peerProvidedId | varchar(255) | YES | | NULL | | | + | |
- | | creationDate | timestamp | NO | | CURRENT_TIMESTAMP | on update CURRENT_TIMESTAMP | | + | |
- | | deactivationDate | timestamp | YES | | NULL | | | + | |
- | +------------------+--------------+------+-----+-------------------+-----------------------------+ | + | |
- | 8 rows in set (0.00 sec) | + | |
- | </code> | + | |
- | + | ||
- | Vytvoříme uživatele //shibboleth//, který bude k databázi přistupovat pomocí silného hesla, které si opět vygenerujeme pomocí příkazu ''openssl'': | + | |
- | + | ||
- | <code bash> | + | |
- | # Vygenerování silného hesla pro uživatele 'shibboleth' | + | |
- | openssl rand -hex 20 | + | |
- | </code> | + | |
- | + | ||
- | Vytvoříme uživatele //shibboleth// a použijeme výše vygenerované silné heslo: | + | |
- | + | ||
- | <code mysql> | + | |
- | # Vytvoření uživatele 'shibboleth' | + | |
- | GRANT ALL PRIVILEGES ON shibboleth.* | + | |
- | TO 'shibboleth'@'localhost' | + | |
- | IDENTIFIED BY 'f6603c2fd2a48bc722c14ca88bb08a762f3478c4'; | + | |
- | FLUSH PRIVILEGES; | + | |
- | </code> | + | |
- | + | ||
- | Pro ověření funkčnosti vytvořeného účtu se pokusíme přihlásit k databázi. | + | |
- | + | ||
- | <code bash> | + | |
- | # Přihlášení k MariaDB uživatelem 'shibboleth' | + | |
- | mysql -u shibboleth -p shibboleth | + | |
- | </code> | + | |
- | + | ||
- | Terminál vyzve k zadání hesla a po jeho úspěšném ověření dojde k přihlášení k MariaDB. | + | |
- | + | ||
- | <code bash> | + | |
- | Enter password: | + | |
- | Welcome to the MariaDB monitor. Commands end with ; or \g. | + | |
- | [...] | + | |
- | MariaDB [shibboleth]> | + | |
- | </code> | + | |
- | + | ||
- | ---- | + | |
- | + | ||
- | **Máme-li nainstalovanou MariaDB, můžeme pokračovat instalací [[cs:tech:idp:jetty]].** | + |