반응형

웹폰트라 함은 굳이 포토샵을 이용해서 이미지로 홈페이지에 박아넣지 않아도 오직 텍스트로만 홈페이지를 구성할수 있게 하는 방법중 하나이다. 최근의 경우 반응형 웹, CSS3등의 발전으로 이미지의 비중은 홈페이지에서 계속해서 줄어드는 추세이다.

 

현재 새로 개발되고 있는 홈페이지들의 경우 이미지는 보통 로고, 아이콘, 배너, 일부 배경에만 사용되고 있으며 나머지 모든 페이지의 95%정도가 CSS3 및 웹폰트로 해결되고 있는 실정이다. 웹폰트는 보통 겉보기에는 이미지로 이루어진 글씨로 보이지만 드래그가 가능한 점이 있고, cufon과의 차이점은 cufon은 텍스트가 로딩된후 이를 파싱하는 방식에 드래그가 안된다는 차이점이 있다.

 

물론 페이지 로딩 성능에 따라서는 웹폰트 > cufon 이 되겠다. 웹폰트는 html,body{font-family:Web Fonts} 전체로 적용을 해도 렉이 생기지 않지만, cufon은 본문 컨텐츠 부분에 사용하게 되면 페이지 로딩에 큰 저하를 불러올수 있어 보통 소제목이나 대제목으로 사용하는 실정이다. 예전 홈페이지들의 경우 이 대제목 소제목의 경우 이미지로 일일히 저장하여 사용해왔었지만, 최근 추세로는 모두 cufon 또는 웹폰트를 채택하고 있는 실정이다.

 

그렇다면 웹폰트를 사용하려면 어떻게 해야할까. 오늘은 cufon이 아닌 웹폰트 사용법을 알아보기로 한다. cufon은 내 블로그에서 이전에 이미 올려둔 자료가 있으니 사용하려면 그 부분을 찾아보셔도 괜찮을것 같다.

 

웹폰트는 2가지 방식이 있다. 현재 IE9이상/Firefox/Chrome/Safari 등 최신 브라우져들은 .woff 웹폰트를 사용한다. 하지만 빌어먹을 이전 IE 브라우져들은 woff 를 인식하지 못한다. 고로 구글 웹폰트를 고대로 적용하게 된다면 IE8이하 브라우져에서는 처참히 깨지는 당신의 홈페이지를 볼 수 있을것이다. 물론 차후 1-3년내로 윈XP가 모두 사라지고 윈7 또는 윈8, 윈8.1 이 대다수 OS가 된다면 이 문제도 자연스레 해결되겠지만, 아직까지도 XP와 IE6-8 사용자가 존재한다는게 문제다.

 

그렇다면 ie 저버젼과 최신 브라우저들에서 내 홈페이지에 웹폰트가 잘 출력될 수 있게 하려면 어떻게 해야할까. 우선 구글에서는 css 상단에 import 하는 방법으로 제공을 하고 있다.

 

