‘Linux, the Next UNIX’ 카테고리의 보관물
WebDAV 서버 구축하기
오늘 부산에 5년만에 큰 눈이 왔다. 모든 차들이 어쩔 줄 몰라 낑낑거리고 있다. 도착하니 주차장에도 거의 차가 없다. 지하 주차장에서 나온 내 차만이 또렷하게 보인다. 눈이 내리면 항상 춘천 생각이 난다.

회사 임원진이 Microsoft Project Professional이나 Project Server에 대한 인식이 전무한 관계로 가장 저렴한 방법으로 프로젝트 관리 시스템을 구축하기 위해 지금까지 Microsoft Project 시리즈에 대한 트라이얼 버전을 사용해 왔다. 어느덧 트라이얼 종료 기간도 다가오면서 신규 구매를 하거나 다른 방법을 선택해야 겠으나 워낙 무지한 환경으로 인해 그냥(!) 포기했다. 하지만 개인적으로 업무 진행에는 반드시 프로젝트 관리 시스템을 필요하기 때문에 Merlin2나 Project X 등 Mac OS X 환경에서 구동되는 어플리케이션을 구입하려고 하다가 혹시나 싶어 예전에 사용하던 GanttProject를 다시 한번 사용해 보기로 했다.
일단 일반적인 사용에서는 별 문제가 없고 Microsoft Project나 GanttProject든 내가 사용하고자하는 범위에서는 큰 차이가 없다고 생각하고 사용하기로 했다. 그러나 우선 문제가 되는 것이 내 업무와 관련하여 프로젝트 진행 상황을 공유해야 할 대상에게 프로젝트 데이터를 나눠보는 일이었다. GanttProject에는 WebDAV 서버에 자료를 저장할 수 있는 기능이 있지만 예전에는 적당한 WebDAV 서버를 구성하지 못해 단순한 갠트 챠트 수준에서 프로젝트를 혼자 관리하는 수준에 머물렀다. 하지만 이번에는 내가 사용하는 서버의 가상화 시스템을 통하여 WebDAV를 구성하여 보다 우아하게 GanttProject를 이용해보기로 했다. 우선 이를 위해서는 WebDAV 서버를 만들어야 하는데, 이것도 처음 해보는 일이라 그리 만만치 않은 것 같다. 현재 시스템의 운영체제가 Ubuntu 9.10이며 가상화 시스템에서 Windows Server 2003 R2가 구동되고 있기 때문에 두 시스템 환경에 대해 모두 구성해보기했다. 우선 구글링으로 찾은 여러 사이트의 정보를 조합하여 아래와 같은 방법으로 작업을 수행하였다.
[Windows Server 2003 R2]
- 제어판에서 프로그램 추가/삭제를 실행한 후, Application Server > Detail > Internet Information Services(IIS) > Detail > World Wide Web Services > WebDAV Publishing 선택
- 프로그램 메뉴에서 Administrative Tools > Manage Your Server > Application Server > Manage This Application Server > Application Server > Internet Information Services(IIS) Manager > Local Computer > Web Service Extensions > WebDAV가 Allowed 상태로 되었는 지 확인 후,
- Local Computer > Web Sites > 설치 대상 Web Site > New > Virtual Directory 생성
- Virtual Directory Properties > 원하는 기능에 따라 Read, Write 및 Directory browsing 항목 선택
- Execute permissions: Script only 설정
- WebDAV용으로 지정한 실제 디렉토리의 권한 확인
- GanttProject로 WebDAV에 파일 저장 – http://localhost:portnumber/virtualdirectoralias/filename.xml
[Ubuntu Linux 9.10]
- Apache 웹서버 설치 – aptitude install apache2
- WedDAV 모듈 활성화 – a2enmod dav_fs ; a2enmod dav ; a2enmod dav_lock
- 아파치 서버 재시작 – /etc/init.d/apache2 restart
- Virtual Host 생성을 위해 임의 디렉토리(/var/www/web1/roll)를 생성하고 소유권을 www-data로 지정한다 – chown www-data /var/www/web1/roll
- 디렉토리 지정 사항을 /etc/apache2/sites-available/default 파일에서 다음과 같이 수정한다.
NameVirtualHost *
<VirtualHost *>
ServerAdmin spix@localhost
DocumentRoot /var/www/web1/roll/
<Directory /var/www/web1/roll/>
Options Indexes MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
</VirtualHost>
- 변경된 설정 사항을 아파치 서버에 반영한다 – /etc/init.d/apache2 reload
- 오류 발생 apache2: Could not reliably determine the server’s fully qualified domain name, using 127.0.0.1 for ServerName – /etc/apache2/apache2.conf 파일에 ServerName localhost 추가로 해결
- 오류 발생 NameVirtualHost *:80 has no VirtualHosts – /etc/apache2/ports.conf 파일에서 NameVirtualHost *80 항목을 코멘트처리하여 해결
- Virtual Host를 WebDAV용으로 지정하기 위해 WebDAV용 패스워드 파일 및 사용자(spix) 생성 – htpasswd -c /var/www/web1/roll/passwd.dav spix
- 패스워드 파일에 관련한 사항을 /etc/apache2/sites-available/default 파일에 첨부한다.
Alias /webdav /var/www/web1/roll
<Location /webdav/>
DAV On
AuthType Basic
AuthName “webdav”
AuthUserFile /var/www/web1/passwd.dav
Require valid-user
</Location>
- 생성된 패스워드 파일의 소유를 root와 www-data로 지정하고 권한을 640으로 지정한다 – chown root:www-data /var/www/web1/passwd.dav ; chmod 640 /var/www/web1/passwd.dav
- WebDAV를 위한 디렉토리의 권한과 형태를 지정한다 – chmod -R 0777 /var/www/web1/roll ; chown www-data:www-data /var/www/web1/roll
- 아파치 서버를 재구동하여 WebDAV 설정을 적용시킨다 – /etc/init.d/apache2 restart
- WebDAV 클라이언트 cadaver를 이용하여 WebDAV 구동 상태를 점검한다 – cadaver http://localhost/webdav
- 사용자 및 패스워드가 오류 입력되면 정상 상태를 확인할 수 있다.
이상과 같은 방법은 Windows Server와 Linux 환경에서의 WebDAV 서버 구축을 마치고 GanttProject를 이용하여 파일을 서버로 저장할 수 있게 되었다. 역시나 해보면 크게 어려울 것이 없는 작업이지만 항상 느끼는 것이 무언가를 시도한다는 것은 정말 귀찮은 일임에 분명하다. 이제 이 방법으로 업무가 조심이라도 효율적이길 바랄뿐이다.
Ubuntu 서버 마이그레이션 2nd, Active Directory Server 설치
Ubuntu는 VMware Server 2 환경에서 무리없이 Windows Server 2003 Ent.을 구동하고 있다. 무리없이라고 한 것은 새로운 포스팅 사이에 Windows Server 2008 Std.를 설치했기 때문이다. Pentium 4 2.4GHz + 2GB RAM + 128GB HDD X 2 환경에서 가상화 시스템으로 Windows Server 2003과 Windows Server 2008이-비록 특별한 서비스를 수행하고 있지는 않다고 해도-동시에 구동되고 있는 현실이 놀랍기만하다.
1. DNS 서버 구동을 점검한 이후, 드디어 Active Directory Server를 설치하는 단계로 접어 들었다. 지금까지 몇번 시간이 있을 때 시도한 적이 있기는 했지만 아직 ADC를 제대로 설치해서 운용해 본 적은 없다-그럴 필요가 없었기 때문이기 하다. Active Directory Server의 설치는 몇 분의 시간이 걸리더니 아무런 문제없이 설치가 완료되었다. ADC의 도메인에 클라이언트 컴퓨터, 사용자 등의 추가로 별 문제없었으며, 클라이언트의 개별 접속도 완벽하게 수행되었다.
2. Deployment/Remote Installation Server 설치. Windows Server를 이용하여 꼭 구현해 보고 싶었던 작업의 하나는 배포 기능이었다. HP-UX 환경에서의 Ignite-UX와 유사한 기능을 제공하여 설치 미디어없이 Windows 2000, Windows XP 및 Windows Server 2003의 네트워크 설치가 가능하도록 해주는 서비스이다. WDS나 RIS는 PXE나 플로피 드라이브로 부팅하여 네트워크 인터페이스 카드를 통하여 DNS/DHCP로 부터 IP-Address를 할당받아 WDS/RIS 서버의 설치 미디어 정보를 이용하여 설치 과정을 수행하게 된다.
WDS/RIS가 필요하게 된 이후는 연구실이나 회사에서 Windows를 사용하는 인원들이 대부분이고 이미 새로운 설계/해석 시스템들도 Windows XP/Vista 환경이 주를 이루게 되다보니, 시스템 재설치나 하드 드라이브 포맷 등을 워낙 자주하게 되기 때문이다.
그런데, 아무래도 DNS, DHCP 그리고 RIS가 별도의 서버로 구동되는 상황에서 원하는 바가 제대로 이뤄질지 의문이 들기도 한다.
To be Continued…
시스템을 다른 용도로 전환하기로 결정되어 이후 계획은 취소됨.
Ubuntu 서버 마이그레이션 1st, Windows Server 2003 설치
지금까지 MS Windows 2000 Server 및 Server 2003 기반으로 운용되는 파일 서버를 Linux (Ubuntu 8.10)로 이전하기 위한 작업이 진행 중이다. Ubuntu8로 호스트 네임이 지정된 파일 서버는 유일한 화이트박스이지만, 워크스테이션 레벨 마더보드인 Iwill P4GB, Pentium 4 2.4GHZ, 2GB DDR 메모리 그리고 두 개의 EIDE 128GB 하드 드라이브를 갖추고 있다. 원래 3D CAD 운용을 위해 맞추었기 때문에 AGP Pro 8X를 지원하는 Iwill의 P4GB를 사용하게 되었다.
이를 수월하게 하기 위한 물밑 작업의 하나로 데스크 리눅스 운용을 위해 맥북의 VirtualBox에 Ubuntu 8.10 Desktop Ed.을 설치했다. 우분투 포럼에 맥북에서의 우분투 8.04 설치에 관해 참고할 수 있는 내용이 있는데… 개선된 버전이라 그런지, 언급되어 있는 사운드에 관련한 문제도 특별히 나타나지 않고 설치 후 정상적으로 작동하고 있다.
1. Ubuntu 8의 설치는 상당히 순조롭게 진행되었다. 이미 운용 중인 Windows 2003 Enterprise Ed.을 VMware Converter를 이용하여 가상화 시스템 이미지로 변환하였기 때문에, VMware Server 설치 후 가상 시스템으로 전환할 계획이었다. 하지만 어떤 이유에서 인지 기존 서버의 이미지를 찾을 수가 없어 결국 재설치를 할 수 밖에 없는 상황이 되었다. 그렇더라도 VMware Server 2에서의 Windows Server 2003 Enterprise Ed.의 설치는 상당히 인상적인 속도감을 보여주었다.
2. VMware Server 2는 컨솔 모드에서 설치되고, 가상 게스트 시스템의 설치와 운용은 웹 브라우저를 통해 수행된다. 하지만 로컬 시스템에서의 가상 게스트 시스템 운용에서는 키보드 입력을 위한 몇몇 옵션이 나타나질 않아 결국 리모트 환경의 시스템에서 웹 브라우저를 통해 진행하였다. 가상 서버 게스트 시스템들의 설치가 완료되고 난 이후에는 X-Window System 환경을 삭제해서 호스트 시스템의 부하를 줄일 필요가 있을 것 같다.
갑작스런 생각이지만 Ubuntu의 한글 입출력 환경은 정말 이전 UNIX 환경은 비교할 수 없을 만큼 쾌적하다. 어쩌면 당연한 것일 수도 있겠지만, 예전 HP-UX 등 인기 상한가의 UNIX에서의 한글 입출력이 그리 나쁘지 않았음에도 왜 그렇게 정이 안갔는지 모르겠다. 물론 단순 입출력 수준이 아닌 어플리케이션 수준에서의 한글 사용은 상당한 자원의 낭비를 초래하기도 했지만… 역시나 사용자의 층이 많고 넓는 것이 옳은 것은 아니더라도 편하다고는 볼 수 있을 것 같다.
3. Windows Server 2003을 설치한 후, 가장 중요한 네트워크 연결은 Ubuntu8 시스템의 내부 네트워크 인터페이스 카드를 WMware Server 2 상의 Windows Server 2003의 가상 네트워크 카드에 Bridged Connection을 수행하자 즉각적으로 인트라넷과 인터넷에 연결되었다. 향후 문제 발생을 대비하여 실제 서버 구성을 하기 전에 현재 설정으로 스냅 샷을 찍었다.
4. DNS 서버 설치. 가상화 상태로 구동되는 Windows Server 2003을 인트라넷 시스템들을 위한 DNS 서버로 구성하였다. Windows Server 2003의 DNS 서버 설정은 Windows 2000 Server에 단순하면서도 쉽게 구현이 가능하도록 마련되었다고 본다. 하지만 클라이언트에서 해당 도메인을 접미사로 붙여주지 않으면 호스트 네임으로 찾지 못하는 것은 확인을 좀 해봐야 겠다.