본문 바로가기
프로그램 활용/웹서버

확장자가 없는 파일 자동인식하는 아파치 모듈 mod_mime_magic

by 3604 2022. 9. 22.
728x90

출처: https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=didim365_&logNo=220315112825

확장자가 없는 파일 자동인식하는 아파치 모듈 mod_mime_magic

 


웹서버에서는 파일을 인식할 때 mime에 등록된 확장자를 참고하여 문서 형식을 결정하고 불러오는데

mime에 등록된 확장자가 아니고 파일의 내용을 통해 자동으로 문서 형식을 결정하는 기능이 필요할 때가 있습니다.

예를 들면, 아파치 기반의 어떤 사이트의 경우 이미지 파일이 확장자를 사용하지 않도록 개발하는 경우도 있죠.

이 때 필요한 것이 mod_mime_magic 모듈입니다.

 

mod_mime_magic 설치 안내

 

1. 기존 웹서버와 동일한 버전의 아파치 설치파일을 다운로드 후 압축 해제

 

[root@mooon]# wget https://archive.apache.org/dist/httpd/httpd-2.2.13.tar.gz
[root@mooon]# tar xvfz httpd-2.2.13.tar.gz
[root@mooon]# cd httpd-2.2.13

 

2. mod_mime_magic.so 파일을 생성

   ※ 자동으로 /usr/local/apache/modules/  mod_mime_magic.so 파일이 생성되고 httpd.conf 파일에 관련 정보가 추가됩니다.

 

[root@mooon]# /usr/local/apache/bin/apxs -i -a -c /root/pkg/httpd-2.2.13/modules/metadata/mod_mime_magic.c

 

3. 아파치를 재시작

 

[root@mooon]# /etc/rc.d/init.d/apachectl configtest
[root@mooon]# /etc/rc.d/init.d/apachectl restart

 

※ mod_mime_magic 모듈을 적용한 후에도 파일이 정상적으로 열리지 않는 경우


FTP에 데이터 전송유형이 자동일 경우 파일업로드 시 확장자가 없는 경우 텍스트 파일로 인식하여 아스키(ASCII)모드로 전송됩니다.
이렇게 전송되는 경우 원본 파일과 동일한 데이터가 업로드되지 않고 변조된 데이터가 업로드 됨으로서 파일이 깨지게 됩니다.
파일질라에서는 [전송 > 전송 유형 > 바이너리]로 변환 후 확장자가 없는 파일을 업로드하면 해결됩니다. 

728x90