Ubuntu 데스크탑을 사용하여 홈 서버를 만드는 방법은 무엇입니까?


26

집에서 사용하기 위해 파일 서버 에 Ubuntu 데스크탑 컴퓨터를 만들려고 했습니다. 오래된 랩톱이 하나 있습니다. 다른 4 시스템이 이전 시스템 (서버)에서 데이터를 다운로드하거나 볼 수 있도록 파일 서버 로 사용할 수 있습니까? 무선으로 만들고 인터넷을 통해 액세스하고 라우터가 필요합니다. 그러나 Ubuntu Desktop 또는 Ubuntu 서버에서 어떻게하는지 모르겠습니다. 우분투 서버를 설치하고 싶지 않습니다.

내 드라이브를 모두 공유하고 싶습니다. 액세스를 제한하기 위해 일부 폴더에 대해 일부 비밀번호 또는 보안이 필요합니다.

* 단계별 가이드를 통해 수행 방법과 다른 컴퓨터에서 액세스하는 방법도 확인하고 있습니다 .

나는 filezilla를 사용하여 피곤 했지만 우분투에서는 클라이언트 기반 응용 프로그램 만 사용할 수 있습니다. 우분투의 filezilla 서버와 같은 것이 있습니다.

다른 시스템은 우분투뿐만 아니라 창문에도 있습니다.
나는 네트워킹과 서버 유형에 익숙하지 않아 어떤 도움을 주시면 감사하겠습니다.


네트워크에 어떤 종류의 클라이언트가 있습니까? Windows, Linux 전용, 휴대용 장치, 미디어 플레이어 등. 어떤 종류의 프로토콜 및 서버 응용 프로그램을 만들 수 있는지에 대한 권장 사항을 만들기 위해 매우 관련이 있습니다.
gertvdijk

@gertvdijk : Windows 및 Linux 모두.
twister_void

1
새 서버 GUI 기반 또는 터미널 기반을 사용할 것인지 묻습니다. 이것으로 Ubuntu Desktop을 설치 한 다음 컴퓨터를 서버로 만들거나 Ubuntu 서버를 설치 한 다음 서비스를 설치하게됩니다. 두 경우 모두 많은 것을 설명해야하기 때문에 답변을 입력하기 전에 알고 싶습니다.
Luis Alvarado

@LuisAlvarado, Ubuntu Desktop을 사용하여 시스템 GUI 서버를 만들고 싶습니다. 귀하의 성명서는 "Ubuntu Desktop을 설치 한 다음 컴퓨터를 서버로 만듭니다". 대답은 훨씬 더 감사합니다.
twister_void

답변:


19

