Následující verze | Předchozí verze |
servery:apache_s_mysql_a_php [2012/07/31 17:13] – vytvořeno ubuntu | servery:apache_s_mysql_a_php [2019/02/25 17:21] (aktuální) – upraveno mimo DokuWiki 127.0.0.1 |
---|
| ====== 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'': |
| <code> |
| sudo tasksel |
| </code>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**: |
| |
| <code> |
| 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 |
| </code> |
| ====== 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'': |
| |
| <code> |
| sudo a2enmod userdir |
| sudo a2enmod rewrite |
| sudo /etc/init.d/apache2 force-reload |
| </code> |
| ==== 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 ==== |
| |
| <code> |
| 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 |
| </code> |
| |
| 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: |
| <code> |
| /var/www/ |
| </code>A pokud možno přejmenujte na **sqliteadmin** příkazem: |
| <code> |
| mv /var/www/SQLiteManager-1.2.0/ /var/www/sqliteadmin/ |
| </code>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í: |
| <code> |
| http://localhost/sqliteadmin |
| </code> |
| ==== 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**: |
| <code> |
| ~/SQLiteManager-1.2.0 |
| </code>Přejmenujte: |
| <code> |
| mv ~/SQLiteManager-1.2.0/ ~/sqliteadmin/ |
| </code>Vytvořte symbolický odkaz na složku: |
| <code> |
| sudo ln -s ~/sqliteadmin/ /var/www/sqliteadmin |
| </code> |
| 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í: |
| <code> |
| http://localhost/sqliteadmin |
| </code> |
| ====== 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: |
| <code> |
| 127.0.0.1 ubuntu.localhost |
| </code> |
| |
| Opět [[:Root sudo|jako root]] **upravte** soubor ''/etc/apache2/sites-available/default'' a na jeho konec **přidejte** toto: |
| <code> |
| <VirtualHost *:80> |
| DocumentRoot /var/www/ubuntu |
| ServerName ubuntu.localhost |
| </VirtualHost> |
| </code> |
| Poté **restartujte Apache**: |
| <code> |
| sudo /etc/init.d/apache2 restart |
| </code> |
| |
| ====== 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: |
| |
| <code> |
| sudo dpkg-reconfigure mysql-server-5.1 |
| </code> |
| ===== 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:<code> |
| <Directory /var/www> |
| Options Indexes FollowSymLinks MultiViews |
| AllowOverride None |
| Order allow,deny |
| allow from all |
| </Directory> |
| </code> |
| - V této části **změňte** ''AllowOverride'' z ''None'' na ''All'', takže bude vypadat takto:<code> |
| <Directory /var/www> |
| Options Indexes FollowSymLinks MultiViews |
| AllowOverride All |
| Order allow,deny |
| allow from all |
| </Directory> |
| </code> |
| - Poté **restartujte Apache**: |
| <code> |
| sudo /etc/init.d/apache2 restart |
| </code> |
| |
| ===== 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: |
| |
| <code> |
| sudo chmod -R 777 /var/www |
| </code> |
| ===== 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'': |
| <code> |
| http://localhost/phpmyadmin/ |
| </code>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ě. |
| <code> |
| sudo ln -s /usr/share/phpmyadmin /var/www/phpmyadmin |
| </code> |
| |
| ====== 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}} |