Administrare server open source

Platforma de hosting cu software liber, gratuit, open source.

Comentariile sunt închise pentru Compilare kernel in FreeBSD

FreeBSD, ca aproape orice alt sistem de operare OpenSource, ne permite sa recompilam kernelul dupa bunul plac asta fiind un avantaj mare fata de sistemele cu sursa inchisa – gen Ms Windows sau sistemele UNIX comerciale. In cazul instalarii unui server FAMP (FreeBSD, Apache, MySQL, PHP) care foloseste ca sistem de gestiune cPanel/WHM este importanta recompilarea kernelului cel putin pentru a adauga optiunea QUOTA. QUOTA nu poate fi inclusa ca modul, deci e importanta sa fie built-in. Pe langa aceasta optiune se mai pot adauga alte optiune necesare unei bune administrari – PAE, IPFIREWALL etc.

Inainte de toate, pentru a recompila kernelul, avem nevoie de sursele kernelului. Ca sa copiem sursele prin CVS avem nevoie de o aplicatie care sa faca asta pentru noi – cvsup. Eu obisnuiesc sa fac un director /root/install in care lucrez. Va recomand sa faceti la fel.

# mkdir /root/install
# cd /root/install

Pentru CVS folosim varianta text a aplicatiei cvsup, adica cvsup-without-gui. Pentru instalare folosim urmatoarele doua comenzi:

# fetch ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-6.3-release/Latest/cvsup-without-gui.tbz
# pkg_add cvsup-without-gui.tbz

Bun, avem toate sculele necesare pentru a downloada sursele kernelului. Mai trebuie sa ii spunem aplicatiei cvsup ce anume ne intereseaza. Pentru asta facem un fisier supfile in care punem urmatoarele:

*default host=cvsup.FreeBSD.org
*default base=/usr/local/etc/cvsup
*default base=/usr
*default tag=RELENG_6_2
*default release=cvs delete use-rel-suffix compress
src-all

sau, ca sa nu folosim un editor de texte:

# echo '*default host=cvsup.FreeBSD.org' > supfile
# echo '*default base=/usr/local/etc/cvsup' >> supfile
# echo '*default base=/usr' >> supfile
# echo '*default tag=RELENG_6_2' >> supfile
# echo '*default release=cvs delete use-rel-suffix compress' >> supfile
# echo 'src-all' >> supfile

Bineinteles trebuie inlocuit cvsup.freebsd.org cu un server cvsup mai aproape de locatia serverului si RELENG_6_2 trebuie inlocuit cu string-ul corespunzator versiunii instalate. Eu am ales cvsup.freebsd.org pentru ca momentan nu functioneaza nici un mirror din Romania si am pus RELENG_6_2 pentru ca in momentul de fata cPanel suporta doar FreeBSD 6.2-RELEASE sau versiuni mai mici.

Astea fiind facute mai avem de copiat sursele, copiere care se face folosind cvsup dupa cum urmeaza:

# /usr/local/bin/cvsup -g -L 2 supfile

Comanda cvsup va citi fisierul supfile dat ca parametru si in functie de instructiunile din fisier se va conecta la server si va downloada versiunea surselor specificata. Optiunea -g ii spune aplicatiei sa dezactiveze suportul pentru interfata grafica iar -L 2 e nivelul de date returnate in timpul downloadarii (2 ne da mai multe detalii).

Dupa cateva minute sursele ar trebui sa fie gata downloadate. Putem trece la treaba. Trebuie sa intram in directorul in care sunt pastrate fisierele de configurare:

# cd /usr/src/sys/`uname -m`/conf/

Pentru siguranta copiem fisierul GENERIC cu un nou nume si vom modifica copia:

# cp GENERIC server

Fisierul server (sau GENERIC daca modificati direct) se deschide cu orice fisier de texte si se modifica. Eu prefer vi sau vim.Modificarile care le fac eu de obicei sunt urmatoarele:

Adaug suport pentru PAE, pentru a putea accesa mai mult de 3GB RAM pe i386

options PAE

Las doar I686_CPU, I486_CPU si I586_CPU nefiind necesare pe Xeon

cpu I686_CPU

Modific ident si pun numele serverului (trebuie sa corespunda cu numele fisierului)
ident server

Adaug un comentariu (#) in fata liniei de mai jos pentru a micsora fisierul final

#makeoptions DEBUG=-g

Adaug si urmatoarele linii. Suport QUOTA si firewall-ul

options IPFIREWALL
options IPFIREWALL_DEFAULT_TO_ACCEPT
options QUOTA

Astea fiind facute pot trece la compilare:

# make buildkernel KERNCONF=server
# make installkernel KERNCONF=server

Daca totul a mers bine pana aici, fara nici o eroare, se restarteaza sistemul si totul e in regula.

Linux

Comments are closed.