Drupal 7에서 업로드의 기본 경로는 공용 파일 시스템 경로의 파일 시스템 옵션에서 설정됩니다. 이 경로에 다른 서버를 지정할 수 있습니까? 우리가 개발중인 Drupal 7 웹 사이트에 약 20k 개의 파일이 있으며 웹 서버와 다른 서버에 파일을 저장하고 싶습니다. 다른 서버를 지정할 수없는 경우이를 처리 할 수있는 사용자 제공 모듈이 있습니까?
Drupal 7에서 업로드의 기본 경로는 공용 파일 시스템 경로의 파일 시스템 옵션에서 설정됩니다. 이 경로에 다른 서버를 지정할 수 있습니까? 우리가 개발중인 Drupal 7 웹 사이트에 약 20k 개의 파일이 있으며 웹 서버와 다른 서버에 파일을 저장하고 싶습니다. 다른 서버를 지정할 수없는 경우이를 처리 할 수있는 사용자 제공 모듈이 있습니까?
답변:
나는 매우 비슷한 일을합니다. 이 구성이 가능한 인프라를 실행하는 경우 파일 서버 (Linux 또는 Windows Server)에서 공유를 제공하고 해당 특정 필드에 대한 공용 디렉토리가있는 Drupal의 공용 파일 경로에 마운트하는 것이 좋습니다.
예를 들어 다음 Samba 구성을 사용하십시오 (Linux 기반 파일 서버를 실행하는 경우 /etc/samba/smb.conf에 있음). 이것은 다른 모든 구성 옵션 다음에 파일의 맨 끝에 나타납니다.
[data]
comment = Data directory
browseable = yes
writable = yes
valid users = "@DOMAIN\Domain Admins"
path = /data
create mask = 0664
force create mode = 0664
이 valid users
구문 은 "이 사용자 그룹이이 공유에 액세스 할 수 있습니다"라고 말합니다. 이 경우 PAM을 사용하여 파일 서버를 Active Directory에 연결하고이 그룹을 연결하면이 특정 그룹을 사용할 수 있습니다.
Drupal 사이트를 호스팅하는 웹 서버에서 공개 파일 디렉토리로 이동하십시오. 파일을 사용할 수 있도록해야하는 특정 필드가 public : // field_with_20k_files /라고 가정하십시오. 비슷한 마운트 명령을 다음과 같이 실행하십시오.
sudo mount -t cifs -o user=domainadministrator,uid=domainadministrator,gid=apache //fileserver/data /path/to/field_with_20k_files
나는이 gid
이 디렉토리에 액세스 할 수 있도록 웹 서버를 실행하는 어떤 과정으로 설정합니다. 웹 서비스가 웹 서버에 대한 읽기 및 쓰기 액세스 권한을 가지고 실제로 파일을 업로드 할 수 있는지 확인하고 싶을 것입니다.
또한 훌륭한 옵션은 Storage API 입니다. 다음은 모듈의 프로젝트 페이지에서 인용 한 것입니다.
... 관리되는 파일 저장 및 제공을위한 저수준 프레임 워크입니다. 이 저수준 기능을 제공하기 위해 모듈과 모든 핵심 기능은 다른 모듈과 무관하게 유지됩니다. 서브 모듈은 Storage API가 다른 컨트 리뷰 션 된 모듈과 상호 작용하도록 허용하지만이 모듈의 하위 레벨 기능에 필요한 경우가 아니면 storage.info 파일에 dependencies [] 문이 없어야합니다.
다음과 같은 기능이 있습니다.
- 플러그 가능한 아키텍처-모든 스토리지 서비스에서 작동하도록 확장 할 수 있습니다.
- 이중화-파일을 여러 서비스에 저장하고 서비스중인 파일을 즉시 변경하도록 구성 할 수 있습니다. 이는 문제 가있는 서비스 로 인해 사이트가 다운되지 않음을 의미합니다 .
- 액세스 제어 API-전자 상거래에 사용할 수 있습니다.
- 중복 제거 -동일한 파일이 동일한 컨테이너에 저장되면 하나의 인스턴스 만 작성됩니다. 이것은 대역폭과 스토리지를 절약합니다.
- 파일 및 이미지 필드 통합- "코어 브리지"하위 모듈을 활성화합니다.
- 감사 모듈-파일의 매니페스트를 데이터베이스에 기록 된 내용과 비교하여 기록이 정확한지 확인합니다.