Google Web Fonts (https://www.google.com/fonts)

 

이 곳에 들어가서 보게되면 각 폰트가 리스팅되어 있으며 각 글씨체마다 See all styles 로 미리보기 기능을 제공하는것도 있지만 보통은 Quick-use 버튼뿐이다. 이 것을 클릭해보자. 구글 웹폰트를 사용하는 방법은 총 3가지다. css 로 직접 불러오거나, 이미 사용중인 레이아웃 .css 파일에 @import 시켜주는방법, 그리고 JavaScript 를 사용하여 넣어주는 방법이다. 하지만 필자가 추천하는 방법은 .css파일에 @import 해주는 것이 가장 좋은 방법이다. 왜냐면 보통 웹폰트를 전 페이지에 적용하는 경우는 드물고 일부 섹터에만 적용하는게 대부분이기 때문에, layout.css 상단에 import를 시켜놓은뒤 원하는 class나 id에 font-family:를 사용하여 적용시켜주는게 가장 좋기 때문이다.

 

만약 Vampiro One라는 글씨체를 사용하고 싶다면 CSS상단에 아래 코드를 삽입하고

@import url(http://fonts.googleapis.com/css?family=Vampiro+One);

 

title 클래스에만 적용을 시키고 싶다면

.title{

font-family: 'Vampiro One', cursive;

} 

 

이런식으로 적용을 해 볼수가 있다. 여기까지는 매우 쉽고 간편한 방법이다. 하지만, 위에서 말했듯이 이 구글웹폰트는 IE8이하 버젼에서 출력되지 않는 경우가 발생한다. 이 경우에는 해당 글씨체의 eot 파일을 구해야하는데, 보통은 구글검색으로 구할수 있다. 인터넷 세상이 매우 넓으므로.. 정말 흔치 않은 최신 글씨체의 경우 간혹 파일이 없을수도 있다. 또한 import 된 주소를 직접 인터넷창에 치고 들어가게 되면 세부 소스를 볼수 있는데, .woff 파일의 주소가 적혀있다. 이 파일을 다운받고, eot파일 역시 다운 받자.

 

그리고 위에서 상단에 @import 시킨 구문을 삭제하고 아래처럼 새로 작성한다.

@font-face{
 font-family:Vampiro;
 src:url(Vampiro.woff) format(‘woff’);
 src:url(
Vampiro.eot);
}

 

 

font-maily 의 이름을 Vampiro 로 정의하여 추가해주는 부분이다. 여기서 woff와 eot를 중복 정의해줌으로써 IE8이하 버젼에서 웹폰트가 죽어버리는 현상을 미연에 방지할수 있게 된다. 또한 이렇게 소스를 수정하게 될 경우

 

.title{

font-family: 'Vampiro One', Vampiro;

}

 

이렇게 소스를 수정해서 사용해볼수 있겠다.

 

끝.

 

 

반응형
반응형

우연히 지인분의 웹호스팅계정 이전을 해드리게 되었다. 겸사겸사 그 과정을 적어보기로한다.

서버이전의 경우 아래의 과정을 거친다. 물론 다들 아시겠지만

 

1) 기존서버에서 DB백업 / 파일백업

2) 새서버로 DB Import / 파일 업로드

 

이렇게 두가지다. 고대로 옮기면 끝이다. 거기다가 ftp,mysql의 아이디와 비밀번호까지 같다면 내부 설정을 바꿀필요가 없으니 이야말로 금상첨화다. 예외로 계정주소를 입력받아야 하는 솔루션을 쓰고있다면 그부분만 바꿔주면 된다.(aaa.hosting1.kr -> aaa.hosting2.kr 뭐 이런식으로..)

 

그렇다면 1번과정은 어떻게 해야할까.

보통은 ssh(쉘)을 사용해서 백업하는게 가장 좋다. 거기다가 최근 대다수의 웹호스팅회사들은 백업/복구를 시스템화해서 제공하고 있다. 이 기능을 사용하는것도 간편하다. 하지만 확장자를 새 웹호스팅에서 지원하지 않는 형태로 백업시켜주는곳도 있으니 직접해보는것도 경험상 좋을것 같다.

 

1. DB 백업과 복구

- 특정 데이타베이스 하나만을 백업

백업형식 : myslqdump -u DB계정명 -p 백업대상데이터베이스명 > 저장할파일명

복구형식 : mysql -u DB계정명 -p 복구할테이터베이스명 < 저장할파일명

 

# ./mysqldump -u root -p mysql > mysql.sql      //mysql 디비 백업 예

# ./mysql -u root -p mysql < ./mysql.sql           //mysql 디비 복구 예

 

2. 파일 백업과 복구

파일 백업은 tar.gz로 이를 압축한뒤 ftp로 다운받고, 그리고 새 웹호스팅 계정에 업로드 한뒤 이를 압축해제 하는 방법이 가장 간단하다.

먄약 www 라는 폴더를 압축하고 싶다면 로컬 디렉토리(/)에서

 

$tar cvzf filename.tar.gz www 로 압축을 하게되면 filename.tar.gz 라는 파일이 생긴다.

이 파일을 다운받은뒤 새 웹호스팅 계정으로 업로드를 한다. 물론 로컬 디렉토리에. 그런데 새 웹호스팅에서는 public_html 를 쓴다면

 

로컬디렉토리(/)에서 아래와 같은 명령어로 압축을 풀고

$tar xvzf filename.tar.gz

$ls

압축을 풀고나서 디렉토리 리스트를 ls 명령어로 본다면 아마도 www 폴더 하나가 생겨있고 그 안에 백업본이 올라와있을 것이다.

그다음에 폴더명을 public_html 로 바꿔주면 끝. 매우 간단한 방법이다.

 

 

 

 

