음.. 이건 알고 있던 내용인데 혹시나 모르는 사람들을 위해 정리합니다.

메일은 일반적으로 25번 포트에 TCP접속을 이용한다.
우리가 알고 있는 아웃룩이나 기타 메일 프로그램들은 이 과정을 보이지 않게 한 것에
지나지 않는다. 아래에 메일을 보내는 절차를 설명한다.

1. cmd 프롬프트를 연다.
2. telnet server.com 25 입력(여기서 server.com은 자신이 사용하는 메일제공자의 smtp 서버 이름이다)
3. HELO server.com 입력(HELO 대신 EHLO를 사용하기도 한다. -> SMTP의 버전에 따라 다름)
4. MAIL FROM: 메일주소(메일을 보낸 사람의 메일 주소, 예 abc@server.com)
5. "250 ok"라는 메시지를 받게 될 것이다.
6. RCPT TO: 메일주소1, 메일주소2, ... (받을 사람의 메일 주소)
7. 또다시 "250 ok" 메시지를 받게 될 것이다.
8. 메시지를 쓰기 위해서는 DATA와 엔터를 입력하고 메시지를 작성한다.
9. 메시지를 끝내려면 한 줄에 마침표(.)만을 입력하고 엔터를 누른다.
10. QUIT를 입력하여 telnet을 빠져 나온다.


반응형
Posted by She쥐포s
음 하루 1 블로그질의 일환으로 오늘도 1 블로그질을...

매일 매일 RedHat(CentOS) 관련 글을 올리기도 바쁜데 ㅎㅎ

아뭏든 네이트온을 사용하다보면 PC를 포맷하거나 PC간 이동하여 사용하다보면
귀염둥이 이모티콘들이 없어져 대략 난감한 경우가 있을 것이다. 이럴 경우 이모티콘을
백업하여두면 나중에라도 약간의 손질만 하면 기존 환경 그대로 사용할 수 있다.

일단 기존 세팅된 이모티콘 이미지의 위치는
C:\Program Files\NATEON\BIN\XXXXXXXXXX\Emoticons

프로그램을 설치한 디렉토리와 개인에 따라 내용은 다르게 보일 수 있다.
특히나 XXXX... 부분은..

본인의 이모티콘은 저 위치에 위치하며, 대화했던 상대의 이모티콘은 저 디렉토리 밑에
Temp라는 디렉토리에 또다시 이상한 디렉토리명으로 하여 저장되어 있다.
(앞으론 따로 긁어올 필요가 없겠군..)

Setting은...
1. 이모티콘 아이콘 클릭

2. 이모티콘 창의 설정 클릭

3. 새로만들기 클릭

4. 파일 찾기 및 등록할 글자 지정
반응형
Posted by She쥐포s

2008. 9. 2. 10:48 기타내용

date

음... gnu date는 한줄로 이전 이후 날짜를 구할 수 있는데...

머리가 빠개지는 것 같군...

DOS에서 date로 이전 날짜를 구하려 하니...

쉽게 쉽게 가자...

minGW로 컴파일해서...

익숙한 걸로 해야지.. 시간도 없는데...
반응형
Posted by She쥐포s

※ 본 내용은 NTP 서버 없이 1회 time sync를 할 경우에 사용하는 방법임

○ NTP 서버(2008년 4월 23일 기준)
    time.bora.net
    time.wonkwang.ac.kr

○ Time Sync
    1) Solaris
        # rdate [NTP서버]
            예) # rdate time.bora.net
    2) linux
        # rdate -s [NTP서버]
            예) # rdate -s time.bora.net
    3) windows
        i) 날짜/시간 등록정보창에서 표준시간대 선택
            - 한국이면 (GMT+09:00) 서울
        ii) cmd 창 실행
            - net time /setsntp:time.bora.net
                                       ^^^^^^^^^^^^^
                                         NTP Server

※ 참고URL
    3) : http://blog.naver.com/rdj1004?Redirect=Log&logNo=120020019727

