====== Apache s MySQL a PHP ======
{{.:apache-logo.png}} Pomocí tohoto návodu nainstalujete na svůj počítač **LAMP server** (Linux, Apache, MySQL, PHP).
====== Instalace ======
{{:apt.png}} Všechny potřebné balíky jsou dostupné ve zdrojích. Abyste je nemuseli ručně vybírat, jsou připraveny nástroje k jednoduchému nainstalování.
{{:note.png}} Při instalaci budete požádáni o zadání nového hesla uživatele ''root'' pro přístup k databázi.
===== Pomocí Synaptic =====
{{:synaptic-icon.png}} Nejjednodušším způsobem, jak LAMP server nainstalovat je použít **[[:Synaptic]]**. V něm zvolte **Akce → Vybrat balíky podle účelu** a vyberte **LAMP server**.
{{ .:baliky-podle-ucelu.png }}
===== Pomocí Tasksel =====
{{:terminal.png}} Další možností je použít program **tasksel**. Má tu výhodu, že jej můžete použít i pokud nepoužíváte grafické prostředí.
Spusťte [[:terminál]] a [[:jako root]] spusťte příkaz ''tasksel'':
sudo tasksel
Mezerníkem vyberte **LAMP server** a stisknutím klávesy Enter výběr potvrďte
{{ .:tasksel.png }}
====== Použití ======
{{:server.png}} Servery Apache i MySQL se **spouští automaticky** při startu počítače případně automaticky po jejich instalaci.
{{:remote.png}} Ve výchozím nastavení je **obsah serveru umístěn v adresáři** ''/var/www''. Tento adresář můžete změnit v souboru ''/etc/apache2/sites-available/default''.
{{:internet.png}} Pokud chcete **obsah serveru zobrazit**, spusťte webový prohlížeč a jako **adresu** zadejte ''http://localhost''. Pokud chcete přistupovat k serveru z jiného počítače, slovo ''localhost'' v adrese nahraďte **IP adresou počítače**, na kterém je server nainstalován.
====== Odstranění ======
{{:clear.png}} Protože LAMP server není balík, ale úloha, není možné jej jednoduše odstranit. Je třeba **odstranit všechny následující balíky**:
apache2 apache2-mpm-prefork apache2-utils apache2.2-common libapache2-mod-php5 libapr1 libaprutil1 libdbd-mysql-perl libdbi-perl libmysqlclient15off libnet-daemon-perl libplrpc-perl libpq5 mysql-client-5.0 mysql-common mysql-server mysql-server-5.0 php5-common php5-mysql
====== Instalace doplňků ======
{{:plugin.png}} Při instalace LAMP serveru se samozřejmě neinstalují všechny balíky, které můžete potřebovat. Ve zdrojích je různých doplňků jako např. různých modulů pro PHP5 mnoho, stačí tedy doinstalovat, co potřebujete.
==== Apache moduly ====
{{.:apache-logo.png}} Ve výchozím nastavení se instaluje Apache2, tedy balíky modulů vždy začínají ''libapache2-mod'', např.:
* ''libapache2-mod-mono''
* ''libapache2-mod-perl2''
* ''libapache2-mod-python''
{{:settings.png}} Nainstalované moduly se aktivují příkazem ''a2enmod'' spuštěným [[:Root sudo|jako root]] a následným **restartováním Apache**. Pro deaktivaci slouží příkaz ''a2dismod''. Tedy např. takto aktivujete moduly ''userdir'' a ''rewrite'':
sudo a2enmod userdir
sudo a2enmod rewrite
sudo /etc/init.d/apache2 force-reload
==== PHP moduly ====
{{.:php-logo.png}} Ve výchozím nastavení se instaluje PHP5, tedy balíky modulů vždy začínají ''php5'', např.:
* ''php5-gd'' - grafická GD knihovna
* ''php5-pgsql'' - podpora PortgreSQL
* ''php5-sqlite'' - podpora SQLite
* ''php5-tidy'' - knihovna Tidy
====== Administrace MySQL ======
{{.:mysql-logo.png}} Protože ovládání MySQL přímo pomocí příkazů není příliš pohodlné, existují nástroje, které tuto práci velmi ulehčují.
{{:password.png}} Pro administraci MySQL databáze je třeba se k ní přihlásit. Pokud jste nijak neměnili nastavení uživatelů v MySQL, jediná možnost, jak se přihlásit, je pomocí uživatelského jména ''root'' a hesla, které jste zadali při instalaci MySQL (resp celého LAMP serveru).
===== phpMyAdmin =====
{{.:phpmyadmin-logo.png}} **phpMyAdmin** je zřejmě nejpoužívanější nástroj pro administraci MySQL databáze na webových serverech. Jedná se o webovou aplikaci, takže je možné se na něj dostat i z jiných počítačů.
{{ .:phpmyadmin.png?500 }}
==== Instalace ====
{{:apt.png}} [[:Nainstalujte]] balík ''phpmyadmin''. Při instalaci budete dotázáni, jaké webové servery se mají s phpMyAdmin nastavit. Vyberte //apache2//.
{{ .:phpmyadmin-configure.png?500 }}
==== Použití ====
{{:navigate.png}} Protože phpMyAdmin je webová aplikace, spusťte webový prohlížeč a jako adresu zadejte ''http://localhost/phpmyadmin''. Pokud chcete přistupovat k phpMyAdmin z jiného počítače, slovo ''localhost'' v adrese nahraďte IP adresou počítače, na kterém je nainstalován.
===== Adminer =====
**Adminer** (dříve phpMinAdmin) je minimalistický nástroj pro správu MySQL databáze vytvořený v Česku. Stejně jakou u phpMyAdminu se jedná o webovou aplikaci, na rozdíl od něj ale zabírá na disku pouze něco kolem 100 kB (velikost phpMyAdminu je zhruba 11 MB).
==== Instalace ====
sudo -i
mkdir /usr/share/adminer
cd /usr/share/adminer
wget -O index.php http://www.adminer.org/latest.php
sudo ln -s /usr/share/adminer /var/www/adminer
Nyní se Adminer pravděpodobně nachází na adrese http://localhost/adminer.
==== Instalace vzhledů ====
- Ze stránky http://www.adminer.org/cs/#extras si stáhněte požadovaný vzhled.
- Nastavte mu vhodná práva ''chmod 744 adminer.css''.
- Zkopírujte ho do složky s Adminerem ''cp adminer.css /usr/share/adminer/adminer.css''
===== MySQL Administrator =====
{{.:mysql-admin-logo.png}} **MySQL Administrator** umožňuje daleko detailnější administraci MySQL databáze. Obsahuje grafické rozhraní, takže potřebuje grafické prostředí a na rozdíl od phpMyAdmin není možné jej spouštět z jiných počítačů.
{{ .:mysql-admin.png?500 }}
==== Instalace ====
{{:apt.png}} [[:Nainstalujte]] balík ''mysql-admin''.
==== Použití ====
{{:navigate.png}} Program se spouští v menu **Aplikace → Programování → MySQL Administrator**.
===== SqliteManager =====
Pro administraci databází ''sqlite'' se dá použít SqliteManager.
{{:info.png}} Oficiální stránky [[http://www.sqlitemanager.org/|http://www.sqlitemanager.org/]]
{{:apt.png}} Na [[http://sourceforge.net/project/showfiles.php?group_id=95526&package_id=101866|stránce]] si vyberte poslední verzi programu a stáhněte si jej v jednom ze zvolených archivů.
{{:note.png}} Pokud při některých operacích nebudete mít dostatečné oprávnění, použijte příkaz **sudo**.
Instalovat se dá program dvojím způsobem:
==== Instalace přímo do složky ====
Rozbalte si archiv do složky:
/var/www/
A pokud možno přejmenujte na **sqliteadmin** příkazem:
mv /var/www/SQLiteManager-1.2.0/ /var/www/sqliteadmin/
Nyní je vše na svém místě (**program se ještě musí nakonfigurovat**), ale dá se do něj dostat přes webové rozhraní:
http://localhost/sqliteadmin
==== Instalace do vlastní složky ====
Tato metoda je více efektivní, stačí Vám jedna složka kam si budete nahrávat SqliteManager a do složky **/var/www/** se odkážete přes odkaz.
Rozbalte si archiv s programem do vlastní složky, třeba do složky **home**:
~/SQLiteManager-1.2.0
Přejmenujte:
mv ~/SQLiteManager-1.2.0/ ~/sqliteadmin/
Vytvořte symbolický odkaz na složku:
sudo ln -s ~/sqliteadmin/ /var/www/sqliteadmin
Nyní je vše na svém místě (**program se ještě musí nakonfigurovat**), ale dá se do něj dostat přes webové rozhraní:
http://localhost/sqliteadmin
====== Nastavení ======
===== Subdomény =====
{{:remote.png}} Na serveru Apache je také možné používat subdomény (například //ubuntu.localhost//). Například subdoménu //ubuntu// v adresáři ''/var/www/ubuntu'' vytvoříte takto:
[[:Root sudo|Jako root]] **upravte** soubor ''/etc/hosts'' a **přidejte** následující řádek:
127.0.0.1 ubuntu.localhost
Opět [[:Root sudo|jako root]] **upravte** soubor ''/etc/apache2/sites-available/default'' a na jeho konec **přidejte** toto:
DocumentRoot /var/www/ubuntu
ServerName ubuntu.localhost
Poté **restartujte Apache**:
sudo /etc/init.d/apache2 restart
====== Problémy ======
===== Obnova hesla MySQL =====
{{:password.png}} Pokud se vám stane, že jste zapomněli heslo uživatele ''root'', které jste zadali při instalaci serveru, spusťte následující příkaz a zadejte nové heslo:
sudo dpkg-reconfigure mysql-server-5.1
===== Nefunkční .htaccess =====
{{:exec.png}} Ve výchozím nastavení jsou **soubory ''.htaccess'' zakázány**.
- [[:Root sudo|Jako root]] **otevřete** soubor ''/etc/apache2/sites-available/default''
- V tomto souboru najdete následující část:
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
- V této části **změňte** ''AllowOverride'' z ''None'' na ''All'', takže bude vypadat takto:
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
- Poté **restartujte Apache**:
sudo /etc/init.d/apache2 restart
===== Nedostatečné oprávnění k souborům =====
{{:password.png}} Ve výchozím nastavení **nemá běžný uživatel oprávnění zapisovat** do adresáře ''/var/www'', kde jsou umístěny soubory serveru. Pokud tedy chcete jednoduše měnit soubory na serveru, je třeba **změnit oprávnění** tohoto adresáře. To můžete udělat třeba následujícím příkazem:
sudo chmod -R 777 /var/www
===== PhpMyAdmin se nezobrazí =====
{{:important.png}} Pokud Vám nefunguje v prohlížeči následující adresa a máte naistalován balík
''phpmyadmin'':
http://localhost/phpmyadmin/
Tak to znamená že máte nainstalován phpMyAdmin, ale není k němu vytvořen link v **/var/www**.\
Následujícím příkazem si přidáte link na phpMyAdmin a poté by to již mělo fungovat správně.
sudo ln -s /usr/share/phpmyadmin /var/www/phpmyadmin
====== Odkazy ======
* [[http://www.apache.org| Domovská stránka Apache]]
* [[http://www.mysql.com| Domovská stránka MySQL]]
* [[http://www.php.net|Domovská stránka PHP]]
----
* [[http://www.phpmyadmin.net|Domovská stránka phpMyAdmin]]
* [[http://www.mysql.com/products/tools/administrator|Domovská stránka MySQL Administrator]]
----
* [[https://help.ubuntu.com/community/ApacheMySQLPHP|ApacheMySQLPHP]] {{:en.png}}