반응형

웹호스팅 환경을 구축하기 위해서는 DNS 서버를 구축해야 하나
사용자 계정을 이용한 JSP서버까지만 구축할 생각이다.
http://ip/~account 식의 도메인이 될것이다.

1. user 생성과 아파치 설정 변경
-- /etc/skel 은 유저 생성시 유저홈에 기본적으로 생성되는 뼈대 디렉토리와 파일 생성..
# cd /etc/skel
# mkdir public_html
# mkdir public_html/WEB-INF
# vi public_html/index.jsp
<HTML>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<title>GUDA'S SERVER</title>
</head>

 <BODY>
  <h1><h1><% out.print("Welcom GUDA'S SERVER"); %></h1><br /></h1>
  <h1> http://www.pmguda.com <br /></h1>
  <h1> ganziguda@gmail.com<br /></h1>

 </BODY>
</HTML>
2. 사용자 계정 생성 및 비번 설정
# useradd guda
# passwd guda
Changing password for user guda.
New UNIX password:
BAD PASSWORD: it is too short
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
# chmod -R 755 /home/guda
# cd /home/guda/public_html/
# cp index.jsp index.html
# vi index.php
<?='this is test'?>

3. 아파치에서 사용자계정을 사용해서 사용자 디렉토리에 접근할수 있도록 설정
--Include문앞에 주석을 제거한다.

# vi /usr/local/apache2/conf/httpd.conf

Include conf/extra/httpd-userdir.conf


4. 아파치 서버를 재시작한다.
# /usr/local/apache2/bin/httpd -k restart

각 파일들을 웹브라우져로 요청해 보면 php 파일은 정상적으로 출력되는데


jsp, html 파일은 찾지 못하는 것을 볼수가 있다.

PHP 소스를 읽는 것은 httpd.conf 에서
#JkMount /* loadbalancer  이렇게 주석처리 해줫기 때문이다.

5. jsp와 html을 정상적으로 읽도록 하기 위해서는 /usr/local/tomcat/conf/server.xml 을 수정
# vi /usr/local/tomcat/conf/server.xml

 <Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true"
            xmlValidation="false" xmlNamespaceAware="false"> 
     
<Context path="/~guda" docBase="/home/guda/public_html" debug="0" reloadable="true" />

        <!-- SingleSignOn valve, share authentication between web applications
             Documentation at: /docs/config/valve.html -->
        <!--
        <Valve className="org.apache.catalina.authenticator.SingleSignOn" />
        -->

        <!-- Access log processes all example.
             Documentation at: /docs/config/valve.html -->
        <!--
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log." suffix=".txt" pattern="common" resolveHosts="false"/>
        -->

      </Host>
    </Engine>
  </Service>
</Server>


6. 서버를 재시작 하고 확인
# /usr/local/apache2/bin/httpd -k restart
# /usr/local/tomcat/bin/catalina.sh stop
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:       /usr/local/jdk
# /usr/local/tomcat/bin/catalina.sh start
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:       /usr/local/jdk

--jsp 파일은 정상 출력되지만 html코드내의 <% %> jsp 코드는 먹히지 않는다.



위에 페이지는 정상적으로 잘 뜨나 한글이 깨니는 것을 볼수 있다.
일단 JSP에서 한글이 깨져 나오는 것은 인코딩 문제이다. 파일 상단에 이렇게 넣어주자.
<%@ page contentType="text/html;charset=utf-8" pageEncoding="utf-8" %>
리눅스 서버 자체가 utf-8로 저장을 하니 utf-8로 불러와서 utf-8로 뿌려주게 하면 된다.

이제 오라클 연동 테스트를 하다보면 DB에서 값을 불러오는데 한글이 깨진다.
Character Set이 맞지 않아서 생긴 문제이다.
일단 오라클에 접속해 다음과 같이 변경해 주고 오라클을 재시작 하도록 하자.

update props$ set VALUE$='KO16KSC5601' where name='NLS_CHARACTERSET';

그리고 앞서 아파치 오라클 연동시 설정해줬던 밑 부분에
# vi /usr/local/apache2/bin/envvars

export ORACLE_HOME=/oracle/11g
export ORACLE_SID=oracle
LD_LIBRARY_PATH="/usr/local/httpd/lib:$LD_LIBRARY_PATH"
export LD_LIBRARY_PATH
--이 아랫부분에 추가해 주도록 하자.
export NLS_LANG=KOREAN_KOREA.KO16KSC5601

이로써 글자가 깨지는 문제는 해결이 될것이다.

그리고 여기까지만 서버 셋팅을 하도록 하겠다. 도메인을 주고 사용자 계정에 도메인을 붙이는
작업도 있지만 DNS 서버를 구축할 예정이 없기 때문에 여기서 완료하도록 하겠다.
글을 작성하면서 수정해야 할 부분이 있거나 안되거나 추가할 부분이 있으면 댓글을 달아주는 센스!!
블로그에 글 하나 작성하는데 너무나 많은 시간이 걸리는것 같다. ㅠㅠ


+ Recent posts