|
Návod na instalaci a nastavení LAMP (Linux-Apache-MySQL-PHP) serveru v Ubuntu s Apachem 2, PHP 4 a MySQL 4.1, a také s Apache Tomcat 5.
S vydaním Ubuntu 5.10 (Breezy Badger) v říjnu 2005 je PHP5 dostupné přes repositories a MYSQL 5 může být přidáno kompilací.
V Dapperu, MYSQL 5 už existuje jako balíček. Mrkněte na konec tohoto dokumentu pokud chcete více informací.
Kontrola závislostí
Repozitáře (Universe) jsou potřeba k instalaci a nastavení Apache 2. Více jak přidat repozitáře najdete na Přidávání zdrojů.
V návodu je potřeba příkazu sudo - více se dozvíte na Root sudo.
Některé aplikace vyžadují PHP 4, některé zase pracují pouze s PHP 5. Než nainstalujete PHP, ujistěte se kterou verzi potřebujete a vyberte i správný modul do Apache2. Nemůžete provozovat PHP 4 a 5 současně na jedné instanci Apache2. Před instalací jednoho by jste měli odstranit druhý.
Pokud máte PHP 4 a 5 nainstalováno současně, buďte opatrní kterou verzi Apache2 modulu používáte. Pokud máte nainstalovánu libapache2-mod-php5, php4 balík nainstaluje libapache-mod-php4 a ne libapache2-mod-php4 package.
Pokud ale není nainstalován libapache2-mod-php5, instalace php4 nainstaluje Apache2 PHP modul (libapache2-mod-php4). Viz příklad
V dnešní době už většina aplikací používá Apache2, PHP 5 a MySQL 5. Pokud tedy není řečeno jinak, naninstalujte si tyto verze.
Instalace výchozího LAMP balíčku v Ubuntu 6.06 LTS (Dapper Drake)
Pokud jste nepoužili volbu LAMP instalátor ze Server instalačního CD, ale chcete nainstalovat tytéž balíky aniž by jste přeinstalovávali systém znovu, použijte jakoukoliv metodu pro instalaci následujících balíčků
apache2 php5-mysql libapache2-mod-php5 mysql-server
Všechny z těchto balíčků jsou v Ubuntu 6.06 LTS (Dapper Drake) main zdroji. Jakmile je LAMP nainstalován, je potřeba si pouze nastavit v MySQL root heslo a pak, v závislosti na vaší webové aplikaci, vytvořit databázi, uživatele a heslo k ní.
Instalace výchozího balíčku v Ubuntu 7.04 (Fiesty Fawn)
V Ubuntu 7.04 je obsažen Tasksel. Můžete LAMP instalovat přes něj, nebo nainstalovat LAMP balíky jak je uvedeno výše. V Ubuntu 7.10 zadejte jen sudo tasksel a LAMP vyberte ze seznamu.
sudo tasksel install lamp-server
Čtěte Tasksel.
Instalace Apache 2
Použijte jakoukoliv metodu pro instalaci balíčku
apache2
Instalace Apache 2.0.x v Ubuntu 7.10 (Gutsy Gibbon)
V repozitářích pro 7.10 je jenom nejnovější verze Apache 2.2.x. Pokud chcete z nějakého důvodu nainstalovat verzi 2.0.x (např. kvůli kompatibilitě se svým webhostingem apod.), musíte nainstalovat balíčky ručně. Na http://packages.ubuntu.com/edgy/web/ stáhněte balíčky
apache2_2.0.55-4ubuntu4.1_i386.deb apache2-mpm-worker_2.0.55-4ubuntu4.1_i386.deb apache2-common_2.0.55-4ubuntu4.1_i386.deb apache2-utils_2.0.55-4ubuntu4.1_i386.deb
Balíček apache2-utils má ještě závislost na libapr0, ten lze stáhnout na http://packages.ubuntu.com/edgy/net/libapr0 . Balíček libapr0 má ještě závislost na libdb4.3, tento balíček lze už ale normálně nainstalovat z repository, např.
sudo apt-get install libdb4.3
Poté stačí nainstalovat všechny *.deb balíčky:
sudo dpkg -i libapr0_2.0.55-4ubuntu4.1_i386.deb apache2-utils_2.0.55-4ubuntu4.1_i386.deb \ apache2-common_2.0.55-4ubuntu4.1_i386.deb apache2-mpm-worker_2.0.55-4ubuntu4.1_i386.deb \ apache2_2.0.55-4ubuntu4.1_i386.deb
Případné další závislosti by už měl vyřešit apt-cache search balicek a apt-get install balicek.
Možné problémy
Chyba apache2: Could not determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
pak upravte soubor gksudo gedit /etc/apache2/apache2.conf a přidejte ServerName localhost na konec souboru
Pokud Apache2 odkazuje na špatný adresář, musíte zeditovat soubor /usr/share/apache2/default a soubory v adresáři /usr/share/apache2/allowed-sites/
Instalace PHP 4
Použijte jakoukoliv metodu pro instalaci balíčku
php4
Pokud máte nainstalováno php5, instalace php4 nainstaluje PHP modul pro Apache (verze 1.3) a ne pro Apache2. Pro použití php4 s apache2, nainstalujte balík
libapache2-mod-php4
Možné problémy
Pokud Apache nezobrazuje PHP ani po restartu serveru, nainstalujte libapache2-mod-php4. Měl by být součástí balíku php4, ale někteří uživatelé mají repozitář, kde to není. Nyní potřebujeme modul aktivovat. To uděláme zadáním příkazu sudo a2enmod php4
Instalace PHP 5
Použijte jakoukoliv metodu pro instalaci balíčku
php5
Možné problémy
Ptá se vás prohlížeč, zda chcete stáhnout PHP soubor namísto toho, aby ho zobrazil? Pokud Apache po restartu neparsuje (nezpracovává) PHP, nainstalujte libapache2-mod-php5. Tento balíček je instalován současně s balíčkem php5, ale mohl být nedopatřením odstaněn balíčky, které vyžadují jinou verzi PHP. Pak to asi budete chtít zapnout, což se provede příkazem sudo a2enmod php5 a po něm sudo /etc/init.d/apache2 restart
Inštalácia grafickej knižnice
Použite akúkoľvek metódu na inštaláciu balíku
php5-gd
Instalace MYSQL s PHP 5
Použijte jakoukoliv metodu pro instalaci balíčků
mysql-server libapache2-mod-auth-mysql php5-mysql
Instalace MYSQL s PHP 4
Použijte jakoukoliv metodu pro instalaci balíčků
Nejdříve povolte universe seznam zdrojů, jelikož následující balíčky nejsou v main. Jak na to se dozvíte v Přidávání zdrojů
mysql-server libapache2-mod-auth-mysql php5-mysql
Po instalaci PHP
Možná budete potřebovat zvýšit maximimální velikost paměti, která je potřeba na zpracování skriptu. Pak zeditujte soubor /etc/php5/apache2/php.ini a navyšte patřične u položky memory_limit hodnotu konstanty.
Po instalaci MySQL
Pro vytvoření standardní konfigurace napište:
cd /usr sudo ./bin/mysql_install_db --user=mysql
Nastavení MySQL bind address
Před tím, než budete moct připojit se k databázi z jiných počítačů v síti, musíte nastavit jeho bind address ( pozn. překladatele: neznám český ekvivalent - prostě IP adresa počítače na kterém daná služba běží). Poznámka: Toto může způsobit problém s bezpečností, jelikož vaše databáze bude pak dostupná i z jiných počítačů, než těch, které vám patří! Přeskočte tento krok, pokud aplikace, které potřebují MySQL běží na tom samém počítači!
napište:
nano /etc/mysql/my.cnf
a změňte řádek:
bind-address = localhost
na vaši IP adresu např. 192.168.1.20
bind-address = 192.168.1.20
Pokud se pokoušíte připojit k databázi bez změny bind-address dostanete hlášku "Can not connect to mysql error 10061".
Nastavení hesla root pro MySQL
Pro první přihlášení k databázi přes konzoli je potřeba napsat:
sudo mysql -u root
V Gutsy Gibbon toto:
sudo mysql -u root -p
Pak v MySQL konzoli pak napište toto, aby jste si nastavili heslo pro přístup z localhostu:
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('vase_nove_heslo');Po úspěšném provedení se vypíše:
Query OK, 0 rows affected (0.00 sec)
SQL příkazy můžou přesáhnout několik řádků. Na konci každého příkazu nezapomeňte dát středník.
Vytvoření MySQL databáze
mysql> CREATE DATABASE database1;
Vytvoření uživatele MySQL
Pro vytvoření nového uživatele se všemi právy (nedoporučuje se) napište v MySQL promtu:
mysql> GRANT ALL PRIVILEGES ON *.* TO 'username_noveho_uzivatele'@'localhost' IDENTIFIED BY 'jeho_nove_heslo' WITH GRANT OPTION;
Pro vytvoření uživatele s omezenými právy (mělo by to stačit pro většinu webových aplikací), který má přístup pouze k databázi s názvem "database1", v MySQL promtu napište:
mysql> GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES ON database1.* TO 'username_noveho_uzivatele'@'localhost' IDENTIFIED BY 'jeho_nove_heslo';
username_noveho_uzivatele and jeho_nove_heslo můžou být jakékoliv chcete. database1 je název databáze, ke které bude mít uživatel přístup. localhost je zástupný místní název pro váš počítač. Lze změnit na '%' (nebo na hostname nebo IP adresy) pro povolení připojení z jiných počítačů k databázi. Poznámka: Toto je otázkou bezpečnosti, a proto by neměli být uživatelé vytvářeni jinak než na localhost!
Pro opuštění promtu MySQL napište:
mysql> \q
Jakmile máte nastaveno heslo MySQL root-a, a chcete se opět připojit k databázi(jako uživatel MySQL root), musíte napsat tento příkaz:
mysql -u root -p
a pak zadat heslo.
=== BackUp nastavení===
...doplnit něco o tom kde MySQL uchovává svoje data a jak nakonfigurovat back-up...
Alternativy
Existují i jiné způsoby jak nastavit heslo MySQL root-a a vytvořit databázi. Na příklad může být použit program mysqladmin:
mysqladmin -u root -p password vase_heslo
a
mysqladmin -u root -p create dababase1
mysqladmin je nástroj pro příkazovou řádku a je součástí výchozí LAMP instalace.
PhpMyAdmin or mysql-admin
Pokud by jste chtěli mocný a zároveň jednoduchý nástroj s webovým rozhraním PhpMyAdmin nainstalujte jakoukoliv metodou balíček
phpmyadmin
Nezapomeňte si nastavit pomocný řetězec, který bude použit ke kryptování v souboru /etc/phpmyadmin/blowfish_secret.inc.php a zkopírovat řádek do /etc/phpmyadmin/config.inc.php jinak obdržíte chybové hlášení. Ak nemáte súbor /etc/phpmyadmin/blowfish_secret.inc.php, tak ešte skúste /var/lib/phpmyadmin/blowfish_secret.inc.php Mne to tak išlo.
MySQL nabízí jednoduché grafické rozhraní, které ale není moc efektivní. Je obsažen v balíčku:
mysql-admin
Více informací: Doporučuji přečíst taktéž kapitolu 2.9.3. Securing the Initial MySQL Accounts z MySQL Referenčního manuálu.
Úprava konfiguračního skriptu Apache
Nejspíše budete chtít, aby se aktuálně přihlášený uživatel stal administrátorem stránek PHP. Pokud ano, zeditujte konfigurační skript Apache:
$ sudo gedit /etc/apache2/apache2.conf
Najděte řetězce začínající "User" a "Group", a změnte daná jména uživatele a skupiny na ty, které používáte. Pak bude potřeba restartovat Apache. (koukněte na další kapitolu kde jsou pohromadě všechny příkazy k ovládání Apache)
Konfigurační vlastnosti vztahující se uživatelským stránkám (přístupné přes localhost/~username) jsou v souboru /etc/apache2/mods-enabled/userdir.conf.
Konfigurace PHP pro spolupráci s MYSQL
Je potřeba zeditovat PHP konfigurační soubor, aby se PHP mohlo propojit s MySQL:
$ sudo gedit /etc/php4/apache2/php.ini
V případě, že používáte PHP 5
$ sudo gedit /etc/php5/apache2/php.ini
Odstraňte znak středník ";" na začátku řádky ";extension=mysql.so" (nastavení se může vyskytovat dvakrát, stačí odkomentovat jedno), and restartujte Apache jak je zmíněno níže.
Spuštení, zastavení a restart Apache
Použijte nástedující příkaz ke spuštění Apache :
$ sudo /usr/sbin/apache2ctl start
K jeho zastavení použijte:
$ sudo /usr/sbin/apache2ctl stop
No a k restartu použijte:
$ sudo /usr/sbin/apache2ctl restart
Používání Apache
Ke stránkám zveřejněným pomocí Apache napište http://127.0.0.1 (výchozí port je 80) ve vašem prohlížeči webových stránek. Výchozí adresář pro uložení stránek je /var/www . Pokud jste sem ještě žádné vlastní stránky nedali, v prohlížeči se zobrazí stránka s informací o úspěšné instalaci Apache.
Stav PHP
Aby jste si ověřili stav a další informace o nastavení PHP, vytvořte soubor:
$ sudo gedit /var/www/testphp.php
a vložte do něj řádek
<?php phpinfo(); ?>
Zobrazte tuto stánku v prohlížeči na http://vaseIPadresa/testphp.php nebo http://localhost/testphp.php
Zabezpečení Apache
Pokud chcete používat Apache jako vývojový server a nechcete aby přijímal požadavky zvenčí, tzn. na jeho stránky se podívate pouze vy, stačí aby jste upravili soubor
$ sudo gedit /etc/apache2/ports.conf
a vložili do něj řádek:
Listen 127.0.0.1:80
Uložte tento soubor a restartujte Apache (viz výše). Od teď už bude přístupný jen přes adresy http://127.0.0.1 nebo http://localhost - to znamená jen vám.
Zabezpečení adresáře heslem pomocí .htaccess
Vytvořte soubor s názvem .htaccess v adresáři, který chcete zabezpečit heslem. Pak do něj vložte následující text:
AuthUserFile /your/path/.htpasswd AuthName "Authorization Required" AuthType Basic require valid-user
namísto valid-user můžete přímo přidat uživatele, které chcete
Pokud chcete zabezpečit heslem pouze jeden soubor v adresáři, přidejte následující text do souboru .htaccess
<Files "mypage.html"> Require valid-user </Files>
Pak vytvořte soubor /vas/adresar/.htpasswd který obsahuje uživatele, kterým je dovoleno se přihlásit s jeich hesly. To provedete pomocí htpasswd příkazu:
htpasswd -c /vas/adresar/.htpasswd uzivatel1
Parametr -c je pužit pouze při vytváření nového souboru. Jakmile je soubor .htpasswd vytvořen, -c parametr už nepoužívejte ani když přidáváte nové uživatele. Pokud ho přesto použijete, přepíše se vám původní soubor!!
U tohoto souboru by měly být nastaveny jen minimální práva ke čtení prouze pro Apache, jelikož jsou v něm kryptovaná hesla uložena.
Aby mohla být globální konfigurace Apache přepisována pro tento adresář, je nutné přidat do souboru /etc/apache2/apache2.conf tyto řádky:
<Directory /vas/adresar> AllowOverride All </Directory>
Nakonec nezapomeňte restartovat Apache:
sudo /etc/init.d/apache2 restart
Řešení problémů
Pokud nemůžete k danému adresářei, resp. souboru přistupovat a ověřovací dialogové okno stále vyskakuje, zkontrolujte zda jste zadali username a k němu heslo správně. Pokud to staále nefunguje správně, zkontrolujte, že cesta k vašemu .htpasswd je správně zadaná v AuthUserFile direktivě. Taktéž zkontrolujte, že oba soubory .htpasswd a .htaccess jsou pro webserver přístupná ke čtení ( chmod 644)!
Pokud systém píše chybu apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName, stačí vložit do souboru /etc/apache2/apache2.conf řádku ServerName název_serveru, za název serveru doplňte název ze souboru /etc/hostname. A restartujte.
Příklad
Zde uvedeme příklad jak zakázat uživatelům přístup k adresáři, zaheslovat přístup ke konkrétnímu souboru a povolit danému uživateli čtení daného souboru:
AuthUserFile /vas/adresar/.htpasswd AuthName "Authorization Required" AuthType Basic Order Allow,Deny <Files mujsoubor1.html> Order Allow,Deny require valid-user </Files> <Files mujsoubor2.html> Order Deny,Allow </Files>
Apache Tomcat 5
Jakarta Tomcat, kontejnér Java servletů je nyní část produktů rodiny Apache pod názvem Apache Tomcat. Může být nainstalován na Ubuntu 6.06 (Dapper Drake) následujícími kroky.
Před začátkem instalace Apache Tomcat
1. Zprovoznění Java virtual machine pomocí tohoto postupu Vyhrazené formáty s upozorněním, že je potřeba nainstalovat JDK a ne SDK.
2. Nastavení proměnných Java prostředí:
$ export JAVA_HOME="cesta_k_vasemu_java_HOME" $ export PATH=$PATH:$JAVA_HOME/bin
Instalace Apache Tomcat 5
$ sudo apt-get install tomcat5 tomcat5-admin tomcat5-webapps
Spuštění, zastavení a restart Apache Tomcat
Použijte tento příkaz k spuštění Apache Tomcat:
$ sudo /etc/init.d/tomcat5 start
K zastavení použijte :
$ sudo /etc/init.d/tomcat5 stop
No a na konec k restartu :
$ sudo /etc/init.d/tomcat5 restart
Používání Tomcat5
Zkontrolovat, že Tomcat běží, je možné, pokud zadáte do vašeho prohlížeče adresu:
127.0.0.1:8180
Administrace Tomcat5
Pokud jste si nainstalovali k Tomcatu i admin balíček podle instrukcí máte pak možnost vstoupit do administračního okna pouze v případě, že do upravíte soubor
$ /usr/share/tomcat5/conf/tomcat-users.xml
a přidáte do něj následující řádkypro vytvoření nových uživatelů s admin a manager právy jak je popsáno na Tomcat hlavní stránce
<role rolename="manager"/> <role rolename="admin"/> <user username="VASE_USERNAME " password="VASE_HESLO" roles="admin,manager"/>
Samozřejmě, že pokud by jste chtěli přidat pouze jednu roli, smažete tu o kterou nemáte zájem, jak ukazuje následující příkaz pro vytvoření pouze admin role:
<role rolename="admin"/> <user username="VASE_USERNAME" password="VASE_HESLO" roles="admin"/>
Instalace nového servletu nebo JSP stránky do Tomcat5
Použitím Tomcat manager, který je obsažen v nainstalovaných balíčcích máte možnost spravovat vaše servlety/JSP.
- Zadejte do prohlížeče adresu (vychozí je 127.0.0.1:8180)
- Vstupte na stránku Tomcat manager (odkaz najdete v levé části stránky) a zadejte username a heslo, které jste zadali v předchozím kroku.
Najděte sekci Deploy a v poli WAR or Directory URL napište:
file://VAS_SERVLET nebo ADRESAR_S_JSP_STRANKOU+
Obvykle jsou servlet/JSP stránky uloženy v adresáři /usr/share/tomcat/webapps.
Další Apache vlastnosti
ServerSideIncludes
- zapnutí SSI v Apache2 LocalhostSubdomain
- přístup na lokální soubory užitím odlišné subdomény
Další informace
Binárky si lze zkompilovat PHP5FromSource
, stejně tak jako MYSQL5FromSource
.
StrongPasswords
doporučuji k přečtení! BastilleLinux
taktéž doporučuji přečíst pokud chcete provozovat ostrý webserver. Video
Videoukázka instalace s základní konfigurace Apache+MySQL+PHP5. A jako bonus instalace CMS Drupal