웹서버를 처음 구축하려고 합니다.

heisenjoy의 이미지

동료들과 지금까지 모아놓은 자료를 공유하기위해 웹서버를 구축하게 되었습니다.

처음해보는 분야인지라 이것저것 조사해본 결과

Linux, Apache, JSP(톰캣), Oracle

로 서버를 구축하는게 괜찮겠다고 판단했습니다.

Linux는 전부터 다뤄보고 싶었고, 그렇기때문에 Apache를 선택하게 되었습니다.

어느 Linux를 사용할지는 정하지 않았으나 우분투 혹은 레드햇 중의 하나로 할 생각입니다.

우분투는 사용하기에 편하다는 평을 들었고, 레드햇은 서버 구축 도중에 막히게 될 경우 일단 국내 자료가 많을 것이라 판단하여 쉽게 도움을 얻기위해 고려하였습니다.

JSP(톰캣)을 선택한 이유는 막연히 JSP를 다뤄보고싶기 때문입니다.(참고로 PHP또한 다룰줄 모릅니다.)

Oracle은 가장 유명한 DBMS 중 하나로 알고있어 다뤄보고싶습니다.

정식 라이선스를 구입할 생각은 없기때문에 문제될 것은 없다고 판단했습니다.(라이선스 유무에 기능적 차이는 없다고 알고 있습니다.)

하지만 리눅스로 서버를 구축할 경우 대부분 APM으로 한다는 것을 뒤늦게 알게되어 혹시 저가 길을 잘못든 것은 아닐지 우려되기에 이렇게 글을 올리게 되었습니다.

데이터량은 100~150GB 정도로 예상하고 있습니다.(중복자료가 있어 정확한 크기를 가늠하지 못했습니다.)

7~10명 정도의 인원이 각자 자료를 올리고, 내려받고, 공유하고, 의견을 교환하고, 이렇게 모인 자료 중에서 원하는 자료를 쉽게 얻을 수 있도록 검색할 수 있는 공간을 만드는 것이 목적입니다.
(최종적으로는 구축한 웹서버 보안에 관해서도 관리할 생각입니다.)

내일 도서관에서 우분투(다행이도 검색결과 우분투에 관한 서적이 있었습니다.), 레드햇, JSP, PHP, Oracle, MySQL에 관한 책을 빌려서 좀 더 자세히 조사할 계획입니다.

저 혼자 하는 것은 아니고 3명이서 파트별로 나눠서 작업할 계획입니다.

저희가 바른 길로 갈 수 있도록 의견 달아주시면 감사하겠습니다.

시간도 늦었는데 이만 줄이겠습니다. 감사합니다.

pogusm의 이미지

APM - Apache, PHP, MySQL 을 많이 쓰는건 설치/운영이 쉽고 배우기도 쉽고.. 그래서 그냥 많이 쓰는거 아닐까요?

PHP를 JSP로 바꾸고, MySQL을 Oracle로 바꾼다고 해서 문제가 될리는 없을겁니다.

오히려 php보단 jsp가 웹서버 보안에 더 유리할 수도 있고
DB 성능도 MySQL보단 Oracle이 더 낫지 않을까요?
mysql이 oracle에 비해 무조건 나쁜건 아니지만(각자 장단점이 있겠지만)
어쨌든 heisenjoy님께서 운영하려는 (아마도) 소규모 사이트에서는 mysql이든 oracle이든 성능때문에 문제가 될거 같지는 않습니다.

그리고 레드햇으로 공부를 해두면, 나중에 웹호스팅등을 이용할때도 같은 환경이라서 편할거라고 생각합니다.
레드햇이나 우분투나 똑같은 리눅스이긴 하지만... 미묘하게 차이가 있어서 익숙하지 않을경우 좀 당황하게 됩니다.
(참고로 저는 레드햇 클론인 CentOS를 사용합니다)

heisenjoy의 이미지

답변 감사합니다.
pogusm님 덕분에 부담감이 줄었다고나 할까... 마음이 한결 가벼워졌습니다.
일단은 JSP/PHP, Oracle/MySQL 각각 살펴보고 결정 내리도록 하겠습니다.
좋은 하루 되세요^^

세벌의 이미지

postgresql을 써 보시는 건 어떨까요? Oracle은 비용이 좀 부담될거고... MySQL이 많이 쓰이고 있긴 한데 MySQL쪽 라이센스가 요상하게 바뀐 듯해서...

heisenjoy의 이미지

아무래도 첫 도전이다보니 일반적으로 사용되는 APM으로 방향을 정했습니다.
(Oracle을 사용하려고 했던것은 저희가 비영리 목적이고 유명한 DB기에 그렇게 했었습니다.)
일단은 1~2주내로 인트라넷에서 동작가능하도록 하는게 목적입니다.
MySQL에 익숙해지고 어느정도 자리가 잡힌다면 postgresql쪽으로도 한번 알아보도록 하겠습니다. 감사합니다.

ftwinkle의 이미지

