Technologie serwerowe WWW

Slides:



Advertisements
Podobne prezentacje
Procedura instalacji systemu Linux
Advertisements

Serwery WWW Michał Kuciapski Uniwersytet Gdański Wyższa Szkoła Bankowa
Usługi sieciowe Wykład 6 Apache2- debian
Jarosław Kurek WZIM SGGW
Wykorzystanie konta uczelnianego dla potrzeb stron WWW
Serwer WWW na AT89C52 Adrian Witlib Maciej Przeor ID06SK1
SIECI KOMPUTEROWE WYKŁAD 10. RÓWNOWAŻENIE OBCIĄŻEŃ
Bezpieczeństwo aplikacji WWW
Kamil Smitkiewicz Bezpieczeństwo w PHP.
Prezentacja o MS-DOS’ie
Konwersja klucza z formatu PEM (certyfikaty Gridowe) do PKCS12 Warsztaty promocyjne dla użytkowników usługi Michał Jankowski, PCSS.
Instalacja i konfiguracja
SIECI KOMPUTEROWE (SieKom) PIOTR MAJCHER WYŻSZA SZKOŁA ZARZĄDZANIA I MARKETINGU W SOCHACZEWIE Zarządzanie.
Wprowadzenie do Unix’a
Jarosław Kurek WZIM SGGW
Obsługa serwera zdalnego przez klienta FTP
Paweł Rajba Kurs WWW – wykład 10 Paweł Rajba
Proxy WWW cache Prowadzący: mgr Marek Kopel
IIS 6 i PHP na serwerze Windows 2003 EE
Praca Dyplomowa Inżynierska
Systemy zarządzania treścią CMS
SAMBA JAKO SERWER PLIKÓW
Instalacja Apacha Instalacja serwera www ogranicza sie do uruchomienia pliku .exe oraz do wpisania adresu serwera, oraz a administratora czego.
Konfiguracja polcenie SUDO
REPOZYTORIA 1. Co to są repozytoria?
USŁUGA FTP 1. Definicja FTP. FTP (File Transfer Protocol, ang. protokół transmisji plików) jest protokołem typu klient-serwer, który umożliwia przesyłanie.
KONFIGURACJA KOMPUTERA
SIEĆ P2P 1. Definicja sieci równouprawnionej. To taka sieć, która składa się z komputerów o takim samym priorytecie ważności, a każdy z nich może pełnić.
Pakiety w Javie Łukasz Smyczyński (132834). Czym są pakiety? Klasy w Javie są grupowane w pewne zbiory zwane pakietami. Pakiety są więc pewnym podzbiorem.
Konfiguracja kont w programie Adobe Dreamweaver
Tworzenie nowych kont lokalnych i domenowych, oraz zarządzanie nimi
Linux - polecenia.
Lokalne serwery www Serwer WWW - ang. Web server jest to oprogramowanie zainstalowane na serwerze podłączonym do sieci Internet. Używające technologii.
Systemy zarządzania treścią Content Management System
Co nowego w klastrach Windows Server 8
Projekt kompetencyjny: Budowa sieci komputerowej
Programowanie obiektowe – zastosowanie języka Java SE
Administracja serwerami sieciowymi Linux Serwer FTP
Internetowe surfowanie
Program VNC jako pomoc w lekcji
Sieć oparta o serwer Ubuntu 12.10
mgr inż. Mariola Stróżyk
Linux w sieci Konfigurowanie interfejsu sieciowego.
Administracja systemami operacyjnymi Wiosna 2014
Administrowanie serwerem sieci lokalnej
Informatyka Poczta elektroniczna.
Autor: Marta Pelczar. PHP:  Najprostszą drogą, by uruchomić serwer internetowy na własnym domowym komputerze jest skorzystanie z programu XAMPP.
XML Publisher Przedmiot i zakres szkolenia Przedmiot i zakres szkolenia Przeznaczenie XML Publisher Przeznaczenie XML Publisher Definiowanie Definiowanie.
Linux, to kompletny system operacyjny (jądro i programy użytkownika), który powstał na zasadzie GNU – czyli Powszechnej Licencji Publicznej (General Public.
Temat 2: Instalacja Apache, PHP i bazy danych MySQL.
Toruń 28/ Shibboleth SP działa z poziomu serwera HTTP, jest niezależny od języka programowania, pozwala zintegrować dowolną aplikację ze środowiskiem.
Konfiguracja VPN Serwera – Windows 7
Andrzej Majkowski 1 informatyka +. 2 Bezpieczeństwo protokołu HTTP Paweł Perekietka.
Co to jest format PDF PDF (ang. Portable Document Format) - jest formatem plików, który służy do prezentacji, przenoszenia oraz drukowania treści zarówno.
Podstawy języka skryptów
Temat 5: Instrukcje: print(), echo()
1. Logowanie z usługą Active Directory. a) logowanie do domeny Windows 2003 Server odbywa się znacznie szybciej niż w poprzednich wersjach. b) nie ma odwołania.
Osadzanie strony domowej. Podstawowe czynności n utworzenie katalogu public_html n ustawienie atrybutów dostępu do katalogów n utworzenie pliku index.html.
INTERNET jako „ocean informacji”
Polecenie chmod change mode - zmiana atrybutu. chmod [opcje] uprawnienia plik Opis klas użytkowników u - użytkownik (user) g - grupa (group) o - inni.
Prezentacja na temat: Narzedzia do naprawy systemu.
Procedura instalacji Linuksa. Z serwera pobieramy obraz płyty. Nagrywamy obraz na płytę. Sprawdzamy ustawienia w BIOS – podczas uruchamiania systemu napęd.
Wydział Matematyki, Informatyki i Architektury Krajobrazu
PODSTAWOWE ZARZĄDZANIE KOMPUTERAMI Z SYSTEMEM WINDOWS
AudaPad / AudaShare AudaShare PRO (2.8)
PROGRAMY DO KONTROLI RODZICIELSKIEJ
PROGRAMY DO KONTROLI RODZICIELSKIEJ
Content Management System
Wskaż wybrany krok lub kliknij Enter aby dowiedzieć się więcej.
Aplikacje i usługi internetowe
Zapis prezentacji:

Technologie serwerowe WWW Grzegorz Marczak

Instalacja Centosa 7 w wersji Mininal Strefa czasowa Język (tylko i wyłącznie angielski!) Partycjonowanie dysku Zadania po instalacji: Uruchomienie sieci: nmtui i jej statyczna konfiguracja Ustawienie hostname Uruchomienie demona sshd Aktualizacja systemu i instalacja pakietu epel-release Wyłączenie SELinux Wyłączenie firewalla – wymaga konfiguracji – wrócimy później

Instalacja pakietów net-tools vim httpd php mod_ssl java-1.8.0-openjdk.x86_64

Tworzenie „domen” Trochę przygotowań yum install xorg-x11-xauth firefox.x86_64 Tworzymy substytut DNS w /etc/hosts MÓJ_IP domena1.tsw.nsi domena2.tsw.nsi Łączymy się z VM przez Putty z przekierowaniem X11 Uruchamiamy firefoxa

Pierwsze uruchomienie Apacha systemctl start httpd Nasz serwer WWW obsługuje w chwili obecnej jedynie statyczne treści udostępniane przez protokoły HTTP (port 80) i HTTPS (port 443)

Elementarne zmiany w konfiguracji Tutaj możemy coś pozmieniać… /etc/httpd/conf/httpd.conf /etc/httpd/conf.modules.d/ /etc/httpd/conf.d/* Plik /etc/httpd/conf/httpd.conf Listen 80 DocumentRoot "/var/www/html„

Elementarne zmiany w konfiguracji <Directory "xxxxx"> AllowOverride None #przeciążenie uprawnień katalogu nadrzędnego Options Indexes FollowSymLinks Require all granted #serwer będzie serwował całą zawartość </Directory> <DirectoryMatch "regex"> - wariant z nazwą katalogu w postaci wyrażenia regularnego DirectoryIndex index.php index.htm index.html index.myext

Uruchamiamy obsługę stron użytkowników /etc/httpd/conf.d/userdir.conf Domyślnie serwer udostępnia zawartość katalogów /home/*/public_html Opcja UserDir disabled

Konfigurujemy HTTPS Konfiguracja HTTPS opiera się na wirtualnym hoście, udostępniającym zawartość na porcie 443 Domyślna konfiguracja nie jest zła, ale kilka rzeczy należy poprawić wygenerować nowe (prawidłowe dla domeny) certyfikaty ograniczyć listę bezpiecznych protokołów i algorytmów kryptograficznych: SSLCipherSuite EECDH+AES:EDH+AES:-SHA1:EECDH+AES256:EDH+AES256:AES256-SHA:!aNULL:!eNULL:!EXP:!LOW:!MD5:!3DES:!PSK:!SRP:!DSS:!AECDH:!RC4

Certyfikat CA openssl req -new -x509 -days 3650 -extensions v3_ca -keyout cakey.pem -out cacert.pem CSR openssl genrsa -out cert.key 2048 openssl req -new -sha256 -key cert.key -out cert.csr Podpisanie certyfikatu openssl x509 -req -days 360 -in cert.csr -CA cacert.pem -CAkey cakey.pem -CAcreateserial -out cert.pem