반응형
반응형

카페24 웹호스팅. 간혹 본인의 개인서버가 아니라 웹호스팅 서버에 DDNS를 연결할순 없을까? 하다가

우연치 않은 기회로 네이버 Works를 쓰려고 하니 도메인MX설정을 바꾸려면 DNSEVER.com 으로 네임서버를 바꿔야해서

처음에는 바보같게도 카페24의 1차 네임서버 IP로 DDNS를 설정했다. 그랬더니 당연히도.. 접속이 안된다.

 

카페24 고객센터에 전화해보니 ddns를 쓰려면 실제 웹호스팅중인 서버 IP를 입력해서 쓰라는 답변이 돌아왔다.

그렇다면 그 ip 는 어떻게 알아낼 것인가.

 

방법은 의외로 간단하다. 카페24에서 무료로 제공하는 2차도메인으로 본인의 웹호스팅을 연결한 다음,

 

 

이렇게 핑을 날려보면 서버IP가 뜬다. 이 ip를 DDNS관리 화면에서 입력해주면 신기하게도 바로 연결이 된다.

 

 

반응형
반응형

카페24에서 웹호스팅 사용시, XE를 설치하여 쉬운설치 기능을 사용하려고 할때,

평소처럼 셋팅을 하고 나니 "msg_ftp_upload_failed" 라는 오류를 뱉으며 쉬운설치 기능이 작동하지 않았다.

그래서 여러가지 방법을 알아보고 했지만, 삽질을 꽤나 하다가 결국 해결을 했다.

 

테스트환경: XE 1.7.4

해결일자: 2014.03.07

 

카페24 홈페이지 도움말: http://help.cafe24.com/cs/cs_manual_view.php?idx=39&page=1&categoryIdx=&s_key=&s_value=&man_no=1

 

카페24 홈페이지에서도 이 부분에 대해서 기술을 하고 있긴 하지만, 여기서 빠진 부분이 없잖아 있다.

여기 웹호스팅의 보통 유저의 경로는 아이디가 user 이라면

/home/hosting_users/user/ 인데, www를 디폴트폴더로 사용한다.

 

우선 XE 설정 > FTP설정에서 아이디와 비밀번호를 입력하고 확인을 누른다면 success 라는 메시지가 뜬다.

그런데 이렇게 성공했다고 해놓고 쉬운설치에서는 정작 오류를 뱉으니 사람 미치고 환장하게 한다.

그렇다면 어느부분에 문제가 있는걸까. ?? 찾다가 찾다가 결론적인 해결방법을 먼저 적어보자면,

 

우선 저 위의 카페24 도움말은 전혀 도움이 못된다.

예전에는 카페24의 웹호스팅의 ftp 설정이 SFTP였다면, 지금은 "모든 FTP를 지원"하는 상태이다.

그러니 이미 첫단추부터 틀린말을 하고 있는 셈인데(1.5.x 버젼을 기준으로 설명하고 있는것도....)

 

1. Passive Mode 를 사용한다.

2. IP는 실제 웹호스팅 서버의 ip를 입력한다. (127.0.0.1 대신에)

3. XE를 만약 www 폴더를 로컬 폴더로 해서 설치를 했다면 경로가 "/" 라고 나와도 "/www/" 라고 수정 후 저장한다.

(1,2번만 하고 만약 저장을 해서 경로 설정 부분이 FTP설정 화면에 나오지 않는다면 /files/config/ftp.config.php 를 열어서 경로 부분을 직접 수정하고 저장하자.)

 

이렇게 3개 항목만 해줘도 쉬운설치는 잘 된다.

그렇다면 2번을 못하는 분도 계실텐데, 2번은 자신의 계정이 속해있는 서버의 IP를 찾으면 된다. 이것은 의외로 간단한데

윈도우에서 시작>실행>cmd 를 입력후 " ping 자신의아이디.cafe24.com -t " 를 해서 핑을 보내보면 IP주소가 뜬다.

물론 도메인으로 연결을 한 상태라면 " ping domain.com -t " 로 해도 된다.

 

 

반응형
반응형

div에 글을 써넣으면 '\n'이 먹히지 않는다. 그리고 같은 글자가 반복되어서 나오면("+++++++++..." 같은것)
div영역을 뚫고 나가버린다. 이를 해결하기 위해서 CSS의 white-space와 word-break를 써야한다.