GUI 기반 서버를 원하기 때문에 (Ubuntu Desktop이 멋진 서버로 변형되었습니다.)) 진행하기 전에 다음 단계를 수행하십시오.

  1. 모든 것을 업데이트하십시오. 이미 시스템을 업데이트하고 업그레이드했는지 확인하십시오

    sudo apt-get update && sudo apt-get upgrade

    이런 식으로 우리는 같은 페이지에 있습니다.

  2. 무선 카드가 올바르게 작동하는지 확인하십시오. Broadcom 기반 무선 카드가있는 경우 Broadcom 무선 드라이버 설치를 확인하십시오 . 다른 것이 있다면 무선 카드 이름으로 검색 한 후 askubuntu에서 답을 찾을 것입니다. 어쨌든 나는 그것이 올바르게 작동한다고 가정합니다.

  3. Samba 를 사용하여 컴퓨터 간 네트워크 검색 및 공유를 설정하는 방법 에 따라 Samba 서비스를 설치하고 구성하십시오.

  4. 두 대의 PC간에 파일 공유를 활성화 하는 방법 에 따라 SSH 서비스 설치 . 원하는 경우 Windows에서 퍼티 를 사용할 수도 있습니다 . SSH를 사용 하는 방법 (ssh & rsync 명령)? 안내도 가능합니다.

  5. 서버를 통해 인터넷을 공유하려는 경우. 즉, 라우터는 유선 케이블을 통해 서버에 연결 한 다음 인터넷을 다른 컴퓨터와 무선으로 공유 한 다음 인터넷 연결 (유선 및 무선) 연결 및 공유 방법을 따릅니다 . 다른 컴퓨터에 유선으로 연결 한 다음 다른 PC에 대한 공유 공유 (유선 이더넷을 통해)

  6. 다른 컴퓨터와 프린터를 공유하려면 CUPS 란 무엇입니까 서버와 프린터를 공유하는 방법 (로컬 또는 네트워크)을 따르십시오

  7. 서버를 만들 예정이므로 서버 를 통해 인터넷 연결을 공유하는 경우 SQUID PROXY를 설치하는 것이 좋습니다 . 이것은 일반적으로 대역폭 사용량을 향상 시키며 인터넷이 모든 클라이언트 PC에서 더 빠르다고 느끼게됩니다 . 설치하려면 업데이트 된 웹 캐시 서버 사용 가능 항목 (Caching HTTP 프록시) (Rinzwind) 의 첫 번째 답변을 따르십시오.

    캐시 된 사이트 및 기타 것들에 대해 /etc/squid/squid.conf또는 /etc/squid3/squid.conf사이트 권한으로 오징어 프록시를 구성 해야합니다.

    이 7 단계를 수행 한 후에는

    • LAN의 다른 컴퓨터와 폴더를 공유 할 수 있으며 번거 로움, 권한 또는 추가 단계없이 공유 폴더를 볼 수 있습니다.

    • SSH 또는 Samba 공유를 통해 서버에 문제없이 연결할 수 있습니다.

    • 서버는 무선 또는 유선 연결을 통해 인터넷을 공유 할 수 있습니다.

    • 서버는 이제 Windows를 포함한 다른 모든 컴퓨터와 프린터를 공유 할 수 있습니다.

이 단계 중 하나라도 도움을 받기 어려운 것으로 판단되면 알려주십시오.

추가 사항은 xbmc 를 설치 하고 모든 영화를 서버에 넣는 것입니다. 그런 다음 xbmc 구성 옵션을 통해 나머지 컴퓨터가 동일한 서버에서 영화를 볼 수 있도록 웹 서비스를 활성화하십시오. 실제로 우분투 서버로 할 수있는 일이 많이 있습니다.


와우!!!!!!! 9 개 질문이 1 개로 진행되었습니다.
Aditya

왜 그렇습니까?). 그의 질문에는 올바른 서버에 대한 많은 답변이 필요했습니다.
Luis Alvarado

@LuisAlvarado, 감사합니다 Luis Alvarado. 좋은 답변
twister_void

6

samba 파일 서버로 그렇게 할 수 있습니다.

당신은 그것을 설치할 수 있습니다 sudo apt-get install samba

먼저 /etc/samba/smb.conf의 [global] 섹션에서 다음 키 / 값 쌍을 편집하십시오.

   workgroup = EXAMPLE
   ...
   security = user

보안 매개 변수는 [global] 섹션에서 가장 아래에 있으며 기본적으로 주석 처리됩니다. 또한 환경에 맞게 EXAMPLE을 변경하십시오.

디렉토리를 공유하려면 파일 맨 아래에 새 섹션을 작성하거나 예제 중 하나의 주석 처리를 제거하십시오.

[share]
    comment = Ubuntu File Server Share
    path = /srv/samba/share
    browsable = yes
    guest ok = yes
    read only = no
    create mask = 0755

    comment: a short description of the share. Adjust to fit your needs.

    path: the path to the directory to share.

파일 시스템 계층 표준 (FHS)에 따라 / srv는 사이트 별 데이터가 제공되는 위치이므로이 예에서는 / srv / samba / sharename을 사용합니다. 기술적으로 Samba 공유는 권한이 올바른 한 파일 시스템의 어느 곳에 나 배치 할 수 있지만 표준을 따르는 것이 좋습니다.

찾아보기 가능 : Windows 클라이언트가 Windows 탐색기를 사용하여 공유 디렉토리를 찾아 볼 수 있습니다.

guest ok: allows clients to connect to the share without supplying a password.

