Linux RHCE - Serwer WWW - Apache Web Server

MarGib 12/18/2012 12:57:00 PM
🌐 🇵🇱 PL · 🇬🇧 EN
Apache jest najbardziej popularnym i najszerzej stosowanym serwerem WWW w internecie. Dostępny jest dla wielu systemów operacyjnych takich jak UNIX, LINUX, Microsoft Windows, BSD, OS X oraz pojawia się jako składnik wielu pakietów oferujących wraz z nim dodatkowe oprogramowanie PHP czy baz danych np.: XAMPP, LAMP, WAMP itp. Strona domowa projektu http://httpd.apache.org/. Głównymi cechami serwera są wielowątkowość, skalowalność, bezpieczeństwo, kontrola dostępu, CGI, proxy, obsługa modułów w tym mod_ssl. Pierwsza wersja pojawiła się oficjalnie w kwietniu 1995 roku. Na chwilę obecną najnowsze wydania serwera posiadają już graficzny interfejs konfiguracyjny parsujący ustawienia do pliku httpd.conf. 


INSTALACJA SERWERA APACHE 

Krok 1 - Instalacja wymaganych pakietów

# yum install -y httpd mod_ssl

Krok 2 - Sprawdzenie że wszystkie potrzebne pakiety znajdują się w systemie

# rpm -qa | grep http
httpd-tools-2.2.15-15.el6.i686
httpd-2.2.15-15.el6.i686

# rpm -qa | grep ssl
openssl-1.0.0-20.el6.i686
mod_ssl-2.2.15-15.el6.i686

Krok 3 - Ustawienie uruchamiania usług wraz z systemem operacyjnym 

# chkconfig httpd on

Krok 4 - Sprawdzenie wprowadzonych zmian 

# chkconfig --list httpd
httpd   0:off   1:off   2:on    3:on    4:on    5:on    6:off

KONFIGURACJA SERWERA WWW 

Po instalacji odpowiednich pakietów możemy skierować uwagę na odpowiednie pliki konfiguracyjne i ich lokalizację. Podczas instalacji został utworzony katalog /var/www i jest to miejsce w którym umieszczamy pliki stron WWW. Istnieje również kilka plików konfiguracyjnych takich jak :

/etc/httpd/conf/httpd.conf          Główny plik konfiguracyjny 

/var/log/httpd                                      Logi serwera www

/usr/lib64/httpd/modules                 Moduły dla serwera Apache

Po instalacji serwera jego konfiguracja znajdująca się w głównym pliku konfiguracyjnym nadaje się od razu do zastosowania. Warto jednak zapoznać się z opcjami jakie mamy dostępne i jakie możemy skonfigurować ponieważ jest ich dość sporo i wszystkie zostały dobrze udokumentowane. Informacje w pliku pogrupowane są w sekcje. 

Podstawowe globalne opcje konfiguracyjne : 

ServerRoot          - Miejsce przechowywania plików konfiguracyjnych 

Timeout                - Okres czasu pomiędzy zapytaniami po jakimi przerywane jest połączenie 

Listen                    - Numer portu nasłuchu 

User                      - Użytkownik z jakiego uruchamiana jest usługa serwera www

Group                    - Grupa z jakiej uruchamiany jest serwer www

LoadModule           - Definicja modułów ładowanych wraz ze startem serwera www

Podstawowe opcje dla serwera www

DocumentRoot       - Lokalizacja plików stron WWW 

ServerName           - Definicja nazwy serwera, adresu IP i numeru portu 

Zacznijmy od konfiguracji związanych z lokalizacją plików stron WWW. Domyślnie jest to /var/www/html ale jeżeli zachodzi taka potrzeba możemy to zmienić.

W głównym pliku konfiguracyjny możemy znaleźć również sekcję nazwaną "Directory" : 

<Directory "/var/www/html">

    Options Indexes FollowSymLinks

    AllowOverride None

    Order allow,deny
    Allow from all

</Directory>

Określone tu parametry wskazują na to w jakiej lokalizacji będą znajdowały się pliki stron, ale jeżeli chcemy zmienić lokalizację w jakiej mają znajdować się pliki stron www musi dokonać tego w : 

DocumentRoot "/var/www/html"

Ma to również zastosowanie w przypadku konfiguracji virtualnych hostów o których będzie później. Jeżeli konfiguracja jest już zadowalająca i zgadzamy się na ustawione parametry możemy przeprowadzić test sprawdzający poprawność pliku konfiguracyjnego na występowanie błędów składniowych: 

# service httpd configtest
httpd: Could not reliably determine the server's fully qualified domain name, using RHEL01.example.com for ServerName
Syntax OK
Powyższy błąd dotyczy nieustawionej nazwy serwera zgodniej z hostem na jakim serwer się znajduję i po od komentowaniu odpowiedniej opcji i podaniu sugerowanej nazwy serwera błąd został usunięty. 

# service httpd configtest
Syntax OK

Jeżeli chcemy wykonać restart serwera stosujemy polecenie : 

# service httpd restart
Stopping httpd:                                     [  OK  ]
Starting httpd:                                     [  OK  ]

Możemy również przeładować pliki konfiguracyjne serwera bez restartu całej usługi przy pomocy : 

# service httpd reload

Istnieje jeszcze jedna opcja umożliwiająca restart serwera pozwalająca wczytać nowe pliki konfiguracyjne ale bez rozłączanie ani jednego klienta aktualnie korzystającego z www. 

# service httpd graceful

KONFIGURACJA ZAPORY IPTABLES I SELINUX  

Krok 1 - Dodanie odpowiednich reguł zapory iptables 

iptables -I INPUT 5 -p tcp -m tcp --dport 80 -j ACCEPT

Krok 2 - Zapisanie ustawień iptables 

# service iptables save
iptables: Saving firewall rules to /etc/sysconfig/iptables:[ OK ]

Krok 3 - Restart usługi zapory systemowej 

# service iptables restart
iptables: Flushing firewall rules:                     [  OK  ]
iptables: Setting chains to policy ACCEPT: filter      [  OK  ]
iptables: Unloading modules:                           [  OK  ]
iptables: Applying firewall rules:                     [  OK  ]

Powyższe ustawienie otwiera port 80 na jakim działa usługa dla wszystkich. Często jest jednak tak, że z jakiegoś powodu potrzebujemy zablokować jakąś podsieć, a korzystanie z usługi pozostawić wybranym podsiecią lub hostom. 

Aby dostęp do usługi httpd był możliwy tylko dla danej podsieci można wprowadzić ograniczenie w postaci : 

iptables -I INPUT -s 192.168.56.0/24 -p tcp --dport 80 -j ACCEPT

Wpis ten ograniczy dostęp dla hostów znajdujących się w podsieci 192.168.56.0/24. 

Możemy również posunąć się dalej o zastosować ograniczenie do pojedynczego hosta 

iptables -I INPUT -s 192.168.56.102 -p tcp --dport 80 -j ACCEPT

Teraz można zobaczyć strony www tylko będąc na hoście lokalnym lub 192.168.56.102

Idąc jeszcze dalej mamy możliwość zablokowania dostępu również na hoście lokalnym i pozostawienie go tylko z wybranej konkretnej maszyny lub podsieci. Zablokowanie dostępu z maszyny lokalnej można wykonać blokując lokalny adres IP np.: (192.168.56.101)

iptables -I INPUT -s 192.168.56.101 -p tcp --dport 80 -j REJECT

Wpis ten zablokuje dostęp do stron www również z hosta na jakim serwer się znajduję. 


OPCJE SELINUX 

httpd_can_network_relay - Umożliwia httpd działanie jako przekaźnik

htttp_can_network_connect_db - Zezwala httpd na łączenie się skryptów i modułów z bazą danych.

httpd_use_gpg - Zezwala httpd na włączenie gpg w domenie gpg-web

httpd_enable_cgi - Zezwala na wsparcie dla CGI

httpd_use_cifs - Zezwala by httpd miał dostęp do CIFS

allow_httpd_mon_auth_pam - Zezwala na użycie mod_auth_pam

allow_httpd_anon_write - Zezwala na modyfikacje plików publicznych

httpd_enable_homedirs - Umożliwia czytanie katalogów domowych

allow_httpd_sys_scripts_anon_write - Zezwala skryptom apache modyfikować zawartość publicznego katalogu katalog musi mieć kontekst public_rw_content_t

httpd_dbus_avahi - Umożliwia komunikacje z usługa avahi

httpd_unified - Ujednolicenie uchwytów do zawartości wszystkich plików