white-space
줄바꿈 해주는 property로 normal, nowrap, pre, pre-line, pre-wrap이 있다.

normal은 보통의 경우로 옵션을 주지 않아도 된다.
nowrap은 줄바꿈을 하지 않는다.(div를 뚫고 나간다.)
pre는 html의 <pre>태그처럼 내부의 태그를 실행시켜주지만 이역시 줄바꿈은 하지 않는다.
pre-line은 normal + pre. 줄바꿈도 해주고 태그도 실행한다.
pre-wrap는 pre-line과 비슷 하지만 pre-line은 연속되는 공간("     ")을 한칸으로 압축하지만
             pre-wrap는 압축하지 않고 그대로 보여준다.

word-break
한단어가 길게 이어질때 자동으로 잘라주는 property이다.

normal은 자르지 않는다.
break-all은 영역을 넘어가면 무조건 자른다.
hyphenate는 영역을 넘어가더라도 단어를 유지해준다.
keep-all은 한글일 경우 띄어쓰기 기준으로 자른다.(only IE)
현재 word-break는 5대 브라우저중 FF와 Opera만 지원하지 않는다.

word-wrap
normal은 자르지 않는다.
break-word는 단어단위로 자른다.

(CSS3를 지원하는) 모든 브라우저에서 단어별로 줄바꿈하고 반복되는 단어를 자르려면(한글 제외)

white-space: pre-wrap;
word-wrap: break-word;
옵션을 추가하면 된다.

출처1:
[CSS] 텍스트 줄바꿈 처리 word-break, white-space

출처2:
pre-line과 pre-wrap 차이

출처3:
word-break와 word-wrap
반응형
반응형

XE 템플릿 구문

템플릿(template)이란 붕어빵을 만드는 틀로 비유된다. 같은 모양, 같은 크기의 객체(object)를 만들기 쉽다. 프로그래밍 언어에서 템플릿 구문은 초등학교 시절의 플라스틱 모형자를 생각하면 이해가 쉽다. 제각각 다른 모양, 다른 크기로 그려지는 삼각형도 모형자 하나만 있으면 모두들 똑같은 삼각형을 그려낸다...^^
XE코어도 대부분 PHP로 작성되는 오픈소스 프로그래밍 언어이다. 따라서 언어의 특성상 작성자 특유의 즐겨쓰는 구문이나 코딩법들이 사용될 가능성이 크다. 이것을 어떻게 일관된 규칙과 문법으로 유지시켜 나갈 수 있을까?

"XE 템플릿 구문이란, 동적 데이터의 화면 출력을 효과적으로 제어하기 위해 PHP로부터 프리젠테이션 로직을 분리한 코드이다."라고 메뉴얼은 설명한다. 프리젠테이션 로직이란 보여주기 위한 로직, 즉 화면상의 디자인 구성을 위한 로직을 일컫는 말로써, 모듈의 템플릿, 위젯, 애드온, 게시판의 스킨 등에서 사용하기 위한 조건문과 반복문(if, for, while)을 간결한 소스 코드로 분리하였다는 뜻이다. 이것은 다른 프로그래밍 언어들처럼 XE 안에서만 특별히 사용하기 때문에 XE 템플릿 문법이라 표현하고 화면에 표시할 때는 서버 측에서 다시 PHP 문법으로 해석(compile)되어 출력된다.

XE 템플릿 문법의 장점

  • 간결 - 스킨의 소스 코드를 약 절반 정도로 간결하게 줄여서 용량을 절약할 수 있다.
  • 판독 - HTML 태그에 기반하여 문법을 작성하기 때문에 조건문과 반복문의 시작과 끝을 찾기가 쉽고, 문법적 오류를 줄일 수 있다.

XE 템플릿 문법의 사용법

  • HTML 주석 <!--...-->안에 작성하는 방법. 예) <!--@if(...)-->...<!--@end-->
  • 가상의 <block> 요소 안에 작성하는 방법. 예) <block>...</block>
  • HTML 요소에 직접 작성하는 방법. 예) <p cond="조건절">...</p>
  • 주석이나 요소에 의존하지 않고 작성하는 방법. 예) {$content} 내용 변수로 데이터를 출력함.