반응형
Posted by She쥐포s

중학교시절.. "난 아직 모르잖아요"를

좋아하던 소녀를 좋아하던 학생으로서.. 참 안타깝습니다...

나름.. 음악들 받아서 듣고 있습니다...

(같잖은 것들은 받을 생각도 없으니... 고소를 하든지 말든지..)

영면을 바랍니다..

반응형
Posted by She쥐포s

2007. 11. 25. 18:49 기타내용

온라인 스도쿠

반응형
Posted by She쥐포s

o 기술적 tip과 몇몇 tool에 대한 설명
http://www.unixwiz.net/
    - http://www.unixwiz.net/techtips/
    - http://www.unixwiz.net/tools/

반응형
Posted by She쥐포s

o Developer Tutorials(각종 참고 문서와 Tip들, 영문 ㅡ.ㅡ)

http://www.developertutorials.com/

반응형
Posted by She쥐포s

apache-2.0로의 전향

필자는 지금까지 아파치를 1.3으로 사용하면서 스태틱하게
사용하기 위해서 순서에 너무 많은 신경을 썻다.
그러나 돌아보면 조금은 지나친 노력이었는지도 모른다.
이번에 httpd-2로 업그레이드 하면서 이제는 dso방식으로 설치한다.
속도면에서의 차이는 조금 날지도 모르나 관리의 입장에서
모듈의 추가 삭제와 설치의 용이점을 생각하면 큰 차이는
아닐거라고 생각한다.

아파치는 모듈화 되어있기때문이다.
그리고 센드메일을 설치하는냐 큐메일을 설치하는냐에 따라 달라지고
jsp를 연동할시 tomcat엔진으로 사용하느냐 resin으로 사용하느냐에
설치법이 약간 달라지나 기본적인 설치 방법은 같다.
먼저 여기서 내가 아파치를 설치한 순서를 짚고 넘어가려한다.

(분명히 말하지만 아피치를 먼저 설치한다는 점을 제외하고는
다른 모듈을 설치하는 순서는 자기에게 편한대로 하면 된다. dso의 장점이랄까!)

***************** 아파치 설치 순서 ***************************
1. 선행 패키지들 설치
2. 아파치 dso 설치
3. 아파치 인증서 생성
4. mod_php 설치(메일과 디비 연동)
5. zend나 php엑셀레이터 설치
6. mod_perl 설치
7. resin이나 tomcat설치 및 아파치 컨넥터 설치(jdk + jdbc설치포함)
∴ cf : mod_ssl 은 이제 아파치2에 포함되어 나오므로 따로 설치할 필요없다.
*************************************************************

**********************  아파치 연동 리스트  ****************************
  그리고 아래는 이제부터 아파치와 관련된 데몬들 필자가 연동할 리스트들이다.

  데이터베이스 서버  -  mysql, oracle, postgresql
  메일 서버          -  qmail, sendmail
  imap 서버        -  uw-imap2002, courier-imap(uw-imap2002 라이브러리도 설치)
  스크립트 언어      -  php4, tomcat, resin, mod_perl

apache + 데이터베이스 서버 + 스크립트 언어 + zend + 메일 서버 + imap 서버
***********************************************************************

여기서 사용한 소스 버전은 작업할 당시 버전이다. 지금은 조금 업데이트
되었을것이나 크게 달라질건 없는것들이다. 상위 버전을 사용하고 픈
사용자는 상위버전을 받아서 사용해도 된다.
다시 한번 말하지만 mod_ssl은 아파치2에서 기본으로 포함되었다.

아파치 설치를 위한 선행 조건
(Securing and Optimizing Linux v2.0참조)

1. SSL 암호화를 위해 openssl이 미리 깔려 있어야한다.
(mod_ssl을 이용하여 ssl 지원)

2. PHP4와 SQL데이터 베이스 연동을 위해 mysql이나 postgresql혹은
오라클이 미리 깔려있어야 한다.

