Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Lekce 4 - Administrace VPS - MySQL a PHP

V minulé lekci, Administrace VPS - Update operačního systému a VIM, jsme aktualizovali náš Debian a nainstalovali Web Server Apache. V druhé části lekce jsme se věnovali instalaci a základnímu ovládání editoru VIM.

V dnešním dílu si nainstalujeme MySQL databázi a PHP, čímž budeme mít funkční LAMP server.

MySQL

Nejprve si nainstalujeme MySQL.

Pozn.: Na pořadí instalace LAMP nezáleží, můžete si technologie instalovat jak chcete :) Já to však beru podle té zkratky L-A-M-P. A samozřejmě, můžete mít klidně nainstalované jen jedno z toho, nemusíte instalovat vše. PHP v základu funguje pro konzoli jako PHP-CLI, dá se i napojit na IDE, abychom mohli interaktivně debugovat projekt v PHP. MySQL lze použít externě a samotný Apache lze použít i pro spoustu jiných věcí :)

# apt-get install mysql-server
Instalace MySQL serveru - Administrace VPS serverů

Zvolte si heslo pro výchozího root uživatele.

Nyní je již databáze MySQL nainstalovaná a my ji můžeme vyzkoušet.

$ mysql -u root -p

Tento příkaz nás dostane do konzole MySQL. Důležité je si uvědomit, že PHPMyAdmin apod. ukončují automaticky příkazy ";". Zde to musíme dělat manuálně. Zkusme si například vypsat databáze:

> show databases;

+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
+--------------------+
3 rows in set (0.00 sec)

Můžeme takto přidávat uživatele, vkládat data a podobně a to hlavně v případě, že na server nechceme instalovat PHP a tudíž nemůžeme používat PHPMyAdmin. Určitě se to hodí umět, často se dělají databázové servery, které obsahují pouze MySQL a musí se jim nastavit externí přístupy. Toto vše se musí nakonfigurovat v MySQL, aby se k serveru vůbec dalo připojit přes nějaký externí program.

Vy tento přístup ovšem berte pouze jako zajímavost. MySQL konzoli ukončíme:

> quit

PHP

Přejdeme k instalaci PHP. Pokud zadáme příkaz:

apt-get install php5

Zobrazí se nám jaké všechny balíčky se nainstalují: apache2-mpm-prefork libapache2-mod-php5 libonig2 libqdbm14 lsof php5 php5-cli php5-common. Jelikož v nich není balíček pro MySQL, musíme přidat, že chceme nainstalovat i jej.

# apt-get install php5 php5-mysqlnd
# service apache2 restart

Pozor! Místo php5-mysqlnd lze nainstalovat i php5-mysql. Tento ovladač je ovšem zastaralý a vrací všechna data z databáze jako textové řetězce (i čísla)! V dynamicky typovaném PHP to sice nevadí, ale jakmile vystavíte nějaké API z databáze třeba JavaScriptu, můžete mít velké problémy, jelikož "0" se vyhodnotí jako pravda, zatímco 0 jako nepravda. Např. v místním seriálu e-shop v PHP by pod php5-mysql nefungovala administrace kategorií. Pokud máte již php5-mysql nainstalovanou, je dobrý nápad ji odstranit (místo install napíšete remove) a nainstalovat php5-mysqlnd.

Pokud napíšeme příkaz php -v, měla by se nám zobrazit verze PHP. V případě, že jsme vše nainstalovali korektně:

php -v
PHP 5.6.14-0+deb8u1 (cli) (built: Oct  4 2015 16:13:10)

Pozn.: Ve všech distribucích (např. v Ubuntu) nemusí být obsaženo php5-cli. Pokud se vám nedaří spouštět PHP z konzole, nainstalujte podporu příkazové řádky příkazem:

# apt-get install php5-cli

Zkouška webhostingu

Přepněme se do adresáře Apache a zkusme si tam vytvořit PHP soubor:

$ cd /var/www/html
$ rm index.html
$ vim index.php

<?php
echo('Jsi frajer, páč si to nejvíc pošéfil!!!');
phpinfo();

Výsledek:

Zprovoznění LAMP serveru - Administrace VPS serverů

LAMP server nám běží!

Připojení na SFTP

Na FTP se velmi snadno můžeme dostat přes SSH. Stačí si stáhnout program WinSCP (https://winscp.net/) a vyplnit stejné přihlašovací údaje jako v PuTTY při zvolení SFTP protokolu.

Při přihlašování může opět vyskočit stejná hláška jako u PuTTY, takže znovu potvrdíme.

SFTP WinSCP - Administrace VPS serverů

V nastavení WinSCP lze nastavit výchozí editor, takže můžete editovat soubory ve svém oblíbeném, jak jsem sliboval :)

Pozn. Může se vám stát, že vám soubor nepůjde nahrát nebo přepsat.

Writing error - Administrace VPS serverů

Vytvořil jsem totiž soubor z uživatele roota. Stačí přidělit Lojzovi práva pomocí:

# chown lojza . -R

Tento příkaz řiká, že uživatel lojza má práva k současnému "." adresáři a všem vnořeným "-R" (rekurzivně). Také se může občas stát, že soubor nepůjde ze serveru přečíst. To je zas způsobeno jinými právy.

chmod práva directory -R

Každý soubor obsahuje tato práva:

Práva souboru v Linuxu - Administrace VPS serverů

Můžeme je měnit buď ve zmíněném WinSCP a nebo pomocí příkazu chmod 777 index.php nebo chmod +x index.php.

Jedná se o práva Read, Write, Execute pro různé skupiny. Práva zapisujeme binárně pro různé skupiny, ve výsledku získáme 3 čísla. Tedy 110 (číst, zapisovat, nespouštět) = 6, 100 (číst, zapisovat, nespouštět) = 4, 100 (číst, zapisovat, nespouštět) = 4, získáváme práva 644.).

Pokud by se vám stalo, že nějaký nahraný obrázek se na webu nechce zobrazit nebo, že nějaký soubor píše chybu, zkuste zkontrolovat, zda má nastavená potřebná práva.

Zkusme si nyní nahrát Adminera (https://www.adminer.org) a zkusit se podívat do databáze. Prostě ho stáhněte (klidně ve Windows, úplně mimo server) a přetáhněte do adresáře /var/www přes WinSCP.

Adminer na VPS - Administrace VPS serverů

Paráda, nyní tedy již víte jakým způsobem nahrát na server data a můžete si již zprovoznit své projekty! :)

Funkční server bychom měli, náš kurz však ještě nekončí.

V příští lekci, Administrace VPS - Napojení domény, se budeme věnovat nastavení DNS u domény, souboru hosts a také se naučíme jak v Apache nasměrovat různé domény do různých složek.


 

Předchozí článek
Administrace VPS - Update operačního systému a VIM
Všechny články v sekci
Administrace VPS serverů
Přeskočit článek
(nedoporučujeme)
Administrace VPS - Napojení domény
Článek pro vás napsal Jan Rolný
Avatar
Uživatelské hodnocení:
30 hlasů
Síťový a sytémový konsultant. Momentálně se specializuji na síťové technologie návrh a provoz LAN a WAN s prvky od společnosti Cisco. Mám 14ti letou praxi v oboru. Ze začátku jako sytémový integrátor nyní jako síťový specialista.
Aktivity