4.x 버전대

드루팔 성능/속도 올리기 끝판 - 드루팔 성능 향상에 대한 모듈 비교 문서

왜 진작 못찾았을까요. (모른 것은 게으른 탓...)

Caching: Modules that make Drupal scale
https://groups.drupal.org/node/21897

드루팔 성능 향상의 여러 방법 중,
모듈로만 승부를 보시겠다는 분은
위 주소의 글을 꼼꼼히 확인해 보시고
Performance Gain항목이 Very High 또는 High
인 모듈을 적용해 보시길 바랍니다.

개인적으로는 서버와 회선 등 인프라적인 면도
같이 개선되면 최고의 결과를 얻을 듯 합니다.

외국발 스팸을 막기 위한 극단적 조치와 과거 이야기들

우선 사과 말씀 하나.
최근에 본 사이트에 로봇으로 등록된 계정들이
상업성 광고글과 댓글을 왕창 달았습니다.

해당 글과 댓글들은 모두 삭제했습니다만,
반성하고 개선해야하기에 기록을 남깁니다.

예전부터 본 사이트는 개방형 등록사이트로,
이메일만 중복되지 않는다면 누구나 쉽게 가입, 글을 쓸 수 있었습니다.

그러다 보니 외국발 스팸들이 어느 순간부터 설치기 시작,
한번씩 대량의 광고글들이 들이닫쳐 사이트의 신뢰성을 갉아먹더군요.

여지껏 이를 해소하기 위한 방법도 여러 번 있었습니다.

- 캡챠를 이용해서 자동로봇 등록을 막는 방법.

>> 지금도 사용하고 있습니다만, 완벽하게 막지는 못합니다.
>> 캡챠 확인글로 한글을 입력하게 하는 방법도 있긴 합니다. (외국발 스팸 방지용)

- 스팸 방지 모듈들을 사용하는 방법. (spam, http:BL, spambot 등 모듈)

>> 설정이 까다롭거나 작동이 완벽하지 않을 수 있습니다.

- 드루팔 모듈의 보안패치를 부지런하게 수행한다.

>> 말 그대로 부지런해야 합니다. 뭐, 다른 CMS보다야 과정이 나은 듯 합니다만.

이런 저런 기술적 방법들이 있는 것 같습니다만,
날고 기는 스팸머들에게는 방어벽을 업그레이드할 여유가 늘 부족한 듯 합니다.

그. 래. 서.

실제로 등록하실 분들에게 심히 죄송스럽게도 (많이 번거롭겠지만)
등록 승인제로 바꾸기로 했습니다. 게다가 로봇 등록을 막기 위해
등록시 확인정보(인간만이 입력할 만한 정감있는 내용?!)도 묻습니다.

드루팔 모듈 사용순위별 랭킹

드루팔 모듈 사용순위별 랭킹.

http://drupal.org/project/usage

에 가면 사용빈도에 따른 모듈 일람이 있다.
아주 무거운 페이지이므로 인내를 요한다.

드루팔 보안 관련 설정 - 회원제 사이트가 아니면 계정 만들기 인터페이스를 보이지 않도록 하자.

드루팔 보안 관련 설정 - 회원제 사이트가 아니면 계정 만들기 인터페이스를 보이지 않도록 하자.

팁은 아니고, 그저 주의하자는 의미에서 기록해 둔다.
(드루팔을 설치해 보신 분들은 거의 다 아는 내용일 듯)

드루팔로 회원제 사이트를 꾸미는 경우에는 해당 사항 없다.

---

스패머들은 교묘하게 드루팔 회원 등록로 봇으로 하는 경우가 있다.
Captcha도 그냥 통과하거나 때로는 늦은 패치 탓에 세션공격 형태의 가입도 있었던 적이 있다.

봇으로 회원 등록을 하면 뭐가 좋은 지는 모르지만,
아무래도 익명보다는 권한이 많아지는 것은 사실이다.
컨텐츠를 작성할 수 있는 경우도 기본 설정에 의해 노출될 수 있다.
그래서 CCK나 노드관련 권한 설정들을 항상 잘 살펴야 하는데...

봇이 아닌 손수 회원가입해서 이것저것 테스트해 보는... 이도 있다.
화면 상에 있지 않는 링크를 입력해 보고, 쓰기 권한과 폼 등에 약점이 없는지 살피는 것으로 판단되면 아무래도 긴장된다.

드루팔은 오픈소스라서 강력한 보안패치가 돼 있는 점과 동시에 누구나 소스를 보는 상태이므로 양날의 검이다!
개인 블로그나 비회원제 사이트로 드루팔은 쓴다면... 굳이 가입 형태를 유지할 필요가 있을까. 댓글은 가입하지 않고도 쓸 수 있는 좋은 방법들이 많고.

그런데 드루팔은 기본 설치후에
회원제 사이트로 운영할 생각이 없는데도, 로그인 블럭에서 회원가입 링크가 보여서 신경쓰인다.
이런 경우에는,

관리 > 사용자 설정에 가면,
가입 방식에 관한 선택항목이 있다.

구글 애드센스 블럭이 공백으로 보일 경우

