Compartilhando um diretório do Windows (Active Directory) no Linux

Maneira simples de acessar compartilhamentos Windows em um servidor Linux.

Imagine a seguinte situação:

  1. Você tem uma infraestrutura com Active Directory da Microsoft ou LDAP, com pastas compartilhadas na rede, tudo funcionando de boa;
  2. Você também tem um servidor web (apache ou nginx) rodando tranquilamente, servindo sua intranet ou site na internet…;
    1. Aí alguém chega pra você e fala:
      – Sabe essa pasta compartilhada do setor XXX, então, precisamos colocar esses arquivos disponíveis TAMBÉM na Web (intranet ou internet).
      – Ah, mas esses arquivos devem continuar sendo acessível normalmente pelo compartilhamento do Windows. 

Isso é bem fácil de resolver, basta utilizar o cliente CIFS de sistemas de arquivos do Windows.

1° passo

Criar um ponto de montagem no servidor web. Usualmente utilizamos o /mnt, mas fica a critério de suas necessidades. No nosso exemplo, vamos criar esse ponto de montagem direto na pasta DocumentRoot de nosso servidor, que roda Apache e posteriormente definir o usuário apache como dono do diretório criado.

[root@servidor ~]# mkdir /var/www/html/arquivos

[root@servidor ~]# chown apache:apache /var/www/html/arquivos/ -R

2º passo

Criar um arquivo com as credenciais de acesso do Active Directory à pasta compartilhada. Vamos criar dentro do home do usuário Root:

[root@servidor ~]# vim /root/.shared_credencial

Insira essas informações, tão como informados:

username=nome_usuario_ad
password=senha_usuario_ad
domain=dominio.de.seu.ad

3º passo

Editar o fstab, inserindo o ponto de montagem para a pasta /var/www/html/arquivos, passando as credencias de acesso que foram registradas em /root/.consu_credencial.

[root@manjuba ~]# vim /etc/fstab

Inserir a seguinte linha no final do arquivo, substituindo o IP do servidor de arquivos e o caminho da pasta compartilhada do exemplo dado (192.168.0.10/SETORX/arquivos) pelas informações de seu compartilhamento windows.

//192.168.0.10/SETORX/arquivos /var/www/html/arquivos/ cifs credentials=/root/.shared_credencial,iocharset=utf8,sec=ntlm,nobootwait,uid=apache,gid=apache 0 0

4º passo

Se você fizer uma nova entrada no fstab, ela não será montada automaticamente. Portanto, você deve recarregar/atualizar as entradas. Uma reinicialização no Linux fará isso, mas essa não é uma maneira amigável. Uma maneira rápida de recarregar novas entradas em /etc/fstab é usar o comando mount:

[root@manjuba ~]# mount -a

Após isso, se você acessar a pasta montada, irá ter acesso aos arquivos compartilhados e como foi montado dentro do DocumentRoot do apache, os mesmos também estarão acessíveis na Web.

[root@manjuba ~]# ls /var/www/html/arquivos/

http://192.168.0.10/arquivos/

 

 

Como criar um repositório GiT de um projeto já existente e enviar ao Bitbucket?

Criando essa postagem porque nunca lembro desta sequência de comandos!

Situação: você possui um projeto já existente (pasta) e deseja que esse projeto vire um repositório GIT e que seu conteúdo seja enviado ao Bitbucket ou outro host remoto, como faz?

Obviamente você precisará ter o GiT já instalado em sua máquina (não vou colocar isso aqui), partindo do pressuposto que você ja o tenha instalado, execute os seguintes comandos para realizar a atividade proposta:

OBS: os comandos devem ser executados na pasta do projeto

  1. git init (inicializa um repositório GIT)
  2. git add –all (adiciona todos os arquivos ao GIT)
  3. git remote add origin LINK_PARA_O_REPOSITORIO (este link você consegue no próprio Bitbucket na página do projeto)
  4. git commit -m “Commit inicial” (cria um commit inicial)
  5. git push -u origin master (envia seu projeto para a branch master, se tive routra branch, mude o nome).

É isso!