Instalace webového serveru

Z MiS
(Rozdíly mezi verzemi)
Přejít na: navigace, hledání
(Vypínání přes systemctl, rozšíření PHP na konci v rámci rozšíření.)
(Aktualizována instalace MySQL, přidána kontrola spuštění služby.)
Řádka 111: Řádka 111:
 
<!-- ; Varianta vlastní virtuální stroj-->  
 
<!-- ; Varianta vlastní virtuální stroj-->  
 
* Instalace většiny balíčků již proběhla v rámci instalace serveru.
 
* Instalace většiny balíčků již proběhla v rámci instalace serveru.
* Doinstalujte balíčky:
+
* Doinstalujte balíčky pro databázi MariaDB:
 
** <code>mariadb-server</code>
 
** <code>mariadb-server</code>
 
** <code>mariadb-client</code>
 
** <code>mariadb-client</code>
** (volitelně) <code>php5-gd</code> (PHP-GD je knihovna pro manipulaci s&nbsp;obrázky v&nbsp;PHP)
+
 
 +
<div class="Poznamka">MariaDB je svobodná náhrada MySQL. Má stejné ovládání, ale není spravována firmou Oracle a&nbsp;v&nbsp;posledních letech je proto populárnější.</div>
 +
 
 +
* Ověřte, že služba MariaDB/MySQL běží:
 +
systemctl status mysql
  
 
* Zabezpečte instalaci MariaDB/MySQL.
 
* Zabezpečte instalaci MariaDB/MySQL.
 
  mysql_secure_installation
 
  mysql_secure_installation
* Nastavte:
+
* Pročtěte si doporučená nastavení a&nbsp;aplikujte je. Nastavte heslo pro uživatele <code>root</code>.
Change the root password? [Y/n] <em>y</em>
+
New password: <em>heslo pro uživatele root</em>
+
Re-enter new password: <em>heslo znovu</em>
+
Remove anonymous users? [Y/n] <em>y</em>
+
Disallow root login remotely? [Y/n] <em>y</em>
+
Remove test database and access to it? [Y/n] <em>y</em>
+
Reload privilege tables now? [Y/n] <em>y</em>
+
  
 
<div class="Varovani">
 
<div class="Varovani">
Řádka 131: Řádka 128:
 
</div>
 
</div>
 
<div class="Poznamka">
 
<div class="Poznamka">
Pokud jste nenastavili při instalaci <code>MySQL</code> heslo uživatele <code>root</code>, můžete ho nastavit jako správce počítače příkazem:
+
Pokud později zjistíte, že jste nenastavili při instalaci <code>MySQL</code> heslo uživatele <code>root</code>, můžete ho nastavit jako správce počítače příkazem:
  
 
  mysql -u root
 
  mysql -u root
Řádka 154: Řádka 151:
 
* Tento nově vytvořený uživatel bude mít všechna oprávnění stejně jako uživatel <code>root</code>!
 
* Tento nově vytvořený uživatel bude mít všechna oprávnění stejně jako uživatel <code>root</code>!
  
<div class="Poznamka">
+
<div class="Priklad">
Dodatečná změna hesla pro uživatele <code>uzivatel</code>:
+
; Volitelně &mdash; vytvoření běžného uživatelského účtu
 +
* Obdobně jako správcovský účet můžete v&nbsp;konzoli MySQL vytvořit uživatelský účet běžného uživatele s&nbsp;právy pouze pro jednu databázi:
 +
GRANT INSERT, UPDATE, DELETE, SELECT ON nazevdb.* TO uzivatel@'%' IDENTIFIED BY 'heslo-uzivatele';
 +
* Databázi <code>nazevdb</code> si můžete vytvořit příkazem <code>CREATE DATABASE</code> nebo pomocí phpMyAdmina.
  
 +
* Dodatečná změna hesla uživatele <code>uzivatel</code> &mdash; pokud heslo zapomenete:
 
  mysql -u <em>spravce</em> -p
 
  mysql -u <em>spravce</em> -p
 
  ''(zde zadejte heslo pro účet ''spravce'')''
 
  ''(zde zadejte heslo pro účet ''spravce'')''
 
  SET PASSWORD FOR ''uzivatel'' = PASSWORD('<em>nové heslo</em>');
 
  SET PASSWORD FOR ''uzivatel'' = PASSWORD('<em>nové heslo</em>');
 
</div>
 
</div>
 
; Volitelně &mdash; vytvoření běžného uživatelského účtu
 
* Obdobně jako správcovský účet můžete v&nbsp;konzoli MySQL vytvořit uživatelský účet běžného uživatele s&nbsp;právy pouze pro jednu databázi:
 
GRANT INSERT, UPDATE, DELETE, SELECT ON nazevdb.* TO uzivatel@'%' IDENTIFIED BY 'heslo-uzivatele';
 
* Databázi <code>nazevdb</code> si můžete vytvořit příkazem <code>CREATE DATABASE</code> nebo pomocí phpMyAdmina.
 
  
  
; Instalace <code>phpMyAdmin</code>
+
; Instalace PHP a&nbsp;<code>phpMyAdmin</code>
 
