라이믹스/사양: 두 판 사이의 차이

Admin_Old (토론)
편집 요약 없음
(→‎PHP 모듈: 모듈 정확한 명칭 작성)
 
(사용자 3명의 중간 판 7개는 보이지 않습니다)
7번째 줄: 7번째 줄:


==퍼미션==
==퍼미션==
# 라이믹스 설치 루트 폴더에 files 폴더의 퍼미션이 707이나 777이어야 한다.
라이믹스 설치 루트 폴더에 있는 files 폴더의 퍼미션이 707이나 777이어야 한다. 설치 경로에 쓰기 권한이 이미 있는 경우, 설치 과정에서 files 폴더를 자동으로 생성한다. 설치 경로에 쓰기 권한이 없는 경우에는 수동으로 files 폴더를 생성/퍼미션 조정을 해야 한다.
# 설치 경로에 쓰기 권한이 이미 있는 경우, 설치 과정에서 files 폴더를 자동으로 생성한다.


==PHP==
==PHP==
# [[라이믹스]]를 사용하려면, 7.0 이상이 설치 되어 있어야 합니다.
[[라이믹스]]를 사용하려면, 7.0 이상이 설치 되어 있어야 합니다. PHP 5.x 버전대는 설치가 되지 않도록 설정되었으며, 강제로 설치를 진행하여도 각종 오류가 난무하여 사용 할 수 없습니다.<ref>PHP 7 문법이 적용 되었기 때문이다.</ref>
# 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>
 