Certyfikat Kopiujemy pliki cacert.pem, cert.pem i cert.key do /etc/httpd/cert i modyfikujemy zawartość pliku ssl.conf SSLCertificateFile /etc/httpd/cert/cert.pem SSLCertificateKeyFile /etc/httpd/cert/cert.key SSLCACertificateFile /etc/httpd/cert/cacert.pem

Wirtualne hosty NameVirtualHost poczta.mat.umk.pl:80 ServerName poczta.mat.umk.pl ServerAlias poczta.mat.uni.torun.pl #DocumentRoot /www/sites/horde Redirect permanent / https://poczta.mat.umk.pl/ </VirtualHost>

Wirtualne hosty NameVirtualHost poczta.mat.umk.pl:443 <VirtualHost poczta.mat.umk.pl:443> ServerName poczta.mat.umk.pl ServerAlias poczta.mat.uni.torun.pl DocumentRoot /www/sites/horde SSLEngine On SSLProtocol all -SSLv2 -SSLv3 SSLHonorCipherOrder on SSLCipherSuite EECDH+AES:EDH+AES:-SHA1:EECDH+RC4:EDH+RC4:RC4-SHA:EECDH+AES256:EDH+AES256:AES256-SHA:!aNULL:!eNULL:!EXP:!LOW:!MD5:!3DES:!PSK:!SRP:!DSS:!AECDH SSLCertificateFile /etc/httpd/certs/wildmatumk.pem SSLCertificateKeyFile /etc/httpd/certs/wildmatumk.key SSLCertificateChainFile /etc/httpd/certs/chain.pem </VirtualHost>

Wirtualne hosty – tworzymy własny W pliku /etc/httpd/conf.d/domena1.conf wstawiamy Alias "/d1" /var/www/html/d1 NameVirtualHost domena1.tsw.nsi:80 <VirtualHost domena1.tsw.nsi:80> ServerName domena1.tsw.nsi ServerAlias *.domena1.tsw.nsi DocumentRoot /var/www/html/d1 </VirtualHost>

Wirtualne hosty – tworzymy własny W pliku /etc/httpd/conf.d/domena1.conf wstawiamy NameVirtualHost domena1.tsw.nsi:443 <VirtualHost domena1.tsw.nsi:443> ServerName domena1.tsw.nsi ServerAlias *.domena1.tsw.nsi DocumentRoot /var/www/html/d1 SSLEngine On SSLProtocol all -SSLv2 -SSLv3 SSLHonorCipherOrder on SSLCipherSuite EECDH+AES:EDH+AES:-SHA1:EECDH+AES256:EDH+AES256:AES256-SHA:!aNULL:!eNULL:!EXP:!LOW:!MD5:!3DES:!PSK:!SRP:!DSS:!AECDH:!RC4 SSLCertificateFile /etc/httpd/cert/cert.pem SSLCertificateKeyFile /etc/httpd/cert/cert.key SSLCACertificateFile /etc/httpd/cert/cacert.pem </VirtualHost>

PHP Po zainstalowaniu PHP domyślnie pliki *.php są obsługiwane przez interpreter PHP dla wszystkich katalogów Można wyłączyć obsługę PHP dla danego katalogu komendą W pliku .htaccess: php_flag engine off W dyrektywie Directory: php_admin_value engine Off

PHP Jak powiedzieć PHP, że ma przeprocesować dany plik? <IfModule mime_module> AddType application/x-httpd-php .myext AddType .... </IfModule> .htaccess: Addhandler application/x-httpd-php .html .php .myext

mod_rewrite Moduł ten pozwala modyfikować adresy URL Reguły można umieszczać zarówno w plikach *.conf, jak i .htaccess Przykłady: RewriteEngine On RewriteCond %{HTTPS} off RewriteRule (.*) https://%{SERVER_NAME}/$1 [R,L]

mod_rewrite Przykłady: RewriteEngine on RewriteCond %{HTTP_HOST} ^www.mat.uni.torun.pl [or] RewriteCond %{HTTP_HOST} ^mat.uni.torun.pl [or] RewriteCond %{HTTP_HOST} ^mat.umk.pl RewriteRule (.*) http://www.mat.umk.pl/$1 [R=301,L]