httpd_can_network_connect - Umożliwia skryptom i modułom httpd na łączenie z siecią przez TCP

allow_httpd_mod_auth_ntlm_winbind - Umożliwia stosowanie mod_auth_pam

httpd_tty_comm - Ujednolicona komunikacja z terminalem.

httpd_read_user_content - Zezwala na dostęp do plików użytkowników

httpd_use_nfs - Dostęp do NFS systemu plików

httpd_tmp_exec - Dostęp do plików w katalogu /tmp

httpd_execmem - Zezwala na dodanie modułów /execmem i /execstak

httpd_can_sendmail - Pozwala usłudze httpd wysyłać wiadomości email

httpd_builtin_scripting - Umożliwia usłudze httpd korzystać ze skryptów zazwyczaj PHP

httpd_can_check_spam - Sprawdzanie spamu przez httpd

httpd_can_network_connect_cobbler - Pozwala by skrypty i moduły miały połączenie z siecią cobbler

httpd_ssi_exec - Umożliwia httpd uruchamianie SSI w tej samej domenie co skrypty CGI

httpd_enable_ftp_server - Umożliwia httpd dostęp do serwera FTP i wy listowanie plików przez port FTP

httpd_setrlimit - Pozwala usłudze httpd zmieniać limity systemowe.

By uruchomić podstawową usługę webową we własnej sieci nie ma potrzeby wprowadzania żadnych zmian w plikach konfiguracyjnych. Prawie każda nowa nie zawarta w podstawowych ustawieniach opcja wymaga konfiguracji ustawień SELinux. Pracując z usługami webowymi należy pamiętać o istnieniu dodatkowego wymogu w postaci SELinuxa. Apache korzysta z kontekstów plików z powodu istnienia różnych treści dostępnych na dysku.

Kontekst każdego nowo utworzonego katalogu musi zostać ustawiony na użytkownika serwera httpd tak by mógł on uzyskiwać do niego poprawny dostęp. 

Załóżmy dla przykładu, że potrzebujemy utworzyć dwa nowe katalogi przeznaczone dla dwóch odrębnych klientów : 

Krok 1 - Utworzenie katalogów dla klientów :

# mkdir /var/www/strona1
# mkdir /var/www/strona2

Krok 2 - Sprawdzenie jakie aktualnie konteksty mamy dla plików :


# ls -Z /var/www/
drwxr-xr-x. root root system_u:object_r:httpd_sys_script_exec_t:s0 cgi-bin
drwxr-xr-x. root root system_u:object_r:httpd_sys_content_t:s0 error
drwxr-xr-x. root root system_u:object_r:httpd_sys_content_t:s0 html
drwxr-xr-x. root root system_u:object_r:httpd_sys_content_t:s0 icons
drwxr-xr-x. root root unconfined_u:object_r:httpd_sys_content_t:s0 strona1
drwxr-xr-x. root root unconfined_u:object_r:httpd_sys_content_t:s0 strona2


Trzeba zmienić konteksty dla katalogów klientów na zgodne z domyślnymi dla stron www ( lokalizacja html)

Krok 3 - Używając polecenia chcon zmieniamy kontekst dla użytkownika domeny


# chcon -Rvu system_u /var/www/strona1
changing security context of `/var/www/strona1'

# chcon -Rvu system_u /var/www/strona2
changing security context of `/var/www/strona2'

Krok 4 - Możemy również odwołać się do domyślnego katalogu jedną komendą 

# chcon --reference /var/www/html/ /var/www/strona2 

Jest to przeniesienie ustawionego kontekstu na znanym pliku w tym przypadku domyślnie ustawiony kontekst katalogu html gdzie po instalacji można umieszczać pliki stron na inny wybrany lub utworzony nowy katalog jaki również będzie miał zadanie przechowywać pliki stron. 

Krok 5 - Teraz możemy sprawdzić poprawność kontekstów dla nowych lokalizacji 

# ls -Z /var/www/
drwxr-xr-x. root root system_u:object_r:httpd_sys_script_exec_t:s0 cgi-bin
drwxr-xr-x. root root system_u:object_r:httpd_sys_content_t:s0 error
drwxr-xr-x. root root system_u:object_r:httpd_sys_content_t:s0 html
drwxr-xr-x. root root system_u:object_r:httpd_sys_content_t:s0 icons
drwxr-xr-x. root root system_u:object_r:httpd_sys_content_t:s0 strona1
drwxr-xr-x. root root system_u:object_r:httpd_sys_content_t:s0 strona2


ROZWIĄZYWANIE PROBLEMÓW Z APACHE

Jednym z najlepszych narzędzi do rozwiązywania problemów z apache są pliki logów. Pliki logów serwera apache posiadają oddzielną lokalizację od logów systemowych by łatwiej je znaleźć. Mamy dwa podstawowe pliki jakie możemy poddać analizie w celu rozwiązania problemów z serwerem apache. 

  • /var/log/httpd/access_log          Log wszystkich dostępów do serwera 
  • /var/log/httpd/error_log            Informację o błędach z serwerem 
Zazwyczaj analiza powyższych plików dostarcza wystarczających informacji do rozwiązania problemów. W głównym pliku konfiguracyjnym istnieje sekcja umożliwiająca ustawienie poziomu logowania z usługi httpd

Jeżeli stosujemy bezpieczne strony istnieją wtedy trzy dodatkowe pliki dla SSL : 
  • /var/log/httpd/ssl_access_log          Logowanie dostępu do bezpiecznej strony 
  • /var/log/httpd/ssl_error_log            Logowanie informacji o błędach ze stroną ssl 
  • /var/log/httpd/ssl_request_log         Logowanie zapytań od klienta do serwera
Jak już wiemy do sprawdzania poprawności składni głównego pliku konfiguracyjnego stosujemy polecenie "config-test". Jednym z popularnych błędów podczas uruchamiania usługi jest komunikat informujący, że nazwa serwera "ServerName" nie została ustalona więc serwer domyślnie zakłada ją jako 127.0.0.1. By pozbyć się tej niedogodności ustawiamy nazwę serwera. Możemy również ustawić ilość informacji jaka znajduje się w logach za pomocą parametru "LogLevel"w głównym pliki konfiguracyjnym. 


ELINKS

Innym użytecznym narzędziem jakie może być przydatne podczas rozwiązywania problemów z apache jest przeglądarka internetowa "elinks". Jest to przeglądarka tekstowa pozwalająca szybko sprawdzić działanie strony www. By używać tego narzędzia musimy zainstalować dodatkowe paczki.

Krok 1 - Instalacja wymaganych pakietów

# yum install -y elinks

Krok 2 - Po instalacji możemy przetestować działanie strony wydając polecenie : 

elinks 192.168.56.101

Powinniśmy zobaczyć zawartość pliku : /var/www/html/index.html 

Możemy również sprawdzić działanie SSL 

# elinks https://172.168.1.1

Na razie nie będzie jeszcze działać ! 

BEZPIECZEŃSTWO APACHE

Powyżej przedstawiono już sposób dodania reguł do firewall'a oraz zasady kontekstów SELinuxa. W tym miejscu jeszcze bardziej i dokładniej omówione zostaną sposoby zabezpieczeń i konfigurację ustawień regulujące dostęp do usługi serwera www. 

Zabezpieczenie usługi na na hoście 

Pierwszym sposobem zabezpieczenia jest ograniczenie dostępu do serwera httpd z określonej podsieci. Wykonujemy to wprowadzając w głównym pliku konfiguracyjnym opcje w parametrze "Listen" : 

Listen <adres_IP_serwera>:<port> 

Listen 192.168.56.101:80 

Po restarcie usługi serwera strony dostępne będą jedynie z podanej podsieci. 

Kolejnym sposobem zabezpieczenia jest dyrektywa <Directory> w głównym pliku konfiguracyjnym : 

<Directory "/var/www/html">
    Options Indexes FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from 192.168.56.102
</Directory>

Taki zapis w pliku konfiguracyjnym, ogranicza dostęp do katalogu /var/www/html i jego zawartości. Dostęp możliwy jest tylko z wybranego hosta w tym przypadku jest to host 192.168.56.102

Inne możliwe konfigurację to : 

Dostęp ograniczony do danej domeny : 

<Directory "/var/www/html">
    Options Indexes FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from .example.com
</Directory>

Należy zwrócić uwagę, że nazwę domeny podajemy zaczynając od kropki ! 

Dostęp ograniczony do danej podsieci 

<Directory "/var/www/html">
    Options Indexes FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from 192.168.1
</Directory>

Należy zwrócić uwagę by adres kończył się na 3 oktecie bez kropki

