<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ko">
	<id>https://www.gaonwiki.com/w/index.php?action=history&amp;feed=atom&amp;title=%EB%AF%B8%EB%94%94%EC%96%B4%EC%9C%84%ED%82%A4%2F%ED%8C%8C%EC%9D%BC_%EC%97%85%EB%A1%9C%EB%93%9C</id>
	<title>미디어위키/파일 업로드 - 편집 역사</title>
	<link rel="self" type="application/atom+xml" href="https://www.gaonwiki.com/w/index.php?action=history&amp;feed=atom&amp;title=%EB%AF%B8%EB%94%94%EC%96%B4%EC%9C%84%ED%82%A4%2F%ED%8C%8C%EC%9D%BC_%EC%97%85%EB%A1%9C%EB%93%9C"/>
	<link rel="alternate" type="text/html" href="https://www.gaonwiki.com/w/index.php?title=%EB%AF%B8%EB%94%94%EC%96%B4%EC%9C%84%ED%82%A4/%ED%8C%8C%EC%9D%BC_%EC%97%85%EB%A1%9C%EB%93%9C&amp;action=history"/>
	<updated>2026-07-23T02:54:10Z</updated>
	<subtitle>이 문서의 편집 역사</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://www.gaonwiki.com/w/index.php?title=%EB%AF%B8%EB%94%94%EC%96%B4%EC%9C%84%ED%82%A4/%ED%8C%8C%EC%9D%BC_%EC%97%85%EB%A1%9C%EB%93%9C&amp;diff=89521&amp;oldid=prev</id>
		<title>Gaon12: 시작</title>
		<link rel="alternate" type="text/html" href="https://www.gaonwiki.com/w/index.php?title=%EB%AF%B8%EB%94%94%EC%96%B4%EC%9C%84%ED%82%A4/%ED%8C%8C%EC%9D%BC_%EC%97%85%EB%A1%9C%EB%93%9C&amp;diff=89521&amp;oldid=prev"/>
		<updated>2021-10-24T09:16:59Z</updated>

		<summary type="html">&lt;p&gt;시작&lt;/p&gt;
