이번에 생각을 정리해 볼 기회가 있어서 쓴 내용인데
이 자료는 오픈소스에 대한 이해가 필요할 때 도움이 될꺼 같습니다.
해외에는 오픈소스제품이 많고 실제로 활발한 활동들이 일어나는데, 우리나라에서는 오픈소스가 힘을 쓰지 못하는 듯 보입니다. (많지는 않지만 열심히 하고있는 국내기업이나 프로젝트도 있습니다.)
오픈소스의 생태계 구성이 어떤지 한번 살펴보고, 국내에서 어떻게 해야할지 생각해 보았습니다.
IDC의 조사에 따르면 전 세계 공개SW 생태계는개발자 중심의 공개SW 프로젝트가 주도하는 시장구도를 형성하고 있으며,
이 생태계에 많은 기업들이 다양한 방식으로 참여하여(redhat, suse 등)
이러한 프로젝트형 개발 구도에 참여하여 자체 소프트웨어 경쟁력 향상에 주력하고 있는 반면,
국내의 공개SW 생태계는 대부분 소규모의 프로젝트와 공개SW 벤더들이 주도하는 시장구조를 가지고 있습니다.
Open Source Software Ecosystem 의 비교
우리나라가 공개SW 시장에서 자생력 있는 생태계를 형성하기 위해서는
공개SW프로젝트를 주도하는 세력(즉 공개SW 개발자 커뮤니티가 되겠죠)을 역량을 강화 할 필요가 있습니다.
그러기 위해서는 전세계 공개SW 생태계의 구심점이 되어있는 커뮤니티들에 대한 분석 후 국내의 커뮤니티에 활성화에
부족한 부분을 강화해야 할 것입니다.
민간 순수 커뮤니티들은 기업과 연계해서 취업 또는 판매, 기술이전 등의 기회를 넓히도록 힘써야 하며
공공차원에서는 단순히 관련과제를 선정해서 지원하는 기존의 활성화 지원보다는
국내의 공개SW 관련 커뮤니티에 대한 직접조사를 실시한 후,
현실적인 애로사항을 수집해서 해결해 나가는 것이 필요하다고 생각합니다.
CMS(Content Management System)이란,
웹사이트 구축에 필요한 웹기획자, 개발자, 디자이너의 3가지 역할 중
개발자와 디자이너의 영역을 처리해주는 SW분류를 의미합니다.
따라서 웹기획자가 의도한대로 유연하게 조정할 수 있는지, 손쉬운 관리가 가능한지 등이 중요한 검토항목이 됩니다.
CMS 주요 검토항목
네비게이션(메뉴) 관리 - 어느정도 depth의 네비게이션을 관리할 수 있는가, 관리기능은 세밀한 조정이 가능한가
콘텐츠 관리 - 작성가능한 콘텐츠의 종류는 다양한가, 모듈(컴포넌트)는 다양하게 존재하는가
스킨(테마) 관리 - 다양한 스킨이 제공되는가, 스킨은 손쉬운 편집이 가능한가
인증 - 컨텐츠 권한, 사용자 권한에 대한 세밀한 조정이 가능한가
사용자 정의 필드 - 개발자없이 원하는 필드를 추가, 삭제 할 수 있는가
사용자 정의 콘텐츠 - 개발자 없이 콘텐츠의 새로운 유형을 생성할 수 있는가
관리자 인터페이스 - 관리자에게 쉬운 인터페이스를 제공하는가
개발자라면 누구나 한번쯤 떠올려보는 SW지만, 쉬운관리와 세밀한 조정을 동시에 제공하기란 쉬운 일이 아닙니다.
CMS는 국내에서 Xe가 활발하게 사용되고 있으며, 해외에서 Drupal, Joomla 등이 활발하게 사용되고 있습니다.
이번시간에는 drupal 을 사용해서 웹사이트를 구축하는 방법을 진행해 보겠습니다.
제가 설치하는 시점에서는 6.17버전이 안정화 버전이라서 그걸 다운로드 받았습니다.
다운받은 파일을 설치할 경로에 압축해제 하시고,
http://설치도메인/install.php 를 브라우저로 호출하시면 설치단계가 시작됩니다.
저희 서버에는 modsecurity가 적용되어 있어서, 설치과정에 오류가 나네요~
구글링 해보니, Modsecurity 적용된 환경에서 Drupal 설치를 하려면
modsecurity 룰셋을 변경해 주어야 정상적으로 설치됩니다.
(Drupal 6.x, ModSecurity2 환경)
vi /etc/httpd/modsecurity.d/modsecurity_localrules.conf
Drupal 설치 전 설정을 저장할 파일과 디렉토리 권한을 조정해 줍니다
[hckim@www html]$ cp sites/default/default.settings.php sites/default/settings.php
[hckim@www html]$ chmod a+w sites/default/settings.php
[hckim@www html]$ chmod a+w sites/default
Drupal 설치 후 조정했던 권한을 변경해서 보안상 취약점을 제거합니다.
[hckim@www html]$ chmod a-w sites/default
[hckim@www html]$ chmod a-w sites/default/settings.php
기본 설치는 여기에서 끝났습니다.
설치 화면을 보시고 뭔가 마음에 안드시겠죠. 영어로된 화면하며, 복잡한 기능들..
차근차근 입맛에 맞게 설정해 가시다 보면, drupal의 유연한 기능에 놀라시게 될겁니다.
한글로 drupal을 사용하시기 위해서는 locale 모듈을 활성화하시고, 다운로드 받은 po파일을 Korean이란 항목에 import하시면 됩니다.
추가 모듈 설치
http://drupal.org/project/Modules
원하는 모듈을 다운로드해서 압축을 해제한 후 "drupal설치된 경로/modules" 안에 업로드 하세요
추가 테마 설치
http://drupal.org/project/Themes
원하는 테마를 다운로드해서 압축을 해제한 후 "drupal설치된 경로/theme" 안에 업로드 하세요
위지윅 편집기로 콘텐츠 작성을 위한 추가설치
rupal에서 사용가능한 WysiWyg 편집기는 종류가 매우 많습니다.
(htmlarea, fckeditor, ckeditor, yui editor 등)
설치하는 방법은 모듈로 설치하는 법과, wysiwyg 모듈안의 에디터코어를 추가하는 방법이 있는데
저는 모듈로 ckeditor를 설치하는 방법을 선택했습니다.
Global Options
-h, --help Displays this information
--type <js|css> Specifies the type of the input file
--charset <charset> Read the input file using <charset>
--line-break <column> Insert a line break after the specified column number
-v, --verbose Display informational messages and warnings
-o <file> Place the output into <file>. Defaults to stdout.
JavaScript Options
--nomunge Minify only, do not obfuscate
--preserve-semi Preserve all semicolons
--disable-optimizations Disable all micro optimizations
css파일과 js파일이 많은 경우에 한번씩 실행시키기 위해서..
editplus에 약간의 수정을 가했다.
다운받은 yuicompressor-2.4.2.jar 파일을 임의의 곳에 옮긴 후
(나의 경우는 아래보는것처럼 C:\xampp\yuicompressor-2.4.2.jar에 있다)
editplus 메뉴 중 도구 > 사용자도구 구성을 추가해서 아래와 같이 설정해준다.