티스토리

써브 개발
검색하기

블로그 홈

써브 개발

servedev.tistory.com/m

부동산써브 개발자 블로그

구독자
0
방명록 방문하기

주요 글 목록

  • certbot renew 실패 오류 - apache plugin 관련 무료 인증서 letsencrypt 관리 프로그램 certbot 설치하기 letsencrypt 를 설치(dnf install letsencrypt) 후 기존 사용하던 인증서를 복사해서renew(certbot renew) 를 해 봤을때, 실패가 나면서 아래와 같은 오류 메세지가 있다면, "The requested apache plugin does not appear to be installed" certbot 실행에 필요한 apache plugin이 없다는 것이다.certbot 관련 plugin은 letsencrypt를 설치 후 확인해 보면,[root@sv]# yum list installed | grep certbot certbot.noarch                        1.11.0-2.el.. 공감수 0 댓글수 0 2025. 4. 3.
  • linux 서버에서 메일 보내기 관련 설치 프로그램 postfix 와 mailx 가 필요하다.설치 되어 있지 않다면, 설치해 준다. 설치 확인#dnf list installed | grep postfixpostfix.x86_64                              2:3.5.8-7.el8                               @baseos# dnf list installed | grep mailx mailx.x86_64                                12.5-29.el8                                 @baseos  검색 결과가 나오지 않았다면, 설치해 줘야 한다. #dnf install -y postfix mailx  설치가 완료되면, 필요한 작업을 한다.나의 경우,서버.. 공감수 0 댓글수 0 2025. 4. 2.
  • php-fpm 설정시 html php 확장자 관련 에러 해결 하기 php-fpm 사용시 html, php 확장자 사용 관련 수정 사항/etc/httpd/conf.d/php.conf 에서      html|phar)$>         SetHandler application/x-httpd-php                    # Enable http authorization headers       SetEnvIfNoCase ^Authorization$ "(.+)" HTTP_AUTHORIZATION=$1       html|phar)$>           SetHandler "proxy:unix:/run/php-fpm/www.sock|fcgi://localhost"                두 부분에 html 확장자 추가 추가로, php-fpm 관련 www... 공감수 1 댓글수 1 2025. 4. 2.
  • Rokey linux 8에서 모니터링 zabbix-agent 설치하기 Rokey linux 8에서 모니터링 zabbix-agent 설치하기   Rokey linux 8에서 zabbix는dnf install 이나, yum install 로 바로 설치 되지 않는다.레포지토리 관련한 이슈가 있다고 한다.(자세한건 잘 모름) 그래서, 우선 레포지토리 관련되는 rpm 먼전 설치하고 진행해야 한다.아래 진행 순서 기록해 둔다. [root@svr ~]# rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/8/x86_64/zabbix-release-6.0-4.el8.noarch.rpmhttps://repo.zabbix.com/zabbix/6.0/rhel/8/x86_64/zabbix-release-6.0-4.el8.noarch.rpm(을)를 복구합니다 .. 공감수 0 댓글수 0 2025. 4. 2.
  • Rokey linux 8에서 ssh 접근 제어하기 Rokey linux 8 이상 사용시  이전 centos 7버젼까지 사용하던  hosts.deny, hosts.allow가 보안상 사용 제외 되었다고 한다. 대신, firewalld 와 iptables를 사용해야 한다는데... 이러면, 개별 서버별로 포트관리나, ip별 접근 제어를 해야 해서 복잡하게 되었다. 업그레이드 해서 좋았는데.. 이런 어려움이 있네. 공부해야 하겠다. 어려운 부분은 서버 관리업체에 맏기고, 이전에 하던거 처럼 ssh에 대한 접근 제어만 해보도록 하자. firewalld, iptables 사용 없이 ssh의 설정을 통해서 한다. /etc/ssh/sshd_config 파일에서 AllowUsers, DenyUsers, AllowHosts, DenyHosts 를 이용해 적절히 설정하면 .. 공감수 0 댓글수 0 2025. 4. 2.
  • [linux]apache 실행 실패 - 오류 No space left .. 관련 apache 웹서버가 죽었다....... 콘솔에서 상태 확인 후 재시작을 했는데도 안된다.... apache 재작시 아래와 같은 메세지가 나왔다. [~]# service httpd status httpd is stopped [~]# service httpd start Starting httpd: [FAILED] [~]# service httpd stop Stopping httpd: [ OK ] [~]# service httpd status httpd is stopped 오류 내용으로 구글 검색을 해보니, 여러 경우에 대한 내용이 나왔고, 그 중 웹로그 error log도 확인을 해보라는 내용이 있어 확인 해보니, [~]# cat /var/log/httpd/error_log [Mon Apr 15 10:31.. 공감수 0 댓글수 0 2024. 4. 15.
  • rsync failed to connect 발생시 확인 rsync를 이용해서 백업 스케줄을 진행하고 있는 상태에서 로그를 확인해보니, 일부 스케줄에 오류가 있었다. 로그는 아래와 같았다. [root@svr151 rsync]# tail rsync_123_daara.log-20240411 2024/04/11 00:00:01 [21879] rsync: failed to connect to 192.168.0.123: Connection refused (111) 2024/04/11 00:00:01 [21879] rsync error: error in socket IO (code 10) at clientserver.c(124) [receiver=3.0.6] 위와 같은 오류 발생시 source 서버쪽에 rsyncd 데몬이 실행되고 있는지 확인 필요하다 [root@svr1.. 공감수 0 댓글수 0 2024. 4. 11.
  • apache ssl 적용할때 mod_ssl.so 관련 에러 이슈 아파치(apache) 웹서버에서 ssl 설정을 하려고 할 때, vhost 설정후 httpd -t 로 syntax 테스트를 해보면 오류 메세지가 나올때가 있다. [root@ㅁㅁ]# httpd -t httpd: Syntax error on line 221 of /etc/httpd/conf/httpd.conf: Syntax error on line 12 of /etc/httpd/conf.d/ssl.conf: Cannot load /etc/httpd/modules/mod_ssl.so into server: /etc/httpd/modules/mod_ssl.so: cannot open shared object file: No such file or directory [root@ㅁㅁ]# whereis mod_ssl... 공감수 0 댓글수 0 2024. 2. 23.
  • letsencrypt wildcard 인증서 자동 갱신 실패 이슈 letsencrypt wildcard 인증서 자동 갱신 실패 이슈 멀티 서브 도메인의 ssl인증서를 한번에 적용하는 인증서가 wildcard(*) 인증서다. 유료로 신청해서 사용할 수 있지만, 무료 letsencrypt 로도 발급 받을 수 있다. 다만, wildcard 인증서는 자동 갱신시 오류가 발생된다. #certbot renew Processing /etc/letsencrypt/renewal/aaabbb.com.conf - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Cert is due for renewal, auto-renewing... Could not choose appropriate plugin:.. 공감수 0 댓글수 0 2024. 2. 23.
  • letsencrypt 와일드카드(Wildcard) 인증서 생성하기 우선 와일드카드(Wildcard) 인증서가 뭔지 보자. 구글에서 "와일드카드 인증서"라고 검색해보면 아래와 같은 내용이 나온다. 와일드카드(Wildcard) 인증서란, 도메인(FQDN) 의 하위 서브 도메인 호스트에 대해서 무제한 적용할수 있는 SSL 인증서 타입 입니다. 최근에 SSL 인증서 발급 약 40% 선이 Wildcard SSL 인증서로 발급이 되고 있으며, 이는 그만큼 효용성이 높다는 것을 증명합니다. 이 와일드카드 인증서를 생성하기 위해서는 SSL인증서 발급기관에 의뢰하게 되면 대충 10만원 이상의 비용이 발생한다. 하지만, letsencrypt를 이용하면 무료로 발급할 수 있다. 다만, 3개월에 한번씩 갱신해줘야 하는 단점이 있지만.. 이도 자동으로 갱신 설정을 해놓으면 된다. 이제 let.. 공감수 0 댓글수 0 2023. 12. 8.
  • 리눅스 x윈도우 환경 설정하기 - xset 리눅스 설치 후 x윈도우 사용시 x윈도우에 대한 콘솔 설정하기 명령어 : xset - x-window 환경에 대한 옵션을 설정한다 리눅스 데스크탑 설치후 스크린세이버, 절전모드를 비활성화하기 위해서 gui관리 메뉴를 통해 설정을 했지만 제대로 적용되지 않았다. 구글링을 해보니 xset 이라는 명령어를 통해 간단히 설정 할 수 있었다. * screensaver off 하기 [root@localhost ~]# xset s off * 절전모드 중지하기 [root@localhost ~]# xset -dpms * 현재 설정되어 있는 x윈도우 환경 보기 [root@localhost ~]# xset -q 참고1 : xset 설정 (tistory.com) xset 설정 xset SYNOPSISxset ← prompt .. 공감수 0 댓글수 0 2023. 9. 25.
  • 업로드 디렉토리 php 실행 방지하기 apache 서버로 파일서버 운영하면서 업로드 디렉토리에 원치 않는 php, html 등과 같은 실행파일이 올라가는 경우가 있다 이럴 경우, 특정 디렉토리를 제외한 모든 업로드 디렉토리에서 php가 실행 되지 않게 해야 할 경우 "php_admin_flag engine off" 를 이용해 주면 된다. 이 옵션을 httpd.conf에 설정해 여러 vhost에 동일하게 적용할 수 있다. 또는 특정 VirtualHost 부분에만 추가해서 적용도 가능하다. php_admin_flag engine off php 코드가 실행되지 않게 하려면 위와 같은 코드를 httpd.conf에 추가해 주면 된다. 이때, 특정 디렉토리는 php 실행을 허용해야 한다면, php_admin_flag engine on 와 같이 해주면 .. 공감수 0 댓글수 0 2023. 7. 28.
  • certbot 갱신 실패 - apache plugin 오류 인증서 갱신일이 얼마 안남았다고 인증서 생성시 지정한 메일로 알림 메일을 받았다. 자동으로 갱신하도록 크론탭에 작성을 해놨었는데.... 수동으로 확인을 해보니.. 아래와 같은 내용이 출력되며 갱신 실패. [root@kidd ~]# /usr/bin/certbot renew Saving debug log to /var/log/letsencrypt/letsencrypt.log - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Processing /etc/letsencrypt/renewal/AAAA.co.kr.conf - - - - - - - - - - - - - - - - - - - - - - - - - - - - -.. 공감수 0 댓글수 0 2022. 12. 19.
  • 특정IP가 아닌 user-agent 네이밍(이름)으로 접속이 많은 경우 차단하기 1. 접속하는 user-agent를 확인하다. - 로그 기록을 combined 로 변경해 user-agent가 기록 되게 수정 - 로그 체크해서 user-agent를 확인한다. - http.conf 를수정한다. SetEnvIfNoCase User-Agent "^amazonaws" bad_bot SetEnvIfNoCase User-Agent "^amazonaws.com" bad_bot SetEnvIfNoCase User-Agent "^compute-1.amazonaws.com" bad_bot SetEnvIfNoCase User-Agent "^BUbiNG" bad_bot SetEnvIfNoCase User-Agent "^MJ12bot" bad_bot Options FollowSymLinks AllowOver.. 공감수 0 댓글수 0 2022. 7. 19.
  • letsencrypt ssl인증서 갱신, 생성 오류 사례 신규 인증서 생성시 아래와 같은 오류 발생 대처 에러1 ------------------------- Starting new HTTPS connection (1): acme-v02.api.letsencrypt.org An unexpected error occurred: TypeError: __str__ returned non-string (type Error) Please see the logfiles in /var/log/letsencrypt for more details. 해결 ------------------------- pip install urllib3==1.26.7 pip install requests==2.11.1 에러2 -------------------------- Starting new.. 공감수 3 댓글수 1 2021. 11. 28.
  • apache 웹서버 재시작(restart)가 안된다 우씨~ apache(httpd)가 갑자기 실행이 안된다...... 별로 한것도 없는데.. [root@test119 ~]# systemctl start httpd Job for httpd.service failed because the control process exited with error code. See "systemctl status httpd.service" and "journalctl -xe" for details. [root@test119 ~]# systemctl status httpd ● httpd.service - The Apache HTTP Server Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor pre.. 공감수 3 댓글수 2 2021. 11. 28.
  • letsencrypt 인증서 다른서버로 복사하기 letsencrypt 인증서 생성 후 서버를 이전 또는 이중화 하는 경우가 있을것이다. 이때 기존 생성한 인증서를 복사한 방법은 아래와 같다. 우선 인증서가 설치된 위치로 이동한다. cd /etc/letsencrypt 이동 후 하위의 디렉토리들을 확인하고, 하위 디렉토리중 인증서 정보, 설정 정보, 갱신정보가 있는 "archarchive", "live", "renewal", "renewal-hooks" 를 복사한다. 이때, 특정 도메인만 하겠다고 하면 해당 도메인 인증서만 복사한다. 두번째로 기존 인증서에 사용하는 계정정보(account)를 확인해 둔다. 이 부분이 중요한데, 다른서버에서 계정정보가 다르기 때문에 타겟 서버에 이동후 인증서 파일정보에 있는 계정을 타켓서버에 맞게 변경을 해줘야 한다. 타겟.. 공감수 0 댓글수 0 2021. 4. 16.
  • letsencrypt ssl인증서 만료 갱신 오류 해결 - webroot 관련 ssl인증서는 최근 웹서비스에서는 필요불가결한 서비스이다. 여러 웹서비스를 운영할 경우 상당히 많은 부분에 ssl 인증서가 필요하다 보니 비용 문제에 직면하게 된다. 그래서, 무료로 사용이 가능한 letsencrypt 인증서를 많이들 사용하는데.... 잘만 관리해주면 상당히 괞찮은 ssl 적용 방법이라고 생각된다. 다만, 가끔씩 갱신이 잘 안된다거나, 갱신 오류가 발생하기도 하는데... 오늘은 아래와 같은 오류에 대해서 해결하는 방법을 공유해 본다. letsencrypt ssl 인증서 갱신하기 우선, 인증서를 적용하는 도메인을 aaaa.bbbb.kr 이라고 가정하고.. 리눅스 크론탭(crontab)에 통해 매달 2일정도 갱신을 시도하도록 스케줄링을 적용해 놓았다. # letsencrypt renew 00.. 공감수 1 댓글수 0 2019. 9. 19.
  • notepad++ 이용중에 sftp 인증 오류 날때 notepad++ 이용중에 sftp 인증 오류 날때. 잘 사용하던 notepad++ 에서 sftp로그인중 갑자기 접근 인증 오류가 발생해 난감할때가 있다. 이는 어떤 이유에선지 모르겠지만, 호스트키(host key)정보가 잘못 저장되어 일어나는 경우로 보인다. 해결하는 방법은 C:\Users\사용자계정\AppData\Roaming\Notepad++\plugins\config\NppFTP 부분으로 이동해서 known_hosts 파일을 찾아 에디터로 열어서 sftp 접속 문제가 발생하는 서버의 호스트(IP)를 찾아 지운 후 저장하고, notepad++을 다시 접속해서 사용하면 된다. 난감할때가 있긴한데, 알고 보면 간단하다. 또한, notepad++의 sftp정보의 백업도 간단하다. 위 디렉토리에 있는 Np.. 공감수 0 댓글수 0 2019. 5. 2.
  • 영문 Putty 설치후 한글이 깨져서 보일때 영문 Putty 설치후 한글이 깨져서 보일때가 있다. 이때, Putty 설정에서 character set을 변경해주면 되는데...여기에 cp949가 없을 경우가 있다. cp949가 Putty "Window > Translation"에서 보이지 않을경우 레지스트리를 수정해주면 되는데. "[HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\Sessions\저장된세션이름"에서 LineCodePage 와 FontCharSet 을 변경해주면 된다. 1. FontCharset을 클릭하여 16진수 선택하고 81 을 입력해준다. 2. LineCodePage 클릭후 cp949를 입력해준다. 위와 같이 레지스트리 변경후 EUC-KR 서버에 SSH로 원격 접속을 해보면 한글 입출력이 잘된다. .. 공감수 0 댓글수 0 2014. 5. 15.
  • [리눅스 명령어] 폴더별 사용량보기 du 특정 디렉토리에서 하부디렉토리까지 포함한 디스크의 사용량을 보여준다. [사용법] du [Option] [Files] * Option -a : 디렉토리에 있는 파일 하나하나의 크기를 출력한다. -s : 총 사용량만 표시한다. (간단하게 전체 용량을 확인할 때는 단순하게 이 옵션을 쓰자.) du -s -k : KiloByte 단위로 표시한다. -h : 용량을 사람이 보기 가장 좋게 표시한다. [예제] 'du -a' : 현재 디렉토리의 디스크 사용량을 파일단위로 모두 출력한다. 'du -s *' : 현재 디렉토리의 첫번째 단계까지만 디스크의 사용량을 출력한다. 'du -h --max-depth=0 *' 와 동일 'du -h --max-depth=1 ' --max-depth=1 에서 마지막의 숫자는 폴더의.. 공감수 0 댓글수 1 2011. 8. 5.
  • [리눅스] 서버 명령어 모음 adduser [계정이름] : 계정생성 passwd [계정이름] : 해당계정의 비번변경 userdel -r [계정이름] : 계정삭제 및 계정의 파일폴더 모두 삭제(-r) w : 현재 사용중인 사용자 last : 최근 이용한 접속자 ll : 전체폴더구조 보기 ls : 폴더구조 간단히 보기 ls -al : 숨긴파일 까지 다 보기 ls [디렉토리명] : 해당 디렉토리보기 ls [파일명 또는 일부] : 해당되는 파일만 보여주기 cd : 디렉토리 이동 chmod 755 [디렉토리] : 파일권한변경 (내꺼, 같은그룹, 전체) mkdir [디렉토리] : 디렉토리생성 mkdir -p a/b : a디렉토리 생성후 하위에 b디렉토리 생성 rm [파일명] : 파일삭제 rmdir [디렉토리명] : 디렉토리삭제 (파일존재시 삭.. 공감수 0 댓글수 0 2011. 8. 5.
  • [linux 명령어]여러 파일 권한 한번에 바꾸기 여러파일 권한 바꾸기 find ./ -type f -name 파일명 -exec chmod 777 {} \; find 디렉토리시작위치 -type 타입구분(f=팡일 ,d=directory) -name 파일명 -exec chmod 권한 {} \; 위 명령을 이용하면, 디렉토리시작위치에서 하위에 있는 모든 디렉토리에 포함된 파일을 한번에 권한 설정을 해줄수 있다. 공감수 0 댓글수 0 2011. 6. 9.
  • SSL 인증서를 도메인 별로 신청해야 하나요? SSL인증서는 SSL서버가 돌아가는 웹사이트 주소별로 받는 것이 원칙입니다. 예를들어, www.a.com, secure.a.com 두 사이트에 SSL 서버를 설치하면 두개의 인증서를 신청해야 합니다. 그러나, 인증서의 신청은 여러분 회사의 SSL서비스 정책에 따라 달라집니다. 실제 SSL통신이 필요한 부분은 회원가입, 로그인, 정보수정, 전자상거래, 금융거래 개인정보 열람 등의 중요한 정보가 노출되는 부분이라고 할 수 있습니다. 일반적인 웹사이트 전체에 SSL 암호통신을 하다보면, 암호화된 데이터의 암호 복호화 시에 많은 서버부하를 주게 됩니다. 따라서, 일반적으로 특정 서버에 위의 중요한 데이터 통신 부분에 대한 웹서버에만 SSL통신(https)을 서비스하고, 그 이후는 일반 웹통신(http)을 하도록.. 공감수 0 댓글수 1 2009. 10. 23.
  • 트랜잭션 복제중에 'sp_replcmds'을 실행할 수 없습니다. 라는 오류 발생할때. 트랜잭션 복제중에 'sp_replcmds'를 실행할수 없다는 오류가 발생해다. (오류 번호 : 18759) 일단 뭔 내용인지 몰라서, help를 뒤져 sp_replcmds가 뭔지 부터 확인했다. sp_replcmds 설명 내용중에 보면, "텍스트 포인터가 같은 트랜잭션에서 검색되지 않아 sp_replcmds가 텍스트 명령을 복제할 수 없는 경우에는 경고 메시지 18759번이 Microsoft® SQL Server™ 오류 로그 및 Microsoft Windows® 응용 프로그램 로그에 모두 추가됩니다." 라는 오류 18759에 대한 내용이 있다. 이것을 참고로 해서 텍스트 포인터를 확인해 주는 textvalid()함수를 이용해서 , 복제중에 오류를 발생시키고 있는 table의 text, ntext, ima.. 공감수 0 댓글수 0 2009. 8. 20.
  • 복제 - 복제필드중 text, ntext, varchar(max), image 등에 대한 복제 문제 해결 복제를 구성하다보면, text, image 필드 같이 큰값을 게시 해야 하는 경우가 있는데, 이경우 insert, update, writetext 또는 updatetext작업이 구성된 제한값을 초과해서 아래와 같은 오류를 발생시키기도 한다. 해결 방법은 서버 구성 정보 중에 "max text repl size" 매개 변수를 재설정해주면된다. 1. sp_configure 로 서버 구성확인 2. "max text repl size" 수정. EXEC sp_configure 'max text repl size', 2147483647 Go RECONFIGURE WITH OVERRIDE Go 공감수 0 댓글수 0 2009. 2. 4.
  • 터미널서버 클라이언트 액세스 라이센스 문제. 서버 셋팅후 특별한 조정이 없었다면, 서버 운영도중 터미널서버 접속시 아래와 같은 경고문구를 만나기도 한다. "이 컴퓨터에 대해 사용 가능한 터미널 서버 클라이언트 액세스 라이센스가 없으므로 원격 연결이 끊어졌습니다." 이럴 경우, 아래와 같이 해주면, 해결된다. 관리도구 > 터미널서버 구성 > 서버설정 > 라이센스 의 값을 "사용자단위"로 변경을 해주면된다. 공감수 0 댓글수 0 2009. 1. 28.
  • [웹서버 - IIS6]application pool 재시작하기 iis6에 있는 응용프로그램 관리에서도 재시작에 대한 옵션을 사용할수 있다. 그러나, 가끔씩은 그 작업이 재대로 수행되지 않아서, 어플리게이션풀이 죽어 싸이트가 죽어있는경우가 있다. 이때, 윈도우스케줄에 아래 스크립트를 이용해서 스케줄을 해주는 방법을 추가로 할수 있다. ' Start an Application Pool strComputer = "." Set objWMIService = GetObject _ ("winmgmts:{authenticationLevel=pktPrivacy}\\" _ & strComputer & "\root\microsoftiisv2") Set colItems = objWMIService.ExecQuery _ ("Select * From IIsApplicationPool Whe.. 공감수 0 댓글수 0 2009. 1. 23.
  • mssql 스키마 속성에 걸려 있는 규칙(rule) 수정하기. 스키마 속성에 규칙(rule)을 적용한 경우가 있다. 이경우 규칙을 수정해야 하는 경우 해당 룰을 먼저 바인딩 된 속성에서 바인딩 해제를 해준후 규칙을 수정하고, 다시 바인딩 시켜주어야 한다. 먼저, 바인딩된 스카마 속성에서 바인딩 해제후 --> exec sp_unbind [tbl_good].[goodType_code] rule 수정, --> DROP RULE [dbo].[chkGoodType] --> CREATE RULE [dbo].[chkGoodType] AS @chkGoodType in (1, 2, 3, 4, 5, 6) 재바인딩. --> EXEC dbo.sp_bindrule @rulename=N'[dbo].[chkGoodType]', @objname=N'[dbo].tbl_good].[goodType.. 공감수 0 댓글수 0 2009. 1. 23.
  • MS-SQL 복제에서 distribution cleanup이 지연될때 복제 서버를 운영하다 보면, 복제 데이타베이스 정리가 지연되어 데이타베이스 사이즈가 계속 증가하는 경우가 생긴다. 이때, 복제의 모니터의 기타에이전트 에서 "배포 정리:distribution" 이 잘 실행되고 있는지 확인을 하여 제대로 실행되지 않거나, 지연되고 있다면, 아래 처럼 수동으로 처리를 해준다. 1. msrepl_transactions, MSrepl_commands 테이블의 row수를 확인한다. 2. distribution cleanup job의 최근 실행시간을 확인해본다. 만약 row수가 많이 늘어나있고, job의 실행시간도 많이 지연되어 있다면 log reader agent를 일단 중지시키고 복제 트랜잭션의 max retention 시간을 줄여본다. EXEC dbo.sp_MSdistribu.. 공감수 0 댓글수 0 2009. 1. 22.
    문의안내
    • 티스토리
    • 로그인
    • 고객센터

    티스토리는 카카오에서 사랑을 담아 만듭니다.

    © Kakao Corp.