크게 볼수 있는 부분이
호스팅, 서버(하드웨어), OS(운영체제), DBMS, AP Server, Framework&OpenSource, Language(ASP, JSP, PHP)...

1. 호스팅
사내에서만 사용할 계획이라면 내부에서 운영해도되고요...
IDC에 서버를 임대/구매/기존서버 입주를 하거나
호스팅업체(cafe24 등)에 가입하여 서비스 받을수도 있습니다.

비용측면 : IDC(트레픽비용+서버입주공간or임대비용) > 호스팅(호스팅비용) > 사내(전기세) 운영이 되겠네요.

2. 운영체제
크게 Window Server 와 Linux로 나뉘겠습니다...
Window Server의 경우 ASP or ASP .NET 을 할경우 울며 겨자먹기로 선택.
리눅스의 경우 크게 페도라계열과 데비안계열이 있습니다...(리눅스도 이것저것 너무 많아서요...)
Fedora 계열 : [CentOS], Redhat, [Fedora], [SuLinux] 등등
데비안 계열 : [Ubuntu], 데비안 등등
가장 큰 차이는 패키지 설치시에 데비안 계열은 apt-get... Fedora계열은 yum을 씁니다 그담에 rpm설치및 소스코드 컴파일은 방식은 큰차이가 없었던듯...
기업체에서 많이 쓰는게 CentOS 개인이 많이 쓰는게 Ubuntu 인거 같습니다.
일단 저같은 경우는 현재 Ubuntu(회사에서 개인용으로 사용중), SuLinux(회사 대부분 서버), CentOS(회사 스토리지) 이렇게 사용중입니다.
개인적으로는 SuLinux를 추천드립니다... 웹서버 운영에 맞게 기본적인 세팅이 되어있고 패키기가 설치 되어있거든요...
- Linux 책으로 리눅스 서버 실무 바이블 3.0을 추천드립니다... 박성수 저...

3. DBMS(Oracle, MS-SQL, MySQL, CUBRID ...)
Oracle : 업계 1위... 비영리 목적으로 학습용으로만 사용한다면 Express Edition 설치해서 무료로 이용가능
MS-SQL : 상용서버 사용시 Oracle 다음으로 많이 사용(쇼핑몰, ASP 사용하는 중소 사이트들...) 이것역시 학습용으로 사용한다면 Express Edition 무료로 이용가능합니다.(인터페이스쪽이 쫌 편함...)
MySQL : 무료인지라 커뮤니티 사이트에서 많이 사용합니다... Oracle에서 인수했지요...
CUBRID : 국내 네이버에서 큐브리드라는 DB업체를 인수하여 무료로 제공하고 있습니다... 여러가지 문제가 있긴하지만 국내에서 사용하는 추세가 꾸준히 늘어나고 있습니다...(XE에서 이용)
우선 어디에 쓰실지와 나중에 확장성 고려해서 선택하라고 말씀 드리고 싶네요... 그리고 가장 중요한게 관리 툴과 안정성, 트렌젹션 사용유무가 되겠네요...
추가적으로 굉장히 중요한 자료이고 DB가 절때 죽으면 안된다고 판단되시면 요즘 화두가 되는 HA(High Availability) 구성여부도 고려해보세요...
비영리 목적이시라면 개인적으로는 MySQL > CUBRID or Oracle > MS-SQL 순으로 추천드립니다...
MySQL을 1순위로 추천드린 이유는 여러 오픈소스들이 MySQL 기반으로 많기 때문입니다...(레드마인, 위키, 그누보드 등등등)
차후 기업 솔루션 운영및 개발과 학습목적 및 DBA 목표시라면 Oracle 추천드리고요...

아 그리고 툴로는 기본 제공하는거 쓰시거나 My같은경우 WorkBench, MySQL for Toad, phpMyAdmin... 오라클은 기본 제공되는거나 Toad 쓰시면 되고요...
MS야 그냥 MS-SQL 쓰면되고 큐브리드 쪽에서 제공하는 메니저 외에는 없으니까요...

4. AP Server(WAS)
JSP 계열 : [Tomcat, JBoss,] Resine, WebLogic, WebSphere, Jeus
PHP 계열 : Apache, IIS, lighttpd, nginex
ASP(.NET) 계열 : IIS
이건 뭐 언어에 종속적으로 선택해야 하겠지만...
앞단에 Apache(+PHP Module)설치하고 뒷단에 Tomcat or JBoss 연동하시는걸 추천드립니다.
이렇게 구성할경우 PHP, JSP 둘다 사용이 가능합니다...

5. Framework & OpenSource(꼭 써야 되는건 아닌지만 웹개발 하실거라면 한번쯤 써보시는걸 추천드립니다...)
기존 자료를 정리한다면 Wiki 들설치해야 할테고...
게시판운영할꺼면... 그누보드 XE 등등등
Framework의 경우
JSP 계열 : Spring, Struts...(전자정부표준프레임워크 찾아보시면 도움될겁니다...)
PHP 계열 : ZendFramework, codeigniter, cakephp, yii
ASP 계열 : .NET(고를필요 없어서 참 편합니다... IDE 제공도 다되고...)

