라이믹스/매뉴얼/설치 환경: 두 판 사이의 차이

imported>Gaon12
m편집 요약 없음
Gaon12 (토론 / 기여)
MariaDB 최소 버전을 10.1에서 10.6으로 정정(공식 요구사항 기준). PHP 8.2 권장 명시, 출처 각주 추가
 
(사용자 4명의 중간 판 14개는 보이지 않습니다)
1번째 줄: 1번째 줄:
==라이믹스?==
== 개요 ==
* [[라이믹스]]에 대해 알아보고 싶다면 [[라이믹스]] 문서를 참고하자.
[[라이믹스]]를 설치하고 운영하기 위해 필요한 시스템 요구사항을 정리한 문서입니다. 기본적으로 웹 서버(예: Apache, Nginx) 같은 필수 요소는 당연히 있어야 하니 여기선 생략했습니다.<ref>웹 서버가 없으면 PHP 파일을 실행할 수 없기 때문.</ref>


==요구사양==
== 퍼미션 ==
* 라이믹스에서 요구하는 사양에 대해 알아보자.
라이믹스 설치 루트 폴더 안의 '''files''' 폴더 퍼미션은 707 또는 777로 설정해야 합니다. 설치 경로에 쓰기 권한이 있으면 설치 중 자동으로 files 폴더가 생성되지만, 권한이 없으면 직접 폴더를 만들고 퍼미션을 조정해야 합니다.
* 이때 진짜 기본적인 것(웹 서버)에 대해서는 작성하지 않았습니다.<ref>웹 서버 프로그램이 없으면 php 파일 등을 처리 할 수 없기 때문이다.</ref>


==퍼미션==
== PHP ==
# 라이믹스 설치 루트 폴더에 files 폴더의 퍼미션이 707이나 777이어야 한다.
=== 버전 ===
# 설치 경로에 쓰기 권한이 이미 있는 경우, 설치 과정에서 files 폴더를 자동으로 생성한다.
[[라이믹스]] 설치에는 PHP 7.4 이상이 필요하며, PHP 8.2 이상을 권장합니다.<ref name="requirements" />


