16 lutego 2011

FreeBSD - zaraz po instalacji

Ten wpis będzie systematycznie (eee...) aktualizowany o kolejne modyfikacje, jakie wprowadziłem w mojej konfiguracji systemu.

1. Skonfigurowanie połączenia sieciowego.
FreeBSD jest zainstalowany na wirtualnej maszynie (VirtualBOX pod Ubutnu). Wirtualna karta sieciowa działa w trybie NAT. Aby mieć dostęp do Internetu z poziomu FreeBSD konfigurujemy kartę sieciową przy pomocy sysinstall. W tym celu w konsoli wydajemy polecenie:
#sysinstall
Następnie wybieramy "Configure" -> "Networking" -> "Interfaces". Nie ma potrzeby konfigurowania IPv6, dlatego wybieramy "No". Przy pytaniu o wykorzystanie protokołu DHCP potwierdzamy "Yes". Pozostaje wpisać dowolną nazwę naszego hosta i zatwierdzieć.

2. Zmiana domyślnej powłoki systemowej (csh) na BASH'a.
Zanim zmiana będzie możliwa, należy naprzód basha pobrać i zainstalować. W tym celu wydajemy polecenie:
#pkg_add -r bash
Po instalacji można wydać polecenie:
#whereis bash
Dzięki czemu upewnimy się, w którym miejscu została umieszczona nasza powłoka (bash: /usr/local/bin/bash).
Pozostało dokonać zmiany - skorzystamy z programu chsh z opcją -s:
#chsh -s /usr/local/bin/bash
Udało się. Teraz #logout i po ponownym zalogowaniu się, mamy basha.

3. Dodanie nowego użytkownika.
Zalecane jest, aby podczas "normalnego" użytkowania systemu korzystać z konta użytkownika nieuprzywilejowanego. Na root'a przełączać się tylko wtedy, gdy jest to niezbędne (np. modyfikacja plików konfiguracyjnych).

Dodawanie nowego użytkownika polega na podawaniu odpowiedzi przy postawionych pytaniach. Gdy mamy wątpliwości, najlepiej zostawić odpcje domyślne. Przy pytaniu "Login group is bobi. Invite bobi into other groups? []:" wpisać "wheel". Wtenczas nasz użytkownik będzie mógł użyć polecenia su i uzyskać uprawnenia root'a. Poniżej przykład:

# adduser
Username: bobi
Full name: S. Michalski
Uid (Leave empty for default):
Login group [bobi]:
Login group is bobi. Invite bobi into other groups? []: wheel
Login class [default]:
Shell (sh csh tcsh bash zsh nologin) [sh]: bash
Home directory [/home/bobi]:
Use password-based authentication? [yes]:
Use an empty password? (yes/no) [no]:
Use a random password? (yes/no) [no]:
Enter password:
Enter password again:
Lock out the account after creation? [no]:
Username : bobi
Password : ****
Full Name : S. Michalski
Uid : 1001
Class :
Groups : bobi wheel
Home : /home/bobi
Shell : /usr/local/bin/bash
Locked : no
OK? (yes/no): yes
adduser: INFO: Successfully added (bobi) to the user database.
Add another user? (yes/no): no
Goodbye!
#

4. Instalacja Midnight Commander'a.
W moim przypadku tryb graficzny nie jest przewidziany, ponieważ omawiana instalacja FreeBSD ma służyć jako serwer wielu usług. Aby jednak zarządzanie systemem szło sprawnie, absolutne minimum to instalacja MC.
#pkg_add -r mc
Po instalacji wpisujemy:
#rehash
co by uwzględnić ewentualne zmiany ścieżki.

5. FreeBSD + Apache (mod_perl2)

#pkg_add -r apache22

/usr/local/etc/apache22/httpd.conf (plik z konfiguracją serwera apache)

- odkomentować ServerName [NaszeIP]:80
- zakomentować LoadModule unique_id_module libexec/apache22/mod_unique_id.so

/usr/local/www/apache22/data (folder z plikami składającymi się na stronkę)

/usr/local/sbin/apachectl start
/usr/local/etc/rc.d/apache.sh start
/usr/local/sbin/apachectl stop
/usr/local/sbin/apachectl restart

Jeśli serwer apache ma startować podczas uruchamiania systemu, w pliku /etc/rc.conf należy dopisać:
apache22_enable="YES"

#cd /usr/ports/www/mod_perl2
#make install clean

W /usr/local/etc/apache22/httpd.conf dodajemy linijkę:
LoadModule perl_module libexec/apache2/mod_perl.so
oraz

Alias /perl/ /usr/local/www/perl/
<Location /perl/>
SetHandler perl-script
PerlResponseHandler ModPerl::Registry
PerlOptions +ParseHeaders
Options +ExecCGI
</Location>


<Directory "/usr/local/www/perl">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>

#mkdir /usr/local/www/perl

Sprawdzenie konfiguracji:
W katalogu /usr/local/www/perl tworzymy plik helloworld.pl zawierający:

!#/usr/bin/perl
print "Content-type: text/plain\n\n";
print "Hello world!\n";

Nadajemy prawa do wykonania:
#chmod 755 helloworld.pl
I w przeglądarce hosta wpisujemy adres:
http://ADRESipWIRTUALNEJmaszyny/perl/helloworld.pl

Uwaga! (Dotyczy użytkowników programu VirtualBox) Jeśli połączenie między kompem gospodarzem, a wirtualną maszyną działa w trybie NAT, trzeba przełączyć na host only - inaczej komunikacja będzie niemożliwa, czyli nie będzie szans na zobaczenie naszej strony.


Instalacja FreeBSD-8.1-RELEASE-i386 w kilku krokach

Poniżej umieszczam bardzo krótką notkę zawierającą opis instalacji systemu FreeBSD w dosłownie kilku krokach. Wrzucam to z tego powodu, ponieważ doszedłem do wniosku, że przyda mi się taka ściąga dostępna z każdego miejsca. Nie ma tu wyjaśnień wybieranych opcji. W celu uzyskania szczegółowych informacji odsyłam do Podręcznika FreeBSD: http://freebsd.therek.net/handbook/install.html, na którym się opieram.

Instalacja:
- z głównego menu sysinstall wybieramy: Standard - Begin a standard installation (recommended),
- system instalowany jest na maszynie wirtualnej (VirtualBox OSE pod Ubuntu), cały wirtualny dysk zostanie zajęty przez FreeBSD,
- w programie FDisk wybieramy opcję A (Use Entire Disk), zaznaczamy nowoutworzony segment i wciskamy S, co by umożliwić ładowanie systemu z tego segmentu, wychodzimy Q,
- Install Boot Manager for drive ad0? -> Standard,
- tworzenie partycji (Disklabel) -> A (Auto Defaults), Q (Finish),
- zestaw komponentów: ALL i potwierdzamy chęć zainstalowania kolekcji portów,