wtorek, 28 września 2010

Opensolaris audioctl

Opensolaris po każdym reboot i zalogowaniu ustawia domyślne wartości audio przy użyciu audioctl. Dla mnie najszybszym sposobem zachowania ustawień audio jest wykonanie następujących czynności:


Wpierw ustawiamy nasze wartości, można to zrobić za pomocą audioctl w terminalu, ale wygodniej jest poprostu ustawić je suwakami w gnome.

Następnie w konsoli zapisujemy ustawienia do pliku
#audioctl save-controls /nasza_sciezka

Mając zapisane ustawienia edytujemy plik .profile (gdy korzystamy z bash-a) i dopisujemy następujące polecenie

audioctl load-controls /nasza_sciezka

To wszystko :)

poniedziałek, 20 września 2010

lustatus && luactivate

listowanie i aktywowanie BE w solaris 10

czwartek, 16 września 2010

bash prompt && useradd -D -s w sol10

upiększenie bash-a:
#export PS1="[\u@\h \W]\\$ "
aby na stałe zachować zmiany, należy dodać komendę do pliku .bashrc w katalogu głównym użytkownika, albo definujemy zmienną w pliku .profile

istnieje mały problem, jeżeli chodzi o ustawienie domyślnej wartości shell podczas wykonywania useradd -D -s (zwracany jest błąd składni), aby to obejść należy wyedytować plik /usr/sadm/defadduser i tam "z ręki" zmienić shell jaki chcemy by był domyślny (np. /usr/bin/bash)
edit: abyśmy mogli odnaleźć plik defadduser w lokalizacji, którą podałem, musimy wpierw wykonać komendę
#useradd -D

bootowanie openindiana w trybe verbose

Na początek za pomocą svcadm wyłączamy gdm:
#svcadm disable gdm
następnie, edytujemy menu.lst gruba (/rpool/boot/grub/menu.lst)  i komentujemy linię splashimage /boot/solaris.xpm, a następnie modyfikujemy linię:
kernel$ /platform/i86pc/kernel/$ISADIR/unix -B $ZFS-BOOTFS,console=graphics

na

kernel$ /platform/i86pc/kernel/$ISADIR/unix -B $ZFS-BOOTFS -kv -m verbose

Wszystkie polecenia wykonujemy z root-a ;)

wtorek, 14 września 2010

session cache & accept filter error apache

Podczas uruchamiania serwera apache pod freebsd, można spotkać 2 problemy, które wymieniłem w temacie. 'Session cache' rozwiążemy edytując /etc/hosts (dodajemy ip + nazwę hosta serwera), a następnie w httpd.conf w ServerName wstawiamy nazwę hosta + można dodać port na którym serwerek nasłuchuje.

'accept filter error' rozwiążemy dodająć odpowiedni moduł do kernela:
#kldload accf_http
aby moduł ładował się przy starcie systemu, należy w pliku /boot/loader.conf umieścić następujący wpis accf_http_load="yes".

poniedziałek, 13 września 2010

httpd.conf

Krótki opis opcji httpd.conf

ServerRoot "/usr/local" #Górna granica drzewa katalogów, gdzie znajdują się pliki konifguracyjne, błędów oraz logi.

Listen 80 #Opcja ta daje nam możliwość przypisania serwera apache do konkretnego portu czy też adresu IP.

LoadModule authn_file_module libexec/apache22/mod_authn_file.so (..)#Wsparcie modułów DSO (Dynamic Shared Object). Składnia: LoadModule nazwa_modułu ścieżka_do_modułu. Moduły pozwalają nam na rozszerzenie funkcjonalności serwera, możemy je statycznie wkompilowac w httpd lub skompilowac jako DSO, dzięki czemu będą one oddzielone od httpd. Moduły DSO możemy skompilować podczas budowy serwera lub w późniejszym czasie z wykorzystaniem apxs (apache extension tool). Aby móc w ogóle skorzystać z DSO, nalezy podczas kompilacji serwera dodać obsługę mod.so (--enable-module=shared). Jeżeli dodamy moduł w httpd.conf, musimy zrestartować serwer by dany moduł został uruchomiony.

User www
Group www #Zmiana użytkownika i grupy dla demona httpd.

ServerAdmin mail@domena.com #Mail administratora serwera.

ServerName www.example.com:80 #Nazwa oraz port serwera w celu własnej identyfikacji, w przypadku braku zarejestrowanej nazwy hostu w DNS, wstawiamy adres IP