Tomcat Wypakowanie Tomcata: cd /opt unzip apache-tomcat-7.0.82.zip chmod 755 /opt/apache-tomcat-7.0.82/bin/*.sh yum install tomcat-native.x86_64 Start /opt/apache-tomcat-7.0.82/bin/startup.sh Stop /opt/apache-tomcat-7.0.82/bin/shutdown.sh

Tomcat – parametry startowe Tomcat napisany jest w Javie – gdy ma mało pamięci to działa… słabo Konfiguracja pamięci i podobnych: plik setenv.sh JAVA_OPTS="$JAVA_OPTS -Dfile.encoding=UTF8 -Duser.timezone=Europe/Warsaw -server -Xmn256m -XX:ParallelGCThreads=4 -XX:+AggressiveOpts -XX:+UseBiasedLocking -XX:+OptimizeStringConcat -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:NewSize=256m -XX:MaxNewSize=256m -Xms1024m -Xmx1024m" Tomcat domyślnie działa na porcie 8080

Tomcat – podstawowa konfiguracja Plik server.xml Zmiana portu z 8080 na 80 Wyłączenie AJP (na razie) Przygotowania keystore Konfiguracja HTTPS

Tomcat – certyfikaty Konwertujemy certyfikaty apacha z formatu PEM do formatu JKS openssl pkcs12 -export -out cert.p12 -inkey cert.key -in cert.pem -certfile cacert.pem keytool -importkeystore -srckeystore cert.p12 -srcstoretype pkcs12 -destkeystore keystore.jks -deststoretype jks keytool -import -trustcacerts -alias ca -file cacert.pem -keystore keystore.jks

Tomcat – konektory – HTTP Konfiguracja konektorów <Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="443" />

Tomcat – konektory – HTTPS Konfiguracja konektorów <!--Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" /--> <Connector port="443" protocol="HTTP/1.1" SSLEnabled="true" maxThreads="150" scheme="https" secure="true" enableLookups="false" keystoreFile="/ opt/apache-tomcat-7.0.82/conf/keystore.jks" keystorePass="xxxxxx" keyAlias="1" clientAuth="false" sslProtocol="TLS" ciphers="TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_256_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_RSA_WITH_AES_128_GCM_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_3DES_EDE_CBC_SHA"/>

Tomcat – wirtualne hosty <Host name="domena1.tsw.nsi" appBase="domain1" unpackWARs="true" autoDeploy="true"> <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="domain1_access_log." suffix=".txt" pattern="%h %l %u %t "%r" %s %b" /> </Host> <Host name="domena2.tsw.nsi" appBase="domain2" unpackWARs="true" autoDeploy="true"> <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="domain2_access_log." suffix=".txt" pattern="%h %l %u %t "%r" %s %b" />

Tomcat – użytkownicy Userów i role dodajemy w pliku tomcat-users.xml <role rolename="manager-gui"/> <role rolename="manager-script"/> <role rolename="manager-jmx"/> <role rolename="manager-status"/> <user username="admin" password="admin123" roles="manager-gui"/> Userzy i role mogą być wykorzystane w dowolnych aplikacjach działających pod kontrolą Tomcata

Tomcat i httpd razem Kiedy to ma sens? Np. gdy chcemy udostępniać na jednym serwerze na tych samych portach jednocześnie aplikacje napisane w PHP oraz w Javie w jednej lub kilku domenach Wykorzystujemy w tym celu moduł proxy_ajp_module oraz konektor AJP

Tomcat i httpd razem Konfiguracja Tomcata Wyłączamy konektory HTTP i HTTPS Włączamy konektor AJP <Connector port="8009" address="127.0.0.1" protocol="AJP/1.3" redirectPort="8080" URIEncoding="UTF-8" maxThreads="250" acceptCount="2500" />

Tomcat i httpd razem Plik tomcat.conf apacha NameVirtualHost domena2.tsw.nsi:80 <VirtualHost domena2.tsw.nsi:80> ServerName domena2.tsw.nsi ServerAlias *.domena2.tsw.nsi ProxyPass / ajp://localhost:8009/ ProxyPassReverse / ajp://localhost:8009/ </VirtualHost>

Tomcat i httpd razem Plik tomcat.conf apacha NameVirtualHost domena2.tsw.nsi:443 <VirtualHost domena2.tsw.nsi:443> ServerName domena2.tsw.nsi ServerAlias *.domena2.tsw.nsi ProxyPass / ajp://localhost:8009/ ProxyPassReverse / ajp://localhost:8009/ SSLEngine On SSLProtocol all -SSLv2 -SSLv3 SSLHonorCipherOrder on SSLCipherSuite EECDH+AES:EDH+AES:-SHA1:EECDH+AES256:EDH+AES256:AES256-SHA:!aNULL:!eNULL:!EXP:!LOW:!MD5:!3DES:!PSK:!SRP:!DSS:!AECDH:!RC4 SSLCertificateFile /etc/httpd/cert/cert.pem SSLCertificateKeyFile /etc/httpd/cert/cert.key SSLCACertificateFile /etc/httpd/cert/cacert.pem </VirtualHost>

Tomcat i httpd razem Jak pominąć obsługę przez AJP jakiejś podstrony w domenie obsługiwanej przez Tomcata? ProxyPass /strona_w_php !