Tutorial: Instalando o Samba 3.6.1 no Ubuntu 11.10

Neste tutorial, vou compartilhar o procedimento que uso para instalar o Samba 3.6.1 em um servidor Ubuntu 11.10 a partir do código-fonte. Para mais informações, leia a documentação oficial em http://samba.org/samba/docs/man/Samba-HOWTO-Collection/install.html.

Durante este tutorial, vou deixar os erros naturais acontecerem e, para cada erro, vou explicar qual o motivo e como resolve-lo.

Passo 1: Preparação

Confirme a versão do seu servidor Ubuntu, bem como a arquitetura:

$ less /etc/lsb-release

A saída deve ser algo como:

DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=11.10
DISTRIB_CODENAME=oneiric
DISTRIB_DESCRIPTION="Ubuntu 11.10"

Para verificar a arquitetura:

$ uname -i

A saída do comando deve ser algo como:

i386

Para terminar este passo, crie dois diretórios sob o seu diretório home, para armazenar os pacotes de instalação e o código-fonte a ser compilado. Eu sempre utilizo estes diretórios para armazenar os pacotes de download e os arquivos de código-fonte.

bruno@ubuntu:~$ pwd
/home/bruno
bruno@ubuntu:~$ mkdir downloads softwares
bruno@ubuntu:~$ ls -ltr
total 8
drwxrwxr-x 2 bruno bruno 4096 2011-10-14 09:44 softwares
drwxrwxr-x 2 bruno bruno 4096 2011-10-14 09:44 downloads
bruno@ubuntu:~$

Passo 2: Instalação do make, gcc e autoconf

Para compilar qualquer software a partir do código-fonte, é necessário um conjunto específico de ferramentas. Antes de prosseguir com a instalação, instale os seguintes pacotes, usando o apt-get:

$ sudo apt-get install gcc
$ sudo apt-get install g++
$ sudo apt-get install make
$ sudo apt-get install autoconf

Passo 3: Download do pacote de instalação

Faça o download do pacote de instalação na página http://samba.org/samba/download/. Selecione o pacote Samba 3.6.1 (gzipped) . Após o download, copie o arquivo para o diretório downloads no seu servidor. Se preferir, você pode fazer o download direto do servidor através do wget:

$ pwd
/home/bruno/downloads
$ wget http://samba.org/samba/ftp/stable/samba-3.6.1.tar.gz

Se você for bem paranóico, pode verificar a integridade do pacote de download usando o md5sum:

$ md5sum samba-3.6.1.tar.gz
5291717be0734e07dc07b6110e162e87  samba-3.6.1.tar.gz

Altere o diretório de trabalho para o diretório softwares e descompacte o pacote de instalação:

$ pwd
/home/bruno
$ cd softwares
$ tar --extract --gzip --verbose --file ../downloads/samba-3.6.1.tar.gz

Passo 5: Configuração

Altere o diretório de trabalho para samba-3.6.1/source3 e execute o comando abaixo:

$ pwd
/home/bruno/softwares/samba-3.6.1/source3
$ ./configure --prefix=/usr/local/samba-3.6.1

O comando acima configura a instalação para o diretório /usr/local/samba-3.6.1. E isto é tudo. Aguarde pacientemente. Se tudo der certo, a última linha da saída do comando de configuração deve ser algo como:

config.status: executing default-1 commands

Passo 6: Compilação

Após o comando de configuração, basta executar o comando de compilação. Normalmente este comando demora um pouco.

$ sudo make

Se tudo der certo, a última linha da saída deve ser algo como:

Linking ../nsswitch/libnss_wins.so.

Passo 7: Instalação

Agora, basta executar o comando abaixo:

$ sudo make install

Se tudo der certo, a última linha da saída deve ser algo como:

==============================================================
MO files for pam_winbind are installed.
==============================================================
==============================================================
All MO files for Samba are installed. You can use "make uninstall"
or "make uninstallmo" to remove them.
==============================================================

Passo 8: Pós-instalação

Beleza, o Samba está instalado. Para finalizar, vamos criar o link simbólico para o diretório de instalação, adicionar o diretório lib do Samba no cache do Vinculador Dinâmico (LDD), criar um arquivo de configuração mínimo e iniciar o samba.

Primeiro, o link simbólico:

$ sudo ln --symbolic /usr/local/samba-3.6.1 /usr/local/samba

Adicione o diretório /usr/local/samba/lib no cache do LDD:

$ sudo echo "/usr/local/samba/lib" > /etc/ld.so.conf.d/samba.conf

Atualize este cache:

$ sudo ldconfig

E confirme se está tudo correto:

$ sudo ldconfig -p |grep samba

Se tudo estiver correto, você verá algumas linhas como:

libwbclient.so (libc6) => /usr/local/samba/lib/libwbclient.so