※ 가상요소(block)란, HTML 요소의 형식을 빌려 쓰고는 있지만 제어문을 실행할 뿐 실제로 화면에 요소가 출력되지는 않는다. cond 속성도 가상의 속성으로서 조건문 역할을 한다.


XE 템플릿 문법의 이해

다음 구문은 PHP의 IF 조건문이다. PHP는 HTML 문서 안에서 HTML 태그와 혼합하여 사용할 수 없다. PHP는 서버에서만 읽고 해석하는 서버측 스크립트 언어이고 HTML은 웹브라우저에서 읽고 해석하는 마퀴업 언어이기 때문이다.

<?php
   if(조건식) {
      실행문1
   } else {
      실행문2
   }
?>

따라서 실행문의 내용이 HTML 태그를 포함한다면 실행문은 태그를 포함한 echo문으로 작성되어야 하고 다음과 같다.

<?php
   if($a=1) {
      echo "<p>조건식이 TRUE이면 실행문1이 표현된다.</p>";
   } else {
      echo "<p>그밖에는 실행문2가 표현된다.</p>";
   }
?>

만약 echo문을 사용하지 않고 PHP 구문과 HTML 구문을 분리하여 작성한다면 다음과 같다.

<?php  if($a=1) { ?>
   <p>조건식이 TRUE이면 실행문1이 표현된다.</p>
<?php } else { ?>
   <p>그밖에는 실행문2가 표현된다.</p>
<?php } ?>

그런데 위와 같이 구문을 나누고 보니 무척 복잡해 보이고 문제가 있는 경우에 오류의 원인을 찾기가 쉽지 않다. 따라서 많은 개발자들이 PHP 프로그래밍 작업에서 약식 출력(<?=...?>) 또는 짧은 태그(<?...?>)를 사용하기도 하지만 XHTML 문서에서는 이렇게 사용되는 경우 치명적인 오류가 발생한다. 따라서 HTML 태그와 구분된 PHP 코드를 HTML 주석문(<!-- -->)과 앳 기호(@)를 이용해 다음과 같이 약속해보자!!!

<!--@if($a=1)-->
   <p>조건식이 TRUE이면 실행문1이 표현된다.</p>
<!--@else-->
   <p>그밖에는 실행문2가 표현된다.</p>
<!--@end-->

이렇게 약속된 표현방법을 XE 템플릿 문법이라 말하고 HTML 주석문 안에 @ 기호를 이용해 작성된 구문은 서버에서 다시 PHP문으로 해석(compile)되어 출력되는 것이다.

결과적으로 XE 템플릿 문법은 HTML 문서 안에서 PHP 구문을 대신하여 사용하기 위한 약속된 템플릿용 언어이다. 따라서 XE의 레이아웃과 모듈의 템플릿 스킨, 게시판의 스킨 등에서 사용되는 템플릿용 구문이라고도 할 수 있으며 다른 언어에서는 사용되지 않기 때문에(배울 수 없기 때문에) 약간의 공부가 필요하다.

이와 유사한 형식의 템플릿 언어가 jQuery이다.

<script type="text/javascript">
<!--
	function sayHello() {
		document.getElementById('text1').innerHTML = '우주 정거장을 닮은 XE!';
	}
//-->
</script>

위와 같은 스크립트 블록 내부에 sayHello()라는 javascript 함수를 정의하였다면 아래의 텍스트를 클릭해 보자.

XpressEngine은...

문서 안에서 해당하는 엘리먼트를 찾아 텍스트를 바꾸어 주는 javascript 함수 구문이지만 모든 웹브라우저에서 같은 결과를 얻을 수 있다고는 말할 수 없다. 왜냐하면 브라우저마다 javascript를 동일하게 지원하지 않는다. 따라서 다양한 종류의 브라우저에서 동일한 결과를 얻기 위한 노력으로, 자기 자신 스스로가 사용할 목적의 작은 함수 라이브러리를 만들고, 직접 호주머니에 넣고 다니면서 미리 약속된 문법을 사용하여 모형자처럼 템플릿 언어로 만든 것이 jQuery이다.

// 자신이 사용할 jQuery 함수 라이브러리 파일을 원격으로 불러올 수도 있다.
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>

