WWW server, PHP: Porovnání verzí

Z Milan Kerslager
Přejít na: navigace, hledání
m (Použít jen openssl)
(Sériové číslo, nadpisy)
Řádka 7: Řádka 7:
  
 
Hlavní strom WWW serveru najdete v adresáři <CODE>/var/www/html</CODE>. Do něj můžete umístit soubory a adresáře, které chcete vystavit. Aby je démon WWW serveru mohl číst, musí mít do nich uživatel apache přístup (nejlépe pomocí oprávnění pro ostatní, aby soubory démon sám o sobě nemohl změnit nebo smazat).
 
Hlavní strom WWW serveru najdete v adresáři <CODE>/var/www/html</CODE>. Do něj můžete umístit soubory a adresáře, které chcete vystavit. Aby je démon WWW serveru mohl číst, musí mít do nich uživatel apache přístup (nejlépe pomocí oprávnění pro ostatní, aby soubory démon sám o sobě nemohl změnit nebo smazat).
 +
 +
== Domácí stránky uživatelů ==
  
 
Chcetel-li umožnit lokálním uživatelům vystavovat svoje vlastní stránky, je potřeba to v hlavním konfiguračním souboru WWW serveru Apache povolit. Najděte řádek obsahující <CODE>UserDir&nbsp;disable</CODE> a změňte ho spolu s následujícími řádky tak, aby odpovídal alespoň následujícímu vzroru:
 
Chcetel-li umožnit lokálním uživatelům vystavovat svoje vlastní stránky, je potřeba to v hlavním konfiguračním souboru WWW serveru Apache povolit. Najděte řádek obsahující <CODE>UserDir&nbsp;disable</CODE> a změňte ho spolu s následujícími řádky tak, aby odpovídal alespoň následujícímu vzroru:
Řádka 19: Řádka 21:
 
     Deny from all
 
     Deny from all
 
  </Directory>
 
  </Directory>
 +
 +
== PHP ==
  
 
Požadujete-li rozšíření o podporu jazyku PHP, nainstalujte si balíček php a restartujte WWW server. Rozšíření jazyka PHP o další moduly je možné prostou instalací dalších balíčků (např. php-imap, php-mysql, php-psql apod.). Konfigurace PHP je umístěna v souboru <CODE>/etc/php.ini</CODE>. Doplňující balíčky ho modifikují tak, abyste nemuseli po instalaci balíčku nic dělat. Stačí jen restartovat (nebo reloadnout) WWW server.
 
Požadujete-li rozšíření o podporu jazyku PHP, nainstalujte si balíček php a restartujte WWW server. Rozšíření jazyka PHP o další moduly je možné prostou instalací dalších balíčků (např. php-imap, php-mysql, php-psql apod.). Konfigurace PHP je umístěna v souboru <CODE>/etc/php.ini</CODE>. Doplňující balíčky ho modifikují tak, abyste nemuseli po instalaci balíčku nic dělat. Stačí jen restartovat (nebo reloadnout) WWW server.
 +
 +
== SSL ==
  
 
Podporu zabezpečeného přenosu nainstalujete pomocí balíčku <CODE>mod_ssl</CODE>. Opět zajistěte, aby WWW server načetl znovu svoji konfiguraci (restart nebo reload).
 
Podporu zabezpečeného přenosu nainstalujete pomocí balíčku <CODE>mod_ssl</CODE>. Opět zajistěte, aby WWW server načetl znovu svoji konfiguraci (restart nebo reload).
 +
 +
Od této chvíle by mělo jít používat HTTPS spojení s vaším WWW serverem. Původ certifikátu nabízeného prohlížečem by uživatel měl ověřit pomocí miniatury (fingerprintu, výtahu).
 +
 +
== Self-signed certifikáty ==
  
 
Součástí modulu mod_ssl jsou univerzální certifikáty. S jejich pomocí můžete okamžitě HTTPS používat, ale nebude možné ověřit, zda doopravdy komunikujete se správným serverem. K tomu si musíte vygenerovat certifikáty vlastní. Certifikáty musí být podepsané. Digitální podpis můžete získat od nějaké certifikační autority nebo si můžete vytvořit podpis sami. Uživatel pak však bude muset v případě ověření certifikátu použít kontrolu SHA1 výtahu (miniatury, fingerprintu).
 
Součástí modulu mod_ssl jsou univerzální certifikáty. S jejich pomocí můžete okamžitě HTTPS používat, ale nebude možné ověřit, zda doopravdy komunikujete se správným serverem. K tomu si musíte vygenerovat certifikáty vlastní. Certifikáty musí být podepsané. Digitální podpis můžete získat od nějaké certifikační autority nebo si můžete vytvořit podpis sami. Uživatel pak však bude muset v případě ověření certifikátu použít kontrolu SHA1 výtahu (miniatury, fingerprintu).
  
Postup výroby vlastního podepsaného certifikátu je naznačen na následujících řádcích (tučně napsaný text předtavuje to, co uživatel píše):
+
Postup výroby vlastního podepsaného certifikátu je naznačen na následujících řádcích (tučně napsaný text předtavuje to, co uživatel píše). Je '''nezbytně nutné''', aby v případě, že vytváříte certifikát jako náhradu za již existující, bylo zvýšeno sériové číslo (pomocí parametru <CODE>-set_serial</CODE>), jinak většina prohlížečů odmítne s WWW serverem komunikaci, protože nabízí novější certifikát stejného jména bez vyššího sériového čísla.
  
 
  cd /etc/httpd/conf
 
  cd /etc/httpd/conf
