Ubuntu에서 소스 패키지로 Samba를 빌드하여 설치했다.


1. # apt-get install acl attr autoconf bison build-essential \

  debhelper dnsutils docbook-xml docbook-xsl flex gdb krb5-user \

  libacl1-dev libaio-dev libattr1-dev libblkid-dev libbsd-dev \

  libcap-dev libcups2-dev libgnutls-dev libjson-perl \

  libldap2-dev libncurses5-dev libpam0g-dev libparse-yapp-perl \

  libpopt-dev libreadline-dev perl perl-modules pkg-config \

  python-all-dev python-dev python-dnspython python-crypto \

  xsltproc zlib1g-dev

먼저 위 명령어를 통해, 의존성이 있는 패키지들을 설치해준다.

Ubuntu 14.04 이상의 버전에선 libgnutls-dev가 libgnutls28-dev으로 대체되었다고 하는데..

깜빡하고 그냥 돌렸는데 별다른 문제는 없었다.


2. samba.org에서 소스를 다운 받는다. (Releases에서, Current stable relase에 Samba x.y.z (gzipped)를 다운)


3. tar -xvzf [다운 받은 압축 파일명] 

위 명령어를 사용해 압축을 푼다.


4. ./configure -> make -> sudo make install

압축이 풀리고 생긴 디렉터리 안으로 이동해 위 명령어를 차례로 사용하면 설치가 완료된다.

./configure 명령을 치니, no와 not found가 떠서 걱정했는데 'configure' finished successfully라고 무사히 나왔다.

make와 make install에는 다소 시간이 걸린다. make를 할 시에도 warning이 조금 뜨나 error는 뜨지 않아 성공적으로 완료되었다.


5. vi /usr/local/samba/etc/smb.conf

[testuser]

comment = samba directory

path = /home/testuser/samba

valid user = testuser

public = yes

writable = yes

위 내용을 configuration 파일에 추가한다.


6. ./smbpassword -a testuser

Samba를 설치 했던 디렉터리 안의 bin 디렉터리로 이동하여

위 명령어로 valid user에 입력해둔 Samba 유저를 생성한다.


7. ./smbd

위 명령어로 데몬 실행 후 445, 139 포트가 열렸는지 확인한다.



윈도우에서 테스트할 때, 실행창에 \\[Samba Server IP] 를 입력 하면 된다.

(path에 입력한 디렉터리의 소유권, 허가권에 유의)


참고: https://wiki.samba.org/index.php/Build_Samba_from_Source

Samba

SMB/CIFS 프로토콜을 사용한 파일, 프린트 서비스를 제공하는 소프트웨어

Linux/Unix 서버와 데스크탑을 액티브 디렉토리 환경으로 완벽하게 통합하기 위한 구성요소

도메인 컨트롤러 혹은 일반 도메인 멤버로써 기능함


간단히 말하면, 서로 다른 운영체제 사이의 자원을 공유하기 위해 개발된 서버가 바로 Samba서버다.

Windows에서 리눅스/유닉스의 공유 폴더와 프린트 같은 자원을 사용하거나, 그 반대로 사용하기 위해 사용된다.

+ Recent posts