<script type="text/javascript">
   jQuery(function($) { // javascript가 아닌 jQuery라고 이야기 한다.
      $('#text2').click(function() { // 미리 정의된 함수 이름을 불러 선택된 엘리먼트가 해야 할 일을 가르쳐 준다.
         $('#text2').html('우주 정거장을 닮은 XE!'); // 선택자의 텍스트를 바꾼다.
      });
   });
</script>

XpressEngine은...

위에 작성한 jQuery 구문은 먼저 작성한 javascript 구문과 동일한 결과를 얻을 수 있지만 차이점은 대부분의 웹브라우저에서 같은 결과를 보여준다는 것이다. 왜냐하면 자신이 사용할 함수 라이브러리를 미리 불러 놓았고, 미리 정의된 템플릿 구문을 이용하여 문서내 엘리먼트를 찾아서 바꾼다. 이것 또한 약속된 언어이기 때문에 정의되지 않은 함수 구문을 사용할 수 없고 좀더 많은 공부가 필요하지만 동적인 웹페이지를 개발하는데 꼭 필요한 언어가 되었다.

XE 코어의 호주머니 속에는 이미 jQuery 함수 라이브러리를 가지고 있어서 별도의 라이브러리 파일을 불러올 필요가 없다. 따라서 XE에서 사용되는 레이아웃, 모듈의 템플릿, 게시판의 스킨 등에서 jQuery 함수를 마음껏 사용할 수 있는데 그러면, XE 템플릿 구문은 어떤 파일을 참조하고 있을까?
이것을 이해하기 위해 여기까지 왔다!

정답은 xe/classes/template/TemplateHandler.class.php 함수 라이브러리 파일이다. 이곳에서 XE가 사용하는 템플릿 구문이 PHP문으로 해석(compile)되어 출력되는 것이다. XE가 사용하는 함수 라이브러리 파일을 꼭 읽어보자! 그러면 XE와 좀더 가까워 질 수 있다...^^

 

출처 : http://www.xeschool.com/xe/xenote_template_syntax_expressions

반응형
반응형

[ 에러코드에대한 설명 ]
ErrorDocument 100 "100 Continue"
ErrorDocument 101 "101 Switching Protocols"
ErrorDocument 200 "200 OK"
ErrorDocument 201 "201 Created"
ErrorDocument 202 "202 Accepted"
ErrorDocument 203 "203 Non-Authoritative Information"
ErrorDocument 204 "204 No Content"
ErrorDocument 205 "205 Reset Content"
ErrorDocument 206 "206 Partial Content"
ErrorDocument 300 "300 Multiple Choices"
ErrorDocument 301 "301 Moved Permanently"
ErrorDocument 302 "302 Found"
ErrorDocument 303 "303 See Other"
ErrorDocument 304 "304 Not Modified"
ErrorDocument 305 "305 Use Proxy"
ErrorDocument 306 "306 Unused"
ErrorDocument 307 "307 Temporary Redirect"
ErrorDocument 400 "400 Bad Request"
ErrorDocument 401 "401 Unauthorized"
ErrorDocument 402 "402 Payment Required"
ErrorDocument 403 "403 Forbidden"
ErrorDocument 404 "404 Not Found"
ErrorDocument 405 "405 Method Not Allowed"
ErrorDocument 406 "406 Not Acceptable"
ErrorDocument 407 "407 Proxy Authentication Required"
ErrorDocument 408 "408 Request Timeout"
ErrorDocument 409 "409 Conflict"
ErrorDocument 410 "410 Gone" - 당신은 인증된 사용자가 아닙니다.
ErrorDocument 411 "411 Length Required"
ErrorDocument 412 "412 Precondition Failed"
ErrorDocument 413 "413 Request Entity Too Large"
ErrorDocument 414 "414 Request-URI Too Long"
ErrorDocument 415 "415 Unsupported Media Type"
ErrorDocument 416 "416 Requested Range Not Satisfiable"
ErrorDocument 417 "417 Expectation Failed"
ErrorDocument 500 "500 Internal Server Error"
ErrorDocument 501 "501 Not Implemented"
ErrorDocument 502 "502 Bad Gateway"
ErrorDocument 503 "503 Service Unavailable"
ErrorDocument 504 "504 Gateway Timeout"
ErrorDocument 505 "505 HTTP Version Not Supported"

반응형
반응형

1. add-apt-repository를 사용하기 위한 패키지 설치

 

root@sungsik81:/usr/lib# apt-get install python-software-properties

 


