๐ macOS ๋ฐ Linux์์ Magento + Warden + Hyvรค๋ฅผ ๊ฐ์ฅ ๋น ๋ฅด๊ฒ ์ค์ ํ๋ ๋ฐฉ๋ฒ (mage-mirror ์๊ฐ)
Source: Dev.to
Magentoโฏ2 ํ๊ฒฝ์ ์๋ก ์ค์ ํ๊ฑฐ๋โฏโโฏํ๋ก๋์ ์คํ ์ด๋ฅผ ๋ณต์ ํด ๋ก์ปฌ์์ ๋๋ฒ๊น ํ๋ ค๊ณ โฏโโฏ์๋ํด ๋ณธ ์ ์ด ์๋ค๋ฉด ๋ค์๊ณผ ๊ฐ์ ๊ณ ํต์ ์ ์๊ณ ์์ ๊ฒ์ ๋๋ค:
- ์ค์น ์๊ฐ์ด ์ค๋ ๊ฑธ๋ฆผ
- Composer ์ค์ ์ค ํจํค์ง ์คํจ
- OpenSearch ์ค๋ฅ
- Warden ๋ฒ์ ๋ถ์ผ์น
- PHP ํ์ฅ ๋ชจ๋ ๋๋ฝ
- ๊ด๋ฆฌ์ ๋ก๊ทธ์ธ ๋ฌธ์
- ์ ๊ทธ๋ ์ด๋ ๋ฆฌํ์ค์ด ๋๋ฆผ
๊ฐ์ ํ๊ฒฝ ์ค์ ๋จ๊ณ๋ฅผ ์๋ ๊ฐ ๋ฐ๋ณตํ ๋ค, ์ ๋ mageโmirror๋ฅผ ๋ง๋ค์์ต๋๋คโฏโโฏํ ๋ฒ์ ๋ช ๋ น์ผ๋ก Magentoโฏ+โฏWardenโฏ+โฏHyvรค๋ฅผ ์ค์นํด ์ฃผ๋ ๋๊ตฌ์ ๋๋ค.
GitHub:
2โฏ๋ถ ์์ mageโmirror๋ ๋ค์์ ํฌํจํ ์์ ํ Magento ํ๊ฒฝ์ ๊ตฌ์ถํฉ๋๋ค:
- Magentoโฏ2.4.x
- Warden (Docker) ์คํ
- Hyvรค ํ ๋ง (์ ํ ์ฌํญ)
- ์ํ ๋ฐ์ดํฐ (์ ํ ์ฌํญ)
- ๋ฉํฐโ์คํ ์ด ๋ผ์ฐํ
- Composer ์ค์
- OpenSearch ์๋ ์์
- ๊ด๋ฆฌ์ ์๋ ์์ฑ
- ์๊ฒฉ ๋๊ธฐํ ๋ฐ ๋ณต์
- ์ ๊ทธ๋ ์ด๋ ๋ชจ๋
์คํ์ ๋ค์๊ณผ ๊ฐ์ด ๊ฐ๋จํฉ๋๋ค:
./_mage-mirror.sh
โฆ๊ทธ๋ฆฌ๊ณ ๋โMagento๊ฐ ๋ฐ๋ก ์ค๋น๋ฉ๋๋ค.

