프로그래밍/기타

집에 웹서버 설치해서, 미디어위키로 홈페이지 만들기

산을좋아한라쯔 2014. 10. 2. 11:44
반응형

위키 스타일이 좋다. 지식을 정리하고, 그것을 다시 보는 것이.

 

이렇게 생각만하고 있었는데, 문득 홈페이지를 만들고, 연관분석같은걸 응용한 프로그램이 돌아가는 홈페이지를 구축하려고, 유료로 웹호스팅을 하는 업체들을 찾아보고 있다가, 생각이 들었다.

  "집에 놀고있는 컴퓨터를 이용해서, (다시) 집에다 홈페이지를 구축해버릴까?"

처음에 구축하는 귀찮음만 감내하면, 내 맘대로 프로그램도 설치해서 돌릴 수 있을거란 생각이 든다.

만드는 김에, 미디어위키를 깔아서, 위키스타일로 홈페이지를 만들자...어차피, 지식들을 쌓아놓는것이 주 목적일테니깐...

 

해야될 것들은 무엇일까? 좀 생각해보자...

 

1. 컴퓨터 : 계속 틀어놔야하므로, 부피도 적게 차지하면서, 모니터 없는 것으로...

2. 네트웍: iptime을 공유기로 쓰고 있는데, 웹서버용 네트웍으로 쓰이려면 약간의 세팅고, 유동IP를 찾아갈 수 있게하는 외부서비스도 이용...

3. OS: 윈도우즈가 나을가? 아니면 리눅스로?  윈도우즈가 익숙하긴 한데..

4. 소프트웨어

    - 웹서버 소프트웨어: 아파치로 깔면 될거 같다.

    - 미디어위키: MediaWiki를 깔아서, 위키스타일로 지식을 정리하자...

 

위 고려사항들에 대해서 하나씩 상세히 생각해보면서 결정하자.

 

1. 컴퓨터

집에서 주로 할일없이 놀고있는 세컨PC가 다행히 아래처럼 자그마한 녀석이어서, 이걸 그대로 사용하자. 하드가 SSD 64기가여서 좀 부족할 듯하긴 하지만...뭐, 부족하면 128G나 256G로 늘리지 머.. 

 

 

홈웹서버용으로 새롭게 PC를 장만해야한다면, (나는) 아래와 같이 할 것이다.

(내가 애용하는 컴퓨터부품가게인 www.hacker.co.kr 기준으로 작성. 2014.10.2일 기준)

 

전체 295,400원

조립의뢰비(2만원) + 배송비(5천원)까지 합하면 약 32만원 정도 소요될 듯하다.

 

구성을 보면 알겠지만, 모니터가 없어서 싸게 느껴지는 거고, 케이스는 완전 작은거. CPU는 좀 성능 떨어지는거, 대신에 하드디스크는 SSD로 !!!

오히려 이렇게 구성하면, 좋은 CPU에 일반하드디스크 쓰는 것보다 약100배는 더 빠르게 느껴질거임(체감속도)

메인보드도 그럭저럭(게임을 할게 아니기 땜에, 그래픽카드 좋은거 안써도 되서 가격 다운)

 

2. 네트웍

인터넷망으로 KT를 사용하고 있고, ipTIME의 N604를 공유기로 사용하고 있다.

 

대략 구성은 위 그림과 같다.

벽에서 직접 나오는 인터넷라인이 두 개인데, 하나는 TV로, 하나는 유무선공유기로.

공유기와 웹서버는 유선으로 연결할 것이도, 집에서 쓰는 다른 노트북 및 데스크탑은 전부 무선으로.

 

ipTime공유기에 유선 혹은 무선으로 연결된 기기는 모두 192.168.0 으로 시작되는 IP 어드레드스를 갖는다. 예를들어, 무선으로 연결되는 노트북은 192.168.0.15이고, 유선으로 연결되는 웹서버는 192.168.0.10, 공유기 자체 어드레스는 192.168.0.1

 