3. php에서 메일 기능을 사용하려면 센드메일이나 큐메일이 설치되어있어야 한다.

4. 아파치에서 php4의 imap과 pop기능을 이용하려면 imap과 pop이 설치되어있어야한다.
( 센드메일 -> imap2002, 큐메일 -> courier-imap, imap2002[라이브러리이용] )

5. png이미지 형식을 지원하려면 libpng 패키지가 설치되어있어야한다.
6. 폰트 파일을 열거나 관리할 수 있는 freetype패키지가 설치되어 있어야 한다.
7. gif 파일을 그리는 그래픽 라이브러리인 gd가 설치되어있어야한다.
10. 아파치가 펄 프로그래밍 언어를 mod_perl 패키지가 설치되어있어야 한다.

====  rpm으로 설치할 것들  ====
libjpeg
libpng
freetype
gd
aspell
pspell
libtool-libs
bzip2                  <-- 설치되어 있지않다면 php설치시 에러가 난다.
bzip2-devel            <-- 설치되어 있지않다면 php설치시 에러가 난다.
expat                  <-- 설치되어 있지않다면 php설치시 에러가 난다.
expat-devel            <-- 설치되어 있지않다면 php설치시 에러가 난다.
compat-libstdc++    <-- cgi 실행시 필요
==============================

rpm -qa | grep 패키지명 으로 확인해서
위 목록 중 자신의 시스템에 안 깔린것이 있다면 아파치 설치전
레드햇 시디에 있는 rpm으로 설치해줘라. (rpm -Uvh 패키지명)

http://www.apache.kr.net/에서 httpd-2.0.47.tar.gz 소스를 다운로드 한다.
유닉스 버전이라는 소스를 다운 받는다.

cd /var/tmp/ <-- 소스를 이곳으로 옮긴다.

압축해제
tar xfz httpd-2.0.47.tar.gz -C /var/tmp
소스 디렉토리로 이동
cd /var/tmp/httpd-2.0.47

===== vi 소스 디렉토리 아래의 config.layout 파일을 열어서 ======
<Layout RedHat> 부분 아래에 있는 (약 117 라인부터)
    117라인의    mandir:        ${prefix}/man
    118라인의    sysconfdir:    /etc/httpd/conf
    119라인의    datadir:      /var/www
    120라인의    installbuilddir: ${datadir}/build

위의 라인들의 디렉토리들을 아래의 라인처럼 수정 --->
mandir:        ${prefix}/share/man
sysconfdir:      /etc/httpd
datadir:        /home/httpd
installbuilddir:  ${libexecdir}/build/
==========================================================

$$$$$$$$$$$$$$$$
다음 처럼 최고클라이언트(MaxClients) 접속수를 수정해준다.
큰 사이트의 경우 접속이 많을테니...(prefork 방식을 사용시)
소스 디렉토리 아래의 server/mpm/prefork/prefork.c 파일을 수정
119라인의  #define DEFAULT_SERVER_LIMIT 256 이라는 부분을
#define DEFAULT_SERVER_LIMIT 1024 으로 수정
$$$$$$$$$$$$$$$$$$

$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
나는 worker 방식을 사용할것이므로 자신에게 맞게 수정

기본으로 16개의 차일드 프로세스와 그안에 64개의 쓰레드를 생성가능하므로
16*64 = 1024 개의 쓰레드를 생성 할수있습니다.

httpd-2.0.35/server/mpm/worker/worker.c

기본적으로 생성가능한 차일드 프로세스수 조절
#define DEFAULT_SERVER_LIMIT 16
각 프로세스내에 생성 가능한 쓰레드 수 조절
#define DEFAULT_THREAD_LIMIT 64
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$

아파치 데몬 유저 추가 (www로 사용)
useradd -m -r -u 48 -s /bin/false -c "Web Server" -d /home/httpd www


아파치 프리 컨피그 컴파일 최적화 옵션및 프리픽스 정의