2. Oracle Java 설치를 위한 repository 추가

root@sungsik81:/usr/lib# add-apt-repository ppa:webupd8team/java

 


3. 추가한 repository 적용

root@sungsik81:/usr/lib# apt-get update

 


4. 원하는 버전의 자바 설치 - 6버전으로 설치

root@sungsik81:/usr/lib# apt-get install oracle-java6-installer

 


5. 설치된 자바 버전확인

root@sungsik81:/usr/lib# java -version

java version "1.6.0_43"
Java(TM) SE Runtime Environment (build 1.6.0_43-b01)
Java HotSpot(TM) 64-Bit Server VM (build 20.14-b01, mixed mode)

 


6. Tomcat 설치

root@sungsik81:/usr/lib# apt-get install tomcat7

 


7. 설치된 Tomcat 버전 확인

root@sungsik81:/usr/share/tomcat7# pwd
/usr/share/tomcat7

root@sungsik81:/usr/share/tomcat7# cd bin
root@sungsik81:/usr/share/tomcat7/bin# sh version.sh
Using CATALINA_BASE: /usr/share/tomcat7
Using CATALINA_HOME: /usr/share/tomcat7
Using CATALINA_TMPDIR: /usr/share/tomcat7/temp
Using JRE_HOME: /usr
Using CLASSPATH: /usr/share/tomcat7/bin/bootstrap.jar:/usr/share/tomcat7/bin/tomcat-juli.jar
Server version: Apache Tomcat/7.0.26
Server built: Jul 19 2012 03:21:30
Server number: 7.0.26.0
OS Name: Linux
OS Version: 3.2.0-23-generic
Architecture: amd64
JVM Version: 1.6.0_43-b01
JVM Vendor: Sun Microsystems Inc.

 


8. JAVA_HOME 설정
아래의 캡쳐된 이미지와 같이 JAVA_HOME 설정부의 주석을 해제하여, 경로를 설정함니다.

root@sungsik81:/usr/share/tomcat7/bin# vi /etc/default/tomcat7

 


9. Tomcat 서비스 실행
아래의 캡쳐된 이미지와 같이 서버를 시작요청하여, 결과를 확인한다.

 

 

 

root@sungsik81:/usr/share/tomcat7/bin# service tomcat7 start

 

 

 

 


10. 웹브라우저를 통한 서비스 동작확인

 


11. docs, example, admin 설치하기(내용추가 : 2013/03/29)
설치완료 후 http://도메인:8080 으로 각 링크 정상적인지 여부 확인

root@sungsik81:/home/polaris# apt-get install tomcat7-admin tomcat7-examples tomcat7-docs

 


12. Manager WebApp 설정하기
아래 Tomcat 설정파일을 열어준뒤, 주석을 풀고 내용을 수정한다.

root@sungsik81:/var/lib/tomcat7/conf# vi tomcat-users.xml

[기존설정내용]
<tomcat-users>
<!--
<role rolename="tomcat"/>
<role rolename="role1"/>
<user username="tomcat" password="tomcat" roles="tomcat"/>
<user username="both" password="tomcat" roles="tomcat,role1"/>
<user username="role1" password="tomcat" roles="role1"/>
-->
</tomcat-users>

[변경적용내용]
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="manager"/>
<role rolename="admin-gui"/>
<role rolename="admin-script"/>
<role rolename="admin"/>
<user username="사용할계정명" password="비밀번호"
roles="manager-gui,manager-script,manager,admin-gui,admin-script,admin"/>

 


13. Tomcat 재기동

root@sungsik81:/var/lib/tomcat7/conf# service tomcat7 restart

* Stopping Tomcat servlet engine tomcat7 [ OK ]
* Starting Tomcat servlet engine tomcat7 [ OK ]

 



14. 웹브라우저에서 정상동작여부 확인


참고 : http://gentooboy.tistory.com/226
참고 : http://webnautes.tistory.com/entry/ubuntu-JSP-%EA%B0%9C%EB%B0%9C-%ED%99%98%EA%B2%BD-%EA%B5%AC%EC%B6%95
참고 : http://stackoverflow.com/questions/11219678/apache-tomcat-installation-directory-in-ubuntu-configure-tomcat-in-eclipse-u

출처: http://busydeveloper.tistory.com/164

반응형

+ Recent posts