외부 네트워크에서 웹서버를 접근하려면, 공유기의 '포트포워드 설정'을 해야한다.

(웹서버 PC를 설치하고, 웹서버 프로그램으로 아파치를 다 설치하고나서, 이 네트웍설정을 하면 됨)

 

*포트포워드 설정 방법

  • 공유기에 유선랜으로 연결된 PC에서, 인터넷 익스플로러를 실행하고, 주소란에 192.168.0.0 을 치면, 공유기 설정화면이 나온다.
  • 설정화면에서, [관리도구 > 고급설정 > NAT/라우터관리 > 포트포워드 설정] 메뉴로 들어간다.
    • 정의된 리스트: HTTP
    • 규칙이름: http
    • 내부 IP주소: 192.168.0.10
    • 프로토콜: TCP
    • 외부포트:80~    내부포트:80~
  • 위와같이 설정하고, "추가" 버튼 클릭
  • [기본설정 > 시스템 요약 정보] 메뉴를 보면, 외부IP주소를 볼 수 있다. 외부에서 이  IP주소를 치고 들어오면, 웹서버로 연결될 것임.

3. OS

일반적으로 웹서버를 안정적으로 돌릴려면 윈도우보다는 리눅스라는 것이 정설이다.

그치만 윈도우7 기반으로 설치해보고자 한다. 고민하고 결정내린 이유는 다음과 같다.

  • 하드 용량이 60기가라서, OS가 차지하는 용량이 좀 작아야하겠다. 근데, 리눅스로 우분투를 까는 경우도 결코 적지않은 용량을 할당해야한다. 둘 다 약20기가는 필요할 듯. 해서, 용량부분에서는 둘 다 똑같은 점수
  • 안정성: 리눅스가 좀 더 안정적이라고 하는데, 윈7도 뻑나는걸 잘 못봤다.(XP의 경우는 많이 봤어도...) 그래도, 안정성면에서는 리눅스가 아주 쪼금 Plus
  • 사용성: 사람 손이 안닿는, 잘 안보이는 곳에다 웹서버를 위치시킬 것이고, 모니터 연결을 안할 것이기에, 관리를 위해서는 원격접속을 해야한다. 근데, 집에서 사용하고 있는 다른 PC가 윈7기반이니깐, 웹서버로 리눅스는 쫌 문제가 있을 듯 한다. (윈7의 원격데스크톱으로 접속 가능하다고는 하는데, 매끄럽지는 않은 듯 하다.) 그리고 아무래도 리눅스보다는 윈도우가 나에게는 편하다.(이미 길들여져 버린...)

사용성 부분에서, 그냥 윈7으로 하기로 결정해 버렸다.!!

(호환성 부분은, 웹서버로 사용할 아파치 프로그램이나, MySQL, 미디어위키 등이 모두 리눅스와 윈도우즈를 지원해서, 문제되지 않을 듯)

 

윈7에서의 원격 데스트톱 연결기능은 아래사이트 참조

 - 윈도우 공식페이지 설명: http://windows.microsoft.com/ko-kr/windows7/products/features/remote-desktop-connection

 - 설정 등 상세사항: http://ccami.tistory.com/13

                           http://ccami.tistory.com/58

 

4. 소프트웨어

웹서버로는, 별 고민없이, 아파치를 깔면 될 듯하다. (설치버전은 미디어위키와 호환 가능한 버전으로 선택해야할 듯)

 

홈페이지형식은 위키 스타일로. 그러기 위해서는 미디어위키를 깔자

미디어위키 설치를 위해 필요한 소프트웨어들은, 미디어위키 + 아파치 + PHP + MySQL이다.

 