์ Magento ๋ก์ปฌ ๊ฐ๋ฐ์ ์์ง๋ ์ด๋ ค์ด๊ฐ
Magento๋ ๊ฐ๋ ฅํ์ง๋ง ๋ฌด๊ฒ์ต๋๋ค. ๋ก์ปฌ ํ๊ฒฝ์ ๊ตฌ์ถํ๋ ค๋ฉด ๋ณดํต ๋ค์๊ณผ ๊ฐ์ ์์ ์ด ํ์ํฉ๋๋ค:
- PHPโฏ+โฏComposerโฏ+โฏMySQL์ ์๋์ผ๋ก ์ค์น
- ๊ถํ ๋ฌธ์ ํด๊ฒฐ
- OpenSearch ๊ณ ์น๊ธฐ
- Composer๊ฐ ๋๋ ๋๊น์ง 20~40๋ถ ๋๊ธฐ
- ์ธ๋ฑ์ค ์ฌ์์ฑ
- ์ํธ ํค ํธ๋ฌ๋ธ์ํ
- ์ค์ ํจ์น
- ์คํ ์ด์ ์ค์ฝํ ์์ฑ
Magento๋ฅผ ์ ๋ฌธ์ ์ผ๋ก ๋ค๋ฃจ๋ ๊ฒฝ์ฐ, ๋ญ๋น๋๋ ์๊ฐ์ด ๊ธ๋ฐฉ ์์ ๋๋ค. Hyvรค๋ ํ๋ก ํธ์๋ ๊ฐ๋ฐ์ ํฌ๊ฒ ๋น ๋ฅด๊ฒ ํด ์ฃผ์ง๋ง, ๋ฐฑ์๋ ํ๊ฒฝ ์ค์ ์ ์ฌ์ ํ ํ์ ๋ณ๋ชฉ์ ๋๋ค. ์ ๋ ์ด๋ฅผ ๊น๋ํ๊ฒ ํด๊ฒฐํด ์ค ๋๊ตฌ๊ฐ ํ์ํ์ต๋๋ค.
mageโmirror๊ฐ ์๋ํํ๋ ๊ฒ
mageโmirror๋ ์๋, ๋ฐ๋ณต ๊ฐ๋ฅ์ฑ, ๋ถํธํจ ์ ๋ก๋ฅผ ๋ชฉํ๋ก ๋ง๋ค์ด์ก์ต๋๋ค.
1. ํ ๋ฒ์ ๋ช ๋ น = ์ ์ฒด Magento ํ๊ฒฝ
./_mage-mirror.sh
์คํฌ๋ฆฝํธ๊ฐ ์ํํ๋ ์ผ:
- Warden๊ฐ ์์ผ๋ฉด ์ค์น
- Composer๋ก ํ๋ก์ ํธ ์์ฑ
- Magentoโฏ2.4.x ์ค์
- URL ๋ฐ ์ค์ฝํ ๊ตฌ์ฑ
- ๊ด๋ฆฌ์ ์ฌ์ฉ์ ์์ฑ
- ์ ์ ์์ฐ ๋ฐฐํฌ
- DI ์ปดํ์ผ
- ํ์ผ ๊ถํ ์์
- ์ํ ๋ฐ์ดํฐ ๋ก๋ (์ ํ ์ฌํญ)
์๋ ์์ ์์ด ํ์ํ ๋ชจ๋ ๊ฒ์ด ์ค๋น๋ฉ๋๋ค.
2. Hyvรค ํ ๋ง ์๋ ์ค์ (์ ํ ์ฌํญ)
ํ๊ฒฝ ๋ณ์๋ฅผ ์ค์ ํฉ๋๋ค:
INSTALL_HYVA=yes
mageโmirror๋ Hyvรค ํ ๋ง๋ฅผ (OSS Composer ๋ฏธ๋ฌ๋ฅผ ํตํด) ๊ฐ์ ธ์ ์ค์นํ๊ณ , ์คํ ์ดํ๋ก ํธ๋ก ํ์ฑํํฉ๋๋ค.
3. ๊ธฐ์กด Magento ํ๋ก์ ํธ ๋ณต์ (๋ก์ปฌ ๋๋ ์๊ฒฉ)
ํ๋ก๋์
์คํ ์ด, ์คํ
์ด์ง ํ๊ฒฝ, ํด๋ผ์ด์ธํธ ์ฌ์ดํธ, QA ์ค๋
์ท ๋ฑ์ rsync, tar, ์๊ฒฉ mysqldump, ๋ก์ปฌ SQL ๋คํ ๋ฑ์ผ๋ก ๋ณต์ ํ ์ ์์ต๋๋ค.
USE_RSYNC_MAGENTO=yes
USE_REMOTE_DB_DUMP=yes
์คํ ์ด๊ฐ ๋ช ๋ถ ์์ ๋ก์ปฌ์์ ์คํ๋ฉ๋๋ค โ ๋ช ์๊ฐ์ด ์๋๋ผ์.
4. Magento ์ ๊ทธ๋ ์ด๋ ๋ชจ๋
2.4.x โ 2.4.y ์ ๊ทธ๋ ์ด๋๋ฅผ ํ ์คํธํ๋ ค๋ฉด:
UPGRADE_MAGENTO=yes
UPGRADE_MAGENTO_VERSION=2.4.*
mageโmirror๋:
- ๊ธฐ์กด ์คํ ์ด๋ฅผ ๊ฐ์ ธ์ด
- Composer ๋ฒ์ ์ ์ฝ์ ์กฐ์
- ์ ์ฒด Composer ์ ๋ฐ์ดํธ ์คํ
setup:upgrade์ํ- ํ์์ ๋ฐ๋ผ ์ธ๋ฑ์ค ์ฌ์์ฑ, ์ปดํ์ผ, ๋ฐฐํฌ, ์ค์ ํจ์น
์ ์ง๋ณด์ ์์ ์ ํฐ ๋ณํ๋ฅผ ์ค๋๋ค.
5. ๋ฉํฐโ์คํ ์ด ๋ผ์ฐํ (์ฌ์ ๊ตฌ์ฑ)
ํ์ฑํ๋ ๊ฒฝ์ฐ, mageโmirror๋ ์๋์ผ๋ก ๋ค์์ ๋งคํํฉ๋๋ค:
mage.test โ Website A
app.mage.test โ Website B
/etc/hosts๋ฅผ ์
๋ฐ์ดํธํ๊ณ , pub/index.php๋ฅผ ํจ์นํด MAGE_RUN_CODE๋ฅผ ์ค์ ํ๋ฉฐ, ๊ธฐ๋ณธ URL๊ณผ ์ค์ฝํ๋ฅผ ๊ตฌ์ฑํฉ๋๋ค โ ์๋ ๋จ๊ณ๊ฐ ์ ํ ์์ต๋๋ค.
6. OpenSearch ์๋ ์์ (โNo alive nodes foundโ ์ค๋ฅ ํด์)
ํํ ๋ณด๋ ์ค๋ฅ:
Could not validate a connection to OpenSearch. No alive nodes found.
mageโmirror๋ OpenSearch๋ฅผ ์๋์ผ๋ก ์ค์ ํฉ๋๋ค:
catalog/search/engine = opensearch
hostname = opensearch
port = 9200
prefix = magento2
๊ทธ ํ ์ ์ฒด ์ฌ์ธ๋ฑ์ค๋ฅผ ํธ๋ฆฌ๊ฑฐํด ์ค๋ฅ๋ฅผ ์์ฑ๋๋ค.
๋น ๋ฅธ ์์
git clone https://github.com/j-scriptz/mage-mirror
cd mage-mirror
chmod +x _mage-mirror.sh
./_mage-mirror.sh
Magento๋ ๋ค์ ์ฃผ์์์ ์คํ๋ฉ๋๋ค:
- (๋ฉํฐโ์คํ ์ด๊ฐ ํ์ฑํ๋ ๊ฒฝ์ฐ)
์์ ์ค์ ํ์ผ
๋ชจ๋ ์ค์ ์ _mage-mirror.config์ ์์ต๋๋ค.
๋น ๋ฅธ Hyvรค ์ค์น
INSTALL_HYVA=yes
WITH_SAMPLE_DATA=no
USE_EXISTING_DB=no
ํ๋ก๋์ ์คํ ์ด ๋ณต์
USE_RSYNC_MAGENTO=yes
USE_REMOTE_DB_DUMP=yes
REMOTE_HOST=myserver
REMOTE_PATH=/var/www/magento
์ ๊ทธ๋ ์ด๋ ๋ชจ๋
UPGRADE_MAGENTO=yes
UPGRADE_MAGENTO_VERSION=2.4.*
mageโmirror๋ฅผ ์ฌ์ฉํ๋ฉด ์ข์ ์ฌ๋
- Magento ์์ด์ ์
- ํ๋ฆฌ๋์
- Hyvรค ๊ฐ๋ฐ์
- Magento ์ ๊ทธ๋ ์ด๋ ์ ๋ฌธ๊ฐ
- ๊ธฐ์ฌ์
- ์ํด๋ฆญ ์ค์ ์ด ํ์ํ ์ฃผ๋์ด ๊ฐ๋ฐ์
- ํ์คํ๋ ๋ก์ปฌ ํ๊ฒฝ์ ์ํ๋ ํ
Magento๋ฅผ ์ ๊ธฐ์ ์ผ๋ก ๋ค๋ฃจ๋ ์ฌ๋์ด๋ผ๋ฉด mageโmirror๊ฐ ์ฃผ๋น ๋ช ์๊ฐ์ ์ ์ฝํด ์ค๋๋ค.
๋ณด๋์ค: ๋ฌด๋ฃ Hyvรคโํธํ ์๋ธ์นดํ ๊ณ ๋ฆฌ ์นด๋
์ค์ ์ค์ Jscriptz Subcats ๋ชจ๋์ ์๋ ์ค์นํ ์ ์์ต๋๋ค:
โ
์คํ ์ดํ๋ก ํธ UX์ Hyvรค ๋น๋์ ์ ์ฉํฉ๋๋ค.
ํ๋ก์ ํธ๋ฅผ ์ง์ํ๊ณ ์ถ์ผ์ ๊ฐ์?
mageโmirror๊ฐ ์๊ฐ์ ์ ์ฝํด ์ฃผ์๋ค๋ฉด, ์ง์ ๋ฐฉ๋ฒ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
- GitHub ์ ์ฅ์์ ์คํ ๋ฌ๊ธฐ
- ์ด์๋ PR ์ ์ถ
- Magento ์ปค๋ฎค๋ํฐ์ ์๋ฆฌ๊ธฐ
GitHub:
๋ง๋ฌด๋ฆฌ ์๊ฐ
Magento ๊ฐ๋ฐ์ ๋ณต์กํ์ง๋ง, ๋ก์ปฌ ํ๊ฒฝ์ ๋ฐ๋์ ๊ทธ๋ด ํ์๋ ์์ต๋๋ค. mageโmirror๋ ๋ฐ๋ณต๋๋ ๊ณ ํต์ ์์ ๊ณ , Magento ์คํ ์ด๋ฅผ ์คํ์ ํ๊ฑฐ๋ ๋ณต์ ํ๋ ์์ ์ ๋ค์ ๋ช ๋ น ํ๋๋ง์ผ๋ก ๊ฐ๋ฅํ๊ฒ ํฉ๋๋ค:
./_mage-mirror.sh