==PHP==
==== PHP 7.2 이상에서의 문제 ====
# [[라이믹스]]를 사용하려면, 7.0 이상이 설치 되어 있어야 합니다.
PHP 7.2 이상에서는 일부 서드파티 모듈 때문에 '''BaseObject''' 오류가 발생할 있습니다. 기존에 사용되던 <code>Object</code> 클래스가 PHP 7.2부터 지원되지 않아 'Fatal error'(HTTP 500 오류)가 뜨는 경우가 생깁니다. 
# PHP 5.x 버전대는 설치 자체가 안되도록 설정되었으며, 강제로 설치를 진행하여도 각종 오류가 난무하여 사용 할 없습니다.<ref>PHP 7 문법이 적용 되었기 때문이다.</ref><ref>그런데 [https://github.com/rhymix/rhymix/blob/master/common/constants.php#L132 PHP 버전 제한 코드]를 보면, 5.5.9 버전이 최소사양이다. 아무리 5.5.9 버전으로 설정되어 있어 서버가 5.5.9 버전 이상(7.x 버전 이상 제외)의 PHP가 설치되어 있다고 하더라도 PHP 7 버전대로 업그레이드 하도록 하자.</ref>
이 문제는 [[XpressEngine|XE]]에서도 공통적으로 나타나는 현상으로, [https://www.xpressengine.com/devlog/23249915 XE 공식 공지]에 따르면 <code>Object</code>를 <code>BaseObject</code>로 바꿔야 해결됩니다.<del>손이 좀 가는 작업</del> 에디터에서 찾아바꾸기 기능을 활용하면 편리합니다.<ref>단, 'new Object'나 'extends Object'처럼 앞에 다른 단어가 붙은 경우만 변경해야 함. [https://xetown.com/questions/1164680#comment_1164942 기진곰님 댓글 참고]</ref>


===7.2 이상===
리눅스 환경이라면 아래 명령어로 쉽게 일괄 변경 가능합니다.
# PHP 7.2 이상에서 일부 서드파티 모듈로 인해 오류가 발생 할 수 있다.
<syntaxhighlight lang="console">
# '''BaseObject''' 오류가 발생하는데, PHP 7.2 이상은 원래 사용하던 클래스인 '''Object'''를 사용하지 못해 'Fatal error'가 발생한다.
root@gaon:/var/www/html/# find ./ -name "*.php" -exec sed -i 's/return\snew\sObject/return new BaseObject/g' {} \;
# 이 문제는 [[XpressEngine|XE]]에서도 나타나는 현상이다. [https://www.xpressengine.com/devlog/23249915 XE 공식 홈페이지 공지사항]
root@gaon:/var/www/html/# find ./ -name "*.php" -exec sed -i 's/extends\sObject/extends BaseObject/g' {} \;
# 그렇기 때문에 'Object'를 'BaseObject'로 바꿔줘야 한다.<del>노가다</del> 에디터에서 찾아 바꾸기를 통해 바꾸면 그나마 쉽다.<ref>new Object나 extend Object와 같이
</syntaxhighlight>
앞에 다른 단어가 있는 Object만 변경해야 한다. [https://xetown.com/questions/1164680#comment_1164942 xetown Object 변경 관련 기진곰님 댓글]</ref>
다만, [[XpressEngine/모듈/타임라인|타임라인]] 모듈처럼 예외적인 경우는 명령어가 적용되지 않을 수 있으니, 이런 경우엔 직접 수정해야 합니다. 타임라인 모듈이라면 <code>./modules/timeline/timeline.admin.model.php</code> 파일의 44번째 줄에서 <code>Object</code>를 <code>BaseObject</code>로 바꾸면 됩니다.
# 리눅스에서 <syntaxhighlight lang="sh">
find ./ -name "*.php" -exec sed -i 's/return\snew\sObject/return new BaseObject/g' {} \;
find ./ -name "*.php" -exec sed -i 's/extends\sObject/extends BaseObject/g' {} \;
</syntaxhighlight><br/>
이렇게 하면 쉽게 바뀐다고도 한다. 참고하자. [https://xetown.com/questions/1082527#comment_1082641 XETOWN php 7.2 업그레이드를 위한 return new object > return new BaseObject 일괄변경하기]


===PHP 모듈===
=== 필수 PHP 모듈 ===
* [[라이믹스]]를 설치하기 위해 필수적으로 설치되어야 하는 PHP 모듈은 다음과 같습니다.
라이믹스 설치에 반드시 필요한 PHP 모듈은 다음과 같습니다:
** curl
* <code>curl</code>
** gd
* <code>gd</code>
** iconv 또는 mbstring
* <code>iconv</code> 또는 <code>mbstring</code>
** json
* <code>json</code>
** mcrypt 또는 openssl
* <code>openssl</code>
** simplexml
* <code>PDO_MySQL</code>
* <code>SimpleXML</code>
* <code>Zend OPCache</code>


===php.ini 설정===
=== 권장 PHP 모듈 ===
# upload_max_filesize 설정치보다 post_max_size가 커야 합니다.
설치는 필수가 아니지만 성능 개선이나 특정 기능에 유용한 모듈들입니다:
# post_max_size설정치보다 memory_limit이 커야 합니다.<br/> → 라이믹스는 [[라이믹스#대용량 업로드|대용량 업로드]]를 지원하기 때문에, 업로드 용량이 10MB 이상이면 사실상 업로드에 제약을 받지 않습니다.
* <code>apcu</code> (캐시로 성능 향상)
# session.auto_start이 아래와 같이 off로 설정 되어야 합니다.
* <code>exif</code> (이미지 자동 회전)
* <code>fileinfo</code> (첨부파일 보안 검사)
* <code>intl</code> (한글 도메인 처리 효율성)
* <code>zip</code> (향후 필수로 바뀔 가능성 있음)
* <code>mod_rewrite</code> (Apache에서 짧은 주소 사용 시, 선택 사항)
 
=== php.ini 설정 ===
* '''<code>upload_max_filesize</code> < <code>post_max_size</code> < <code>memory_limit</code>''' 순으로 설정값이 커야 합니다.<ref>[[라이믹스/XE와의 차이점#대용량 업로드|대용량 업로드]] 지원 때문에 업로드 용량이 10MB 이상이면 제한이 거의 없음.</ref>
* <code>session.auto_start</code>는 반드시 꺼져 있어야 합니다:
<syntaxhighlight lang="ini">
<syntaxhighlight lang="ini">
session.auto_start = off
session.auto_start = off
</syntaxhighlight>
</syntaxhighlight>
* <code>memory_limit</code>은 최소 128M 이상으로 설정되어 있어야 합니다.
== MySQL/MariaDB ==
MySQL은 5.7 이상, MariaDB는 10.6 이상이 필요합니다.<ref name="requirements">[https://rhymix.org/manual/introduction/requirements 설치 환경 - 라이믹스 매뉴얼]</ref>
과거 공식 문서에서는 MariaDB 10.1 이상을 권장했으나, 현재 기준은 10.6 이상으로 상향되었습니다. 스토리지 엔진은 InnoDB, 문자 인코딩은 utf8mb4를 사용해야 4바이트 문자(이모지 등)를 저장할 수 있습니다.
== 각주 ==
<references />
== 같이 보기 ==


==Mysql/MariaDB==
* [[라이믹스]]
# Mysql은 5.0.7 이상의 버전을 사용해야 합니다.
* [[라이믹스/설치]]
# [[라이믹스]] 개발진들은 MariaDB를 권장한다고 한다.
* [[라이믹스/매뉴얼]]


==각주==
<!-- 분류 -->
[[분류:라이믹스]] [[분류:라이믹스/매뉴얼]]

2026년 8월 21일 (금) 14:59 기준 최신판

개요[편집 / 원본 편집]

라이믹스를 설치하고 운영하기 위해 필요한 시스템 요구사항을 정리한 문서입니다. 기본적으로 웹 서버(예: Apache, Nginx) 같은 필수 요소는 당연히 있어야 하니 여기선 생략했습니다.[1]

퍼미션[편집 / 원본 편집]

라이믹스 설치 루트 폴더 안의 files 폴더 퍼미션은 707 또는 777로 설정해야 합니다. 설치 경로에 쓰기 권한이 있으면 설치 중 자동으로 files 폴더가 생성되지만, 권한이 없으면 직접 폴더를 만들고 퍼미션을 조정해야 합니다.

PHP[편집 / 원본 편집]

버전[편집 / 원본 편집]

라이믹스 설치에는 PHP 7.4 이상이 필요하며, PHP 8.2 이상을 권장합니다.[2]

PHP 7.2 이상에서의 문제[편집 / 원본 편집]

PHP 7.2 이상에서는 일부 서드파티 모듈 때문에 BaseObject 오류가 발생할 수 있습니다. 기존에 사용되던 Object 클래스가 PHP 7.2부터 지원되지 않아 'Fatal error'(HTTP 500 오류)가 뜨는 경우가 생깁니다. 이 문제는 XE에서도 공통적으로 나타나는 현상으로, XE 공식 공지에 따르면 ObjectBaseObject로 바꿔야 해결됩니다.손이 좀 가는 작업 에디터에서 찾아바꾸기 기능을 활용하면 편리합니다.[3]

리눅스 환경이라면 아래 명령어로 쉽게 일괄 변경 가능합니다.

root@gaon:/var/www/html/# find ./ -name "*.php" -exec sed -i 's/return\snew\sObject/return new BaseObject/g' {} \;
root@gaon:/var/www/html/# find ./ -name "*.php" -exec sed -i 's/extends\sObject/extends BaseObject/g' {} \;

다만, 타임라인 모듈처럼 예외적인 경우는 명령어가 적용되지 않을 수 있으니, 이런 경우엔 직접 수정해야 합니다. 타임라인 모듈이라면 ./modules/timeline/timeline.admin.model.php 파일의 44번째 줄에서 ObjectBaseObject로 바꾸면 됩니다.

필수 PHP 모듈[편집 / 원본 편집]

라이믹스 설치에 반드시 필요한 PHP 모듈은 다음과 같습니다:

  • curl
  • gd
  • iconv 또는 mbstring
  • json
  • openssl
  • PDO_MySQL
  • SimpleXML
  • Zend OPCache

권장 PHP 모듈[편집 / 원본 편집]

설치는 필수가 아니지만 성능 개선이나 특정 기능에 유용한 모듈들입니다:

  • apcu (캐시로 성능 향상)
  • exif (이미지 자동 회전)
  • fileinfo (첨부파일 보안 검사)
  • intl (한글 도메인 처리 효율성)
  • zip (향후 필수로 바뀔 가능성 있음)
  • mod_rewrite (Apache에서 짧은 주소 사용 시, 선택 사항)

php.ini 설정[편집 / 원본 편집]

  • upload_max_filesize < post_max_size < memory_limit 순으로 설정값이 커야 합니다.[4]
  • session.auto_start는 반드시 꺼져 있어야 합니다:
session.auto_start = off
  • memory_limit은 최소 128M 이상으로 설정되어 있어야 합니다.

MySQL/MariaDB[편집 / 원본 편집]

MySQL은 5.7 이상, MariaDB는 10.6 이상이 필요합니다.[2]

과거 공식 문서에서는 MariaDB 10.1 이상을 권장했으나, 현재 기준은 10.6 이상으로 상향되었습니다. 스토리지 엔진은 InnoDB, 문자 인코딩은 utf8mb4를 사용해야 4바이트 문자(이모지 등)를 저장할 수 있습니다.

각주[편집 / 원본 편집]

  1. 웹 서버가 없으면 PHP 파일을 실행할 수 없기 때문.
  2. 2.0 2.1 설치 환경 - 라이믹스 매뉴얼
  3. 단, 'new Object'나 'extends Object'처럼 앞에 다른 단어가 붙은 경우만 변경해야 함. 기진곰님 댓글 참고
  4. 대용량 업로드 지원 때문에 업로드 용량이 10MB 이상이면 제한이 거의 없음.

같이 보기[편집 / 원본 편집]

최근 바뀜

더 보기