====== 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}}