DocumentRoot "/usr/local/www/apache22/data" #Katalog z którego będziemy udostępniać dokumenty.

#Konfiguracja praw dostępu dla katalogów w których apache udostępnia poszczególne usługi. Przykład z httpd.conf polityki domyślnego blokowania:

<Directory />
  AllowOverride None
  Order deny, allow
  Deny from all
</Directory>

#Przykładowa kontrola udostępniania /usr/local/www/apache22/data
<Directory "/usr/local/www/apache22/data">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
#Options odpowiada za to jakie cechy będą dostępne dla wybranego katalogu. Możemy wybrać następujące opcje: None (brak cech), All, ExecCGI (zezwalamy wykonywania skryptów CGI), FollowSymLinks (Serwer będzie podążać za symbolicznymi linkami w katalogu), Includes ('inkludownie' po stronie serwera jest dozwolone), IncludesNOEXEC (jak wcześniej tylko, że ze zezwalamy na użycie #exec cmd / #exec cgi), Indexes (jeżeli nastąpiło żadanie URLa, który mapuje do katalogu, a nie mamy zdefiniowanej dyrektywy DirectoryIndex, która informuje serwer o zasobach jakie ma szukać w przypadku gdy klient zażąda listowania katalogu np. jakisadres.pl/download/ to opcja Indexes spowoduje, że serwer sam wygeneruje listing żadania.), MultiViews (zezwalamy na użycie, wykorzystując moduł mod_negotiation), SymLinksIfOwnerMatch (serwer będzie podąrzać tylko za symbolicznymi linkami, których docelowe katalogi/plik są własnością użytkownika o takim samym id linku).
Opcje nie łączą się, wybierana jest najbardziej odpowiednia. Wyjątkiem jest gdy postawimy '+' lub '-' przed opcją. Domyślną wartością jest 'All'.

DirectoryIndex index.html #wspomniałem wyżej o tej opcji..

ErrorLog "/var/log/httpd-error.log" #Miejsce docelowe logu z błędami

LogLevel warn #Kontrola informacji, które znajdują się w error-log, możemy określić następujący poziom: debug, info, notice, warn, error, crit, alert, emerg

ErrorDocument XXX odpowiedź #Określamy własną odpowiedź na wybrany błąd serwera ("XXX"). Mamy 3 możliwości: zwykły tekst, lokalne przekierowanie, zewnętrzne przekierowanie. Na przykład:
ErrorDocument 404 /brak.html
ErrorDocument 404 "Brak strony"
ErrorDocument 404 http://www.google.pl
ErrorDocument 404 "/cgi-bin/jakassciezka.pl"

EnableNMAP off
EnableSendfile off #Zwiększa wydajność serwera jeżeli system obsługuje transport plików te metody (pliki dostarczane są za pomocą 'memory-mapping' albo 'sendfile syscall').

Dodatkowa konfiguracja opisana w pliku httpd.conf dotyczy głównie modułów, które znajdziemy w katalogu 'extra'. Dołączamy je za pomocą opcji Include, na przykład:
Include etc/apache22/extra/httpd-mpm.conf

Dużo podstawowych modułów możemy skonfigurować za pomocą tagów <IfModule id_modułu></IfModule> na przykład moduł alias:
<IfModule alias_module>
ScriptAlias /cgi-bin/ "/usr/local/www/apache22/cgi-bin/"
</IfModule>

Szczegółowy spis modułów znajdziemy na stronie tutaj.

edit:
Po wgraniu i skonfigurowaniu php5 na nasz serwer należy dodać do httpd.conf opcję, która pozwoli prawidłowo wyświetlać zawartość *.php, czyli:
AddType application/x-httpd-php-source phps (testowane pod debianem)
 
Bardzo fajny moduł, który powoduje, że jeśli udostępniamy miejsce na
naszym serwerze innym użytkownikom, by mogli sami założyć własną witrynę
powinniśmy skorzystać z modułu UserDir. Szczegółowy opis znajduje się tutaj. 
Zgodnie z zaleceniami trzeba pamiętać by zablokować taką 
możliwośc dla konta root:
UserDir disabled root

Natomiast wpis:
UserDir public_html /lub/ UserDir /home/*/public_html
sprawi, że user posiadjący w swoim domowym katalogu katalog public_html
będzie mógł w nim opublikować swoją stronę www.