PAI.GR312B.CHEBDOWSKI.GRZESZCZAK.LAB1.pdf

(341 KB) Pobierz
Politechnika Świętokrzyska
Projektowanie Aplikacji Internetowych
Laboratorium 1
Konfiguracja serwera Apache
Data wykonania ćwiczenia: 17.10.2011
1.
Grupa: 312B
Piotr Chebdowski
Paweł Grzeszczak
Data oddania sprawozdania: 23.10.2011
Wykonać kopie wszystkich plików konfiguracyjnych Apache i PHP
Skopiowanie katalogu conf z katalogu instalacyjnego Apache do katalogu z kopia zapasowa.
Skopiowanie pliku php.ini z katalogu instalacyjnego PHP do katalogu z kopia zapasowa.
2.
Skonfigurować podstawowy katalog dokumentów na „D:\Strony_www”.
- Modyfikacja pliku httpd.conf:
DocumentRoot "D:/312B/Strony_www"
<Directory "D:/312B/Strony_www">
3.
Ustawić nasłuch Apacha na portach 80 i 8080.
- Modyfikacja pliku httpd.conf:
Listen 80
Listen 8080
4.
Skonfigurować hosty wirtualne.
- Modyfikacja pliku httpd.conf:
Include conf/extra/httpd-vhosts.conf
- Modyfikacja pliku httpd-vhosts.conf:
NameVirtualHost 10.0.0.108
<VirtualHost 10.0.0.108:80>
ServerName www.student.pl
ServerAlias student.pl
DocumentRoot "D:\312B\Strony_www\student"
ErrorDocument 404 /404.html
</VirtualHost>
<VirtualHost 10.0.0.108:8080>
ServerName www.wykladowca.pl
ServerAlias wykladowca.pl
DocumentRoot "D:\312B\Strony_www\wykladowca80"
ErrorDocument 401 /401.html
ErrorDocument 403 /403.html
</VirtualHost>
<VirtualHost 10.0.0.108:8080>
ServerName www.student.pl
ServerAlias student.pl
DocumentRoot "D:\312B\Strony_www\student80"
</VirtualHost>
<VirtualHost 10.0.0.108:80>
ServerName www.wykladowca.pl
ServerAlias wykladowca.pl
DocumentRoot "D:\312B\Strony_www\wykladowca"
</VirtualHost>
<VirtualHost 10.0.0.108:80>
ServerName www.phpmyadmin
ServerAlias phpmyadmin
DocumentRoot "C:\oprogramowanie\apache 2\htdocs\phpmyadmin"
</VirtualHost>
5.
Skonfigurować odpowiednia prawa do tego katalogu.
a) www.student.pl dostęp z dowolnych adresów
- Modyfikacja pliku httpd.conf:
<Directory "D :\312B \Strony_www\student">
Order allow,deny
Allow from All
ErrorDocument 404 /404.html
</Directory>
b) www.wykladowca.pl
dostęp na hasło
- Modyfikacja pliku httpd.conf:
<Directory "D:\312B\Strony_www\wykladowca">
AuthType Basic
AuthName "Zaloguj sie."
AuthUserFile D:\312B\Strony_www\wykladowca\chomik.has
Require valid-user
ErrorDocument 404 /404.html
</Directory>
c) phpmyadmin dostęp tylko z 127.0.0.1
- Modyfikacja pliku httpd.conf:
<Directory "D: \312B \Strony_www\phpmyadmin">
Order allow,deny
Allow from 127.0.0.1
ErrorDocument 404 /404.html
</Directory>
6.
Stworzyć aliasy serwerów na nazwy bez WWW.
- Modyfikacja pliku httpd-vhosts.conf:
<VirtualHost 10.0.0.108:80>
ServerName www.student.pl
ServerAlias student.pl
DocumentRoot "D:\312B\Strony_www\student"
ErrorDocument 404 /404.html
</VirtualHost>
<VirtualHost 10.0.0.108:8080>
ServerName www.wykladowca.pl
ServerAlias wykladowca.pl
DocumentRoot "D:\312B\Strony_www\wykladowca80"
ErrorDocument 401 /401.html
ErrorDocument 403 /403.html
</VirtualHost>
<VirtualHost 10.0.0.108:8080>
ServerName www.student.pl
ServerAlias student.pl
DocumentRoot "D:\312B\Strony_www\student80"
</VirtualHost>
<VirtualHost 10.0.0.108:80>
ServerName www.wykladowca.pl
ServerAlias wykladowca.pl
DocumentRoot "D:\312B\Strony_www\wykladowca"
</VirtualHost>
<VirtualHost 10.0.0.108:80>
ServerName www.phpmyadmin
ServerAlias phpmyadmin
DocumentRoot "C:\oprogramowanie\apache 2\htdocs\phpmyadmin"
</VirtualHost>
7.
Zdefiniować własne strony obsługi błędów dla serwera.
- Modyfikacja pliku httpd-vhosts.conf:
ErrorDocument 302 "Przekierowanie"
ErrorDocument 400 "Niepoprawne żądanie"
ErrorDocument 401 "Wymagana autoryzacja"
ErrorDocument 403 "Dostęp zabroniony"
ErrorDocument 404 "Nie ma"
8.
Zdefiniować własne strony obsługi błędów dla dwu wirtualnych domen.
- Modyfikacja pliku httpd-vhosts.conf:
<VirtualHost 10.0.0.108:80>
ServerName www.student.pl
ServerAlias student.pl
DocumentRoot "D:\312B\Strony_www\student"
ErrorDocument 404 /404.html
</VirtualHost>
<VirtualHost 10.0.0.108:8080>
ServerName www.wykladowca.pl
ServerAlias wykladowca.pl
DocumentRoot "D:\312B\Strony_www\wykladowca80"
ErrorDocument 401 /401.html
ErrorDocument 403 /403.html
</VirtualHost>
9.
Zdefiniować własne strony obsługi błędów dla poszczególnych katalogów stron.
- Modyfikacja pliku httpd.conf:
<Directory "D :\312B \Strony_www\student">
Order allow,deny
Allow from All
ErrorDocument 404 /404.html
</Directory>
<Directory "
D:\312B\Strony
_www\wykladowca">
AuthType Basic
AuthName "Zaloguj sie."
AuthUserFile D:\312B\Strony_www\wykladowca\chomik.has
Require valid-user
ErrorDocument 404 /404.html
</Directory>
<Directory "D: \312B \Strony_www\phpmyadmin">
Order allow,deny
Allow from 127.0.0.1
ErrorDocument 404 /404.html
</Directory>
10.
Ustawić domyślny plik startowy na start.html.
- Modyfikacja pliku httpd.conf:
<IfModule dir_module>
DirectoryIndex start.html
</IfModule>
11.
Ustawić opcje indeksowania stron w pliku httpd.conf jak i htaccess, dodać nagłówek i
stopkę.
- Modyfikacja pliku httpd.conf:
ReadmeName stopka.html
HeaderName naglowek.html
IndexOptions FancyIndexing VersionSort
- Modyfikacja pliku .htaccess:
ErrorDocument 404 /404.html
IndexOptions FancyIndexing VersionSort
12.
Skonfigurować połączenie SSL. Wygenerować certyfikaty i ustawić wirtualnego hosta
dla domeny www.wykladowca.pl Port 443 katalog wykładowca.
- Generowanie certyfikatów:
openssl req -config openssl.cnf -new -out my-server.csr
openssl rsa -in privkey.pem -out my-server.key
openssl x509 -in my-server.csr -out my-server.cert -req -signkey my-server.key -days 365
Pliki niezbędne dla serwera: my-server.cert, my-server.key
- Modyfikacja pliku httpd.conf:
LoadModule ssl_module modules/mod_ssl.so
SSLMutex default
SSLRandomSeed startup builtin
SSLSessionCache none
- Modyfikacja pliku httpd-vhosts.conf:
Listen 443
<VirtualHost www.wykladowca.pl:443>
ServerName www.wykladowca.pl
DocumentRoot "D:\312B\Strony_www\wykladowca"
ServerAlias wykladowca.pl
SSLEngine On
SSLCertificateFile my-server.cert
SSlCertyficateKeyFile my-server.key
</VirtualHost>
13.
Skonfigurować zapis do logów serwera. Opcje zapisu logów kolejno czas dostęp,
skąd, przeglądarka.
- Modyfikacja pliku httpd.conf:
LogFormat "%t, %a, %{User-agent}i" moj_format
CustomLog "logs/access.log" moj_format
14.
Wyświetlić informacje o serwerze Apache (dołączyć dwa moduły mod_status oraz
mod_info).
- Modyfikacja pliku httpd.conf:
LoadModule status_module modules/mod_status.so
LoadModule info_module modules/mod_info.so
<Location /server-status>
SetHandler server-status
Order Deny,Allow
Deny from all
Allow from 127.0.0.1
</Location>
Sprawdzenie:
http://dowolna_domena_na_serwerze/server-status
15.
Skonfigurować Apache do współpracy z PHP (załadować jako moduł).
LoadModule php5_module "C:/PHP/php5apache2_2.dll"
AddType application/x-httpd-php .php
PHPIniDir "C:/PHP/"
Zgłoś jeśli naruszono regulamin