WWW server, PHP: Porovnání verzí

Z Milan Kerslager
Přejít na: navigace, hledání
(Založení článku)
 
m (Použít jen openssl)
Řádka 32: Řádka 32:
 
  openssl genrsa 1024 > ssl.key/server.key
 
  openssl genrsa 1024 > ssl.key/server.key
 
  chmod go-rwx ssl.key/server.key
 
  chmod go-rwx ssl.key/server.key
  cd /usr/share/ssl/certs
+
  openssl req -new -key ssl.key/server.key -x509 -days 365 -out ssl.crt/server.crt -set_serial 00
make testcert
+
  Country Name (2 letter code) [GB]: '''CZ'''
  Country Name (2 letter code) [GB]: CZ
+
  State or Province Name (full name) [Berkshire]: '''Czech Republic'''
  State or Province Name (full name) [Berkshire]: Czech Republic
+
  Locality Name (eg, city) [Newbury]: '''Liberec'''
  Locality Name (eg, city) [Newbury]: Liberec
+
  Organization Name (eg, company) [My Company Ltd]: '''SPSSE a VOS Liberec'''
  Organization Name (eg, company) [My Company Ltd]: SPSSE a VOS Liberec
+
  Organizational Unit Name (eg, section) []: '''Masarykova 3, 460 01 Liberec I.'''
  Organizational Unit Name (eg, section) []: Masarykova 3, 460 01 Liberec I.
+
  Common Name (your name or server's hostname) []: '''www.pslib.cz'''
  Common Name (your name or server's hostname) []: www.pslib.cz
+
  Email Address []: '''webmaster@pslib.cz'''
  Email Address []: webmaster@pslib.cz
 
  
 
Po vytvoření certifikátu je potřeba restartovat WWW server:
 
Po vytvoření certifikátu je potřeba restartovat WWW server:

Verze z 29. 9. 2007, 09:27

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).

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>

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.

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).

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):

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

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).