CFLAGS="-O2 -march=i686 -funroll-loops -fPIC"; export CFLAGS
./configure \
--enable-layout=RedHat \
--prefix=/usr \
--exec-prefix=/usr \
--bindir=/usr/bin \
--sbindir=/usr/sbin \
--mandir=/usr/share/man \
--sysconfdir=/etc/httpd \
--includedir=/usr/include/apache \
--libexecdir=/usr/lib/apache \
--datadir=/home/httpd \
--localstatedir=/var \
--enable-access=shared \
--enable-actions=shared \
--enable-alias=shared \
--enable-auth=shared \              <--- 인증 지원
--enable-auth-dbm=shared \        <--- db 인증 지원
--enable-auth-digest=shared \      <--- 인증 창 지원
--enable-autoindex=shared \        <--- index 파일 지원
--enable-cern-meta=shared \
--enable-cgi=shared \              <--- cgi를 지원
--enable-dav=shared \
--enable-dav-fs=shared \
--enable-dir=shared \
--enable-env=shared \
--enable-expires=shared \
--enable-file-cache=shared \
--enable-headers=shared \
--enable-include=shared \
--enable-log-config=shared \
--enable-mime=shared \
--enable-mime-magic=shared \
--enable-negotiation=shared \
--enable-rewrite=shared \
--enable-setenvif=shared \
--enable-speling=shared \
--enable-ssl=shared \          <--- ssl 지원(mod_ssl 포함)
--enable-unique-id=shared \
--enable-usertrack=shared \
--enable-vhost-alias=shared \  <--- 가상 호스트 지원
--disable-auth-anon \
--disable-charset-lite \
--disable-disk-cache \
--disable-mem-cache \
--disable-cache \
--disable-deflate \
--disable-ext-filter \
--disable-case-filter \
--disable-case-filter-in \
--disable-example \
--disable-proxy \            <--- 아파치 프락시 비활성
--disable-proxy-connect \
--disable-proxy-ftp \
--disable-proxy-http \
--enable-status=shared \    <--- 아파치 상태 보는 기능
--disable-asis \
--disable-info \
--disable-suexec \
--disable-cgid \
--disable-imap \
--enable-userdir=shared \    <--- 사용자 디렉토리 지원
--with-z \
--with-ssl \
--with-mpm=worker        <--- 멀티 프로세싱 방식
(prefork 방식보다 worker방식이 뛰어남)
perfork = 전통적인 아파치 프로세서 방식
worker = 쓰레드 방식(멀티 프로세싱 모듈 멀티 스레드, 멀티 프로세서 지원)

