프로필사진


2021.09.19

삽질 : Mac에 XE3 (Xpress Engine 3) 설치하기 (MySQL, PHP, Apache)

반응형

이번 게시글은 맥북에 Xpress Engine(엑스프레스 엔진)을 설치했던 삽질을 정리했습니다.

가이드에 따라 진행했으나 일부 과정에서 막히는 현상이 있어 나름대로 짬뽕해서 작성했습니다.

좀 더 정리된 게시글이 있으니 여기에서 진행하세요 : )

 

XE 버전은 3.0.14 기준으로 작성되었습니다.

MacBook Pro(Intel) + Big Sur기준으로 작성되었으며, Homebrew가 설치되어 있다고 가정합니다.

만약, 설치된 상태가 아니라면 여기에서 설치를 진행하세요.


1. MySQL 설치

Mac은 기본적으로 PHP 7.2 버전과 Apache 2.4 버전이 설치되어 있으며, 추가로 설치되어야할 부분은 MySQL(혹은 MariaDB)입니다. 

 

터미널에서 다음과 같은 명령어로 MySQL를 설치합니다.

brew install mysql

 

 

2. MySQL 설정

아래 명령어와 절차를 통해 MySQL 기본 설정을 진행합니다.

mysql_secure_installation


Would you like to setup VALIDATE PASSWORD component? (패스워드에 복잡한 규칙을 사용하시겠습니까?)
yes

New password // DB 접근시 root 계정에 사용할 패스워드를 입력합니다.

Remove anonymous users? (익명 사용자를 제거하시겠습니까?)
yes

Disallow root login remotely? (원격 접근으로 root 계정 로그인을 막겠습니까?)
no

Remove test database and access to it? (test 데이터 베이스를 제거하시겠습니까?)
yes

Reload privilege tables now? (privilege 테이블을 지금 갱신하시겠습니까?)
yes

아래 명령어를 통해 MySQL를 실행하고, DB 접근 확인 및 XE를 위한 DB를 생성합니다.

(새로 DB를 생성하지 않고 기존 DB를 이용시, SQLSTATE[HY000][2002] No such file or directory 에러가 발생할 수 있습니다.)

mysql.server start
Starting MySQL
SUCCESS!

mysql -uroot -p
Enter password:

mysql> create database xe character set utf8mb4 collate utf8mb4_general_ci
Query OK, 1 row affected (0.00 sec)

mysql> exit

 

 

3. PHP 설치(옵션)

Mac은 기본적으로 PHP 7.2 버전이 설치되어 있으나 composer 과정에서 이슈가 발생해 필자는 PHP 7.3를 추가로 설치했습니다. 하지만 PHP 버전 이슈가 아닌 Fatal error: Class 'ZipArchive' not found 이였고 해당 이슈는 composer 1 버전으로 설치됨으로 해결 될 수 있습니다. 히스토리상 PHP 7.3 버전 설치에 대해서도 작성합니다. 설치에 문제가 없다면 넘어가도 좋습니다.

 

터미널에서 다음과 같은 명령어로 PHP를 설치합니다.

brew install php@7.3
brew link php@7.3

 

 

4. composer 설치

XE3의 경우 composer를 통해 간편 설치를 지원합니다. 맥북에서는 해당 라이브러리가 기본 설치가 아님으로 설치를 진행해야합니다.

지금은 composer가 2버전이 출시되어 brew로 기본 설치시, 2버전이 설치되지만, XE3의 경우 composer 1 버전만 지원됩니다. 

composer 2버전 설치시, requires composer-plugin-api 1.0.0 -> no matching package found. 에러가 발생합니다.

 

터미널에서 다음과 같은 명령어로 composer 1버전을 설치합니다.

brew install composer
composer self-update 1.10.15

 

 

5. Apache 설정 (PHP 연동)

맥북에는 Apache와 PHP가 기본적으로 설치되어 있지만, 서로 연동 설정은 되어있지 않습니다.

이 다음 부터는 su 권한으로 진행하는 경우가 많습니다. 만약, su 설정이 되어 있지 않다면, su 설정을 여기에서 하고 진행하시면 됩니다.

 

httpd.conf 설정합니다.

su 권한으로 아파치 폴더 경로로 접근하여 httpd.conf 파일을 vi로 열기합니다.

su
Password:

cd /etc/apache2
vi httpd.conf

 

PHP와 rewrite 모듈을 활성화 합니다.

아래 두 항목을 찾아 #를 제거합니다. (LoadMoudle 항목의 맨 아래쪽에 있습니다.)

LoadModule rewrite_module libexec/apache2/mod_rewrite.so
LoadModule php7_module libexec/apache2/libphp7.so

사용자 권한을 설정합니다.

아래 내용을 본인 맥북 계정에 따라 설정합니다.

User 여기에 본인 계정을 작성
Group staff

ServerName를 설정합니다. #이 있다면 제거 후 내용을 채웁니다.

ServerName 127.0.0.1:80

.htaccess 파일의 설정을 우선하기 위해 AllowOverride 항목을 all로 변경합니다. 

<Directory "/Library/WebServer/Documents">
    ...

    AllowOverride all

    ...
</Directory>

"/"만 입력해도 "index.php"를 찾아갈 수 있도록 DirectoryIndex에 index.php를 추가합니다.

<IfModule dir_module>
    DirectoryIndex index.php index.html
</IfModule>

php도 인식할 수 있도록 아래 항목을 아래 주석 아래에 추가합니다.

#
# The following lines prevent .htaccess and .htpasswd files from being
# viewed by Web clients.
#
<FilesMatch \.php$>
    SetHandler application/x-httpd-php
