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
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.
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.
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.
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.
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
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.