Po określeniu hostów które mają mieć dostęp lub nie mieć dostępu do serwera WWW należy zdefiniować kolejność stosowania reguł. 

Order allow, deny         Jako pierwsze zostaną przepuszczone wybrane adresy 
Order deny, allow         Jako pierwsze zostanie wykonane zabronienie dostępu.

Chcąc przepuścić dany adres stosujemy opcję że najpierw przepuszczamy dany adres , a pozostałe blokujemy , alternatywnie chcąc zablokować dany adres blokujemy go na początku a resztę przepuszczamy. 

W dyrektywie tej istnieją również opcje : 

Option Indexes - Jeżeli nie istnieje plik index.html na stronie pojawi się wylistowana zawartość katalogu

FollowSymLinks   - Można wykonać dowiązanie symboliczne w systemie operacyjnym gdzie wskażemy inny katalog z poza zdefiniowanego w dyrektywie. 

AllowOverride   - Nie zezwala zwykłym użytkownikom na zmianę plików root'a 

Powyższe opcje mogą być zastosowane do innych katalogów z poustawianymi różnymi względem siebie opcjami. Istnieje również sekcja <Directory> bez zdefiniowanego katalogu i wszystkie ustawione w niej opcje będą nadrzędnie stosowane dla wszystkich pozostałych poniżej. 

Zabezpieczenie usługi od strony klienta 

W tym miejscu wykonamy zabezpieczenie danego katalogu dając dostęp jedynie wybranym użytkownikom. Istnieją następujące opcję umożliwiające ograniczenie dostępu użytkownikom: 

AuthType     - Definiuje typ autentykacji 

AuthName    - Definiuje komentarz wyświetlany użytkownikowi przy logowaniu 

AuthUserFile - Ustawia plik używany do przechowywania loginów i haseł użytkowników 

AuthGroupFile - Ustawia plik do przechowywania loginów i haseł dla grupy 

Require - Ustawia które grupy i użytkownicy mogą się zalogować

Przećwiczymy powyższe na przykładzie. Zabezpieczamy główną stronę wystawianą przez serwer WWW udostępniając ją jedynie użytkownikowi User01. 

Krok 1 - W dyrektywie <Directory> dopisujemy parametry : 

<Directory "/var/www/html">
    Options Indexes FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from 192.168.56.102
    AuthType Basic
    AuthName "Zabezpieczona strona nie dla Ciebie"
    AuthUserFile /etc/httpd/userfile
    Require user user01

</Directory>


Krok 2 - Utworzenie pliku userfile 

# htpasswd -cm /etc/httpd/userfile user01
New password:
Re-type new password:
Adding password for user user01

Opcja -c powoduje utworzenie pliku i stosujemy ją jednorazowo jeżeli plik jeszcze nie istnieje. Kolejna opcja -m używa szyfrowania MD5 przy zapisywaniu haseł do pliku przez co nie są przechowywane w postaci jawnej. 

Krok 3 - Restartujemy serwer WWW

# service httpd restart

Krok 4 - Sprawdzenie działania w przeglądarce 

Powinniśmy być pytani o login i hasło , a po wpisaniu hasła i loginu zobaczymy stronę. 

Kolejną opcją jest umożliwienie dostępu do głównej strony natomiast wymagane logowanie będzie w momencie otwierania innych podstron. 

Krok 1 - W pliku konfiguracyjnym dokonujemy kolejnych zmian 

<Directory "/var/www/html">
    Options Indexes FollowSymLinks
    AllowOverride authconfig
    Order allow,deny
    Allow from 192.168.56.1
    AuthType Basic
    AuthName "Zabezpieczona strona nie dla Ciebie"
    AuthUserFile /etc/httpd/userfile
    Require user user01
</Directory>

Krok 2 - Utworzenie lokalizacji z podstroną 

W katalogu /var/www/html tworzymy nowy katalog : # mkdir katalog w którym będzie zabezpieczona strona. 

Krok 3 - W utworzonym katalogu tworzymy plik .htaccess 

# vi .htaccess

wpisując do pliku treść : 

AuthType Basic
AuthName "Nie masz dostepu do tego pliku bez logowania"
AuthGroupFile /etc/httpd/groupfile
Require group hr_users

Krok 4 - Utworzenie kilku użytkowników 

# htpasswd -m /etc/httpd/userfile hr01
New password:
Re-type new password:
Adding password for user hr01

# htpasswd -m /etc/httpd/userfile hr02
New password:
Re-type new password:
Adding password for user hr02

Krok 5 - Utworzenie pliku groupfile 

Tworzymy plik : # vim /etc/httpd/groupfile w którym wpisujemy : 

hr_users: hr01 hr02

Krok 6 - Restart serwera WWW

# service httpd restart 

Krok 7 - Sprawdzenie działania 

W przeglądarce można zobaczyć stronę główna ale po przejściu do katalogu będzie prośba o zalogowanie. 

Udostępnienie stron z katalogów domowych użytkowników

Możemy również umożliwić udostępnianie na serwerze WWW stron z katalogów domowych użytkownika. 

W tym celu należy: 

# mkdir public_html   ( w katalogu domowym użytkownika tworzymy podkatalog ) 

# chmod 701 /home/user01/

# chmod 705 -R /home/user01/public_html/

Po wykonaniu powyższego należy sprawdzić ustawienia SELinux 

# getsebool -a | grep httpd
allow_httpd_anon_write --> off
allow_httpd_mod_auth_ntlm_winbind --> off
allow_httpd_mod_auth_pam --> off
allow_httpd_sys_script_anon_write --> off
httpd_builtin_scripting --> on
httpd_can_check_spam --> off
httpd_can_network_connect --> off
httpd_can_network_connect_cobbler --> off
httpd_can_network_connect_db --> off
httpd_can_network_memcache --> off
httpd_can_network_relay --> off
httpd_can_sendmail --> off
httpd_dbus_avahi --> on
httpd_enable_cgi --> on
httpd_enable_ftp_server --> off
httpd_enable_homedirs --> off
httpd_execmem --> off
httpd_read_user_content --> off
httpd_setrlimit --> off
httpd_ssi_exec --> off
httpd_tmp_exec --> off
httpd_tty_comm --> on
httpd_unified --> on
httpd_use_cifs --> off
httpd_use_gpg --> off
httpd_use_nfs --> off

 Zmieniając odpowiednią opcję : 

# setsebool -P httpd_enable_homedirs=1

Sprawdzenie wprowadzonych zmian : 

# getsebool -a | grep httpd
...
httpd_enable_homedirs --> on 
...

Teraz można sprawdzić działanie w przeglądarce :

http://192.168.56.101/~user01/

Pamiętajmy o użyciu znaku ~ przed nazwą użytkownika.

KONFIGURACJA HTTPS - SSL 

Poza normalnymi stronami możemy mieć również bezpieczne strony używające protokołu HTTPS. Konfiguracja bezpiecznych stron w apache jest prosta. Do bezpiecznych stron potrzebujemy pakietu mod_ssl więc jeśli nie ma go w systemie trzeba go zainstalować. Jeżeli pakiet zostanie zainstalowany w systemie będziemy mieć dostęp do pliku konfiguracyjnego /etc/httpd/conf.d/ssl.conf w którym znajdują sie parametry konfiguracyjne zabezpieczające serwer www. 

Sprawdźmy co takiego możemy skonfigurować w tym pliku :

# grep -v ^# /etc/httpd/conf.d/ssl.conf

LoadModule ssl_module modules/mod_ssl.so

Listen 443

SSLPassPhraseDialog  builtin
SSLSessionCache         shmcb:/var/cache/mod_ssl/scache(512000)
SSLSessionCacheTimeout  300
SSLMutex default
SSLRandomSeed startup file:/dev/urandom  256
SSLRandomSeed connect builtin
SSLCryptoDevice builtin
<VirtualHost _default_:443>
ErrorLog logs/ssl_error_log
TransferLog logs/ssl_access_log
LogLevel warn
SSLEngine on
SSLProtocol all -SSLv2
SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW
SSLCertificateFile /etc/pki/tls/certs/localhost.crt
SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
<Files ~ "\.(cgi|shtml|phtml|php3?)$">
    SSLOptions +StdEnvVars
</Files>
<Directory "/var/www/cgi-bin">
    SSLOptions +StdEnvVars
</Directory>
SetEnvIf User-Agent ".*MSIE.*" \
         nokeepalive ssl-unclean-shutdown \
         downgrade-1.0 force-response-1.0
CustomLog logs/ssl_request_log \
          "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
</VirtualHost>


