Aktuálně: Postihly zákazy tvou profesi? Poptávka po ajťácích prudce roste, využij podzimní akce 30% výuky zdarma!
Pouze tento týden sleva až 80 % na e-learning týkající se JavaScript
JavaScript týden

Konfigurace LAMPP serveru na Linuxu Ubuntu

Vítejte v průvodci instalace a nastavení apache, mysql a php na Ubuntu (14.04). Návod nebude jen o několika stisknutí next v grafickém instalátoru. Lehce zabrouzdáme i do serverových konfiguračních nastavení, získáme tak naprostou kontrolu nad svým serverem, což je nezbytné se naučit pokud to s PHP myslíte vážně. Ovšem pokud jste nikdy (X/L)AMPP neinstalovali jinak než přes automatický instalátor, tak se ničeho nebojte, náš podrobnější postup není o nic složitější.

Instalace balíků

Připravíme si terminál (ctrl + alt +t) a začneme instalovat potřebný software (do terminálu lze vložit text klávesovou zkratkou ctrl + shift + v a zkopírovat ho pak logicky ctrl + shift + c). Celý postup je jen nainstalování čtyř balíků a upravení dvou slov ve dvou souborech.

Apache

Začneme Apachem.

sudo apt-get install apache2
Instalace Apache na Linux

Budete vyzvání pro zadání rootovského hesla. Pravděpodobně bude stejné jako uživatelské heslo vašeho účtu. Instalace bude trvat pár desítek vteřin a stejně tak následující balíky, po dokončení stejným způsoben nainstalujeme zbylé balíky.

PHP

Nyní nainstalujeme PHP.

sudo apt-get install php5

MySQL

A MySQL databázi.

sudo apt-get install mysql-server

NEBO (já používám mariadb, pokud neznáte, tak si za domácí úkol dohledejte informace)

sudo apt-get install mariadb-server

I v případě mariadb zadáme

sudo apt-get install php5-mysql

V průběhu instalace mysql nebo mariadb budete vyzvání k zadání hesla (automatická instalace vám heslo nenastaví) k tlačítku OK se dostanete skrze tabulátor.

Instalace MySQL databáze na Linux

V tuto chvíli máme všechen potřebný software a můžeme se podívat na localhost, zda-li nás přivítá Apache.

Apache v Linuxu

Xampp jste asi zvyklí zapínat přes jeho prostředí. Náš „čistý“ server běží hned po startu systému. Nicméně pro konfiguraci, která bude teď následovat, budeme potřebovat nějaké ovládání. To se skládá ze tří příkazů:

Zastavení

sudo service apache2 stop

Vyzkoušejte, úspěšnost nebo neúspěšnost by jste měli vyčíst už z terminálu, ale stejně se můžeme podívat na localhost.

Apache v Linuxu
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!

Start

sudo service apache2 start

Restart

sudo service apache2 restart

Nyní sice fungujeme, ale chybí nám dvě zásadní věci. Hlášení chyb a povolení .htaccess. Také potřebujeme vědět kde má localhost svůj adresář. Defaultně je v /var/www/html. Otevřeme nautilus nebo jiný správce souborů, klikneme na „Počítač“ dále /var, /www a /html. Hned zjistíme, že zde sem nemůžeme vytvářet ani vkládat soubory. Ve Windows takové omezení není, pokud neřekneme jinak, tak může kdokoliv (my nebo naše aplikace) na našem localhostu číst, vytvářet a mazat. Na Linuxu má tyto plná práva ve výchozím stavu jen root, ostatní pouze vidí soubory. Proto jménem roota nastavíme přístup pro sebe a ostatní.

sudo chmod -R 777 /var/www

Nyní, pokud máme vypnutý Apache, tak ho jako první zapneme, vytvoříme nějaký php script a odzkoušíme. Pokud v něm uděláte syntaktickou chybu, tak vám ji nikdo nenahlásí a dokonce se vůbec nic nezobrazí. Plus pokud vyzkoušíte nějakou aplikaci s .htaccessem, tak zjistíte, že ani ten nefunguje, jak jsem říkal.

