업로드 용량 변경(Changing Upload file size)
북스택을 쓰면 항상 느끼는 것이 "와 아무렇게나 첨부파일을 올릴 수 있다!"도 있습니다.
하지만 용량때문에 업로드가 안될때가 있는데요, 이럴때는 설정을 바꿔줘야 합니다.
크게 바꿔줘야 하는 설정은 다음과 같습니다.
- NginX 설정 변경
- php.ini 설정 변경
- BookStack 자체 설정변경
NginX 설정 변경
nginx.conf 또는 해당 사이트의 설정( .conf 파일)에서 다음 항목을 넣어줍니다. 특정 사이트만 용량을 올릴 필요가 없을 때는 http {} 블럭에 넣어주셔도 됩니다.
client_max_body_size 1024M; # 화끈하게 올려봅니다!
client_body_timeout 2400s; # 기본값은 60s입니다. 파일용량이 크면 더 올려주시면 됩니다.
넣고 나서는 반드시 다음 명령으로 문법에 오류가 없는지 확인하시고, reload를 해주세요.
$ sudo nginx -t
nginx : the configuration file /etc/nginx/nginx.conf systax is ok
nginx : configuration file /etc/nginx/nginx.conf test is successful
$ sudo service nginx reload
nginx -t는 여러분이 만드신 .conf 파일중에 하나만 문제가 있어도 바로 알려줍니다. 그리고 service nginx reload를 하시면 nginx가 재시작되지 않아도 되기 때문에 서비스가 중단되는 일이 없습니다.
php.ini 설정 변경
일단 find 명령으로 php.ini 파일이 어디에 있는지 찾습니다.
sudo find / -name "php.ini" # 루트(/) 디렉터리부터 시작해서 php.ini라는 파일을 모조리 찾아오라는 명령입니다.
/etc/php/8.3/cli/php.ini
/etc/php/8.3/apache2/php.ini
/etc/php/8.3/fpm/php.ini
위의 예시는 우분투에서 실행한 것이라 FreeBSD에서는 조금 다를 수 있습니다.
아래에 나온 결과중에 fpm/php.ini 가 우리가 수정해야 하는 파일입니다. 수정해야 하는 곳은 총 다섯군데입니다.
# nano에서 Ctrl+w 를 눌러서 해당 항목을 입력하면 찾아줍니다.
# 다음은 반드시 On이어야 합니다
file_uploads=On
# 또 화끈하게 올려줍니다!
upload_max_filesize=1024M
# POST 방식으로 올리는 것도 쫙쫙 올려줍니다!
post_max_size=1024M
# 최대 실행시간도 올려줍니다. 60초가 1분이니까 300초면 5분, 1800초면 30분입니다.
max_execution_time=300
# 메모리를 덜 사용하면 업로드를 못할 수 있으니 올려줍니다. 전 메모리가 남습니다. 우핫핫!
memory_limit=16384M
여기까지 하셨으면 sudo service --status-all 명령으로 php8.3-fpm 비슷한 이름의 프로세스를 찾아 재시작 해줍니다.
sudo service --status-all
sudo service php8.3-fpm restart
BookStack 자체 설정 변경
.env 파일을 수정해주면 됩니다. 다음 내용(#이 없는 것을 넣주시면 됩니다. 단위는 메가바이트입니다)을 추가합니다.
# File Upload Limit
# Maximum file size, in megabytes, that can be uploaded to the system.
FILE_UPLOAD_SIZE_LIMIT=1024
php.ini와 다르게 숫자 뒤에 M이 없는 것을 기억하세요. BookStack은 서비스 같은 것을 재시작 하실 필요는 없습니다.
No Comments