이전에 저는 낡은 PC로 토렌트머신을 만드는 것을 하나 알려드린 적이 있습니다.

http://moordev.tistory.com/21


그런데 토렌트만 굴리기에는 PC의 성능은 매우 아깝습니다. 그럼 여기에 웹서버를 굴려서 개인NAS로 만드는 것은 어떨까요? 하지만 웹서버관리는 초보에겐 너무 어렵습니다. 하지만 GUI로 한다면 이야기는 달라지겠지요. 서버관리를 GUI(사실은 web기반)로 하게 해주는 도구가 바로 webmin입니다. (http://www.webmin.com/)일단 말이 나왔으니 한번 해보도록 합시다.


일단 준비물은


1. 오늘내일 하는 PC

2. 리눅스 배포판 아무거나 좋은 것(개인적으로 개인 서버는 Debian이 좋다고 생각합니다.)

3. 인터넷

4. 기본적인 네트워크 관련 지식(IP, http 같은 것이 뭔지는 알아야 해보던지 하지요...)


자 이제 제일 먼저 해야 할 일은 리눅스를 설치하는 일 입니다. 윈도우도 서버를 만들 수 있지만 기본적으로 윈도는 서버 성능이 영 아니라서 리눅스나 BSD같은 OS를 쓰는 것을 원칙으로 합니다. 물론 윈도 서버도 어느정도 있지만 윈도로 서버를 굴리느니 Lubuntu로 서버를 만드는 것이 100배 낫습니다.


저는 우분투를 좋아하지만 서버OS는 안정화가 매우 중요하다고 생각하기 때문에 우분투보다 더 안정적인 Debian을 선택했습니다. 어차피 우분투나 데비안이나 사용 방법은 동일해서 새로 배운다거나 그런 것은 전혀 없습니다.


일단 설치할 때 파티션을 나누는데 우분투처럼 자동 파티션, 혹은 한 파티션에 몰아넣기 보다는 수동으로 설정해서 NAS의 공유 자료가 들어갈 Data 파티션을 하나 만들어두는 것이 좋습니다. 물론 포맷은 ext4같은 저널링 기능 있는 것을 해줘야 마음이 편합니다.


자세한 내용은 https://www.debian.org/releases/jessie/amd64/index.html.ko 여기를 참고해주세요. 참고로 설치 중에 어떤 서버를 쓸 건지 선택하는 곳이 있는데 다른 것은 몰라도 SSH는 무조건 해줘야 편합니다. 서버는 보통 모니터를 떼버리고 사용하기 때문에 SSH로 원격 접속해서 작업을 합니다. 그리고 root 혹은 root에 준하는 (sudo 사용이 가능한)계정의 패스워드는 간수를 잘 해야 합니다. 해킹이란 의외로 우리 가까이에서 일어납니다.


일단 서버 OS가 설치되었다면 서버를 켜놓고 SSH로 접속하거나 직접 서버에서 키보드로 명령을 내리면서 작업을 합시다. 일단 webmin만 설치하면 이후에 명령을 따로 쓸 일은 거의 없습니다. webmin만 있으면 별도의 아파치같은 웹서버를 추가로 설치하고 각종 서드파티 플러그인을 추가해서 관리하는 등의 일련의 작업을 웹브라우저에서 할 수 있습니다.


일단 webmin을 설치하려면 데비안 기준으로(우분투도 동일)

source.list에 추가해야 합니다.


다음과 같은 명령을 써봅시다.



sudo nano /etc/apt/sources.list

그리고 아래에 다음과 같이 2줄을 추가합시다.


deb http://download.webmin.com/download/repository sarge contrib
deb http://webmin.mirror.somersettechsolutions.co.uk/repository sarge contrib

그리고 Ctrl+O를 누르고 Ctrl+X를 누르시면 다시 명령 행으로 빠져나오는데요. 다시 다음 명령을 쳐서 PGP키를 추가합시다. 우분투는 이를 편리하게 만든 스크립트가 있었지만 webmin은 지원이 안 됩니다.


wget http://www.webmin.com/jcameron-key.asc
sudo apt-key add jcameron-key.asc

sudo apt-get update


이제 대망의 설치만 하면 됩니다.


sudo apt-get install webmin


아니면 직접 deb을 받아서 설치하셔도 됩니다.


wget http://www.webmin.com/download/deb/webmin-current.deb

sudo dpkg -i webmin-current.deb

대신 이렇게 하면 자동 업데이트가 안 되니 APT 방식을 추천합니다.


이제 webmin을 설치했으니 웹 브라우저에서 접속해봅시다.(IE는 안 되는 것으로 보입니다. edge나 Safari, chrome, Firefox에서 하세요.)


주소는 https://서버IP:10000 입니다. 인증서 관련해서 에러가 나는데 우리 서버는 인증을 받은 적이 없으니 무시하도록 합시다. SSL을 안 쓰게 해서 넘어가는 방법도 있는데 일단은 접속은 해야 하니 무시하고 넘어갑시다.



어쩔 수 없다 그냥 예외로 하자. 아니면 /etc/webmin/miniserv.conf 에서 ssl=0으로 하면 된다.



일단 예외로 처리하거나 SSL설정을 바꿨다면 로그인 창을 하나 볼 수 있습니다. 그런데 여기서 막막해집니다. 비밀번호가 뭐였더라???


보통은 아까 설치했던 리눅스의 root와 그 비밀번호가 정답입니다. 하지만 접속이 안 됩니다. 이유는 설정을 안 했으니까요.


아직 터미널 작업은 끝나지 않았습니다. 마무리 비슷한 작업이 필요합니다. 사실 이번에 알려드릴 명령은 배포판마다 다른데 저는 데비안/우분투 버전을 기준으로 설명하겠습니다.


모든 경로는 Deb으로 설치했을 때를 가정합니다. 소스 컴파일은 또 달라집니다.

cd /usr/share/webmin

sudo perl changepass.pl /etc/webmin root 비밀번호


일단 이렇게 해 놓고 다시 웹 브라우저에서 ID는 root로 비밀번호를 입력하시면 접속이 될 겁니다. 참고로 여기서 설정한 비밀번호와 진짜 root의 비밀번호는 다릅니다. 상관이 전혀 없으니 신경 끄셔도 좋습니다.



이름은 root이고 Password는 원하는대로


Webmin은 BrutalForce 공격을 막기 위해 약간의 방어 장치가 있습니다. 만약 비밀번호가 5번이상 틀리면 해당 IP를 블록 해버립니다. 근데 이 방어 장치가 오류나 실수로 주인을 막을 때가 있습니다. 그때는 SSH 클라이언트로 접속 후에 다음 명령을 쓰시면 됩니다.



sudo cp /dev/null /var/webmin/blocked


이렇게 하면 열심히 막았던 블록IP 들이 풀리기는 하지만 주인도 못 들어가는 어이없는 것보다는 낫습니다.


일단 접속 하고나면 번잡한 느낌이 듭니다. 그도 그럴것이 webmin은 상당히 오래된 프로그램으로서 쌓인 기능이 엄청납니다. 우리는 이중에서 일부만 사용할 예정입니다.



웹에서 시스템의 전반적인 것을 점검할 수 있다.


웹에서 직접 파일 조작도 가능


우리는 이를 NAS로 쓰기 위해서 apache webserver, Samba Windows File Sharing, ProFTPD를 설치할 겁니다. 물론 PHP5도 필수입니다.


webmin에서 Unused modules 항목에 가면 이것들이 있습니다. 이것을 누르면 설치하는 링크를 하나 던집니다. 만약 설치 링크를 못 찾겠다면...SSH를 다시 씁시다. 사실 이쪽이 더 편할 수도 있습니다.



sudo apt-get install apache2 php5 proftpd samba mysql


이렇게 하면 웹서버와 FTP, 삼바 설치는 완료입니다.


그리고 다시 webmin에 가시면 un-used module에 있던 것들이 Server에 들어간 것을 볼 수 있습니다. 이제 여기서 설정을 할 수 있습니다.


자세한 설정은 다음에 하기로 하고 일단 webmin을 사용한 웹기반 웹서버 관리도구를 구축했습니다. 여기서 FTP를 설치했으니 /var/www에 디렉토리 설정을 하면 바로 웹페이지를 FTP로 올릴 수 있겠지요. 이건 NAS이기도 하니 아까 빼놓았던 Data 파티션을 마운트해서 여기를 쓸 수 있게 하면 더욱 편리합니다. 



webmin의 ProFTPD 설정에서 Directory and Files설정 여기서 Directory 부분을 수정해서 FTP로 쓸 곳을 직접 적도록 하자.

마찬가지로 Samba도 Webmin에서 디렉토리 설정이 가능하므로 그냥 웹에서 뚝딱 거리면 됩니다.


문제는 웹 서버인데 Pydio나 ownCloud 같은 것을 /var/www에 올려주시면 웹에서 접속가능한 페이지가 완성됩니다. 하지만 저는 이 물건들 보다 웹용 FTP 클라이언트인 MonstaFTP를 올리고 FTP를 웹에서 하는 것을 추천 드립니다. 일단 낡을 대로 낡은 PC에서 ownCloud를 돌리기에는 너무 성능이 모자랍니다. 반대로 MonstaFTP로 FTP를 웹에서 하면 ownCloud같이 웹에서 그림을 직접보거나 PDF를 읽어내는 것은 할 수 없지만 파일 공유라는 측면에서는 더욱 충실합니다. 


MonstaFTP에 관한 내용은 다음에 하기로 하고 일단 http://서버IP로 한번 웹페이지에 접속해봅시다.


만약 Apache관련 페이지가 나왔다면 웹 서버 설치는 성공입니다.


나머지 FTP설정과 Samba는 다음에 해보기로 합시다.

,