4. díl - Administrace VPS - MySQL a PHP

Sítě Konfigurace VPS serverů Administrace VPS - MySQL a PHP

V minulém dílu kurzu o administraci VPS jsme si aktualizovali operační systém našeho serveru a naučili se elementární práci s editorem 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

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

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

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

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

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

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čí. Příště si ukážeme jak na naší VPS napojit doménu.


 

  Aktivity (6)

Článek pro vás napsal Jan Rolný
Avatar
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.

Jak se ti líbí článek?
Celkem (4 hlasů) :
55555


 



 

 

Komentáře

Avatar
mkub
Redaktor
Avatar
mkub:

prikaz chown nemeni prava, ale vlastnikov, iba prikaz chmod je na zmenu prav k danym adresarom a suborom

syntax prikazu chown:

chown [volba]... [vlastnik]:[skupina] subor ...
 
Odpovědět 22.11.2015 7:21
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 1 zpráv z 1.