Zobrazení chyb

sudo gedit /etc/php5/apache2/php.ini

V editoru gedit se nám s rootovskými právy otevře php.ini soubor. Přes ctrl + f najdeme „display_errors = Off“, přepíšeme Off na On a restartujeme apache.

Zobrazení chyb v Apache

Mod_rewrite (.htaccess)

Doplňky apachi povolujeme překopírováním odkazu na mód z adresáře /etc/apache2/mods-available do /etc/apache2/mods-enabled. Naštěstí to lze vyřešit i automaticky zadáním příkazu:

sudo a2enmod rewrite

Dále musíme v konfiguračním souboru povolit AllowOverride

sudo gedit /etc/apache2/apache2.conf

Otevřeme konfigurační soubor s rootovskými právy a přepíšeme v bloku /var/www „AllowOverride None“ None na All.

Restartujeme apache

Apache server v Linuxu

Abych to mohl 100% otestovat, tak jsem rychle nainstaloval Wordpress. Vidíme, že vše běží. Rychlejší možnost ověření lze provést mrknutím se do informacích o apachi (phpinfo();) a v tabulce "Loaded Modules" byste měli vidět, mimo jiné, mod_rewrite pokud vše proběhlo v pořádku.

Phpmyadmin

Poslední fáze instalace je program pro správu databází. Možností tu máme několik, většina lidí asi využije phpMyAdmina, pro jehož instalaci tu máme nádherně snadný a pohodlný způsob (netestováno).

sudo apt-get install phpmyadmin

já ale používám adminera, kterého jsem si jen dal do /var/www. Další možností je desktopová aplikace např. MySQL Administrator (najdete v Centru software).

Upravení výchozího adresáře

Pravděpodobně budete jen chtít upravit html složku.

sudo gedit /etc/apache2/sites-available/000-default.conf

To nastavíme v tomto souboru na řádku DocumentRoot /var/www/html

Instalace doplňků

V základní instalaci nejsou obsaženy všechny doplňky, které lze získat. Doplňky jsou rozděleny pro apache a pro php, např:

  • libapache2-mod-python
  • php5-gd

Nainstalované doplňky se zapínají pomocí a2enmod, jak už jsme si zkusili.

sudo a2enmod userdir

Subdomény

Různé projekty budeme možná chtít rozdělit lépe než localhost/adresar, nehledě na využití subdomén v ostrém provozu. Do souboru /ect/hosts přidáme

127.0.0.1   subdomena.localhost
sudo gedit /etc/hosts

Dále otevřeme

sudo gedit /etc/apache2/sites-available/000-default.conf

a na konec přidáme

<VirtualHost *:80>
        DocumentRoot /var/www/subdomena
        ServerName subdomena.localhost
</VirtualHost>

Restartujeme apache a hurá. Při zkoušení raději zadejte celou cestu http://subdomena.localhost, jelikož inteligentní prohlížeč by vás mohl přesměrovat na Google nebo váš vyhledávač.

Odinstalace

Odstranění dosud nainstalovaných součástí provedeme sérií příkazů:

sudo apt-get purge apache*
sudo apt-get purge php*
sudo apt-get purge mariadb*
sudo apt-get autoremove

Tímto způsobem bychom se měli zbavit všech instalovaných balíků, popř. se přes synaptic můžete podívat, zda-li nebyl někdo přehlédnut.

To je vše k ruční konfiguraci LAMPPU. Nyní jste připraveni koupit si vlastní server a nemusíte se bát žádného nastavování.

Ještě jednou důležité informace: Vše startuje automaticky po naběhnutí systému, pro dodatečné ovládání slouží tři jednoduché příkazy vypsané výše.

Výchozí adresář se soubory je /var/www/html

K obsahu serveru se dostaneme na http://localhost, pokud máte veřejnou IP adresu, můžete localhost nahradit svou IP a zpřístupnit tak weby veřejnosti.


 

Všechny články v sekci
Tipy, triky a návody
Článek pro vás napsal kxmx
Avatar
Jak se ti líbí článek?
16 hlasů
Aktivity (2)

 

 