Najważniejszymi opcjami jakie są w tym pliku są : Listen oraz parametry zdefiniowane pomiędzy znacznikami <VirtualHost _default_:443></VirtualHost>.

Domyślnie bezpieczne strony umieszcza się na wirtualnych hostach ( co jest bardzo dobre bo mogą działać niezależnie od istniejących stron)

Należy również zwrócić uwagę na dwie opcję :

SSLCertificateFile /etc/pki/tls/certs/localhost.crt
SSLCertificateKeyFile /etc/pki/tls/private/localhost.key


Opcje te definiują i wskazują na lokalizację plików zawierających klucze jakie używane są dla udostępniania zabezpieczonych stron. Chociaż domyślne opcje będą działać w postaci po instalacji to jeżeli zmienimy adres IP lub nazwę pary domen zachodzi potrzeba wygenerowania nowego certyfikatu i klucza. Do generowania certyfikatów i kluczy należy zainstalować pakiet crypto-utils. Generowanie kluczy i certyfikatów nie jest tematem egzaminu RHCE. 


Krok 1 - Utworzenie reguł zapory iptables

# iptables -I INPUT 5 -p tcp -m tcp --dport 443 -j ACCEPT
# iptables -I INPUT 5 -p tcp -m tcp --dport 80 -j ACCEPT   
      (jeżeli nie otworzono go wcześniej)

Krok 2 - Zapisanie ustawień iptables

# service iptables save
iptables: Saving firewall rules to /etc/sysconfig/iptables:[ OK ]
[root@RHEL01 ~]# service iptables restart
iptables: Flushing firewall rules:                         [ OK ]
iptables: Setting chains to policy ACCEPT: filter          [ OK ]
iptables: Unloading modules:                               [ OK ]
iptables: Applying firewall rules:                         [ OK ]

Krok 3 - Restart usługi iptables 

# service iptables restart
iptables: Flushing firewall rules:                         [ OK ]
iptables: Setting chains to policy ACCEPT: filter          [ OK ]
iptables: Unloading modules:                               [ OK ]
iptables: Applying firewall rules:                         [ OK ]


APLIKACJA CGI 


W tym miejscu w kilku krokach pokażę jak uruchomić aplikację CGI w serwerze apache. 

Krok 1 - Utworzenie katalogu dla aplikacji 

# mkdir /var/www/web-app

Krok 2 - W utworzonym katalogu umieszczamy plik z przykładową aplikacją 

# cd /var/www/webapp 

# vim app.sh 

app.sh 

            #!/usr/bin/perl

            print "Content-type: text/html\n\n";

            print "Hello, world!\n";

Krok 3 - W pliku konfiguracyjnym /etc/httpd/conf/httpd.conf dodajemy wpis : 

ScriptAlias /webapp "/var/www/webapp"
<Directory "/var/www/webapp/">

        Options ExecCGI FollowSymLinks
        Order allow,deny
        Allow from all

</Directory>

Krok 4 - Sprawdzamy czy składnia pliku jest poprawna 

# service httpd configtest
Syntax OK

Krok 5 - Ustawiamy odpowiednie uprawnienia na katalogu 

# chmod -R 755 /var/www/webapp/

Krok 6 - Restartujemy usługę serwera WWW 

# service httpd restart 


HOSTY WIRTUALNE 

Dużą zaletą serwera WWW Apache jest możliwość uruchamiania wielu stron na jednym serwerze www. Robi się to poprzez skonfigurowanie wirtualnych hostów. Konfiguracja znajduje się w głównym pliku konfiguracyjnym apache httpd.conf w trzeciej sekcji : 

NameVirtualHost - Określa nazwę lub adres IP dla wirtualnego hosta 

ServerAdmin - Określa adres email dla webmastera 

DocumentRoot - określa katalog dla plików wirtualnego hosta 

ServerName - Definiuje URL dla wirtualnego hosta 

ErrorLog - określa lokalizacje pliku error logu 

CustomLog - określa lokalizacje custom logu 

By uruchomić wirtualny host w serwerze Apache należy w pliku konfiguracyjnym httpd.conf w ostatniej części dodać wpis :

Usuwamy komentarz z linii : NameVirtualHost *:80


<VirtualHost *:80>

</VirtualHost>

Tworząc pusty wirtualny host zapobiegamy nadpisaniu ustawień dla lokalnego serwera www dzięki czemu po podaniu adresu strony prowadzącego do plików znajdujących się w domyślnej lokalizacji /var/www/html strony będą działać poprawnie. Następnie konfigurujemy wirtualnego hosta.

<VirtualHost *:80>

    ServerAdmin webmaster@station1.example.com
    DocumentRoot /StronyWWW/
    ServerName stronywww.example.com
    ErrorLog logs/stronywww.example.com-error_log
    CustomLog logs/stronywww.example.com-access_log common

        <Directory "/StronyWWW" >

                AllowOverride None
                Order Allow,Deny
                Allow from 192.168.0

        </Directory>

</VirtualHost>

Należy zwrócić uwagę na linie :

ServerName - adres strony pod jaką widoczne będą pliki

<Directory "/lokalizacja plików" > - ścieżka do plików www dla danego wirtualnego hosta

Allow from - określenie kto ma uprawnienia do oglądania stron. 


Należy pamiętać również aby utworzony katalog w tym przypadku /Stronywww posiadał odpowiedni kontekst SELinux.

 system_u:object_r:httpd_sys_content_t:s0 StronyWWW

O odpowiedni kontekst możemy zadbać odwołując się referencyjnie poleceniem chcon :

chcon --reference /var/www/html/ /StronyWWW/

Powyższa konfiguracja umożliwia oglądanie stron z katalogu domyślnego oraz z katalogu /Stronywww pod adresem http://stronywww.example.com (pamiętajmy by dodać odpowiednie wpisy do plików /etc/hosts na maszynach z których będziemy testować działanie). 

Zabezpieczenie dostępu do wirtualnego hosta wykonujemy tak samo jak w domyślnym serwerze czyli ustawiając odpowiednie parametry w dyrektywie <Directory>. 

AllowOverride authconfig

oraz tworząc plik .htaccess w którym dodajemy przykładowy wpisy: 

AuthType Basic
AuthName "Nie masz dostepu do tego pliku bez logowania"
AuthUserFile /Stronywww/.userfile
Require user user01


Utworzenie pliku .userfile 


# htpasswd -cm /Stronywww/.userfile user01
New password:
Re-type new password:
Adding password for user user01

Aplikacje CGI w hostach wirtualnych

Krok 1 - Tworzymy katalog dla własnej aplikacji 

# mkdir /var/www/moje-cgi 

Krok 2 - Ustawiamy właściwy kontekst 

# chcon --reference /var/www/cgi-bin /var/www/moje-cgi

Krok 3 - Tworzymy aplikację i umieszczamy ją w katalogu /var/www/moje-cgi

# vim /var/www/moje-cgi/app.pl 

w pliku app.pl wpisujemy :


#!/usr/bin/perl

print "Content-type: text/html\n\n";

print "Hello, world!\n";

Krok 4 - Nadajemy aplikacji uprawnienia do uruchamiania 

# chmod +x /var/www/moje-cgi/app.pl

Krok 5 - W pliku /etc/httpd/conf/httpd.conf tworzymy wirtualny host dodając wpis : 

<VirtualHost *:80>
    ServerAdmin webmaster@aplikacja.example.com
    DocumentRoot /var/www/moje-cgi
    ServerName aplikacja.example.com
    ErrorLog logs/aplikacja.example.com-error_log
    CustomLog logs/aplikacja.example.com-access_log common

        ScriptAlias /cgi-bin/ /var/www/moje-cgi/

        <Directory "/var/www/moje-cgi/">

                Options +ExecCGI
                AddHandler cgi-script cgi pl

        </Directory>
</VirtualHost>

Szczególną uwagę należy zwrócić na wpisy zawarte pomiędzy znacznikami <Directory></Directory>. Ważne jest by pamiętać o myślniku jaki pojawia się w linii AddHandler cgi-script cgi pl. Bez myślnika podczas restartu usługi http nie zobaczymy żadnego błędu ani informacji o złej składni. Inaczej rzecz się ma jeżeli zabraknie końcowych cgi pl i w takim przypadku zobaczymy błąd.   

Po zapisaniu pliku httpd.conf i restarcie usługi httpd można zobaczyć wynik działania : 

# elinks http://aplikacja.example.com/app.pl

Pamiętając by dodać odpowiedni wpis w pliku /etc/hosts 

192.168.56.101 host1.example.com  strona1.example.com strona2.example.com aplikacja.example.com