Google의 AdSense를 드루팔 사이트에 적용하는 방법은 여럿 있지만,
드루지기가 가장 선호하는 방법은 블럭을 이용하는 것이다.
(유명한 모듈인 AdSense Injection은 기능초과에 복잡하다는 느낌)

그런데 어느 날 새로운 드루팔 사이트를 만들고
평소와 다름 없이 블럭에 애드센스 광고 태그를 삽입했는데...
보이지 않았다. 한참을 있어도 공백 상태로 안보였다. 간혹 에러 메시지도 나타났다.

며칠 동안 끙끙대다 찾은 해결책은 아주 간단한 것이었다.
[본문 입력 필터를 Full HTML이 아닌 PHP Filter로 설정]해 주었더니 괜찮아졌다.
보안상 좋지는 않지만... 예전에 종종 겪었을 문제인듯 한데 까먹었던 모양이다.

팁이라고 부르기도 쑥스럽지만,
행여 드루지기처럼 이런 간단한 망각으로 인해 며칠 간 고생하는 분을 위해 메모한다.

갑자기 모듈 설정 화면이 보이지 않고 하얗게 나온다면

갑자기 모듈 설정 화면(admin/build/modules)에
모듈 목록이 나타나지 않고 하얗게 나온다면
다음과 같은 점을 체크해 보라.

1. 드루팔 DB의 system 테이블에 있는 정보와
    각각의 해당 폴더에 맞는 modules 파일들이 있는지 확인할 것.

2. 또는 드루팔의 PHP 가용 메모리 부족 현상이 아닌지 점검할 것.
    참고 - http://palpal.org/ko/node/277

* 원인을 파악하는데 아파치와 php용 에러 로그를 살피기를 권한다.

퀴즈 - 드루팔 가입 신청 메일은 1번 유저에게 갈까? 아니면?

퀴즈 - 드루팔 가입 신청 메일은 1번 유저에게 갈까? 아니면?

드루팔 가입을 사후 관리자 인증 방식으로 선택한 경우,
관리자의 이메일 주소로 가입신청 메일이 날아간다.

이때 가입 신청 메일은 1번 유저(드루팔 설치할 때의 유저 이메일)에게 갈까?
아니면 관리 > 사이트 환경설정 > 사이트정보 에 있는 이메일 주소로 갈까?

다소 싱거운 퀴즈이면서도 나중에 당혹스러울 수도 있는데,
정답은 "관리 > 사이트 환경설정 > 사이트정보 에 있는 이메일 주소"이다.

얼핏 보면 1번 유저가 관리자 권한을 가지므로 대부분의 Alert 메일이

드루팔의 첫 화면부터 익명 계정은 접근 못하도록 하면서 안내 메시지를 전하려면

드루팔의 첫 화면부터 익명 계정은 접근 못하도록 하면서 안내 메시지를 전하려면

첫 화면부터 익명 계정은 접근 못하도록 하려면,
관리 > 사용자 권한에서 anonymous 유저 그룹의
node access 체크를 해제하고 저장하면 된다. 이건 비교적 간단하다.

그런데 첫 화면에 안내메시지가 노드라면,
그것마저도 안보이게 되어 조금 불편하다.

이럴 때 사용하는 작은 팁이 있는데(물론 다른 더 좋은 방법도 있을 듯),


1. 우선 블럭을 하나 만들고 그 이름을 "첫화면 접근제한 안내용"이라고 한다.
2. 그 블록의 타이틀은 공백으로 하고, 본문에는 적절한 안내메시지를 넣는다.

어느날 갑자기 드루팔로 로그인이 안될 경우...

제목 : 어느날 갑자기 드루팔로 로그인이 안될 경우...

최근에 겪은 일이다.

운용 중인 한 드루팔 사이트에 로그인이 전혀 안되는 것이 아닌가?
정확하게 아이디 / 암호를 넣었다만 처음의 비로그인 상태로 돼 버린다.

특히 관리자로 로그인을 할 수 없으니 WatchDog 등의 에러 메시지 보는 것도 쉽지 않다.

이럴 경우에는, 원인 분석을 위해
- 드루팔 DB의 watchdog 를 직접 살펴보거나
- 또는 서버의 phperror.log를 살펴보는 것이 좋다.

역시나 로그인 관련해서 에러 메시지가 나오고 있었다.
Table \drupal_db\sessions is marked as crashed and should be repaired
query: sess_write

메뉴 Menu 의 표시를 유저 User 권한별로 나누고 싶은 경우

제목 : 메뉴 Menu 의 표시를 유저 User 권한별로 나누고 싶은 경우

드루팔은 기본적으로 "사용자 권한" 설정 관리화면에서
세팅한 대로 관련 메뉴를 보여주기도 안보여주기도 한다.

그런데 이 방식이 애매하게 적용되지 않는다던가,
상황에 따라서는 아주 복잡한 조건에 의해 메뉴가 보일 수도 있다.
예를 들어 특정 Role 에 의해서만 해당 메뉴를 보이게 한다던가 말이다.

이런 경우에는 Menu per Role 모듈을 권한다.
http://drupal.org/project/menu_per_role

사용상 주의) 이 모듈을 설치/활성화 후에
각 메뉴의 편집화면에 가면,
Restrict access permission 항목의

Syndicate content