위 사항들을 종합해보면 깔아야할 소프웨어는 아래와 같다.

  • Java Runtime: V1.7  -> 한 단계 하위버전(최신은 1.8)
  • MySQL: V5.6 -> 최신
  • 아파치 : V2.4  -> 최신 (윈도우즈용 최신은 2.2이지만, 2.4를 수동설치 하자) 
  • PHP: V5.6  -> 최신
  • 미디어위키: V1.23.5  -> 최신

 

하나씩 깔자

 

Step1. Java Runtime 설치

아파치를 사용하기 위해서는 Java Runtime이 설치되어 있어야 한다.

설치방법

  •  jre-7u65-windows-i586.exe
  • 설치폴더를 c:\server\java\jre7 으로 변경  -> 홈 웹서버용 프로그램들을 모두 c:\server라는 폴더에 설치 예정
  • 설치 완료된 후에, 환경변수인 path의 제일 앞쪽에 c:\server\java\jre7\bin 추가
    컴퓨터 > 속성 > 고급 시스템 설정 > 환경변수
  • 콘솔 창에서 java -version 을 쳐서, java version이 1.7.0_65 나온면 OK
    [실행 > cmd ]해서 나온 콘솔 창에서

 

C:\Users\rhaoslikesan>java -version
java version "1.7.0_65"
Java(TM) SE Runtime Environment (build 1.7.0_65-b19)
Java HotSpot(TM) Client VM (build 24.65-b04, mixed mode, sharing)

 

 

 

Step2: MySQL 설치

최신 버전인 5.6을 설치하기로 하자

  • 다운로드 사이트: http://www.mysql.com/downloads/
    • 페이지 하단부에 잇는 "Community (GPL) Downloads " 선택
    • 가장 첫번 째 항목인 "MySQL Community Server(GPL)" 선택
    • 아래편에 있는  "Windows (x86, 64-bit), MySQL Installer MSI " 옆에 있는 'Download' 클릭
    • 아래편에 있는 "Windows (x86, Windows (x86, 32-bit), MSI Installer 5.6.21 287.0M)" 옆에 잇는 'Download' 클릭 
    • 가장 아래쪽에 있는 "No thanks, just start my download." 클릭
    • mysql-installer-community-5.6.21.1.msi 293,856KB 파일이 다운로드 됨

MySQL 퀵 설치가이드

1. 설치파일을 다운로드 한다. (mysql-installer-community-5.6.21.1.msi )

2. 설치파일 실행

   - [License Agreement] 화면: 라이센스에 동의한다고 체크하고 Next

   - [Choosing s Setup Type] 화면: 디폴트로 선택된 'Developer Default' 선택된 것을 그대로 놔두고 Next

   - [Check Requirements] 화면: 요구되는 게 있으면 'Execute'버튼을 눌러서 자동 설치되길 기다린다. 다 되면 Next
                                            자동 설치 실패하면, 그 기능을 안쓸거냐고 물어보는데, 안쓰겠다고하고 하고 그냥 Next

   - [Installation] 화면: 그냥 Execute

   - [Product Configuration] 화면: 그냥 Next

   - [Type and Networking] 화면: 아래처럼 세팅된거 확인하고 Next

       Config Type: Server Machine (만약 개발용으로 쓸 거면, Development Machine 선택)

       TCP/IP Port Number: 3306

   - [Accounts and Roles] 화면: password 입력하고 Next 

   - [Windows Service] 화면: 설정된 내용 확인하고 Next

       Windows Service Name: MySQL56

   - [Apply Server Configuration] 화면: Execute

   - [Connect To Server] 화면: Check 버튼을 눌러서 동작되는 지 확인 -> "Connection succesful" 이 나오면 됨

   - [Apply Server Configuration] 화면: Execute버튼 누른 후, Finish버튼 눌러서 설치 끝.

    - 그 이후 화면은 전부 Next

 