Řádka 44: Řádka 54:
  
 
  /etc/init.d/httpd restart
 
  /etc/init.d/httpd restart
 
Od této chvíle by mělo jít používat HTTPS spojení s vaším WWW serverem. Původ certifikátu nabízeného prohlížečem by uživatel měl ověřit pomocí miniatury (fingerprintu, výtahu).
 

Verze z 29. 9. 2007, 10:34

WWW server Apache najdete v balíčku httpd (dříve se balíček jmenoval apache a název byl změněn proto, aby odpovídaĺ názvu, které používá Apache Software Foundation, viz http://www.apache.org). Konfigurační soubory jsou uloženy v adresáři /etc/httpd. Hlavním konfiguračním souborem serveru je soubor /etc/httpd/conf/httpd.conf. Aplikace, které potřebují změnit nastavení WWW serveru, ukládají svoje konfigurační soubory do adresáře /etc/httpd/conf.d. Všechny soubory v tomto adresáři WWW server Apache při svém startu (nebo reloadu) načte (konfiguraci upravuje např. SquirrelMail nebo OpenWebMail, ale i jiné programy, které tak třeba přesměrují požadavky pomocí aliasů do jiného adresáře).

Následující příkazy restartují WWW server a zajistí automatické spouštění WWW serveru po startu systému:

$ /etc/init.d/httpd restart
$ chkconfig httpd on

Hlavní strom WWW serveru najdete v adresáři /var/www/html. Do něj můžete umístit soubory a adresáře, které chcete vystavit. Aby je démon WWW serveru mohl číst, musí mít do nich uživatel apache přístup (nejlépe pomocí oprávnění pro ostatní, aby soubory démon sám o sobě nemohl změnit nebo smazat).

Domácí stránky uživatelů

Chcetel-li umožnit lokálním uživatelům vystavovat svoje vlastní stránky, je potřeba to v hlavním konfiguračním souboru WWW serveru Apache povolit. Najděte řádek obsahující UserDir disable a změňte ho spolu s následujícími řádky tak, aby odpovídal alespoň následujícímu vzroru:

<IfModule mod_userdir.c>
   UserDir disable
</IfModule>
<Directory /home/*/public_html>
   AllowOverride All
   Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
   Order deny,allow
   Deny from all
</Directory>

PHP

Požadujete-li rozšíření o podporu jazyku PHP, nainstalujte si balíček php a restartujte WWW server. Rozšíření jazyka PHP o další moduly je možné prostou instalací dalších balíčků (např. php-imap, php-mysql, php-psql apod.). Konfigurace PHP je umístěna v souboru /etc/php.ini. Doplňující balíčky ho modifikují tak, abyste nemuseli po instalaci balíčku nic dělat. Stačí jen restartovat (nebo reloadnout) WWW server.

SSL

Podporu zabezpečeného přenosu nainstalujete pomocí balíčku mod_ssl. Opět zajistěte, aby WWW server načetl znovu svoji konfiguraci (restart nebo reload).

Od této chvíle by mělo jít používat HTTPS spojení s vaším WWW serverem. Původ certifikátu nabízeného prohlížečem by uživatel měl ověřit pomocí miniatury (fingerprintu, výtahu).

Self-signed certifikáty

Součástí modulu mod_ssl jsou univerzální certifikáty. S jejich pomocí můžete okamžitě HTTPS používat, ale nebude možné ověřit, zda doopravdy komunikujete se správným serverem. K tomu si musíte vygenerovat certifikáty vlastní. Certifikáty musí být podepsané. Digitální podpis můžete získat od nějaké certifikační autority nebo si můžete vytvořit podpis sami. Uživatel pak však bude muset v případě ověření certifikátu použít kontrolu SHA1 výtahu (miniatury, fingerprintu).

Postup výroby vlastního podepsaného certifikátu je naznačen na následujících řádcích (tučně napsaný text předtavuje to, co uživatel píše). Je nezbytně nutné, aby v případě, že vytváříte certifikát jako náhradu za již existující, bylo zvýšeno sériové číslo (pomocí parametru -set_serial), jinak většina prohlížečů odmítne s WWW serverem komunikaci, protože nabízí novější certifikát stejného jména bez vyššího sériového čísla.

cd /etc/httpd/conf
rm -f ssl.key/server.key ssl.crt/server.crt
openssl genrsa 1024 > ssl.key/server.key
chmod go-rwx ssl.key/server.key
openssl req -new -key ssl.key/server.key -x509 -days 365 -out ssl.crt/server.crt -set_serial 00
Country Name (2 letter code) [GB]: CZ
State or Province Name (full name) [Berkshire]: Czech Republic
Locality Name (eg, city) [Newbury]: Liberec
Organization Name (eg, company) [My Company Ltd]: SPSSE a VOS Liberec
Organizational Unit Name (eg, section) []: Masarykova 3, 460 01 Liberec I.
Common Name (your name or server's hostname) []: www.pslib.cz
Email Address []: webmaster@pslib.cz

Po vytvoření certifikátu je potřeba restartovat WWW server:

/etc/init.d/httpd restart