* Nainstalujte balíček:
 
* Nainstalujte balíček:
 
** <code>phpmyadmin</code>
 
** <code>phpmyadmin</code>

Verze z 28. 11. 2019, 22:39


Linux is like a tee-pee. No gates, no windows, Apache inside...

Zdroj: GeeksAreSexy.net

Tento návod je určen pro rychlou a jednoduchou instalaci webového serveru (LAMP) v rámci výuky na oboru Informační technologie na Obchodní akademii Uherské Hradiště.
Na této stránce používáme distribuci Debian ve verzi 10 Buster. Na ostatních distribucích budou nejspíš k dispozici podobné nebo stejné nástroje a tipy.

Obsah

Zadání úlohy

Teoretický úvod

Nezapomeňte, že některé úkoly smí provádět pouze administrátor systému!!!
Pokud takový úkol spustíte jako běžný uživatel, často chybové hlášení obsahuje text „Permission denied“.

Problém vyřešíte tím, že úkol spustíte pomocí příkazu sudo.

Implementace webového serveru kombinací nástrojů Linux (operační systém), Apache (webový server), MySQL (databáze), phpMyAdmin (nástroj pro správu databáze se někdy označuje zkratkou LAMP.


Postup

1. Vytvoření virtuálního stroje

Doplňující materiály: Debian: návod pro uživatele.

Pokud pracujete ve VirtualBox-u

2. Instalace serveru

Doporučení: Nezadávejte heslo pro účet správce, tím se účet vůbec nevytvoří a budete moci používat sudo.

Neinstalujte grafické rozhraní. Jeho instalace zabere spoustu času a je vám k ničemu.

Doplňující materiály: Instalace GNU/Linuxu, Debian: návod pro uživatele.


Ověření funkčnosti

3. Připojení k serveru přes SSH

ip a
Nyní již můžete okno virtuálního stroje minimalizovat, dále již budete pracovat ze svého počítače přes SSH.

Doplňující zdroje: Správa síťového rozhraní počítače, Vzdálené připojení k počítači

4. Vyzkoušejte funkčnost webového serveru

Doplňující materiály: Instalace software v GNU/Linuxu

Doplňující otázka: Fungují české znaky??? Jak opravit kódování češtiny, pokud by to bylo potřeba?

Dokončení úlohy

5. Databáze a phpMyAdmin

MariaDB je svobodná náhrada MySQL. Má stejné ovládání, ale není spravována firmou Oracle a v posledních letech je proto populárnější.
systemctl status mysql
mysql_secure_installation

Heslo uživatele root nenechávejte prázdné! Je to zásadní bezpečnostní chyba!

Pokud později zjistíte, že jste nenastavili při instalaci MySQL heslo uživatele root, můžete ho nastavit jako správce počítače příkazem:

mysql -u root
SET PASSWORD = PASSWORD('nové heslo');
Vytvořte účet správce databáze
sudo mysql --user=root mysql -p
SELECT user, password FROM user;
CREATE USER 'spravce'@'localhost' IDENTIFIED BY 'heslo-spravce';
GRANT ALL PRIVILEGES ON *.* TO 'spravce'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;
quit
mysql -u spravce -p
(zde již zadejte nově vytvořené heslo pro účet spravce)
Volitelně — vytvoření běžného uživatelského účtu
  • Obdobně jako správcovský účet můžete v konzoli MySQL vytvořit uživatelský účet běžného uživatele s právy pouze pro jednu databázi:
GRANT INSERT, UPDATE, DELETE, SELECT ON nazevdb.* TO uzivatel@'%' IDENTIFIED BY 'heslo-uzivatele';
  • Databázi nazevdb si můžete vytvořit příkazem CREATE DATABASE nebo pomocí phpMyAdmina.
  • Dodatečná změna hesla uživatele uzivatel — pokud heslo zapomenete:
mysql -u spravce -p
(zde zadejte heslo pro účet spravce)
SET PASSWORD FOR uzivatel = PASSWORD('nové heslo');


Instalace PHP a phpMyAdmin
systemctl restart apache2.service


Doplňující materiály: Instalace software v GNU/Linuxu

6. Vyzkoušejte komunikaci Apache s modulem PHP

7. Vyzkoušejte phpMyAdmin

   http://IP-adresa-serveru/phpmyadmin
Viz také


Nastavení přístupu pro kopírování souborů

8. Nastavte přístup do složky s webem

chown -R vaseuzivatelkejmeno /var/www/html

9. Vyzkoušejte připojení přes WinSCP


Vypnutí stroje

systemctl poweroff


Další vhodná rozšíření

Rozšíření PHP

apt install php-{mbstring,zip,gd,xml,pear,gettext,cgi}

PHP routování (mod_rewrite)

Povolte modul mod_rewrite Apache
sudo a2enmod rewrite
Povolte nastavení .htaccess
<Directory /var/www/> 
AllowOverride None 
AllowOverride All


Další zdroje

Navazující návody

Osobní nástroje
Jmenné prostory
Varianty
Akce
Výuka
Navigace
Nástroje