navody:prirucka:web

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Obě strany předchozí revize Předchozí verze
Následující verze
Předchozí verze
navody:prirucka:web [2010/11/28 10:42] bednanavody:prirucka:web [2022/11/14 12:26] (aktuální) – upraveno mimo DokuWiki 127.0.0.1
Řádek 3: Řádek 3:
 ===== Webový server ===== ===== Webový server =====
  
-{{:navody:48x48:categories:applications-internet.png }} Pomocí trojice aplikací //MySQL//, //PHP// a //Apache// můžete svůj linuxový počítač "proměnit" v plnohodnotný webový server. O této trojici se někdy hovoří jako o tzv. //LAMP// (//**L**inux, **A**pache, **M**ySQL, **P**HP//).+{{:navody:48x48:devices:web-server.png?48 }} Pomocí trojice aplikací //MySQL// (MariaDB), //PHP// a //Apache// můžete svůj linuxový počítač "proměnit" v plnohodnotný webový server. O této trojici se někdy hovoří jako o tzv. //LAMP// (//**L**inux, **A**pache, **M**ySQL, **P**HP//). Webový server Apache lze popřípadě nahradit alternativami, z nichž dnes asi nejpopulárnější je webový server [[http://www.if-not-true-then-false.com/2011/install-nginx-php-fpm-on-fedora-centos-red-hat-rhel/|Nginx]].
  
 ==== Instalace webového serveru Apache ==== ==== Instalace webového serveru Apache ====
   * Přečtěte si kapitolu [[obecne_poznamky|Obecné poznámky]].   * Přečtěte si kapitolu [[obecne_poznamky|Obecné poznámky]].
   * Přečtěte si kapitolu [[instalace_aplikaci#Přidání repozitáře]].   * Přečtěte si kapitolu [[instalace_aplikaci#Přidání repozitáře]].
 +  * Přečtěte také kapitolu [[http://docs.fedoraproject.org/en-US/Fedora/15/html/Deployment_Guide/ch-Services_and_Daemons.html#s3-services-configuration-enabling|service to be automatically started at boot time]]
  
 //Apache// je pravděpodobně nejpopulárnější webový server používaný nejen pod //Linux//em ale také pod //OS Windows// a představuje jakýsi "benchmark", podle kterého jsou hodnoceny ostatní servery. Tato aplikace je v současné době udržovaná nadací //Apache Software Foundation//.\\ //Apache// je pravděpodobně nejpopulárnější webový server používaný nejen pod //Linux//em ale také pod //OS Windows// a představuje jakýsi "benchmark", podle kterého jsou hodnoceny ostatní servery. Tato aplikace je v současné době udržovaná nadací //Apache Software Foundation//.\\
  
-Pomocí následujících příkazů nainstalujete potřebné balíčky a spustíte ''httpd'' server.+Pomocí následujících příkazů nainstalujete potřebné balíčky.
  
-  yum -y install httpd +  dnf -y install httpd 
-  yum -y install mod_ssl +  dnf -y install mod_ssl 
-  yum -y install httpd-manual +  dnf -y install httpd-manual 
-  yum -y install mod_perl +  dnf -y install mod_perl 
-  yum -y install mod_auth_mysql +  dnf -y install mod_auth_mysql 
-  yum -y install crypto-utils +  dnf -y install crypto-utils 
-  yum -y install mod_python +  dnf -y install mod_python
-  /etc/init.d/httpd -k start +
-   +
-Pokud se Vám spuštění httpd nepodaří, je možné, že byla instalována jako služba. V tomto případě server spustíte příkazem service+
  
-  service httpd start+Službu ''httpd'' serveru spustíte příkazem systemctl:
  
 +  systemctl start httpd.service
 +  
 Funkčnost webového serveru ověříte pomocí odkazu [[http://localhost]] popř. [[http://127.0.0.1]]. Funkčnost webového serveru ověříte pomocí odkazu [[http://localhost]] popř. [[http://127.0.0.1]].
    
Řádek 38: Řádek 38:
 Instalaci a spuštění //PHP// serveru lze provést pomocí následujících příkazů Instalaci a spuštění //PHP// serveru lze provést pomocí následujících příkazů
  
-  yum -y install php +  dnf -y install php 
-  yum -y install php-mysql +  dnf -y install php-mysql 
-  /etc/init.d/httpd -k restart+  systemctl restart httpd.service
      
-pokud server běží jako služba obnovení provedete příkazem  
-   
-  service httpd restart 
  
 Pomocí příkazu Pomocí příkazu
Řádek 56: Řádek 53:
 Soubor uložte. Funkčnost //PHP// serveru lze ověřit pomocí odkazu [[http://localhost/testphp.php]]. Soubor uložte. Funkčnost //PHP// serveru lze ověřit pomocí odkazu [[http://localhost/testphp.php]].
  
-==== Instalace MySQL ====+==== Instalace MySQL (MariaDB) ====
   * Přečtěte si kapitolu [[obecne_poznamky|Obecné poznámky]].   * Přečtěte si kapitolu [[obecne_poznamky|Obecné poznámky]].
   * Přečtěte si kapitolu [[instalace_aplikaci#Přidání repozitáře]].   * Přečtěte si kapitolu [[instalace_aplikaci#Přidání repozitáře]].
Řádek 62: Řádek 59:
   * Přečtěte si kapitolu [[databaze#Instalace webového serveru Apache]].   * Přečtěte si kapitolu [[databaze#Instalace webového serveru Apache]].
  
-Server //MySQL// spustíte pomocí+Server //MySQL// (MariaDB) spustíte pomocí
  
-  /etc/init.d/mysqld start+  systemctl start mariadb.service
      
-Je-li instalován jako služba 
  
-  service mysqld start+**phpMyAdmin** - webové rozhraní databáze MySQL (MariaDB) jež je přístupné na adrese http://localhost/phpMyAdmin doinstalujete příkazem 
 + 
 +  dnf install phpMyAdmin
  
 ==== Tipy na Apache ==== ==== Tipy na Apache ====
Řádek 90: Řádek 88:
 Editovaný soubor uložte a restartuje //Apache// pomocí Editovaný soubor uložte a restartuje //Apache// pomocí
  
-  /etc/rc.d/init.d/httpd restart+  systemctl restart httpd.service
      
 uživatelské rozhraní "Nastavení Serveru HTTP" (Aplikace > Systémové nástroje > HTTP) doinstalujete pomocí příkazu uživatelské rozhraní "Nastavení Serveru HTTP" (Aplikace > Systémové nástroje > HTTP) doinstalujete pomocí příkazu
  
-  yum -y install system-config-httpd+  dnf -y install system-config-httpd
  
 ==== Namapování adres URL k adresářům mimo /var/www ==== ==== Namapování adres URL k adresářům mimo /var/www ====
Řádek 104: Řádek 102:
 Do příkazové řádky zadejte Do příkazové řádky zadejte
  
-  gedit /etc/httpd/conf.d/alias+  gedit /etc/httpd/conf.d/alias.conf
  
-a vložte následující řádky do nově vytvořeného souboru ''alias''+a vložte následující řádky do nově vytvořeného souboru ''alias.conf''
  
   Alias /URL-path /location_of_folder/   Alias /URL-path /location_of_folder/
Řádek 119: Řádek 117:
 Uložte soubor ''alias'' a restartuje webový server pomocí Uložte soubor ''alias'' a restartuje webový server pomocí
  
-  /etc/init.d/httpd restart+  systemctl restart httpd.service
  
 Funkčnost nastavení ověříte pomocí odkazu [[http://localhost/URL-path]], kde ''URL-path'' je vámi zvolený adresář. Funkčnost nastavení ověříte pomocí odkazu [[http://localhost/URL-path]], kde ''URL-path'' je vámi zvolený adresář.
Řádek 144: Řádek 142:
 uložte editovaný soubor a restartujte webový server pomocí uložte editovaný soubor a restartujte webový server pomocí
  
-  /etc/init.d/httpd restart+  systemctl restart httpd.service
  
 Funkčnost úpravy lze zkontrolovat pomocí odkazu [[http://localhost:78]]. Funkčnost úpravy lze zkontrolovat pomocí odkazu [[http://localhost:78]].
Řádek 268: Řádek 266:
 **Minimální instalace ZF** (instaluje minimální množství souborů potřebných pro spuštění aplikace) **Minimální instalace ZF** (instaluje minimální množství souborů potřebných pro spuštění aplikace)
  
-  yum --enablerepo=remi install php-ZendFramework+  dnf --enablerepo=remi install php-ZendFramework
      
 **Plná instalace ZF** (obsahuje všechny dodávané knihovny, DOJO a JQuery, ukázky apod.) **Plná instalace ZF** (obsahuje všechny dodávané knihovny, DOJO a JQuery, ukázky apod.)
  
-  yum --enablerepo=remi install php-ZendFramework* --exclude php-ZendFramework-Db-Adapter-Oracle+  dnf --enablerepo=remi install php-ZendFramework* --exclude php-ZendFramework-Db-Adapter-Oracle
  
 //poznámka:Zend Framework Oracle DB Adapter vyřadíme, protože k běhu vyžaduje doinstalování závislostí Oracle, které bez dalšího nastavení nepracují.// //poznámka:Zend Framework Oracle DB Adapter vyřadíme, protože k běhu vyžaduje doinstalování závislostí Oracle, které bez dalšího nastavení nepracují.//
Řádek 278: Řádek 276:
 **Vlastní instalace** **Vlastní instalace**
  
-  yum --enablerepo=remi install komponenta_z_následujícího_seznamu+  dnf --enablerepo=remi install komponenta_z_následujícího_seznamu
      
 php-ZendFramework:// Leading open-source PHP framework// php-ZendFramework:// Leading open-source PHP framework//
Řádek 377: Řádek 375:
   firefox http://localhost/test-project/public/    firefox http://localhost/test-project/public/ 
      
-**Routování**+** Směrování (Routes)**
  
-Index.php celého projektu je umístěn ve složce public. Je to jediný PHP soubor ve veřejně přístupné části projektu. V případě [[http://www.zendframework.com/|ZF]] nebo [[http://www.nette.org/|Nette Framework]] jsou v něm zadány pouze cesty ke spuštění aplikace (include). Aby bylo možné procházet virtuální složky musíme vytvořit a nebo upravit soubor .htaccess tak, aby při zadání jakékoli cesty nad public odkazoval na soubor index.php s vyjímkou adres obrázků, stylů, sriptů a souborů určených k downloadu.+Index.php celého projektu je umístěn ve složce public. Je to jediný PHP soubor ve veřejně přístupné části projektu. V případě [[http://www.zendframework.com/|ZF]] nebo [[http://www.nette.org/|Nette Framework]] jsou v něm zadány pouze cesty ke spuštění aplikace (include). Aby bylo možné procházet virtuální složky musíme vytvořit a nebo upravit soubor .htaccess tak, aby při zadání jakékoli cesty nad public směřoval na soubor index.php s vyjímkou adres obrázků, stylů, sriptů a souborů určených k downloadu.
  
   su -   su -
   gedit /var/www/html/test-project/public/.htaccess   gedit /var/www/html/test-project/public/.htaccess
      
-Pomocí příkazů RewriteRule provedeme potřebné úpravy souboru .htaccess a uložíme jej. Například+Pomocí příkazů RewriteRule provedeme potřebné úpravy směrování v souboru .htaccess a uložíme je. Například
  
   RewriteEngine On   RewriteEngine On
Řádek 393: Řádek 391:
   RewriteRule ^.*$ index.php [NC,L]   RewriteRule ^.*$ index.php [NC,L]
      
-Framework má mechanismus (router), jehož pomocí rozezná zadanou adresu, zavolá příslušný Controler a provede požadovanou akci.+Framework má mechanismus (router nebo-li směřovač), jehož pomocí rozezná zadanou adresu, zavolá příslušný Controler a provede požadovanou akci. Pokud jej nerozezná nastane výjimka a provede se akce definovaná k výjimce.
  
 +**Virtuální host podle jména**
  
 +Pokud chcete nastavit jména virtuálního hostitele k projektu upravte soubor **hosts**
 +
 +  gedit /etc/hosts
 +  
 +Řádek který začíná IP adresou 127.0.0.1 upravte tak aby obsahoval požadované adresy. Například
 +
 +  127.0.0.1   localhost.localdomain   localhost   testproject.loc   www.testproject.loc   admin.testproject.loc
 +
 +//Poznámka: Doménu 1. řádu můžete klidně vynechat. V tomto příkladu byla použita k odlišení produkčního www.testproject.org od vyvíjeného místního www.testproject.loc   //
 +
 +otevřeme soubor httpd.conf nebo vhosts.conf
 +:!: V případě ručního zápisu do httpd.conf můžete mít problém s povolením SELinuxu. Proto by se měl používat samostatný soubor konfigurace vhost /etc/httpd/conf/vhosts.conf
 +
 +  gedit /etc/httpd/conf/httpd.conf
 +  
 +a na konec souboru přidáme specifikaci vhost:
 +
 +  <VirtualHost *:80>
 +    ServerAdmin lh@lh.cz
 +    DocumentRoot /var/www/html
 +  </VirtualHost>
 +  
 +  <VirtualHost www.testproject.loc:80>
 +    ServerAdmin admin@testproject.org
 +    DocumentRoot /var/www/html/test-project/public
 +    ServerName www.testproject.loc
 +    ServerAlias testproject.loc  *.testproject.loc
 +  </VirtualHost>
 +
 +//Poznámka: Toto nastavení se neslučuje s použitím SSL. V takovém případě by se musel použít vhost podle IP//
 +
 +restartujte server
 +
 +  systemctl restart httpd.service
 +  
 +**Index** projektu by nyní měl být přístupný na adresách URL:
 +
 +  * http://localhost/test-project/public
 +  * http://127.0.0.1/test-project/public
 +  * http://testproject.loc/
 +  * http://www.testproject.loc/
 +  * http://admin.testproject.loc/
 +
 +**Homepage** bude přístupná pouze na adrese nastavené routováním v souboru **bootstrap.php** v aplikační části projektu frameworku.
 +  
  
 === Eclipse PHP PDT === === Eclipse PHP PDT ===
Řádek 401: Řádek 445:
 PDT - PHP Development Toolkit je rozšíření vývojového prostředí [[http://www.eclipse.org/|eclipse]] od vývojářů Zend. Podporu PHP Projektů doinstalujete pomocí příkazu PDT - PHP Development Toolkit je rozšíření vývojového prostředí [[http://www.eclipse.org/|eclipse]] od vývojářů Zend. Podporu PHP Projektů doinstalujete pomocí příkazu
  
-  yum install eclipse-phpeclipse+  dnf install eclipse-phpeclipse
      
-----+:!: Vlastník /var/www/**html** je implicitně Superuživatel. Pokud adresář chcete použít jako pracovní prostor Eclipse, musíte upravit oprávnění k přístupu do adresáře.
  
-[[obsah|Hlavní stránka]]+:!: Spouštění prostředí Eclipse jako superuživatel se nedoporučuje
  
 +**Adresáře otevřené pro čtení a zápis**
  
 +Například adresář pro ukládání dočasných souborů projektu /var/www/html/test-project/application/**temp** nastavíme oprávnění pro zápis takto
 +
 +  md /var/www/html/test-project/application/temp
 +  chmod 777 /var/www/html/test-project/application/temp
 +  
 +Nastavení SELinux provedeme příkazem
 +
 +  chcon -R -t httpd_sys_rw_content_t '/var/www/html/test-project/application/temp'
 +  
 +:!: Nevypínejte SELinux, nevystavujte svůj počítač zbytečně bezpečnostnímu riziku
 +  
 +
 +=== NetBeans PHP === 
 +
 +Vzhledem k zastavení vývoje PDT pro Eclipse můžete využít vývojové prostředí NetBeans. Podporuje mnoho známých PHP Frameworků. 
 +
 +  dnf -y install netbeans
 +  
 +Yum nabízí zpravidla starší verzi NetBeans. Aktuální verzi je možné stáhnout ze stránky [[http://netbeans.org/downloads/|netbeans.org/downloads]]. Pro Podporu českého Nette Frameworku lze doinstalovat dodatečně pomocí nabídky **Tools/Plugins**.
 +
 +----
 +
 +
 +[[obsah|Hlavní stránka]]
  • Poslední úprava: 2022/11/14 11:11
  • (upraveno mimo DokuWiki)