make    <-- 컴파일을 한다.
find /* > /root/httpd1

make install  <-- 실제 시스템에 설치

퍼미션 및 소유권 조정
strip /usr/sbin/httpd
chmod 0511 /usr/sbin/httpd
strip -R .comment /usr/lib/apache/*.so

다음과 같은 내용으로 /etc/logrotate.d/httpd 로그 순환파일을 만든다.
--------------------
/var/log/httpd/access_log {
    missingok
    postrotate
        /usr/bin/killall -HUP httpd
    endscript
}

/var/log/httpd/error_log {
    missingok
    postrotate
        /usr/bin/killall -HUP httpd
    endscript
}

/var/log/httpd/ssl_request_log {
    missingok
    postrotate
        /usr/bin/killall -HUP httpd
    endscript
}
-------------------------------
vi로 /etc/logrotate.d/httpd 파일을 열어서. 수정
자신이 사용할 로그파일명으로 바꿔줘라.
가상 사이트도 여러개 있다면 그 사이트의 로그파일명으로
로테이트될 대상을 몇개 더 추가해주는것도 잊지 말기를 바란다.

아래의 한라인의 내용으로 /etc/sysconfig/httpd 파일을 작성한다.
OPTIONS="-DSSL"

시작 스크립트를 첨부파일에서 /etc/rc.d/init.d/로 복사한다.
httpd 시작스크립트 파일이다.
chkconfig --add httpd
chkconfig --level 345 httpd on

find /* > /root/httpd2
나는 ssl을 지원하는 것까지 하고 싶다.
만약 ssl을 지원하기 싫다면 그냥 설치를 똑같이 하고
나중에 ssl을 지원하는 아파치 설정에서 주석만 처리하고 써면 될것이다.
먼저 인증서를 만들어야한다.

echo "#### www over ssl ####"

인증서 생성을 위한 랜덤 파일 생성
cd /usr/share/ssl
cp /var/log/boot.log /usr/share/ssl/random1
cp /var/log/cron /usr/share/ssl/random2
cp /var/log/dmesg /usr/share/ssl/random3
cp /var/log/messages /usr/share/ssl/random4
cp /var/log/secure /usr/share/ssl/random5

서버키를 랜덤파일들을 이용하여 암호화 하여 생성
openssl genrsa -rand random1:random2:random3:random4:random5 -out www.key 1024

인증 요구서를 생성.
openssl req -new -key www.key -out www.csr
나의 서버키를 가지고 인증요구서를 만든다.
이것을 ca서버(자신의 셀프ca서버)로 복사한다.
한대로 ca서버와 아파치를 구성할경우는
그냥 복사할 필요없다.

/usr/share/ssl/misc/sign www.csr
이렇게 셀프 ca가 인증하려하면 셀프 ca의 패스워드를 묻는다.
처음에 openssl설치시 사용한 셀프 ca의 패스워드를 넣어준다.
이로서 인증요청서를 이용하여 아파치의 인증서를 생성했다.
이제 인증 요청서는 필요없으니 삭제한다. 그리고 랜덤 파일도 삭제.

인증파일의 소유권고 퍼미션 조정
mv www.key private/
mv www.crt certs/
chmod 400 private/www.key
chmod 400 certs/www.crt
chown www.www private/www.key
chown www.www certs/www.crt
rm -rf www.csr
rm -f random1 random2 random3 random4 random5

각 실행 파일 퍼미션 조정
chmod 511 /usr/sbin/httpd
chmod 700 /etc/httpd/conf
chmod 700 /var/log/httpd
chmod 711 /home/httpd
chmod 750 /usr/bin/dbmmanage

/usr/sbin/dbmmanage /etc/httpd/dbmpasswd adduser admin
앞에서 dbpasswd를 사용해서 유저를 하나 추가하였다.(시스템 계정이 아니다)
이부분은 자신의 사이트에서 일반 사용자들에게는 보여주지
않고 숨길 사이트를 지정하는것이다. 즉 보안 페이지 설정이다.
주소에서 이 페이지아래에 있는 것으로 접속하게 되면.
require user부분에 정의된 유저명과 패스워드를 질의하게 되어있다.
(주로 성인사이트에서 많이 볼 수 잇다. ^^;)

만약 이 유저의 패스워드를 변경시는
dbmmanage /etc/httpd/dbmpasswd update vitro

그리고 설정파일에서 해당 디렉토리에 대한 접근 설정을 하라.

echo "##### httpd.conf 파일에서 접근 제한을 위한 설정 ######
-------------  apache 2 dbmpasswd setting  ------------
<Directory "/home/vitro/admin">
    Options None
    AllowOverride AuthConfig
    AuthDBMType DB
    AuthType Basic
    AuthName "제한된 페이지입니다"
    AuthDBMUserFile /etc/httpd/dbmpasswd
    Require valid-user
</Directory>
-------------------------------------------------------

아파치 서버 재시동
/etc/rc.d/init.d/httpd restart

출처] vitro.pe.kr

반응형
Posted by She쥐포s
이전버튼 1 이전버튼

블로그 이미지
She쥐포s
Yesterday
Today
Total

달력

 « |  » 2024.12
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31

최근에 올라온 글

최근에 달린 댓글

글 보관함