읽기 전용 : 공유가 읽기 전용인지 또는 쓰기 권한이 부여되는지 여부를 결정합니다. 이 예에서 볼 수 있듯이 쓰기 권한은 값이 no 인 경우에만 허용됩니다. 값이 yes이면 공유에 대한 액세스는 읽기 전용입니다.

create mask: determines the permissions new files will have when created.

Samba가 구성되었으므로 디렉토리를 작성하고 권한을 변경해야합니다. 터미널에서 다음을 입력하십시오.

sudo mkdir -p /srv/samba/share
sudo chown nobody.nogroup /srv/samba/share/

[Note]  

The -p switch tells mkdir to create the entire directory tree if it doesn't exist. Change the share name to fit your environment.

마지막으로 samba 서비스를 다시 시작하여 새 구성을 활성화하십시오.

sudo restart smbd
sudo restart nmbd

크레딧은 여기로 간다 : Samba & 더 많은 정보를 원하시면 당신은 그것을 봅니다.


이것은 단순히 잘라 내기 및 붙여 넣기입니다.
don.joey

2
예 & 나는 신용이 어디로 가는지 언급했다.
rɑːdʒɑ

너무. 복잡한.
Jebeld17

4

설치 openssh-server하면 sFTP를 지원하는 한 인터넷 또는 가정의 장치에서 전체 드라이브에 안전하게 액세스 할 수 있습니다. 어떤 이유로 든 Samba 공유가 다른 답변에서 자세히 설명 된대로 보완 할 수 있습니다. 다음은 내가 설정 한 방법입니다.

OpenSSH 서버 설치 :apt-get install openssh-server

22 번 포트 열기 :이 작업을 수행하는 방법에는 여러 가지가 gufw있습니다. 설치해야 할 수도 있습니다 (기본값인지 확실하지 않습니다). 나중에 인터넷으로 열어 보려면 라우터에서 포트 22를 서버로 전달해야합니다. 일반적으로 라우터의 웹 인터페이스를 통해이 작업을 수행 할 수 있습니다. 가능하면 서버에 정적 IP도 할당하십시오 (즉, 서버의 DHCP를 끄십시오).

ssh 구성 설정 편집 : 파일을 백업하고 열고 /etc/ssh/sshd_config설정을 변경 / 추가하십시오

PermitRootLogin no
AllowUsers guarav_java other_user_if_necessary

보안을 극대화하기 위해 https://help.ubuntu.com/community/SSH/OpenSSH/Keys에 자세히 설명 된대로 키 기반 로그인 을 설정할 수 있지만 실제로 강력한 비밀번호를 설정하고 저장하면 충분합니다. 각 클라이언트 시스템.

