Usando o FreeBSD
Depois do reboot, temos de novo o boot manager de FreeBSD.
Depois de um boot que é bastante rápido, visto que não tem muitos serviços activados, podemos ver que foram geradas as chaves para o servidor de “ssh” e que o serviço foi iniciado.
Por uma questão de segurança, o servidor de ssh não permite login remoto do utilizador root.
Como este é apenas um exemplo e só tenho essa conta, acedo como root ao terminal e vou editar o ficheiro de configuração do servidor ssh, correndo o comando:
vi /etc/ssh/sshd_config
Este não é um manual de vi, mas para editarmos uma linha, temos que carregar na tecla:
i
E editamos a linha:
#PermitRootLogin no
Para:
PermitRootLogin yes
Para gravar a alteração do ficheiro, passamos o comando:
:wq
Para reiniciarmos o servidor de ssh, temos que passar o comando:
/etc/rc.d/sshd restart
De referir que é aqui que ficam os serviços e para tomar acções é preciso sempre passar o path absoluto.
Fora do computador, vou aceder remotamente, via ssh à máquina, com o comando.
ssh -l root 192.168.1.240
Já dentro do terminal, é preciso referir que por default a shell é “C Shell” e não “Bash” como na maioria das distribuições de linux.
No entanto, nada nos impede de mudarmos para Bash.
A primeira coisa a fazer, depois de acedermos ao sistema operativo, é efectuar os updates que houver. Para tal, passamos o comando:
freebsd-update fetch
É mostrado uma lista de updates e para os aplicar temos que passar o comando:
freebsd-update install
Os updates são aplicados com este comando.
É neste ponto que vou começar a usar os ports.
Como disse anteriormente, podem-se usar binários, com o comando:
pkg_add -r programa
Ou compilar pela source, com um ports manager ou simplesmente com o comando:
make install clean
Dentro da directoria onde se encontra o port pretendido.
Para termos acesso aos ports, temos que fazer o download deles, com o comando:
portsnap fetch
Ele vai efectuar o download do repositório dos ports.
E no fim, temos que os extrair, visto que o download é feito de um ficheiro comprimido, com o comando:
portsnap extract
Durante alguns minutos, os ports são extraídos para a directoria “/usr/ports”.
Depois da primeira vez que se faz download dos ports, não é preciso fazer de novo esta operação e podemos fazer só o diferencial, com o comando:
portsnap fetch update
Vou querer instalar um gestor de ports, de seu nome, “portmanager”. Para saber onde ele se encontra, corro o comando:
whereis portmanager
E tenho como output “/usr/ports/ports-mgmt/portmanager”.
Para o instalar a partir de source, acedo à directoria e corro o comando:
make install clean
Os programas que têm opções durante a compilação, é mostrado um ecrã para selecionar essas opções, durante a compilação.
Por exemplo, eu quero que o portmanager, trate as dependências como “leaves”.
Tenho o portmanager instalado, e vou querer, por exemplo instalar o Bash e as suas dependências.
Para tal, primeiro tenho que saber onde se encontra o Bash, com o comando:
whereis bash
E assim sei que ele se encontra “usr/ports/shells/bash”.
Para instalar o Bash e as suas dependências, posso usar o portmanager, com o comando:
portmanager shells/bash
Ele verifica quais são as suas dependências e compila primeiro as dependências e só depois o Bash.
Depois de compilado, temos o Bash instalado e podemos dizer que é a shell que queremos usar por default, com o comando:
chsh -s /usr/local/bin/bash root
Quando acedemos de novo ao sistema, podemos ver que já estamos a usar Bash.
Em seguida, vou dar o exemplo de como se instala o Apache httpd 2.2.
Para tal, corro novamente o comando:
whereis apache22
E para o instalar, corro novamente o comando:
portmanager www/apache22
Como podem ver, ele compila as dependências e no fim da instalação, temos um resumo do que foi instalado.
Para termos o Apache httpd 2.2 a funcionar correctamente, temos que fazer load de um módulo, com o comando:
kldload accf_http
Em seguida, temos que alterar um dos ficheiros mais importantes no FreeBSD, que é o ficheiro “/etc/rc.conf”, onde se encontra a configuração de rede, o keymap e os serviços que são iniciados no boot.
Para adicionarmos o Apache httpd 2.2 no boot, temos que adicionar uma linha para fazer load do módulo e outra para iniciar o serviço.
accf_http_load="YES" apache22_enable="YES"
De referir que o YES tem que ser em letras maiúsculas.
Podemos em seguida, iniciar o serviço, sem fazer restart, com o comando:
apachectl start
De referir dois pontos.
Primeiro, para iniciarmos um serviço, mesmo que seja à mão, ele tem que estar autorizado no ficheiro “/etc/rc.conf”.
Segundo, se não colocarmos a directiva “ServerName” na configuração do apache, ele envia um aviso que vai buscar esse nome ao hostname da máquina.
Por fim, acedendo à máquina por um browser, podemos verificar que temos o apache a funcionar.
Conclusão
Como disse no inicio do artigo e está implícito no titulo, este é apenas uma artigo que tem como única finalidade dar a conhecer FreeBSD.
Em FreeBSD, há muitas coisas para ver e configurar. Isto está fora do âmbito deste artigo.
Serve também para mostrar que no mundo Open Source, nem tudo é Linux e que há outros projectos interessantes a nível de sistemas operativos.
Se quisermos comparar com distribuições de Linux, diria que Slackware, Gentoo e Arch, são as distribuições mais próximas filosoficamente.
FreeBSD é um mundo um pouco à parte de Linux. Pode-se dizer que é um gigante silencioso.
A licença é diferente, a instalação também e o uso do sistema também tem diferenças.
Espero que este artigo tenha servido para a finalidade que lhe quiz dar e que gostem do artigo.