&lt;p&gt;&lt;b&gt;새 문서&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[파일:가온_위키_파일_업로드_페이지.png]]&lt;br /&gt;
&lt;br /&gt;
==개요==&lt;br /&gt;
[[미디어위키]] 중 파일 업로드와 관련된 내용입니다. 미디어위키로 위키를 운영하던 도중 문제가 발생했을 경우, 도움이 되길 바라며 글을 작성하였습니다.&lt;br /&gt;
&lt;br /&gt;
==파일 업로드==&lt;br /&gt;
===기본값===&lt;br /&gt;
미디어위키를 설치하고 난 직후, 즉 기본값으로 설정된 값은 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
* 업로드 용량 제한량 : 100MB&lt;br /&gt;
* 업로드 가능한 확장자 :  &amp;#039;png&amp;#039;, &amp;#039;gif&amp;#039;, &amp;#039;jpg&amp;#039;, &amp;#039;jpeg&amp;#039;, &amp;#039;webp&amp;#039;&amp;lt;ref&amp;gt;미디어위키 버전에 따라 기본값이 바뀌어 왔습니다. 1.3부터 1.26까지는 &amp;#039;png&amp;#039;, &amp;#039;gif&amp;#039;, &amp;#039;jpg&amp;#039;, &amp;#039;jpeg&amp;#039;만, 1.2는 &amp;#039;png&amp;#039;, &amp;#039;jpg&amp;#039;, &amp;#039;jpeg&amp;#039;, &amp;#039;ogg&amp;#039;만 올릴 수 있게 기본값으로 설정되어져 있습니다.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===업로드 전 설정===&lt;br /&gt;
파일 업로드 전에 아래의 것들이 설정이 되어져 있는지 확인해 봅시다. 만약 아래의 것들이 설정 되어 있지 않다면, 설정해 주시기 바랍니다.&lt;br /&gt;
&lt;br /&gt;
====PHP 설정====&lt;br /&gt;
php.ini 파일에 다음과 같이 설정되어 있는지 확인해 봅시다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;#039;ini&amp;#039;&amp;gt;&lt;br /&gt;
file_uploads = On&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
우분투 20.04 + apache2 기준 php.ini는 다음의 위치에 있습니다.&amp;lt;ref&amp;gt;두군데에 있으며, apache2 폴더에 있는 것은 웹상(일반적인 업로드)에서 사용하는 설정값이며, cli 폴더에 있는 것은 쉘상에서 사용하는 설정값입니다. 둘 다 설정하는 것을 권장합니다.&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;경로 중 7.4는 php의 버전을 의미하는 것이므로, 자신이 사용하는 버전을 해당 경로에 입력하시기 바랍니다.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
거의 대부분의 호스팅, [[데비안 apt|apt]]나 [[RHEL yum|yum]]으로 설치한 경우, 기본값으로 설정되어 있습니다. 만약 아래의 설정들을 다 했는데도 불구하고 업로드가 되지 않는다면 확인하시기 바랍니다. php.ini를 변경한 경우, 반드시 환경에 따라 apache2나 PHP-FPM을 재시작하여 설정이 반영되도록 합니다.&lt;br /&gt;
&lt;br /&gt;
=====apache2 폴더=====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;#039;console&amp;#039;&amp;gt;&lt;br /&gt;
root@gaon:/etc/php/7.4/apache2# ls&lt;br /&gt;
conf.d  php.ini&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====cli 폴더=====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;#039;console&amp;#039;&amp;gt;&lt;br /&gt;
root@gaon:/etc/php/7.4/cli# ls&lt;br /&gt;
conf.d  php.ini&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====소유권 및 퍼미션 설정====&lt;br /&gt;
=====소유권 및 그룹 변경=====&lt;br /&gt;
업로드 되는 폴더(images)의 소유권과 그룹을 변경해 줍니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;#039;console&amp;#039;&amp;gt;&lt;br /&gt;
root@gaon:/var/www/html/w# chown -R www-data:www-data images&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====퍼미션=====&lt;br /&gt;
폴더의 퍼미션을 755로 변경해 줍니다.&amp;lt;ref&amp;gt;777로 변경해도 상관은 없지만, 보안상 권장하지 않습니다.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;#039;console&amp;#039;&amp;gt;&lt;br /&gt;
root@gaon:/var/www/html/w# chmod -R 755 images&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====LocalSettings.php 설정값 변경====&lt;br /&gt;
[[미디어위키/LocalSettings.php|LocalSettings.php]] 설정 값을 변경해 줍니다.&lt;br /&gt;
&lt;br /&gt;
대부분 웹 인스톨러로 설치를 하게 되는데, 기본값으로 업로드에 체크가 되어 있기 때문에 해당 부분이 있는지 확인하시기 바랍니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;#039;PHP&amp;#039;&amp;gt;&lt;br /&gt;
$wgEnableUploads = true;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====$wgHashedUploadDirectory=====&lt;br /&gt;
파일 업로드 시 업로드 될 폴더의 위치를 분할하여 업로드 할 것인지에 대한 설정입니다.&lt;br /&gt;
&lt;br /&gt;
자세한 내용은 [[미디어위키/$wgHashedUploadDirectory]] 문서를 참고하세요!&lt;br /&gt;
&lt;br /&gt;
===업로드 확장자===&lt;br /&gt;
====확장자 추가====&lt;br /&gt;
기본값으로 설정된 [[#기본값|업로드 확장자 기본값]] 외의 확장자를 가진 파일을 업로드 하기 위해서는 [[미디어위키/LocalSettings.php|LocalSettings.php]] 설정 값을 변경해야 합니다.&lt;br /&gt;
&lt;br /&gt;
=====1개씩 입력=====&lt;br /&gt;
확장자명을 1개씩 입력하는 방법입니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;#039;PHP&amp;#039;&amp;gt;&lt;br /&gt;
$wgFileExtensions[] = &amp;#039;docx&amp;#039;;&lt;br /&gt;
$wgFileExtensions[] = &amp;#039;xls&amp;#039;;&lt;br /&gt;
$wgFileExtensions[] = &amp;#039;pdf&amp;#039;;&lt;br /&gt;
$wgFileExtensions[] = &amp;#039;pptx&amp;#039;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
위와 같이 &amp;lt;code&amp;gt;$wgFileExtensions[] = &amp;#039;확장자명&amp;#039;;&amp;lt;/code&amp;gt;으로 하나씩 입력 할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
=====여러개 입력=====&lt;br /&gt;
$wgFileExtensions로 여러개를 입력할 경우 줄이 길어지는 단점이 있기 때문에, 여러개의 확장자를 추가하기 위해서는 아래의 방식으로 추가하기를 권장합니다.&lt;br /&gt;
&lt;br /&gt;
======array======&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;#039;PHP&amp;#039;&amp;gt;&lt;br /&gt;
$wgFileExtensions = array( &amp;#039;png&amp;#039;, &amp;#039;gif&amp;#039;, &amp;#039;jpg&amp;#039;, &amp;#039;jpeg&amp;#039;, &amp;#039;doc&amp;#039;,&lt;br /&gt;
    &amp;#039;xls&amp;#039;, &amp;#039;mpp&amp;#039;, &amp;#039;pdf&amp;#039;, &amp;#039;ppt&amp;#039;, &amp;#039;tiff&amp;#039;, &amp;#039;bmp&amp;#039;, &amp;#039;docx&amp;#039;, &amp;#039;xlsx&amp;#039;&lt;br /&gt;
);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
======array_merge======&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;#039;PHP&amp;#039;&amp;gt;&lt;br /&gt;
$wgFileExtensions = array_merge( $wgFileExtensions,&lt;br /&gt;
    array( &amp;#039;doc&amp;#039;, &amp;#039;xls&amp;#039;, &amp;#039;mpp&amp;#039;, &amp;#039;pdf&amp;#039;, &amp;#039;ppt&amp;#039;, &amp;#039;xlsx&amp;#039;, &amp;#039;jpg&amp;#039;&lt;br /&gt;
    )&lt;br /&gt;
);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====확장자 블랙리스트====&lt;br /&gt;
특정 확장자들은 보안에 문제가 될 수 있기 때문에 블랙리스트로 설정되어 업로드 할 수 없습니다. 기본값은 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;#039;PHP&amp;#039;&amp;gt;&lt;br /&gt;
$wgFileBlacklist = [&lt;br /&gt;
  # HTML may contain cookie-stealing JavaScript and web bugs&lt;br /&gt;
  &amp;#039;html&amp;#039;, &amp;#039;htm&amp;#039;, &amp;#039;js&amp;#039;, &amp;#039;jsb&amp;#039;, &amp;#039;mhtml&amp;#039;, &amp;#039;mht&amp;#039;, &amp;#039;xhtml&amp;#039;, &amp;#039;xht&amp;#039;,&lt;br /&gt;
  # PHP scripts may execute arbitrary code on the server&lt;br /&gt;
  &amp;#039;php&amp;#039;, &amp;#039;phtml&amp;#039;, &amp;#039;php3&amp;#039;, &amp;#039;php4&amp;#039;, &amp;#039;php5&amp;#039;, &amp;#039;phps&amp;#039;,&lt;br /&gt;
  # Other types that may be interpreted by some servers&lt;br /&gt;
  &amp;#039;shtml&amp;#039;, &amp;#039;jhtml&amp;#039;, &amp;#039;pl&amp;#039;, &amp;#039;py&amp;#039;, &amp;#039;cgi&amp;#039;,&lt;br /&gt;
  # May contain harmful executables for Windows victims&lt;br /&gt;
  &amp;#039;exe&amp;#039;, &amp;#039;scr&amp;#039;, &amp;#039;dll&amp;#039;, &amp;#039;msi&amp;#039;, &amp;#039;vbs&amp;#039;, &amp;#039;bat&amp;#039;, &amp;#039;com&amp;#039;, &amp;#039;pif&amp;#039;, &amp;#039;cmd&amp;#039;, &amp;#039;vxd&amp;#039;, &amp;#039;cpl&amp;#039;,&lt;br /&gt;
];&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====블랙리스트 확장자 업로드 설정=====&lt;br /&gt;
만약 블랙리스트에 있는 확장자를 가진 파일을 업로드 할 수 있게 설정하기 위해서는 다음과 같이 입력하면 됩니다. 권장하지는 않습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;#039;PHP&amp;#039;&amp;gt;&lt;br /&gt;
$wgFileExtensions[] = &amp;#039;dll&amp;#039;;&lt;br /&gt;
$wgFileBlacklist = array_diff( $wgFileBlacklist, array (&amp;#039;dll&amp;#039;) );&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===업로드 용량 설정===&lt;br /&gt;
기본적으로 php.ini에 명시된 업로드 값을 초과하여 업로드 할 수 없습니다.&amp;lt;ref&amp;gt;[[라이믹스]]의 분할 업로드와 같이 파일을 분할하여 업로드 하는 경우 제외&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
아래의 내용은 php.ini의 값보다 낮은 용량을 입력하는 것을 전제로 설명합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;#039;PHP&amp;#039;&amp;gt;&lt;br /&gt;
$wgUploadSizeWarning = 2147483647;&lt;br /&gt;
$wgMaxUploadSize = 2147483647;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$wgUploadSizeWarning&amp;lt;/code&amp;gt;는 설정된 값보다 큰 파일을 업로드 할 때, 경고를 표시하는 것입니다. 만약 설정값이 0이라면, 경고하지 않습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$wgMaxUploadSize&amp;lt;/code&amp;gt;로 파일 업로드 용량을 제한 할 수 있습니다. 이 값은 2147483647바이트, 즉 2GB이 최댓값입니다. 이 이상의 파일을 업로드 할 수 없습니다.&lt;br /&gt;
&lt;br /&gt;
===URL로 업로드===&lt;br /&gt;
사용자의 PC에서 파일을 업로드 하는 것이 아닌, URL을 통해 파일을 업로드 할 수 있게 만들 수 있습니다. 이때 서버에서 해당 URL이 있는 서버로 접속 할 수 있어야 합니다.&lt;br /&gt;
&lt;br /&gt;
먼저&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;#039;PHP&amp;#039;&amp;gt;&lt;br /&gt;
$wgAllowCopyUploads = true;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
로 설정해야 합니다. 이후 권한 설정을 해야 설정이 완료됩니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;#039;PHP&amp;#039;&amp;gt;&lt;br /&gt;
 $wgGroupPermissions[&amp;#039;user&amp;#039;][&amp;#039;upload_by_url&amp;#039;] = true;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
위와 같이 입력하면, 로그인한 유저는 모두 URL로 파일을 업로드 할 수 있게 됩니다.&lt;br /&gt;
&lt;br /&gt;
==각주==&lt;/div&gt;</summary>
		<author><name>Gaon12</name></author>
	</entry>
</feed>