๋ค์์ ์ฌ์ฉํ์ฌ ํ๋ฌ๊ทธ์ธ์์ ๋ฉ๋ด๋ฅผ ์ถ๊ฐํ ํ
Application::registerAdminApp('Multi Tenancy', 'multitenancy.php', array(
iconclass => 'api'
));
๋ฉ๋ด ํญ๋ชฉ์ด "์์ฉ ํ๋ก๊ทธ๋จ" ๋ฐ ํ์ ๋ฉ๋ด "๋ค์ค ํ
๋์"์ ํจ๊ป ์ถ๊ฐ๋ฉ๋๋ค. ์ฌ๋ฐ๋ฅธ ๊ฒ์
๋๋ค.
๊ทธ๋ฌ๋ "์์ฉ ํ๋ก๊ทธ๋จ"์ ํด๋ฆญํ๋ฉด osticket ์คํฌ๋ฆฝํธ์ ์๋ apps.php๋ก ๋ฆฌ๋๋ ์
๋ฉ๋๋ค.
์ฌ๊ธฐ์์ ๊ฒํ ํ์ญ์์ค.
osTicket ๋ฒ์ ?
osTicket 1.9.6, ๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ๊ฒํ ํ๊ณ ์ต์ ๋ฆด๋ฆฌ์ค์์๋ ๋๋ฝ๋ ๊ฒ์ ๋ฐ๊ฒฌํ์ต๋๋ค.
/apps/.htaccess
ํ์ผ์ ํธ๋ํฝ์ /apps/dispatcher.php
๋ณด๋ด์ผ ํฉ๋๋ค. IIS๋ฅผ ์ฌ์ฉํ๊ณ ์์ต๋๊น?
์๋์, IIS๋ฅผ ์ฌ์ฉํ์ง ์์ต๋๋ค.
_apps.php_์์ ๋งํฌ๋ก ์ธํด ๋ฌธ์ ๊ฐ ๋ฐ์ํฉ๋๋ค. ์ฑ ํด๋์ _htaccess_๋ฅผ ๊ณ ๋ คํ๋ฉด ๋ฉ๋ด ๋งํฌ๊ฐ _apps.php_์์ _/apps_ ํด๋๋ก ๋ณ๊ฒฝ๋์ด์ผ ํฉ๋๋ค.
๊ฐ์ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. centos 7์์ ์ํ์น ์คํํ๊ธฐ
๋ด ์์ ์ ์ค์น๋ฟ๋ง ์๋๋ผ ์ฌ๋ฌ ๊ณ ๊ฐ(osTicket Reports)๋ ์ด ๋ฌธ์ ์ ์ง๋ฉดํ์ต๋๋ค. apps.php๋ฅผ ํด๋ฆญํ๋ฉด 404๊ฐ ๋ฐ์ํฉ๋๋ค. ์ต์ ์ค์น๋ CentOS 7์ ์์ต๋๋ค.
[scott<strong i="6">@rowleys</strong> ~]$ hostnamectl
<snip>
Operating System: CentOS Linux 7 (Core)
CPE OS Name: cpe:/o:centos:centos:7
Kernel: Linux 3.10.0-693.5.2.el7.x86_64
Architecture: x86-64
</snip>
[scott<strong i="7">@rowleys</strong> ~]$ httpd -v
Server version: Apache/2.4.6 (CentOS)
์ด๊ฒ์ ์ฌ์ ํ โโ๋ฌธ์ ์
๋๋ค. https://forum.osticket.com/d/96924-plugin-development-how-to-use-the-dispatcher-to-route-links-to-your-plugin/2๋ฅผ ์ฐธ์กฐํ์ญ์์ค.
๋ํ #1072๋ฅผ ๋ฐํํฉ๋๋ค.
์ด ๋ฌธ์ ๊ฐ ์ข ๋ฃ๋ ์ด์ ๋ฅผ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค. ์ด๊ฒ์ ์ฌ์ ํ โโ๋ฌธ์ ์ ๋๋ค.
( @SoftwareMods ' ๋ณด๊ณ ์ ํ๋ฌ๊ทธ์ธ ์ฌ์ฉ).
์ฌ์ ํ ์ด ๋ฌธ์ ๊ฐ ์์ต๋๋ค. ๋์์ด ๋์ จ๋์?
์์ ๋งํฌ๋ ํฌ๋ผ ๊ฒ์๋ฌผ ์์ ์ค๋ช
ํ๋ฏ์ด scp/apps/dispatcher.php
17๋ฒ์งธ ์ค์ ์๋ชป๋ if ๋ฌธ์ ์ฃผ์ ์ฒ๋ฆฌํด์ผ ํฉ๋๋ค.
๊ทธ๋ ๊ฒ ํ ์ ์์ด. ์ฌ๋ฌ ์ฌ๋์ด ๋ค์ด๋ก๋ํ ์ ์๋ ํ๋ฌ๊ทธ์ธ์ ๋ง๋ค์ด์ผ ํ๋ฏ๋ก ๋ชจ๋ ์ฌ๋์ ์์ค ์ฝ๋๋ฅผ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค.
์ด์ด ์์์ด. ์ด ๋ฌธ์ ์ ๋ํ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ์ฐพ์ง ๋ชปํ์ต๋๋ค. ๊ทธ๋ฐ ๋ค์ ์๋ ๋ฌธ์ ์ ๋ํ ์ ๋ฌธ์ ๋ฅผ ์ด๊ฑฐ๋ ํ ์์ฒญ์ ์ ์ถํ๊ฑฐ๋ ๊ณ ์ ํ OSTicket ํฌํฌ๋ฅผ ๋ฐฐํฌํด์ผ ํฉ๋๋ค./
์ด์ด ์์์ด. ์ด ๋ฌธ์ ์ ๋ํ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ์ฐพ์ง ๋ชปํ์ต๋๋ค. ๊ทธ๋ฐ ๋ค์ ์๋ ๋ฌธ์ ์ ๋ํ ์ ๋ฌธ์ ๋ฅผ ์ด๊ฑฐ๋ ํ ์์ฒญ์ ์ ์ถํ๊ฑฐ๋ ๊ณ ์ ํ OSTicket ํฌํฌ๋ฅผ ๋ฐฐํฌํด์ผ ํฉ๋๋ค./
@JediKev @ntzier ์ด ๋ฌธ์ ๊ฐ ์ข ๋ฃ๋์ด์๋ ์ ๋ ๊ฒ ๊ฐ์๋ฐ์?
OST ํ์ด ๋ฌธ์ /๋ก๊ทธ ๋ฑ์ ์ฌํํ๋ ๊ฒ์ ๋๊ธฐ ์ํด ๋ฌด์์ ํ ์ ์๋์ง ์๋ ค์ฃผ์ญ์์ค.
@joeldeteves
์ด๋ scp/apps/dispatcher.php
์ด์ if (basename($_SERVER['SCRIPT_NAME'])==basename(__FILE__))
์ถ๊ฐ var_dump($_SERVER['SCRIPT_NAME'], __FILE__);die;
๊ฒํ ๋ฅผ ์ํด ์ฌ๊ธฐ์ ์ถ๋ ฅ์ ๊ฒ์ ํ ์ ์์ต๋๋ค.
๊ฑด๋ฐฐ.
@JediKev ๋ , ๋ง์ํ์ ๋๋ก ํ์ง๋ง ์๋ฌด๊ฒ๋ ๋ณด์ด์ง ์์ต๋๋ค. ์์ฉ ํ๋ก๊ทธ๋จ ๋ฒํผ์ ํด๋ฆญํ๋ฉด scp/apps.php๋ก ๋ฆฌ๋๋ ์
๋๊ณ 404 ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
@Temepest74
์ฃ์กํฉ๋๋ค. ์ด์ ์ด ์ค๋ ๋๋ฅผ ์ ๋ฐ์ดํธํ๋ ๊ฒ์ ์์์ต๋๋ค. ํ์ผ๋ก๋ถํฐ ๋ฐ์ ํผ๋๋ฐฑ์ ์ ํ๋ฆฌ์ผ์ด์ ์ด ์๋ฃ๋์ง๋ ์์ ํ ๊ตฌํ๋์ง๋ ์์ ๊ฐ๋ ์ผ ๋ฟ์ด๋ผ๋ ๊ฒ์ ๋๋ค. ์ฐ๋ฆฌ์ ํต์ฌ ํ๋ฌ๊ทธ์ธ ์ค ์ด๋ ๊ฒ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฌ์ฉํ์ง ์๋๋ค๋ ๊ฒ์ ์ ์ ์์ต๋๋ค.
ํ์ฌ ์๋ฆฌ์ฆ( 1.14.x
/ 1.15.x
)์ ๋ํ ๋ชจ๋ ์ฃผ์ ๊ฐ๋ฐ์ ์ค๋จํ๊ธฐ ๋๋ฌธ์ ์ด๊ฒ์ ๋ง๋ฌด๋ฆฌ/์ฌ์์ฑํ ๊ฒ์ผ๋ก ๋ณด์ง ์์ต๋๋ค. ์ฐ๋ฆฌ๋ ์ด์ ์ v2.0(์์ ํ ํ๋์ ์ธ UI/UX๋ก ์ ์ฒด ์ฝ๋๋ฒ ์ด์ค ์ฌ์์ฑ)์ผ๋ก ์ฎ๊ธฐ๋ฉด์ ํ์ฌ ์๋ฆฌ์ฆ์ ๋ํ ์ฃผ์ ๊ฐ๋ฐ์ ์ค๋จํ์ต๋๋ค. ์ฐ๋ฆฌ๋ ์ฌ์ ํ ๋ฒ๊ทธ ์์ , ๋ณด์ ํจ์น ๋ฐ ์ ์ฌ์ ์ผ๋ก ์์ ์ถ๊ฐ ์์
์ ์ํํ ๊ฒ์ด์ง๋ง ์ฃผ์ ์ฝ๋ ๋ณ๊ฒฝ ๋ฐ ์ฃผ์ ๊ธฐ๋ฅ์ ์์ต๋๋ค. ์ด์ ๋ฐ๋ผ v2.0์ _ํจ์ฌ_ ํ์ฅ ๊ฐ๋ฅํ์ฌ ํ๋ฌ๊ทธ์ธ์ ๋ ์ฝ๊ฒ ๋ง๋ค ์ ์์ต๋๋ค. ์ฌ๊ธฐ ์์
๊ฑด๋ฐฐ.
@JediKev
์ค, ์ ๋ง ์ ๋ค์์ต๋๋ค. ์ฝ๋๋ฒ ์ด์ค๋ ๋๋๋ก ์ฝ๊ฐ ๋ณต์กํด ๋ณด์ด์ง๋ง ๋ค์ ์์ฑํ๊ธฐ๋ฅผ ์ ๋ง ๊ธฐ๋ํ๊ณ ์์ต๋๋ค.
๋ช ์ฃผ ์์ OSTicket 1.15.x
์ฉ ํ๋ฌ๊ทธ์ธ์ ์์ฑํ๊ธฐ ์์ํฉ๋๋ค. 2.0
์ฉ์ผ๋ก ์์ ํ ๋ค์ ์์ฑํด์ผ ํฉ๋๊น?
@JediKev ๋ต๋ณ ๊ฐ์ฌํฉ๋๋ค.
@ํธ์ด๋ง๋ฅด
์ค ์ lol ์ฐ๋ฆฌ๋ ํ๋ ์์ํฌ(์์ ํ๊ณ ๊ฐ๋ ฅํ ORM ํฌํจ)๋ก ์ ํํ๊ณ ํ๋ฐํธ ์๋์ ReactJS + Semantic UI๋ฅผ ์ฌ์ฉํ๊ณ ์์ต๋๋ค. ์ ์ฒด ์ฝ๋๋ฒ ์ด์ค๋ _์์ ํ_ ๋ค๋ฅผ ๊ฒ์ ๋๋ค.
๊ฑด๋ฐฐ.
@Temepest74
์ฃ์กํฉ๋๋ค. ์ด์ ์ด ์ค๋ ๋๋ฅผ ์ ๋ฐ์ดํธํ๋ ๊ฒ์ ์์์ต๋๋ค. ํ์ผ๋ก๋ถํฐ ๋ฐ์ ํผ๋๋ฐฑ์ ์ ํ๋ฆฌ์ผ์ด์ ์ด ์๋ฃ๋์ง๋ ์์ ํ ๊ตฌํ๋์ง๋ ์์ ๊ฐ๋ ์ผ ๋ฟ์ด๋ผ๋ ๊ฒ์ ๋๋ค. ์ฐ๋ฆฌ์ ํต์ฌ ํ๋ฌ๊ทธ์ธ ์ค ์ด๋ ๊ฒ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฌ์ฉํ์ง ์๋๋ค๋ ๊ฒ์ ์ ์ ์์ต๋๋ค.
ํ์ฌ ์๋ฆฌ์ฆ(
1.14.x
/1.15.x
)์ ๋ํ ๋ชจ๋ ์ฃผ์ ๊ฐ๋ฐ์ ์ค๋จํ๊ธฐ ๋๋ฌธ์ ์ด๊ฒ์ ๋ง๋ฌด๋ฆฌ/์ฌ์์ฑํ ๊ฒ์ผ๋ก ๋ณด์ง ์์ต๋๋ค. ์ฐ๋ฆฌ๋ ์ด์ ์ v2.0(์์ ํ ํ๋์ ์ธ UI/UX๋ก ์ ์ฒด ์ฝ๋๋ฒ ์ด์ค ์ฌ์์ฑ)์ผ๋ก ์ฎ๊ธฐ๋ฉด์ ํ์ฌ ์๋ฆฌ์ฆ์ ๋ํ ์ฃผ์ ๊ฐ๋ฐ์ ์ค๋จํ์ต๋๋ค. ์ฐ๋ฆฌ๋ ์ฌ์ ํ ๋ฒ๊ทธ ์์ , ๋ณด์ ํจ์น ๋ฐ ์ ์ฌ์ ์ผ๋ก ์์ ์ถ๊ฐ ์์ ์ ์ํํ ๊ฒ์ด์ง๋ง ์ฃผ์ ์ฝ๋ ๋ณ๊ฒฝ ๋ฐ ์ฃผ์ ๊ธฐ๋ฅ์ ์์ต๋๋ค. ์ด์ ๋ฐ๋ผ v2.0์ _ํจ์ฌ_ ํ์ฅ ๊ฐ๋ฅํ์ฌ ํ๋ฌ๊ทธ์ธ์ ๋ ์ฝ๊ฒ ๋ง๋ค ์ ์์ต๋๋ค. ์ฌ๊ธฐ ์์๊ฑด๋ฐฐ.
๋งค์ฐ ํฅ๋ฏธ ์ง์งํ!
ํนํ ์๋กญ๊ณ ๋ชจ๋ํ UI ๐
@JediKev ๊ฐ์ฌํฉ๋๋ค
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
@Temepest74
์ฃ์กํฉ๋๋ค. ์ด์ ์ด ์ค๋ ๋๋ฅผ ์ ๋ฐ์ดํธํ๋ ๊ฒ์ ์์์ต๋๋ค. ํ์ผ๋ก๋ถํฐ ๋ฐ์ ํผ๋๋ฐฑ์ ์ ํ๋ฆฌ์ผ์ด์ ์ด ์๋ฃ๋์ง๋ ์์ ํ ๊ตฌํ๋์ง๋ ์์ ๊ฐ๋ ์ผ ๋ฟ์ด๋ผ๋ ๊ฒ์ ๋๋ค. ์ฐ๋ฆฌ์ ํต์ฌ ํ๋ฌ๊ทธ์ธ ์ค ์ด๋ ๊ฒ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฌ์ฉํ์ง ์๋๋ค๋ ๊ฒ์ ์ ์ ์์ต๋๋ค.
ํ์ฌ ์๋ฆฌ์ฆ(
1.14.x
/1.15.x
)์ ๋ํ ๋ชจ๋ ์ฃผ์ ๊ฐ๋ฐ์ ์ค๋จํ๊ธฐ ๋๋ฌธ์ ์ด๊ฒ์ ๋ง๋ฌด๋ฆฌ/์ฌ์์ฑํ ๊ฒ์ผ๋ก ๋ณด์ง ์์ต๋๋ค. ์ฐ๋ฆฌ๋ ์ด์ ์ v2.0(์์ ํ ํ๋์ ์ธ UI/UX๋ก ์ ์ฒด ์ฝ๋๋ฒ ์ด์ค ์ฌ์์ฑ)์ผ๋ก ์ฎ๊ธฐ๋ฉด์ ํ์ฌ ์๋ฆฌ์ฆ์ ๋ํ ์ฃผ์ ๊ฐ๋ฐ์ ์ค๋จํ์ต๋๋ค. ์ฐ๋ฆฌ๋ ์ฌ์ ํ ๋ฒ๊ทธ ์์ , ๋ณด์ ํจ์น ๋ฐ ์ ์ฌ์ ์ผ๋ก ์์ ์ถ๊ฐ ์์ ์ ์ํํ ๊ฒ์ด์ง๋ง ์ฃผ์ ์ฝ๋ ๋ณ๊ฒฝ ๋ฐ ์ฃผ์ ๊ธฐ๋ฅ์ ์์ต๋๋ค. ์ด์ ๋ฐ๋ผ v2.0์ _ํจ์ฌ_ ํ์ฅ ๊ฐ๋ฅํ์ฌ ํ๋ฌ๊ทธ์ธ์ ๋ ์ฝ๊ฒ ๋ง๋ค ์ ์์ต๋๋ค. ์ฌ๊ธฐ ์์๊ฑด๋ฐฐ.