MySQL을 실행해 보려면 다음과 같이 해본다.

  • 시작 > 모든 프로그램 > MySQL > MySQL Server 5.6 > The MYSQL Command Line Shell을 실행하고, 설치할 때 설정했던 비밀번호를 입력해서 실행해 본다.
  • "Welcome to ..." 메시지가 나오고, mysql> 커서가 나오면 OK

 

Step3: 아파치 설치

웹페이지와 JSP만을 쓸거면 아파치톰캣을 까는게 속편하지만, PHP를 이용한 미디어위키가 주된 목적이므로, 우선 아파치를 깔아서 PHP를 연동시킨 후, 나중에 JSP 쓸 필요가 있을 때 톰캣을 깔자.

  • 다운로드 사이트: http://www.apachelounge.com/download/
             ==> 아파치 홈이 아닌, 꼭!!!  위 사이트에서 다운 받는다. (다 설치 후, 미디어위키에서 MySQL용 PHP드라이버를 못 찾을 수 있다.
  • 다운로드된 파일: httpd-2.4.10-win32-VC11.zip 11,938KB

아파치 퀵 설치 가이드 (Java Runtime은 미리 설치되어 있어야 함)

1. 전제 조건

   - Java Runtime이 미리 설치되어 있어야함

   - 아파치 압축파일(zip) 다운로드 완료

2. 다운로드한 httpd-2.4.10-win32-VC11.zip을 압축 풀어서, C:\Apache24폴더에 넣자

    - 압축파일을 C:\에 압축해제하면, 자동으로 C:\Apache24에다 풀릴것임

       ==> 폴더명을 바꾸면 귀찮아진다. 수정하지 말것 

3. 윈도우즈 실행창을 실행해서 아래 명령 실행

   cd C:\Apache24\bin

   httpd -k install

   httpd -k start

 

   ServerName관련 warning이 뜰 것이지만, 무시해도 됨

 

* httpd -k install 실행중에 다음과 같은 문제 발생할 수 있다.

  - "컴퓨터에 MSVCR110.dll이(가) 없어 프로그램을 시작할 수 없습니다...."

      ==> "Visual C++ 11.0 재배포 패키지" 를 깔아준다. (다운로드 사이트: http://support2.microsoft.com/kb/2019667 )

  - "Failed to open th WinNT service manager, perhaps you forgot to log in as Adminstrator"

      ==> 명령창(cmd.exe)이 관리자권한으로 열려지지 않아서 발생한 것임. 관리자 모드로 실행해준다.

            . 왼쪽 하단부 '프로그램' 아이콘을 누른 후, '프로그램 및 파일검색'칸에 "cmd"라고 치고,

            . cmd라고 쳤을 때 위쪽으로 생성되는 메뉴들에서, 제일 위쪽에 있는 cmd.exe를 마우스 우클릭

            . 마우스 우클릭해서 나온 메뉴에서, "관리자 권하으로 실행"

 

4. 테스트

  - 탐색기에서 http://localhost 쳣을 때, It's Work 글자 나오면 OK

 

아파치 웹서버의 시작/종료/재시작/재설치 명령은 다음과 같다.

httpd -k start

httpd - k stop

 

httpd -k restart

httpd -k reinstall

 

* 이클립스와 톰캣을 연동하면서 JSP페이지를 개발하기는, http://dkatlf900.tistory.com/67 참조

 

Step4: PHP 설치

2014.10.2일 기준 최신버전은 5.6.1

 

  • 다운로드 사이트: http://windows.php.net/download/
    V11 x86 Thread Safe의 Zip파일 다운로드한다.
    (반드시 Thread Safe용으로 다운로드 해야함. 그래야 php5apache2_4.dll 있음)

PHP 퀵 설치가이드

1. 설치파일을 다운로드한다.

2. 다운로드한 것을 c:\PHP 폴더에 압축해제 (약46.3MB)

    (압축파일을 압축해제한 후, 그 폴더명을 PHP로 바꾼 후, 폴더전체를 c:\로 옮기는게 편하다)

* php.ini파일의 수정은 다음 스텝인 Step5에서 설명

 

 

Step5: 아파치-PHP-MySQL 연동을 위한 세팅 수정

1. 아파치의 httpd.conf 수정

   C:\Apache24\conf\httpd.conf 파일을 텍스트에티터로 열어서,

   - 제일 마지막 부분에(혹은 아무데나 상관없음), 아래내용 입력

   LoadModule php5_module "C:/PHP/php5apache2_4.dll"
   AddHandler application/x-httpd-php .php
   PHPIniDir C:/PHP  

 

   - DirectoryIndex를 찾아서, 그 부분을 아래와 같이 수정

DirectoryIndex index.php index.html

 

* httpd.conf 파일내 Syntax설정 문법이 제대로 되었는지 확인방법(오타가 있는지 확인)

명령행 프롬프트를 열고 아파치 설치 디렉토리로 이동한 뒤에 "httpd -t"  명령어를 실행. 이 명령어를 실행했을 때 Syntax OK 가 출력되면 설정이 올바르게 된 것.


c:\>cd apache24\bin

c:\Apache24\bin> httpd -t

Syntax OK


 

2. PHP의 php.ini 수정

   C:\PHP\php.ini 파일을 텍스트에디터로 열어서,

   - extension_dir 항목을 찾아서, 아래와 같이 수정

     --> c:\PHP\ext 처럼 디렉토리경로 전부를 적어주도록. 안그러면 MediaWiki에서 에러날 수 있음

   extendion_dir = "C:\PHP\ext"

 

   - 아래 3개의 항목을 찾아서, 아래 내용으로 수정 (momory_limit 등 항목은 이미 존재하고 있음)

   memory_limit = 256M
   post_max_size = 128M
   upload_max_filesize = 128M

 

   - 주석처리(;)되어 있는 아래항목들을 찾아서, 주석 표시인 ; 제거

   extension=c:/php/ext/php_curl.dll
   extension=c:/php/ext/php_gd2.dll
   extension=c:/php/ext/php_intl.dll
   extension=c:/php/ext/php_mbstring.dll
   extension=c:/php/ext/php_mysqli.dll
   extension=c:/php/ext/php_openssl.dll
   extension=c:/php/ext/php_soap.dll
   extension=c:/php/ext/php_xmlrpc.dll

 

  - php.ini 수정이 완료되었으면, 저장

 

  - 아파치 재시작

     C:\Apache24\bin> httpd - k restart

 

   - 아래내용으로 test.php파일을 만들어서(텍스트 파일), C:\Apache24\htdocs\ 안에 넣는다.

     <?php

        phpinfo();

     ?>

 

   - 인터넷 익스플로러에서 http://localhost/test.php 를 쳤을 때, PHP에 대한 정보가 테이블 형태로 주욱 나오면 OK

 

Step 6. 미디어위키 설치

미디어위키 설치 퀵 가이드

1. JDK, 아파치, PHP, MySQL이 이미 설치되어 있다.

2. 미디어위키 설치파일을 다운로드해서, 압축해제한다.

3. 폴더명을 wiki 로 바꾸고, c:\Apche24\htdocs\ 안에 wiki폴더 전체를 넣는다.

4. 인터넷익스플로러 주소란에 http://localhost/wiki/index.php 쳐본다. 노란꽃 보이면 OK

5. "complete the installation"을 눌러서, 미디어위키 세팅이 자동으로 진행되게 한다.
    - 눌렀을 때, 에러가 나오면, 해결해야 함. Warning들은 무시   

 

미디어위키 페이지세팅에 대한 것은 아래사이트 참조

http://www.se.or.kr/9

 

 

반응형

'프로그래밍 > 기타' 카테고리의 다른 글

gcc 주요 옵션 설명  (0) 2016.11.25
Make, Makefile 사용법 요약  (0) 2016.11.23