Komentáře
Zobrazit starší komentáře (27)

Avatar
FiftypiSoftware:5.10.2016 19:16

Ahoj, jak si mohu nastavit doménové jméno? Je potřeba za to platit, když to chci mít v rámci lokální sítě?

 
Odpovědět
5.10.2016 19:16
Avatar
00
Člen
Avatar
Odpovídá na FiftypiSoftware
00:5.10.2016 19:31

Na lokální síť stačí DNS server

 
Odpovědět
5.10.2016 19:31
Avatar
Odpovídá na FiftypiSoftware
Michal Žůrek - misaz:5.10.2016 19:38

V lokální síti si to můžeš klidně zpustit na google.com a to zadarmo.

 
Odpovědět
5.10.2016 19:38
Avatar
Odpovídá na 00
FiftypiSoftware:5.10.2016 19:40

A ten DNS server si nakonfiguruju jak? na Linuxu?

 
Odpovědět
5.10.2016 19:40
Avatar
mkub
Redaktor
Avatar
Odpovídá na FiftypiSoftware
mkub:9.10.2016 12:21

ked mas Linux, tak si nainstaluj DNS server, napriklad BIND, na youtube najdes videotutorialy, ako na to

 
Odpovědět
9.10.2016 12:21
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
Avatar
Marek Šafránek:23.10.2016 20:53

Dostal jsem se do Zobrazení chyb a zdá se že žádnou takovou složku a soubar tam nemám v etc jen php /etc/php5/apache2/php­.ini

Odpovědět
23.10.2016 20:53
Stojí-li něco za námahu, je třeba to udělat pořádně...
Avatar
kxmx
Redaktor
Avatar
Odpovídá na Marek Šafránek
kxmx:24.10.2016 13:32

vždyť to je přesně ten soubor, v případě posledního ubuntu /etc/php/7.0/a­pache2/php.ini

 
Odpovědět
24.10.2016 13:32
Avatar
FiftypiSoftware:29.6.2017 19:57

Zdravím,
pokud chci nastavit subdoménu, jak to mám udělat, když i server běží na Virtuálním PC?
Mám do /etc/hosts přidávat stejný řádek a jen přidat subdoménu?
např:.

127.0.0.1               localhost
127.0.0.1               50p.localhost

a potom v /etc/apache2/sites-available/000de­fault.conf na konec řádku přidat

<VirtualHost *:80>
        RootDirectory /var/www/50P
        ServeName 50p.localhost
</VirtualHost>
 
Odpovědět
29.6.2017 19:57
Avatar
Martin Jirkovský:21.11.2018 1:09

Zdravím
vedeli by ste mi poradiť prečo mi nejde v phpMyAdmin vytvoriť/importovať databáza?
Keď kliknem "Databázy" tak je tam červeným napísané "Žiadne oprávnenia"
Ďakujem za odpoveď

Editováno 21.11.2018 1:11
 
Odpovědět
21.11.2018 1:09
Avatar
Virlupus
Redaktor
Avatar
Odpovídá na Martin Jirkovský
Virlupus:10. února 12:41

Podle mých zkušeností na distribucích Debian-like linux je instalace MySQL 5.x bez uživatele a hesla. Tedy je nutno jej přidat ručně, případně násilně resetovat.

Zastavit službu MySql:

sudo /etc/init.d/mysql stop

Spustit ji znovu, ale bez uživatele a hesla:

sudo mysqld_safe --skip-grant-tables &

Spustit konzoli MySQL:

mysql -uroot

Nastavit databázi mysql:

use mysql;

Aktualizovat uživatele root:

update user set authentication_string = PASSWORD("mojeheslo") where User = 'root';

Donutit k zápisu:

flush privileges;

Ukončit mysql konzolu:

quit;

A opět zastavit a zase spustit službu:

sudo /etc/init.d/mysql stop
sudo /etc/init.d/mysql start

Tohle by mělo problém oprávnění vyřešit.

 
Odpovědět
10. února 12:41
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 10 zpráv z 37. Zobrazit vše