연결하는 각 사용자에 대한 사용자를 만들 수 있습니다. 그렇게하면 모두 같은 그룹 (ssh_users, say)에 추가하고 해당 그룹의 모든 사람이을 사용하여 연결할 수 있습니다 AllowGroups ssh_users. (자세한 내용은 http://knowledgelayer.softlayer.com/learning/how-do-i-permit-specific-users-ssh-access 참조 )

설정이 유효한지 확인하십시오. 설정 파일에서 구문 오류가 있는지 확인할 수 있습니다.sshd –t

서버에서 자신으로 연결 :이 시점에서 ssh localhost(이미 있다고 가정) 터미널에서 자신의 머신에 연결할 수 있어야합니다 openssh-client. 그런 다음 네트워크의 다른 컴퓨터에서 시도하십시오 ssh <ip-address>.

서버의 IP가 홈 네트워크에서 고정되어 있다면, /etc/hostsUbuntu 컴퓨터에서 회선으로 연결하여 항목을 추가 할 수 있습니다

server_ip_address        theserver

이것은 간단하게 ssh theserver또는 무엇이든 호출 할 수 있음을 의미 합니다. Windows에서도 동일한 작업을 수행 할 수 있습니다 ( http://helpdeskgeek.com/windows-7/windows-7-hosts-file/ 참조 ).

sFTP를 통한 연결 : 터미널의 홈 네트워크에있는 다른 컴퓨터에서 서버에 연결할 수있는 경우 sFTP를 통해 서버에 연결하고 파일을 안전하게 탐색 및 전송할 수 있습니다. 개인적으로 키보드 단축키 (Ubuntu에서)를 사용하여 서버를 마운트 / 마운트 해제 할 수 있도록 키보드 단축키를 설정했습니다.

gvfs-mount sftp://user@ipaddress
gvfs-mount -u sftp://user@ipaddress

( -u플래그는 umount 명령입니다)

"명령 :"를로 사람들을 넣고 적용을 클릭, 시스템 설정> 키보드> 바로 가기> 사용자 정의 바로 가기> + (새 바로 가기)의 상자에 이름을 지정하고, 오른쪽 열을 클릭하고 키 조합을 입력 ( CTRL+SHFT++CTRL+SHFT+-각각의 논리 것) .

ip 주소를에있는 주소로 바꿀 수 있습니다 /etc/hosts. 그러면 서버가 노틸러스에서 드라이브로 마운트되고 로컬 컴퓨터의 폴더와 같은 폴더를 탐색 할 수 있습니다. Windows에서는 FTP 소프트웨어 (Filezilla 등)를 사용하여 연결할 수 있습니다. 나는 그것을 시도하지 않았지만 Windows 탐색기 자체에도 sFTP 통합이있을 것이라고 확신합니다.

이 시점에서 키 기반 로그인의 또 다른 장점은 연결할 때마다 암호를 입력하라는 메시지가 표시되지 않는다는 것입니다 (키를 보호하도록 암호를 설정하지 않은 경우). 비밀번호 로그인 작업을 한 후 외부로 열기 전에 살펴볼 수 있습니다.

외부에서 연결 : 마지막 단계는 인터넷에서 연결할 수 있는지 확인하는 것입니다 (예 : 옆집 등). 집에 고정 IP 주소가 없다면, IP 주소가 무엇인지 파악하기가 까다로울 수 있습니다. 개인적으로 동적 dns 서비스 ( http://afraid.org/ 는 무료 서비스 )를 사용하지만 다른 솔루션을 더 잘 찾을 수 있습니다. 그런 다음 위의 마운트 명령에서 ipaddress를 홈 네트워크를 가리키는 동적 웹 주소로 바꿉니다.

마지막 보안 힌트 중 하나는 SSH 로그에 탭을두면 ( /var/log/auth.log), 아무 일도 일어나지 않도록하는 것입니다. 그것이 발견되면 Fail2Ban은 하나의 솔루션입니다 ( http://www.fail2ban.org/wiki/index.php/Main_Pagehttps://help.ubuntu.com/community/Fail2ban ). 위험을 최소화하기 위해 SSHD가 500과 같은 비표준으로 청취하는 포트를 변경하고 라우터와 서버의 방화벽에서 해당 포트 전달 규칙을 변경하면됩니다 (이유 : https://serverfault.com/questions/189282 / why-change-default-ssh-port )를 사용하여 개인적으로 테스트하지는 않았습니다 gvfs-mount.


2

기본 공용 디렉토리로 사용하려는 폴더를 마우스 오른쪽 단추로 클릭하고 "공유 옵션"으로 이동하십시오. 홈 서버를 올바르게 실행, 설치, 재부팅, 반복 및 폴더 공유를 허용하는 데 필요한 추가 패키지에 대한 설치 프롬프트를 알려주는 팝업 대화 상자가 나타납니다. 간단합니다! :)


1
로컬 네트워크를 통해 모든 드라이브와 홈 폴더를 공유하고 싶습니다.이 시스템에는 Ubuntu와 Windows가 있습니다. 어떻게 공유해야합니까?
twister_void

터미널을 엽니 다 : "Sudo nautilus"파일 시스템 <홈 (마우스 오른쪽 버튼 클릭) <공유 옵션. 권한도 변경해야 할 수도 있지만 먼저 권한을 변경하지 않고 시도하십시오. 홈 디렉토리는 공유를 권장하는 유일한 디렉토리입니다. 다른 것들은 너무 위험해서 파일 시스템을 손상시킬 수 있습니다.
Jebeld17
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.