2021년 하반기부터 PHP의 최소버전이 7.2 이상으로 바뀝니다.[https://www.github.com/rhymix/rhymix-docs/tree/master/ko%2Fintroduction%2Frequirements.md] 따라서 7.2 이상으로 업그레이드를 하시기 바랍니다.


===7.2 이상===
===7.2 이상===
# PHP 7.2 이상에서 일부 서드파티들로 인해 오류가 발생 할 수 있다.
PHP 7.2 이상에서 일부 서드파티들로 인해 오류가 발생 할 수 있다. '''BaseObject''' 오류가 발생하는데, PHP 7.2 이상은 원래 사용하던 클래스인 '''Object'''를 사용하지 못해 'Fatal error'가 발생한다.(HTTP 500에러 발생)
# '''BaseObject''' 오류가 발생하는데, PHP 7.2 이상은 원래 사용하던 클래스인 '''Object'''를 사용하지 못해 'Fatal error'가 발생한다.(HTTP 500에러 발생)
 
# 이 문제는 [[XpressEngine|XE]]에서도 나타나는 현상이다. [https://www.xpressengine.com/devlog/23249915 XE 공식 홈페이지 공지사항]
 
# 그렇기 때문에 'Object'를 'BaseObject'로 바꿔줘야 한다.<del>노가다</del> 에디터에서 찾아 바꾸기를 통해 바꾸면 그나마 쉽다.<ref>new Object나 extend Object와 같이
이 문제는 [[XpressEngine|XE]]에서도 나타나는 현상이다. [https://www.xpressengine.com/devlog/23249915 XE 공식 홈페이지 공지사항] 그렇기 때문에 'Object'를 'BaseObject'로 바꿔줘야 한다.<del>노가다</del> 에디터에서 찾아 바꾸기를 통해 바꾸면 그나마 쉽다.<ref>new Object나 extend Object와 같이
앞에 다른 단어가 있는 Object만 변경해야 한다. [https://xetown.com/questions/1164680#comment_1164942 xetown Object 변경 관련 기진곰님 댓글]</ref>
앞에 다른 단어가 있는 Object만 변경해야 한다. [https://xetown.com/questions/1164680#comment_1164942 xetown Object 변경 관련 기진곰님 댓글]</ref>
# 리눅스에서 라이믹스(XE)가 설치 된 폴더로 이동 후, 아래와 같이 입력하면 쉽게 바뀐다. 참고하자.<ref>[https://xetown.com/questions/1082527#comment_1082641 XETOWN php 7.2 업그레이드를 위한 return new object > return new BaseObject 일괄변경하기]</ref>
 
<syntaxhighlight lang="sh">
 
find ./ -name "*.php" -exec sed -i 's/return\snew\sObject/return new BaseObject/g' {} \;
리눅스에서 라이믹스(XE)가 설치 된 폴더로 이동 후, 아래와 같이 입력하면 쉽게 바뀐다. 참고하자.<ref>[https://xetown.com/questions/1082527#comment_1082641 XETOWN php 7.2 업그레이드를 위한 return new object > return new BaseObject 일괄변경하기]</ref>
find ./ -name "*.php" -exec sed -i 's/extends\sObject/extends BaseObject/g' {} \;
 
</syntaxhighlight><br/>
<syntaxhighlight lang='console'>
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' {} \;
</syntaxhighlight>
 
 
명령어를 사용하더라도 [[XpressEngine/모듈/타임라인|타임라인]] 모듈과 같은 특이한(?) 것들은 적용되지 않는다. 따라서 직접 수정을 해야 하며, 타임라인 모듈 같은 경우, 타임라인 폴더(./modules/timeline)로 들어가 timeline.admin.model.php의 44번째 줄에 있는 Object를 BaseObject로 바꿔주자.


===PHP 모듈===
===PHP 모듈===
* [[라이믹스]]를 설치하기 위해 필수적으로 설치되어야 하는 PHP 모듈은 다음과 같습니다.
[[라이믹스]]를 설치하기 위해 필수적으로 설치되어야 하는 PHP 모듈은 다음과 같습니다.
** curl
* curl
** gd
* gd
** iconv 또는 mbstring
* iconv 또는 mbstring
** json
* json
** mcrypt 또는 openssl
* mcrypt 또는 openssl
** simplexml
* PDO_MySQL
* SimpleXML
* Zend OPCache
 
아래의 모듈들은 권장 모듈입니다.
 
* apcu (캐시 사용을 통해 성능 향상 가능)
* exif (이미지 자동 회전 기능에 필요)
* fileinfo (첨부파일 보안 검사에 필요)
* intl (한글도메인 사용시 성능 향상 효과 있음)
* zip (추후 필수 모듈로 지정될 가능성 있음)
* mod_rewrite (아파치, 짧은 주소 사용시 필요함. 선택사항)


===php.ini 설정===
===php.ini 설정===
# upload_max_filesize 설정치보다 post_max_size가 커야 합니다.
'''upload_max_filesize''' 설정치보다 '''post_max_size'''가 커야 합니다. 또한 '''post_max_size''' 설정치보다 '''memory_limit'''이 커야 합니다.<ref>upload_max_filesize < post_max_size < memory_limit</ref><br/>
# post_max_size설정치보다 memory_limit이 커야 합니다.<br/> → 라이믹스는 [[라이믹스#대용량 업로드|대용량 업로드]]를 지원하기 때문에, 업로드 용량이 10MB 이상이면 사실상 업로드에 제약을 받지 않습니다.
→ 라이믹스는 [[라이믹스/XE와의 차이점#대용량 업로드|대용량 업로드]]를 지원하기 때문에, 업로드 용량이 10MB 이상이면 사실상 업로드에 제약을 받지 않습니다.
# session.auto_start이 아래와 같이 off로 설정 되어야 합니다.
 
'''session.auto_start'''이 아래와 같이 off로 설정 되어야 합니다.
 
<syntaxhighlight lang="ini">
<syntaxhighlight lang="ini">
session.auto_start = off
session.auto_start = off
44번째 줄: 63번째 줄:


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


==각주==
==각주==

2022년 12월 18일 (일) 16:06 기준 최신판

라이믹스?[편집 / 원본 편집]

요구사양[편집 / 원본 편집]

  • 라이믹스에서 요구하는 사양에 대해 알아보자.
  • 이때 진짜 기본적인 것(웹 서버)에 대해서는 작성하지 않았습니다.[1]

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

라이믹스 설치 루트 폴더에 있는 files 폴더의 퍼미션이 707이나 777이어야 한다. 설치 경로에 쓰기 권한이 이미 있는 경우, 설치 과정에서 files 폴더를 자동으로 생성한다. 설치 경로에 쓰기 권한이 없는 경우에는 수동으로 files 폴더를 생성/퍼미션 조정을 해야 한다.

PHP[편집 / 원본 편집]

라이믹스를 사용하려면, 7.0 이상이 설치 되어 있어야 합니다. PHP 5.x 버전대는 설치가 되지 않도록 설정되었으며, 강제로 설치를 진행하여도 각종 오류가 난무하여 사용 할 수 없습니다.[2]

2021년 하반기부터 PHP의 최소버전이 7.2 이상으로 바뀝니다.[1] 따라서 7.2 이상으로 업그레이드를 하시기 바랍니다.

7.2 이상[편집 / 원본 편집]

PHP 7.2 이상에서 일부 서드파티들로 인해 오류가 발생 할 수 있다. BaseObject 오류가 발생하는데, PHP 7.2 이상은 원래 사용하던 클래스인 Object를 사용하지 못해 'Fatal error'가 발생한다.(HTTP 500에러 발생)


이 문제는 XE에서도 나타나는 현상이다. XE 공식 홈페이지 공지사항 그렇기 때문에 'Object'를 'BaseObject'로 바꿔줘야 한다.노가다 에디터에서 찾아 바꾸기를 통해 바꾸면 그나마 쉽다.[3]


리눅스에서 라이믹스(XE)가 설치 된 폴더로 이동 후, 아래와 같이 입력하면 쉽게 바뀐다. 참고하자.[4]

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번째 줄에 있는 Object를 BaseObject로 바꿔주자.

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

라이믹스를 설치하기 위해 필수적으로 설치되어야 하는 PHP 모듈은 다음과 같습니다.

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

아래의 모듈들은 권장 모듈입니다.

  • apcu (캐시 사용을 통해 성능 향상 가능)
  • exif (이미지 자동 회전 기능에 필요)
  • fileinfo (첨부파일 보안 검사에 필요)
  • intl (한글도메인 사용시 성능 향상 효과 있음)
  • zip (추후 필수 모듈로 지정될 가능성 있음)
  • mod_rewrite (아파치, 짧은 주소 사용시 필요함. 선택사항)

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

upload_max_filesize 설정치보다 post_max_size가 커야 합니다. 또한 post_max_size 설정치보다 memory_limit이 커야 합니다.[5]
→ 라이믹스는 대용량 업로드를 지원하기 때문에, 업로드 용량이 10MB 이상이면 사실상 업로드에 제약을 받지 않습니다.

session.auto_start이 아래와 같이 off로 설정 되어야 합니다.

session.auto_start = off

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

Mysql은 5.0.7 이상의 버전을 사용해야 합니다. 라이믹스 개발진들은 MariaDB를 권장한다고 한다.

각주[편집 / 원본 편집]

  1. 웹 서버 프로그램이 없으면 php 파일 등을 처리 할 수 없기 때문이다.
  2. PHP 7 문법이 적용 되었기 때문이다.
  3. new Object나 extend Object와 같이 앞에 다른 단어가 있는 Object만 변경해야 한다. xetown Object 변경 관련 기진곰님 댓글
  4. XETOWN php 7.2 업그레이드를 위한 return new object > return new BaseObject 일괄변경하기
  5. upload_max_filesize < post_max_size < memory_limit
• 현재 페이지 URL 줄이기