Konfigurace LAMPP serveru na Linuxu Ubuntu

Linux a UNIX 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

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.


 

  Aktivity (1)

Článek pro vás napsal kxmx
Avatar

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


 


Miniatura
Předchozí článek
Nasazení Let's Encrypt na Apache
Miniatura
Všechny články v sekci
Linux a UNIX

 

 

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

Avatar
Jaro
Člen
Avatar
Jaro:

Na localhoste napríklad takto: http://localhost/phpmyadmin/

Odpovědět 19.11.2015 12:44
A ship is safe in harbor. But then again, that´s not what ships are for.
Avatar
apotekil
Člen
Avatar
apotekil:

Aha no už som nato prišiel :
Do súboru "/etc/apache2/a­pache2.conf"
Treba dopísať "Include /etc/phpmyadmin/a­pache.conf"
A následne "sudo service apache2 restart"

Odpovědět  +1 19.11.2015 12:51
Nerozmýšľaj ako sa to nedá, proste tvor. A čo tvoriť ? To je úplne jedno, nápady prídu postupne.
Avatar
Jaro
Člen
Avatar
Odpovídá na apotekil
Jaro:

hej tak to má byť, proste tam treba naincludovať ten config pre phpmyadmin

Odpovědět  +1 19.11.2015 12:52
A ship is safe in harbor. But then again, that´s not what ships are for.
Avatar
50P
Člen
Avatar
50P:

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. října 19:16
Avatar
00
Člen
Avatar
Odpovídá na 50P
00:

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

 
Odpovědět 5. října 19:31
Avatar
Odpovídá na 50P
Michal Žůrek (misaz):

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

Odpovědět 5. října 19:38
Nesnáším {}, proto se jim vyhýbám.
Avatar
50P
Člen
Avatar
Odpovídá na 00
50P:

A ten DNS server si nakonfiguruju jak? na Linuxu?

 
Odpovědět 5. října 19:40
Avatar
mkub
Redaktor
Avatar
Odpovídá na 50P
mkub:

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

 
Odpovědět 9. října 12:21
Avatar
Marek Šafránek:

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. října 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:

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. října 13:32
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 34. Zobrazit vše