</FilesMatch>

 

 

5.2 PHP 메모리 설정

원활한 XE 설치를 위해 php의 메모리 할당을 무한대로 설정합니다.

설정하지 않으면 Allowed memory size of 1610612736 bytes exhausted (tried to allocate 4096 bytes) 에러가 발생합니다.

 

su 권한으로 php가 설치된 경로로 이동 후 php.ini파일을 수정합니다.

su
password:

cd /usr/local/etc/php/7.3
vi php.ini

 

memory_limit 값을 -1로 설정 후 저장합니다.

memory_limit = -1

 

 

6. Apache 실행

이제 드디어 기본적인 설정이 완료되었습니다.

su 권한으로 다음과 같은 명령어로 Apache를 실행합니다.

su
Password:

sudo apachectl -k start

http://127.0.0.1 접속했을 때, It works!가 표시되는 지 확인합니다. 정상적으로 표시가 안된다면, 아파치 서버가 구동 된 것이 아닙니다.

 

7. PHP 확인 

PHP가 정상적으로 잡히는 지 확인합니다.

su 권한으로 다음과 같은 명령어를 통해 info.php를 만듭니다.

su
Password:

cd  /Library/WebServer/Documents

rm -rf ./*

echo "<?php phpinfo();" > ./info.php

http://127.0.0.1/info.php 를 접근하여 정상적으로 PHP 정보가 표시되는지 확인합니다.

표시가 되지 않는다면, 아파치가 실행되지 않았거나 5.1 httpd.conf 설정이 제대로 수행된 것이 아닙니다.

 

8. XE 설치

여기에서 XE파일을 다운로드 폴더에 다운로드 받습니다.

링크가 정상적으로 동작하지 않는다면 아래 절차에 따라 접근 후 다운로드 하세요.

1. https://www.xpressengine.com/guide/getting-started/installation-web 접속
2. 웹 / FTP 환경에서 설치하기 부분의 http://start.xpressengine.io/download/latest.zip 를 선택하여 다운로드 받습니다.

 

Finder에서 다운로드 폴더의 lastest.zip 파일을 더블클릭하여 압축을 해제합니다.

su 권한으로 아파치 웹 폴더로 lastest 파일과 폴더를 옮기고 XE를 설치합니다. 한글로 작성된 부분에 적절한 내용을 채웁니다.

su
Password:

cd  /Library/WebServer/Documents

cp -R /Users/본인 Macbook 계정/Downloads/latest/* ./

php artisan xe:install

[Check the system requirement]
- check PDO extension: true
- check pdo_mysql extension: true
- check curl extension: true
- check fileinfo extension: true
- check gd extension: true
- check mbstring extension: true
- check openssl extension: true
- check zip extension: true

[Setup Database]
Input Database Information.

Driver [mysql]:
> 엔터

Host [localhost]:
> 127.0.0.1

Port [3306]:
> 엔터

Database name:
> xe

Character set [utf8]:
  [0] utf8
  [1] utf8mb4
> 1

UserID [root]:
> 엔터

Password []:
> DB Password 입력

[Checking Database Connection]
Connecting Database using inputted database information..
Connection successful.

Table Prefix [xe]:
> 원하는 내용 작성하세요

[Setup Site]
Input information for site.

site url [http://mysite.com]:
> http://127.0.0.1

Timezone [Asia/Seoul]:
> 엔터

Locale (ko or en) [ko]:
> 엔터

[Base Framework load]
Base Framework is loading...
Base Framework is loaded

[Setup Admin information]
Input information for site admin.

Email:
> 본인 이메일 작성

ID [admin]:
> XE 관리자 계정 아이디 입력

Nickname [admin]:
> XE 관리자 계정 닉네입 입력

Password:
> XE 관리자 비밀번호 입력

[Setup Directory Permission]
Input directory permission for storage.

./storage directory permission [0707]:
> 엔터

Input directory permission for bootstrap cache.

./bootstrap/cache directory permission [0707]:
> 엔터

Try to collect environmental information for debugging from server of XE installed.
Your personal information will not be collected.

Do you agree to collect your system environmental information? [yes]:
> no

[OK] Install was completed successfully.

 

 

9. ".htaccess" 파일 추가

rewrite 규칙을 설정파일입니다.

여기에서 내용을 복사 후 su 권한으로 .htaccess 파일을 생성하여 내용을 붙여넣기 합니다.

su
Password:

cd  /Library/WebServer/Documents

vi .htaccess

 

 

10. 파일 및 폴더 권한 수정

su 권한으로 웹 폴더로 이동 후 각 폴더 및 파일에 707 권한을 부여합니다.

su
Password:

cd  /Library/WebServer/Documents

chmod -R 707 ./bootstrap/cache
chmod -R 707 ./config/production
chmod -R 707 ./storage
chmod -R 707 ./vendor
chmod -R 707 ./plugins
chmod -R 707 .htaccess

맥북에 XE3 설치하기가 마무리되었습니다. 

이제 http://127.0.0.1/ 에 접속하여 XE를 확인합니다.

 

 

 

ps. Macbook의 경우 다음과 같은 기본경로로 지정되어 있습니다.

apache 폴더 : /etc/apache2
php 폴더 : /usr/local/etc/php/7.3
www 폴더(root 폴더) : /Library/WebServer/Documents

 

 

 

출처

https://dev-r.tistory.com/17

https://velog.io/@devmin/mysql-database-utf8mb4-django

반응형
다른 '해본 것/XE(Xpress Engine)'의 최근 글