6. Language
JSP : Java 기반으로 엔터프라이즈 솔루션에서 많이 사용하고 차후에 Android나 Java 개발자로 전향이 가능합니다...
PHP : C언어 기반 C언어 C++ 하시던 분이라면 JSP 보다 학습하기가 쉽습니다... 4버젼대와 5버젼대가 차이가 쫌 납니다...
ASP : VB언어... 셋중에 어떻게보면 학습하기는 가장 쉽습니다... .NET으로 넘어가면 C# 이 되겠습니다...

7. 기타...
HTML : XHTML, DHTML, HTML5 등이 있겠습니다... DOM
CSS : CSS2 -> CSS3 (스타일 시트 디자인관련인데 개발자도 어느정도 쓸줄 알아야되겠습니다...)
Javascript : 이것도 어느정도 할줄 아셔야 한다는...(프레임웤으로 jQuery, prototype, yui, dojo 가 있겠습니다...), Ajax
XML : 나중에 SOAP나 WebService, MeshUp, OpenAPI 등 보시면... 반드시 필요...
JSON...

8. 결론
음 어떤게 가장 좋다라고 결정 내려 드릴수는 없고요 전체적인 구성은 목적, 일정, 팀구성원에 따라서 틀려지겠습니다...
그냥 쟤 개인적으로 추천 가능한 몇가지 구성을 말씀 드리겠습니다.

8-1. ASP
.NET 까지 하시는걸 추천 드리고요...
Windows Server - MS-SQL(My, Oracle) - IIS(+PHP) - ASP .NET
아 그리고 추가적으로 밑에꺼 네이버에서 검색해서 받으신다음에 실행해 보세요... 설치 안해도 구성보면 좋습니다...(하루정도 투자하시면 안에 구성물들이 뭐하는건지 찾아보실수 있을거예요...)
Microsoft Web Platform Instller

8-2 JSP + PHP
SuLinux - MySQL(Oracle, CUBRID) - Apache - Tomcat(JBoss) - PHP&JSP (사용 프레임웤 Spring MVC)
앞단에 Apache(+PHP모듈) 뒷단에는 Tomcat 이 되겠습니다... jk mod 쓰시면 됩니다...

마지막으로 책 추천 해 드리겠습니다....
LINUX : 리눅스 서버관리 실무 바이블 v3.0 (리눅스 서버운영 레퍼런스북...)
PHP : 성공적인 웹 프로그래밍 PHP와 MySQL
HTML&CSS : Head First HTML with CSS & XHTML
JSP : Head First Servlets & JSP
ASP .NET : 프로 ASP.NET MVC 프레임워크
Spring : 토비의 스프링 3, 스프링 3 레시피
JQuery : 실전 jQuery 쿡북
JavaScript : 자바스크립트 완벽 가이드
XML : Beginning XML
서버 및 웹서비스 구성 기본지식 : 대규모 서비스를 지탱하는 기술, 24시간 365일 서버/인프라를 지탱하는 기술, 웹 개발자를 위한 웹을 지탱하는 기술, 구글을 지탱하는 기술

여기서 추가적으로 더 추천드리면너무 많을꺼 같아서 여기서 끝내겠습니다...

heisenjoy의 이미지

답글을 늦게보아 빌려올 책은 빌려왔고, 결국 AMP로 가기로 정했습니다.
CentOS 1권
Apache 1권
PHP 3권
MySQL 1권
이렇게 빌렸습니다. PHP 책 중에는 추천해주신 'Head First 시리즈'도 있고 '뇌를 자극하는 시리즈'도 있습니다.
지금 지식이 부족하여 코앞도 보기 힘든데, 견문을 넓혀 주셔서 감사합니다.

Mr. 하늘의 이미지

혹시 확장성등을 고려한다면 오라클 RDBMS의 라이센스 정책을 유심히 살펴보시는것이 좋습니다.
재미있게 프로젝트 진행하시기 바랍니다!

heisenjoy의 이미지

네 알겠습니다.
일단은 MySQL을 사용하기로 정했으나 꼭 한번 Oracle도 사용해보고 싶기에 참고토록 하겠습니다^^

junilove의 이미지

협업 및 자료 공유를 위한 솔류션을 직접 만들려고 하시나 보네요.
Wiki나 Project Management 솔류션도 한번 알아보세요.

heisenjoy의 이미지

감사합니다. 참고하도록 하겠습니다^^

junilove의 이미지

상용으로는 JIRA(프로젝트관리), Confluence(Wiki), 오픈으로는 Trac, Redmine 등이 많이 쓰이구요.
다음 링크를 참조하셔도 될듯합니다.
http://mastersinprojectmanagement.org/top-25-open-source-project-management-apps.html
http://www.cyberciti.biz/tips/open-source-project-management-software.html
http://php.opensourcecms.com/scripts/show.php?catid=4&category=Groupware