Facebook X E-mail

Komentarze (1)

  1. Natalia Zimniewicz 8 listopada 2020 23:23
    Jestem pod wrażeniem. Bardzo fajny wpis.
Dodaj komentarz

Eksploruj

Etykiety

dodatki 15 Android 14 Porady 14 RHCE 14 Technologia 14 aplikacje mobilne 14 dokument 14 instrukcje 14 przeglądarki 14 rozrywka 14 Centos 13 LLM 13 News 13 bash 13 gry 13 książki 13 optymalizacja 13 telefony komórkowe 13 wydajność 13 Anthropic 12 Automatyzacja 12 Microsoft 12 Przeglądarka internetowa 12 kino 12 odpoczynek 12 Opera 10 aktualności 10 motywacja 10 muzyka 10 nowe rzeczy 10 technologia 10 ulepszenia 10 ustawienia 10 zdrowie 10 Egzamin 9 OpenAI 9 ataki hakerskie 9 etyka AI 9 nowe technologie 9 pomoc 9 relax 9 społeczności 9 tuning 9 youtube 9 Bóg 8 Firefox 8 Software 8 Wyszukiwanie 8 bin/bash 8 fotografia 8 narzędzia 8 skrypty 8 system operacyjny 8 świadomość 8 Fedora 7 Inteligencja 7 Java 7 Praca 7 Programowanie 7 Prywatność 7 absurdy 7 algorytmy 7 cloud 7 hacking 7 medytacja 7 o wszystkim i o niczym 7 opensource 7 poprawka 7 prawo 7 religia 7 sukces 7 telewizja 7 ChatGPT 6 Claude 6 Claude AI 6 Docker 6 Polska 6 administracja systemem Windows 6 bezpieczeństwo IT 6 coaching 6 hacker 6 komputery 6 komunikator 6 manipulacja umysłem 6 mózg 6 open-source 6 plugin 6 podświadomość 6 przechowywanie plików 6 przemyślenia 6 przyszłość technologii 6 reklamy 6 rewelacja 6 serwery aplikacyjne 6 telekomunikacja 6 terminal 6 ubuntu 6 wiara 6 zagrożenia 6 Anonymous 5 BIG DATA 5 Cyberbezpieczeństwo 5 Ehcache 5 LVM 5 RH442 5 Red Hat 5 Windows 10 5 agenci AI 5 chmura 5 ciekawe strony 5 cyberbezpieczeństwo 5 człowiek 5 dobry film 5 excel 5 informatyka 5 komunikacja 5 kursy 5 ludzie 5 mobile 5 modele językowe 5 nieśmiertelność 5 poczta 5 private cloud 5 rzeczywistość rozszerzona 5 sieć www 5 spokój 5 strony www 5 terracotta 5 uczenie maszynowe 5 wirtualizacja 5 wolne oprogramowanie 5 wygląd 5 złota myśl 5 świat 5 AGI 4 AI 2026 4 Bazy danych 4 Biznes 4 DevOps 4 Edukacja 4 HD 4 IT 4 Open Source 4 Performance 4 Produktywność 4 RHS333 4 Ubuntu 4 Vivaldi 4 Zagadki 4 awaria 4 bezpieczeństwo AI 4 blogger 4 czytanie 4 dysk internetowy 4 energia 4 gmail 4 hack 4 humor 4 kontenery 4 kropla motywacji 4 mindfulness 4 monitorowanie 4 mądrości 4 n8n 4 open source 4 orange 4 php 4 pieniądze 4 programowanie umysłu 4 przyszłość pracy 4 psychologia 4 recenzja 4 rejestr systemowy 4 rynek pracy 4 sentencję 4 skróty klawiaturowe 4 sport 4 strefa filmu 4 szczęście 4 użytkownicy 4 virtualbox 4 wywieranie wpływu 4 zjawiska paranormalne 4 Łódź 4 Administracja 3 Administracja Serwerami 3 Bash 3 Bez komentarza 3 Bezpieczeństwo AI 3 Cinnamon 3 Couching 3 DNS 3 FIFA 3 Finanse Osobiste 3 Gemini 3 Google Street View 3 Homelab 3 Kubernetes 3 LangChain 3 Lokalne AI 3 MySQL 3 Przyszłość 3 Python 3 Security Network Services 3 Tools 3 U2 3 administracja systemami 3 asystent AI 3 automatyzacja windows 3 bezpieczeństwo 3 bezpieczeństwo danych 3 cache 3 czyszczenie systemu 3 dane 3 darmowa aplikacja 3 darmowa wiedza z internetu 3 emocje 3 ftp 3 haker 3 inteligencja komputerów 3 interfejs 3 inwestycje 3 jądro systemu 3 kompetencje osobiste 3 konferencje 3 kreatywność 3 lepsze życie 3 lokalne AI 3 macOS 3 media 3 mentalista 3 myśli 3 neuroplastyczność 3 niebo 3 nowe życie 3 podcast 3 powłoka 3 projekty Google 3 promocja 3 prywatność 3 przekonania 3 przyroda 3 radio 3 robot 3 security 3 system plików 3 systemy operacyjne 3 tablet 3 telewizja N 3 testowanie 3 trick 3 uzależnienie 3 uzależnienie od technologii 3 video 3 wieczne życie 3 zdjęcia 3 zdrowie psychiczne 3 środowisko graficzne 3 64 bit 2 AI Act 2 AI w nauce 2 AI w pracy 2 AI w szkole 2 AI w terminalu 2 API 2 Agenci AI 2 Agentic AI 2 Angielski 2 Apache 2 Apple Silicon 2 Asus 2 AutoGen 2 Big Memmory 2 Bono 2 Certyfikat 2 Chmura 2 Claude 3.5 Sonnet 2 Codex 2 Cyfryzacja 2 Darmowy Red Hat 2 Debian 2 Debugowanie 2 Deepseek 2 Docker Machine 2 Drony 2 Dyscyplina 2 Dystrybucje 2 E-Commerce 2 Email 2 Error 2 Fable 2 Filozofia 2 GPT-4 2 GSM 2 Graham 2 HTML 2 Hardware 2 ISO 2 Innowacje 2 Intel 2 Jacek Walkiewicz 2 Japonia 2 JavaScript 2 Jboss 2 Jesteś cudem 2 Kariera 2 Kerberos 2 Kernel 2 LifeHack 2 MLX 2 Machine Learning 2 Masterton 2 Medycyna 2 Mindfulness 2 Model Context Protocol 2 Mundial 2026 2 Mythos 2 NATO 2 NIS 2 Navy SEALs 2 New 2 Optymizm 2 OsCommerce 2 Photoshop 2 Poradnik 2 Przyszłość Pracy 2 Puppeteer 2 Pytania o Linux 2 RAID 2 RHEL7 2 RSS 2 RedHat 8 2 Rocky Linux 2 Rozwój Osobisty 2 Rust 2 Rynek Pracy 2 Sakana AI 2 Self-hosting 2 Serwery 2 Skydive 2 TED 2 Theme 2 Trendy 2 USB 2 Ubuntu Server 2 Unia Europejska 2 Wojna 2 Wydajność 2 abonament 2 akcja 2 aktualizacja 2 ansible 2 archiwum X 2 arkusz kalkulacyjny 2 astronomia 2 ataki na strony rządowe 2 awk 2 batch 2 benchmarki AI 2 blokowanie 2 bogactwo 2 bussiness intelligence 2 błędy windows 2 cenzura 2 chat 2 chata 2 cmd 2 curl 2 darmowe 2 darmowe kursy 2 darmowe szkolenia 2 demokracja 2 dzieci 2 edytory grafiki 2 fdisk 2 generowanie treści 2 geniusz 2 gnome 2 grafika 2 hasła 2 help 2 higiena cyfrowa 2 historia poleceń 2 horror 2 httpd 2 informacje techniczne 2 infrastruktura 2 instagram 2 interfejsy mózg-komputer 2 iostat 2 iptables 2 jądro Linux 2 jądro linux 2 języki 2 kernel 2 komentarz dnia 2 korpo-świat 2 kursy online 2 kwiaty 2 leczenie 2 lepsza jakość 2 linux 2 logi 2 ludzkość 2 magia 2 marketing 2 marzenia 2 material design 2 medycyna 2 montowanie 2 montowanie obrazu 2 multimedia 2 multimodalność 2 narzędzia developerskie 2 nastroje 2 neurobiologia 2 nju mobile 2 o tym blogu 2 obliczenia matematyczne 2 odkrycia 2 odprężenie 2 office 2 ogród botaniczny 2 optymalizacja AI 2 pakiet biurowy 2 pamięć 2 pamięć podręczna 2 partycje 2 path 2 phishing 2 piękno 2 pliki bat 2 pogoda 2 procesy 2 produkty edukacyjne 2 prompt 2 przebodźcowanie 2 przyspieszanie systemu 2 przyszłość AI 2 przyszłość człowieka 2 przyszłość nauczania 2 recenzje 2 regulacje 2 regulacje AI 2 reklamacje 2 robotyka 2 rodzicielstwo 2 rook 2 rozmiar plików 2 samochody autonomiczne 2 samorozwój 2 sar 2 screen 2 sen 2 serwer 2 shell 2 smartphone 2 socjotechnika 2 społeczeństwo 2 sprzedaż internetowa 2 statystyka 2 strategia 2 szablon 2 szybkość strony 2 szyfrowanie 2 tapety 2 tcp wrappers 2 torrent 2 twek's 2 ufo 2 update 2 vmstat 2 wallpapers 2 webmaster 2 wiadomości 2 wirtualny spacer 2 wojownik 2 word 2 własna firma 2 yum 2 zarabiane 2 zarabianie 2 zarządzanie czasem 2 zeitgeist 2 zmiany 2 śmierć 2 śmieszne 2 życie po życiu 2 żywność 2 ( red ) 1 100000 odwiedzin 1 2045 1 2048 1 23 września 2017 1 2fa 1 5 GHz 1 6 GHz 1 7 1 AF_ALG 1 AGAT 1 AI Governance 1 AI dla programistów 1 AI na urządzeniach mobilnych 1 AI w 2026 1 AI w Linuxie 1 AI w biznesie 1 AI w czasie rzeczywistym 1 AI w edukacji 1 AI w firmie 1 AI w medycynie 1 AI w programowaniu 1 AI w przemyśle 1 AI w sporcie 1 AI w sztuce 1 AI zagrożenia 1 AIMP 1 AMD ROCm 1 AMLD6 1 AWS 1 Administracja systemami 1 Agentjacking 1 Agenty AI 1 AirPods 1 Alan Watts 1 Alfred 1 AlmaLinux 1 Alpine Linux 1 Amazon Kuiper 1 Andrej Karpathy 1 Apple 1 Aria AI 1 Atak na Polskę 1 Atuin 1 Audacity 4 1 Audyt Bezpieczeństwa 1 AutoGPT 1 AutoJack 1 Automatyzacja procesów 1 Avatar 1 Azure 1 BCI 1 Backstage 1 Bankowość 1 Bazel 1 BeAPro 1 Bezpieczeństwo narodowe 1 BezpieczeństwoDzieciOnline 1 BezpiecznyInternet 1 Biblia 1 Big Data 1 Big Tech 1 BigDump 1 Biotechnologia 1 Biznes i Finanse 1 Black Mirror 1 Blackwell B100 1 Blockchain 1 Bluetooth 1 Bonding 1 BudsLink 1 C++ 1 CCPA 1 CPU 1 CSS3 1 CUA 1 CUDA 1 CVE-2026 1 Cenzura AI 1 Chat GTP 1 ChatGPT Work 1 Chemtrails 1 Claude 4 1 Claude Cowork 1 Claude Fable 1 Claude Sonnet 5 1 Computer-Using Agent 1 Constitutional AI 1 Copilot 1 Copilot for Finance 1 CrewAI 1 Cyberprzemoc 1 Cytaty 1 DAB 1 DAB+ 1 DFS 1 DMA 1 DORA 1 DSA 1 Damo Academy 1 Dane testowe 1 Darwin 1 Data Science 1 Deep Learning 1 Deep Reading 1 DeepSeek 1 Deluge 1 Developer 1 Devin AI 1 Diagnostyka 1 Didaskalia 1 Dolina Krzemowa 1 Dostatek 1 Drivers 1 Dziennikarstwo 1 DzieńBezpiecznegoInternetu 1 Dźwiek 1 E2EE 1 EA GAMES 1 EA SPORTS 1 EEVEE 1 Earth AI 1 Edge 1 EdukacjaInternetowa 1 Efekt Flynna 1 Ekonomia 1 Emai 1 Emigracja. Londyńczycy 1 Enterprise Linux 1 Excel 1 FIFA 16 1 Facebook 1 Fact-checking 1 Fake News 1 Festiwal Sektor 3.0 1 Flannel 1 Flickr 1 Flump 1 Formoza 1 Framework 1 Frameworki AI 1 Free 1 Fugu Ultra 1 Fundacja 1 Fundusze Europejskie 1 GDPR 1 GLM 5.2 vs Opus 4.8 1 GLM-5.2 1 GMO 1 GPG Tools 1 GPT 1 GPT-4.5 1 GPT-4o 1 GPT-5 1 GPT-Live 1 GPTZero 1 GPU Cloud 1 GROM 1 GRUB 1 GUI 1 Galaxy Buds 1 Gemini 2.5 Ultra 1 Gemma 4 1 Generacja Z 1 Generator 1 GhostLock 1 Gimp 1 GitHub 1 GitOps 1 Gnome-user-share 1 Golden Gate 1 Google Assistant 1 Google DeepMind 1 Google Gemini 1 Google Gemma 4 12B 1 Google Research 1 Google Trend 1 GoogleFamilyLink 1 Goose 1 Goździki 1 Gpad 1 Gregory Kurtzer 1 Grok Build Workflows 1 HPVS 1 Health Intelligence 1 Historia 1 Historia AI 1 Hobby 1 Hygge 1 IAM 1 IBM 1 IDE 1 IE 1 IQ 1 ISIS 1 Inbox 1 Inteligentna poczta email 1 Interview 1 Inżynieria Oprogramowania 1 Inżynieria oprogramowania 1 Ivy League 1 Jacquard 1 Jellyfin 1 JetBrains Marketplace 1 Jetson Thor cena 1 Jezus 1 Joel Pearson 1 Kali Linux 1 Karen Hao 1 Khan academy 1 Kimi K3 1 Kodi 1 Kompetencje XXI wieku 1 Koniec Świata 1 Krate 1 Kryptowaluty 1 Kylian Mbappé 1 LG 1 LTE 1 Liam Neeson 1 LibreOffice 1 Linus Torvalds 1 Linux 7.3 1 Linux dla firm 1 Linux dla programistów 1 Llama 4 1 Logi 1 MAS 1 MCP 1 MFA 1 Mam Talent 1 Maps 1 MarGib_Film 1 Marek Jankowski 1 Mars helikopter 1 Matematyka 1 Matt Pocock 1 Matt Wu 1 MentalnośćZwycięzcy 1 Microsoft 365 1 Middleware 1 Militaria 1 Mission Center 1 Mistral 1 Mistral AI 1 Mistrzostwa Świata 1 Miłosz Brzeziński 1 Monitoring 1 Moonshot AI 1 MrBallen 1 Multi-Agent Systems 1 MyślenieDługofalowe 1 MŚP 1 NFS 1 NIS2 1 NTFS 1 NVIDIA 1 NVIDIA Blackwell 1 NVIDIA Jetson Thor 1 Na skraju jutra 1 Nauka 1 NavySEALs 1 Nawyki 1 Netflix 1 Neuropsychologia 1 Nginx 1 Node.js 1 Non Stop 1 Non-profit 1 Notion 1 Nvidia 1 ONZ 1 Obsidian 1 Odpowiedzialność 1 Odysseus 1 Ollama 1 OneTrust 1 Open source day 1 OpenCode 1 OpenSSL 1 Opera Air 1 Opera Neon 1 Opera Touch 1 P2P 1 PARP 1 PRoduktywność 1 Patrycjusz Wyżga 1 Pekao S.A 1 Peperclips 1 Perceptron 1 Piotrkowska 1 Piłka nożna 1 Playwright 1 Plex 1 Polacy 1 Polska 2026 1 Polska gospodarka 1 Poradniki 1 PostgreSQL 1 PowerShell 1 Praca Jutra 1 PracaZespołowa 1 Preview 1 Productivity 1 Profesjonalizm 1 Project Maven 1 Project TANGO 1 Projekty Solo 1 Proton Drive 1 Proxmox 1 Przedsiębiorczość 1 Przejęcie 1 Przyszłość Finansów 1 Psychologia poznawcza 1 Putin 1 Putty 1 PyTorch 1 Qt Creator 1 Quick Actions 1 Quota 1 RDP 1 RH401 1 RHEL 1 RHEL8 1 RHSCA 1 RODO 1 RPM 1 Raspberry PI 1 Raspberry Pi 1 Raycast 1 Red Hat Enterprise Linux Developer Suite 1 Red Hat Network Staelite 1 RedHat Cluster Suite 1 Regex 1 Regina Brett 1 Regulacje prawne 1 Robo-doradcy 1 Rosja 1 Routing 1 Rozwój Zawodowy 1 RozwójOsobisty 1 Rynek pracy 1 SUSE 1 Sakana Fugu 1 Samodoskonalenie 1 Satelite 1 Selenium 1 Sieci Neuronowe 1 Signal 1 SiłaWoli 1 Smart City 1 Snip. 1 Social Media 1 Soli 1 Solopreneurship 1 Sovereign AI 1 Sport 1 Spotify 1 Squish 1 Stacher.IO 1 Starlink 1 Steam Deck 1 Sterowniki 1 Super Memo 1 SysAdmin 1 Systemy operacyjne 1 TCP vs UDP 1 TED Talks 1 TV 1 TVN 1 Tech 1 Technologia i społeczeństwo 1 Telco 2.0 1 Telegram 1 TensorFlow 1 Test-Time Prompt Learning 1 Testy IQ 1 Todd Burpo 1 Tokenomics 1 Tom Cruise 1 Transcendencja 1 Transformacja cyfrowa 1 Tribler 1 Tu i teraz 1 Turing 1 Turnitin 1 Tutorial 1 Tydzień w technologiach 1 USA 1 UV 1 Ubuntu 24.04 LTS 1 Ubuntu 26.04 1 Uczenie Maszynowe 1 Uczenie maszynowe 1 Uruchamianie LLM 1 VR/AR 1 VentuSky 1 Vinci AI 1 VirtualBox 1 Viwaldi 1 Voodoo 1 WBC 1 WSL 3 1 WWDC 2026 1 WWDC26 1 Wallf 1 Warszawa 1 Weave 1 Web Scraping 1 WhatsApp 1 Wi-Fi 6 1 Wi-Fi 6E 1 William Paul Young 1 Wirtualizacja 1 Workflow 1 Workflows 1 World Cup AI 1 Wymagania Sprzętowe 1 Władysławowo 1 Xperia 1 YouTube 1 Yuval Noah Harari 1 Z1 1 ZUS 1 Zarządzanie Czasem 1 Zero-Touch OAuth 1 Zorin OS 1 adaptacja hedonistyczna 1 administracja systemowa 1 administrator 1 agenty AI 1 aids 1 aktualizacje 1 aktualizacje firmware 1 aktywność w Google 1 alarm 1 ampere altra 1 analiza 1 animacje 1 anthony de mello 1 antyplagiat 1 apple 2025 1 apple design 1 arm64 1 asertywność 1 at jednorazowe zadania 1 at vs cron 1 atak DDoS 1 atak na agenty AI 1 atak na narzędzia AI 1 atak na systemy automatyzacji 1 atak nuklearny 1 audio 1 audyt konfiguracji 1 autentyczność w sztuce 1 autofs 1 automateit 1 automatyzacja IT 1 automatyzacja Linux 1 automatyzacja compliance 1 automatyzacja kodowania 1 automatyzacja pracy 1 automatyzacja przeglądarki 1 autonomia SI 1 autonomiczne agenty 1 autonomiczne pojazdy 1 autonomiczne systemy badawcze 1 autoryzacja 1 awatar 1 aws graviton 1 backup 1 badania naukowe 1 bank 1 bash w windows 1 bateria 1 baza danych 1 benchmarki LLM 2026 1 beta 1 bezpieczeństwo IDE 1 bezpieczeństwo haseł 1 bezpieczeństwo jądra 1 bezpieczeństwo konta 1 bezpieczeństwo linux 1 bezpieczeństwo sieci 1 bezpieczeństwo wiadomości 1 big data 1 bioróżnorodność 1 biznes 1 blokowanie reklam 1 blue ray 1 bluetooth 1 boks 1 boot 1 bootowalny pendrive 1 browser-use 1 budowa 1 bufor 1 błędy systemowe 1 c# 1 calc 1 chatboty AI 1 chemia 1 chmura hybrydowa 1 chodzenie 1 coldplay 1 colton 1 command line 1 compliance 1 conntrack 1 core dump 1 cron 1 cron jednorazowy 1 cross-platform 1 cyberataki 1 cyberbezpieczeństwo AI 1 cybersecurity 1 cyberzagrożenia AI 1 cyfrowa odzież 1 cyfrowy detoks 1 cyfryzacja 1 cynicy 1 czarne lusterko 1 czary 1 czat AI 1 czujnik sub-milimetrowy 1 dane osobowe 1 dane satelitarne 1 data i czas 1 datasette 1 debugowanie AI 1 defragmentacja 1 dekoder 1 demona atd 1 design systems 1 detektory AI 1 detoks cyfrowy 1 deweloperzy 1 diagnostyka Linux 1 diagnostyka systemów 1 dieta dla mózgu 1 digsby 1 disqus 1 dobrostan psychiczny 1 dokumentacja techniczna 1 dorastanie 1 dropbox 1 druk 3D 1 du 1 dubaj 1 dvd 1 dwujęzyczność 1 dzieci dwujęzyczne 1 dziennikarstwo śledcze 1 e-book 1 eBPF 1 ebook 1 edge computing 1 edukacja IT 1 edukacja cyfrowa 1 edukacja dwujęzyczna 1 edycja dźwięku 1 edycja tekstów 1 edytor PDF 1 edytor kodu 1 efektywność energetyczna 1 egzaminy stacjonarne 1 ekologia 1 ekonomia 1 ekran 1 end of world 1 energetyka wiatrowa 1 epikureizm 1 eskalacja uprawnień 1 etyka SI 1 etyka cyfrowa 1 etyka działań militarnych 1 etyka technologii 1 europejska technologia 1 ewakuacja 1 ewolucja 1 examples-based 1 extreme 1 feed-forward 3D 1 filozofia 1 find 1 firewall 1 flash 1 flash drive 1 formuły excel 1 fotografia analogowa 1 fotografia mobilna 1 fun 1 galeria 1 garbage collector 1 generowanie aplikacji 1 generowanie kodu AI 1 generowanie obrazów 1 geoinżynieria 1 google chat 1 google glass 1 gotowość 1 gra 1 groza 1 gwiazdy 1 głęboka stymulacja mózgu 1 hacked 1 hard-link 1 haszowanie 1 hasło 1 hd voice 1 helion 1 historia 1 historia IT 1 history 1 hivemind 1 homelab 1 hosting domowy 1 hostname 1 hostnamectl 1 hosts.allow 1 hosts.deny 1 human interface guidelines 1 humanizacja tekstu 1 humanoid 1 hurtownie danych 1 iOS 1 iSCSI 1 iftop 1 ile ludzi żyje na świecie 1 iluzja 1 imax 1 importowanie danych 1 inferencja modeli językowych 1 innowacje 1 innowacje technologiczne 1 instalacja Stacher.IO 1 integracja AI 1 integracje 1 integracje korporacyjne 1 inteligentne ubrania 1 interakcja z AI 1 interakcja z komputerem 1 interfejs użytkownika 1 internet satelitarny 1 interpretowalność modeli 1 inwestowanie 1 inwigilacja 1 inżynieria oprogramowania 1 ios 18 1 iphone 18 pro 1 isoscope 1 jailbreaking 1 javascript 1 jubileusz 1 kalendarz 1 kalkulator 1 kanały Wi-Fi 1 kapitan ameryka 1 karty 1 karty sieciowe 1 keep 1 kernel 7.2 1 kindle 1 klastry 1 klawiatura 1 klonowanie maszyny 1 kobiety i mężczyźni 1 kodyrabatowe.pl 1 komentarze 1 kompetencje cyfrowe 1 kompetencje przyszłości 1 koncentracja 1 konkurs 1 konsola 1 kontenery Docker 1 kontrola dostępu 1 kontrowersyjny 1 konwenter 1 konwersja PDF 1 konwersja dokumentów 1 konwersja wideo 1 kopia zapasowa 1 korporacje 1 korzyści poznawcze 1 koszty IT 1 kościół 1 kradzież kluczy API AI 1 kryptografia 1 krytyczne myślenie 1 krytyka influencerów 1 kryzys 1 kuba wojewódzki 1 kursy za free 1 latanie 1 lektura 1 lenovo 1 limity 1 lingbot-map 1 link symboliczny 1 linux 7.2 1 livepatch 1 lobbing 1 logical volume manager 1 logowanie 1 lokalizajca znajomych 1 lokalne LLM 1 loop-audit 1 loop-cost 1 loop-init 1 luki w E2EE 1 macOS Sequoia 1 machine learning 1 make life harder 1 manipulacja cyfrowa 1 manipulacja informacją 1 mapy 1 markdown 1 markitdown 1 maszyny 1 mała wielka firma 1 menadżer 1 menedżer pakietów 1 messenger 1 meteorologia 1 microsoft 1 mikrotargeting 1 milioner 1 moby 1 modele 120B 1 modele LLM 1 monitoring sieci 1 monitorowanie energii 1 monorepo 1 morze 1 mowa ciała 1 mp3 player 1 mpstat 1 multi-agent systems 1 mundial 2026 1 myślenie krytyczne 1 n8n bezpieczeństwo 1 na wesoło 1 nadprzewodniki 1 nagrywanie pulpitu 1 największe pliki 1 największy 1 największy katalog 1 narzędzia AI 1 narzędzia cli 1 narzędzia deweloperskie 1 narzędzia dla deweloperów 1 narzędzia do compliance 1 narzędzia multimedialne 1 narzędzia produktywności 1 narzędzia systemowe 1 narzędzia systemowe Linux 1 natura 1 nawyki cyfrowe 1 nazwa hosta 1 neostrada 1 net use 1 netbook 1 netflix 1 nethogs 1 network 1 neuroenhancement 1 neurotechnologia 1 neurotechnologie 1 nftables 1 nieograniczone miejsce 1 nowoczesne technologie 1 nowości technologiczne 1 nowy odtwarzacz 1 nowy porządek świata 1 ntfs 1 obrona cywilna 1 obrona narodowa 1 ochrona kluczy API 1 ochrona przyrody 1 odnawialne źródła energii 1 odtwarzacz muzyczny 1 odwaga 1 odzyskanie hasła 1 oferta 1 onboarding 1 onestep4red 1 onet 1 online 1 openai 1 oprogramowanie 1 optymalizacja kosztów 1 optymalizacja systemu 1 optymalizacja turbin wiatrowych 1 origin 1 osiąganie celów 1 oszustwa AI 1 oszustwa akademickie 1 pac man 1 paradoks spełnionego marzenia 1 parted 1 państwo islamskie 1 pdf 1 pendrive 1 perseidy 1 ping 1 piramidy 1 piłka nożna 1 plague 1 planowanie zadań Linux 1 player 1 plus 1 pobieranie plików 1 podpisywanie dokumentów 1 podróże w czasie 1 podstawy informatyki 1 pokaz 1 policja 1 polityka 1 polityka haseł 1 polska technologia 1 polskie uczelnie 1 pomoc w nauce 1 poradnik 1 porównanie narzędzi AI 1 power point 1 pozytywna energia 1 praca zdalna 1 prefix caching 1 premiera iphone 1 prezentacje 1 procesory 2nm 1 produktywność 1 prognozowanie 1 prognozowanie pogody 1 programowanie wsadowe 1 projektowanie interfejsów 1 projektowanie miast 1 prompt engineering 1 prototypowanie aplikacji 1 prywatność online 1 przechwytywanie ekranu 1 przedsiębiorczość 1 przemoc w wojsku 1 przemysł odzieżowy 1 przepowiednie 1 przepływy pracy AI 1 przesyłanie plików 1 przesądy 1 przesłanie 1 przyszłość architektury 1 przyszłość edukacji 1 przyszłość energetyki 1 przyszłość internetu 1 przyszłość medycyny 1 przyszłość mózgu 1 przyszłość transportu 1 przyszłość zawodów 1 ps 1 psychologia dzieci 1 psychologia dziecka 1 pulpit 1 pustynnienie 1 pytania 1 python 1 płaska ziemia 1 qigong 1 radar 1 radość 1 raspberry pi 5 1 raspbian 1 red 1 refaktoryzacja kodu 1 regulacje technologiczne 1 rekonstrukcja scen 3D 1 rekreacja 1 relacje 1 renaturyzacja ekosystemów 1 reportaż 1 retencja wody 1 robotaxi 1 rodzice 1 rodzina 1 root 1 router 1 routing 1 rower 1 rozdzielczość 1 rozmiar katalogu 1 rozmowa kwalifikacyjna 1 rozwój emocjonalny dzieci 1 rozwój mózgu 1 rozwój osobisty 1 rules-based 1 runlevel 1 rynek fotograficzny 2026 1 ryzyko 1 rząd USA 1 samba 1 samoreplikacja 1 samsung 1 samsung galaxy glass 1 scentralizowane platformy 1 schematy 1 science fiction 1 scrabble 1 scraping 1 screencast 1 screenshoot 1 self-hosting 1 sen a nauka 1 sens życia 1 serial 1 serwer2go 1 serwery arm 1 shadow AI 1 show 1 shutdown 1 sieci społecznościowe 1 sieć bezprzewodowa 1 simcity 1 siła woli 1 skalowalność infrastruktury 1 skalowanie AI 1 skille 1 sklepy internetowe 1 smartfony 1 smb 1 soft-link 1 sopa 1 spinacze biurowe 1 spisek 1 sporty ekstremalne 1 sprzedam 1 sqlite 1 ssh 1 sshd 1 stale data 1 stalking 1 standardy 1 startup 1 startupy 1 sterowniki linux 1 stoicyzm 1 streaming 1 streamowanie mediów 1 stres 1 superchipy AI 1 superinteligencja 1 survival 1 susza 1 swiftui 1 syndrom fantomowy 1 syngrapha 1 sysctl 1 syslog 1 systemd 1 systemy agentów 1 systemy eksperckie 1 szkolenie komandosów 1 sztuczka 1 szyfrowanie end-to-end 1 talk show 1 taniej 1 tapety pulpitu 1 tcpdump 1 technologia 2026 1 technologia kosmiczna 1 teologia i nauka 1 teorie 1 teorie spiskowe 1 terapia ACT 1 testowanie UI 1 testy penetracyjne 1 the sims 2 1 timer 1 tradycyjna fotografia 1 transfer plików 1 trening 1 trucizna 1 trwała pamięć 1 tryb jądra 1 tryb nocny 1 tryb użytkownika 1 trzecia wojna światowa 1 turniej gier 1 tłumaczenia językowe 1 tłumaczenie stron 1 uBlock 1 ubuntu 26.10 1 uczenie głębokie 1 uczenie się 1 udev 1 umiejętności przyszłości 1 umieranie 1 unix 1 urządzenia AI 1 uważność 1 uwierzytelnianie dwuetapowe 1 ux/ui 1 uzależniająca gra 1 uzależnienie od AI 1 uśmiech 1 vLLM 1 vim 1 viral 1 visionos 2.0 1 vlc 1 walka 1 walka z aids 1 walking meetings 1 web GL 1 weblogic 1 weksle 1 wellbeing 1 wiedz 1 wifi 1 wildfly 1 windows update 1 wirtualna diagnoza 1 wirtualny lekarz 1 woblink 1 wojna jądrowa 1 wojska specjalne 1 wolna gadka 1 wolumen logiczny 1 workflow 1 wpadka 1 writer 1 wsparcie 1 współpraca z AI 1 wybory 1 wychowanie 1 wycieczki 1 wyciek haseł 1 wydajność komputerów 1 wydajność linux 1 wydarzenia 1 wykład 1 wymiana plików 1 wyprzedaż 1 wyszukanie plików 1 wytrwałość 1 wyzysk 1 wyłączenie systemu 1 wzorce projektowe 1 xAI 1 yoga 1 za darmo 1 zabawa 1 zabezpieczenia 1 zabezpieczenia automatyzacji 1 zakładki 1 zarządzanie 1 zarządzanie IT 1 zarządzanie konfiguracją 1 zarządzanie usługami 1 zarządzanie wiedzą 1 zarządzanie zadaniami Linux 1 zasięg 1 zasoby sieciowe 1 zaufanie 1 zawodowi gracze 1 zdalny pulpit 1 zdolności poznawcze 1 zdrowie mózgu 1 zenfon 1 zestaw przetrwania 1 zjawiska 1 zmiana formatu 1 zmiana hasła 1 zmiana nazwy 1 zmiany klimatu 1 znak zachęty 1 zrzut ekranu 1 zużycie baterii 1 złośliwe oprogramowanie w IDE 1 złośliwe wtyczki JetBrains 1 łączenie PDF 1 łączność globalna 1 Środowisko a zdrowie 1 śledzenie w sieci 1 świat w liczbach 1 światło 1 święta 1 życzenia 1
Spis treści