Para testar, vamos usar um arquivo de configuração mínimo. Por padrão, este arquivo deve se chamar smb.conf e existir dentro do diretório /usr/local/samba. Vamos criá-lo:

$ pwd
/usr/local/samba
$ vim lib/smb.conf

E adicionar apenas as linhas abaixo:

[global]
workgroup    = WORKGROUP
netbios name = UBUNTU

[homes]
comment    = User home directories
browseable = yes
writeable  = yes

Sempre que criar/alterar um arquivo de configuração, utilize o comando abaixo para testar a síntaxe destes arquivo:

$ /usr/local/samba/bin/testparm

Se tudo estiver correto, a saída será algo como:

Load smb config files from /usr/local/samba-3.6.1/lib/smb.conf
Processing section "[homes]"
Processing section "[htdocs]"
Loaded services file OK.
Server role: ROLE_STANDALONE
Press enter to see a dump of your service definitions

Agora é só iniciar o Samba. Esta inicialização é simples mas precisa respeitar uma simples regra: Primeiro inicie o nmbd e depois o smbd. Em resumo, o nmbd é responsável por todas as requisições de resolução e registros de nomes NetBIOS. O smbd é responsável por todas as requisições de acesso À serviços (compartilhamentos). Para mais informações, consulte esta página http://samba.org/samba/docs/man/Samba-HOWTO-Collection/install.html#id2552898

$ sudo /usr/local/samba/sbin/nmbd
$ sudo /usr/local/samba/sbin/smbd

O Samba está instalando e em execução. Agora é hora de adicionar usuários, novos serviços e até mesmo incrementar sua configuração, usando o Samba como um controlador de domínio por exemplo.

16 thoughts on “Tutorial: Instalando o Samba 3.6.1 no Ubuntu 11.10

  1. Muito bom este seu tutorial.
    Estava penando para instalar o samba com o –prefix e fazer o mesmo funcionar. Com a sua ajuda eu consegui. Muito obrigado e parabéns.

    • Opa, muito obrigado pelo comentário. A instalação do Samba é bem tranquila e você poder ter um servidor de arquivos rodando em alguns minutos. A complexidade do Samba começa quando você precisa de algo naturalmente complexo, como controladores de domínio, integração com Active Directory, etc.

    • Opa, boa noite Fábio e obrigado pelo comentário. Eu esqueci de especificar que esses comandos também devem ser executados como o super-usuário, utilizando o comando sudo. Portanto, adicione o comando sudo antes dos comandos “echo” e “ldconfig”. Aproveitei e atualizei o tutorial também, corrigindo este erro.

      :)

      • como sou iniciante em linux, fiz a pergunta antes de tentar hehe, mas já entrei em modo super usuario e mesmo assim não tive sucesso, mas obrigado pela rápida resposta.

        O arquivo de configuração do samba não vai pra pasta lib devo estar errando em algum passo.

        Vou tentar novamente agora, pois tentei instalar o samba4 e não consigo q os usuarios modifiquem o conteudo da pasta compartilhada. Removi e vou seguir seu tuto novamente
        e ver se consigo desta vez. rsrs

        Mais uma vez obrigado.

  2. então consegui fazer um ver o outro mas sem sucesso no acesso a pasta sem ter q logar

    nem do windows 7 e nem do 2003.
    no windows 7 ainda vejo a pasta compartilhada, mas não tenho acesso sem senha
    no 2003 já pede senha logo q entro no ip do samba.

    segue meu smb.conf

    [global]
    netbios name = SRV_Dados_FP
    server string = Ubuntu1_11
    workgroup = fuscao
    os level = 100
    preferred master = yes
    wins support = yes
    usershare owner only = False

    map to guest = bad user
    guest account = user
    security = share
    encrypt passwords = false
    guest ok = yes

    [printers]
    comment = Impressoras
    print ok = yes
    guest ok = yes
    path = /var/spool/samba

    [dados-rede]
    path = /home/dados-rede
    browseable = yes
    writeable = yes

  3. meu querido me perdoe, mas sou iniciante hehe.
    o problema estava na permissão da pasta.
    atribui leitura e escrita e foi de boa.

    como estou substituindo um ubuntu 9 por um novo
    gostaria de criar grupos e usuarios para q oa usuarios tenham seus arquivos
    protegidos e não visualizados por outros usuarios.
    pode me auxiliar nisso? pra não ficar poluindo o seu topico aqui se preferir me add no msn
    fabio_g_l@hotmail.com.

    muito obrigado por tudo.

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Sair / Alterar )

Imagem do Twitter

You are commenting using your Twitter account. Sair / Alterar )

Foto do Facebook

You are commenting using your Facebook account. Sair / Alterar )

Connecting to %s