PHP ํ”„๋กœ์ ํŠธ์˜ git ์ €์žฅ์†Œ ๋ฐ ์‚ฌ์šฉ์ž ๊ธฐ๋ฐ˜ ์†์ƒ์— ๋Œ€ํ•ด ๋ณด๊ณ ํ•ฉ๋‹ˆ๋‹ค.

ํŠน๋ณ„ํžˆ ์„ค๊ณ„๋œ ์‚ฌ์šฉ์ž ์—์ด์ „ํŠธ ํ—ค๋”๊ฐ€ ํฌํ•จ๋œ ์š”์ฒญ์„ ๋ณด๋‚ผ ๋•Œ ๋ฐฑ๋„์–ด๊ฐ€ ํ™œ์„ฑํ™”๋œ PHP ํ”„๋กœ์ ํŠธ์˜ Git ์ €์žฅ์†Œ์—์„œ ๋‘ ๊ฐœ์˜ ์•…์„ฑ ์ปค๋ฐ‹ ์‹๋ณ„๊ณผ ๊ด€๋ จ๋œ ์‚ฌ๊ฑด ๋ถ„์„์˜ ์ฒซ ๋ฒˆ์งธ ๊ฒฐ๊ณผ๊ฐ€ ๊ฒŒ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ณต๊ฒฉ์ž๋“ค์˜ ํ™œ๋™ ํ”์ ์„ ์กฐ์‚ฌํ•œ ๊ฒฐ๊ณผ, git ์ €์žฅ์†Œ๊ฐ€ ์œ„์น˜ํ•œ git.php.net ์„œ๋ฒ„ ์ž์ฒด๋Š” ํ•ดํ‚น๋˜์ง€ ์•Š์•˜์œผ๋‚˜, ํ”„๋กœ์ ํŠธ ๊ฐœ๋ฐœ์ž๋“ค์˜ ๊ณ„์ •์ด ํฌํ•จ๋œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ํ•ดํ‚น๋‹นํ•œ ๊ฒƒ์œผ๋กœ ๊ฒฐ๋ก ์ด ๋‚ฌ๋‹ค. .

๊ณต๊ฒฉ์ž๋Š” master.php.net ์„œ๋ฒ„์˜ DBMS์— ์ €์žฅ๋œ ์‚ฌ์šฉ์ž ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๋‹ค์šด๋กœ๋“œํ•  ์ˆ˜ ์žˆ์—ˆ์„ ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค. master.php.net์˜ ๋‚ด์šฉ์€ ์ด๋ฏธ ์ฒ˜์Œ๋ถ€ํ„ฐ ์„ค์น˜๋œ ์ƒˆ๋กœ์šด main.php.net ์„œ๋ฒ„๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜๋˜์—ˆ์Šต๋‹ˆ๋‹ค. php.net ์ธํ”„๋ผ์— ์•ก์„ธ์Šคํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋œ ๋ชจ๋“  ๊ฐœ๋ฐœ์ž ๋น„๋ฐ€๋ฒˆํ˜ธ๋Š” ์žฌ์„ค์ •๋˜์—ˆ์œผ๋ฉฐ ๋น„๋ฐ€๋ฒˆํ˜ธ ๋ณ€๊ฒฝ ํ”„๋กœ์„ธ์Šค๋Š” ํŠน์ˆ˜ ๋น„๋ฐ€๋ฒˆํ˜ธ ๋ณต๊ตฌ ์–‘์‹์„ ํ†ตํ•ด ์‹œ์ž‘๋˜์—ˆ์Šต๋‹ˆ๋‹ค. git.php.net ๋ฐ svn.php.net ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๋Š” ์ฝ๊ธฐ ์ „์šฉ์œผ๋กœ ์œ ์ง€๋ฉ๋‹ˆ๋‹ค(๊ฐœ๋ฐœ์€ GitHub๋กœ ์ด๋™๋˜์—ˆ์Šต๋‹ˆ๋‹ค).

PHP์˜ ์ฐฝ๋ฆฝ์ž์ธ Rasmus Lerdorf์˜ ๊ณ„์ •์„ ํ†ตํ•ด ์ด๋ฃจ์–ด์ง„ ์ฒซ ๋ฒˆ์งธ ์•…์„ฑ ์ปค๋ฐ‹์ด ๋ฐœ๊ฒฌ๋œ ํ›„, ๊ทธ์˜ ๊ณ„์ •์ด ํ•ดํ‚น๋œ ๊ฒƒ์œผ๋กœ ์ถ”์ •๋˜์—ˆ์œผ๋ฉฐ ์ฃผ์š” PHP ๊ฐœ๋ฐœ์ž ์ค‘ ํ•œ ๋ช…์ธ Nikita Popov๊ฐ€ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๋กค๋ฐฑํ•˜๊ณ  ์ปค๋ฐ‹ ๊ถŒํ•œ์„ ์ฐจ๋‹จํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ฌธ์ œ์˜ ๊ณ„์ •. ์–ผ๋งˆ ํ›„ ๋””์ง€ํ„ธ ์„œ๋ช…์„ ์‚ฌ์šฉํ•˜์—ฌ ์ปค๋ฐ‹์„ ํ™•์ธํ•˜์ง€ ์•Š์œผ๋ฉด php-src ์ €์žฅ์†Œ์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  ์ฐธ๊ฐ€์ž๊ฐ€ ๊ฐ€์ƒ์˜ ์ž‘์„ฑ์ž ์ด๋ฆ„์„ ๋Œ€์ฒดํ•˜์—ฌ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ฐจ๋‹จ์ด ์˜๋ฏธ๊ฐ€ ์—†๋‹ค๋Š” ๊ฒƒ์„ ๊นจ๋‹ฌ์•˜์Šต๋‹ˆ๋‹ค.

๋‹ค์Œ์œผ๋กœ, ๊ณต๊ฒฉ์ž๋Š” Nikita ์ž์‹ ์„ ๋Œ€์‹ ํ•˜์—ฌ ์•…์˜์ ์ธ ์ปค๋ฐ‹์„ ๋ณด๋ƒˆ์Šต๋‹ˆ๋‹ค. ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์— ๋Œ€ํ•œ ์•ก์„ธ์Šค๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” gitolite ์„œ๋น„์Šค์˜ ๋กœ๊ทธ๋ฅผ ๋ถ„์„ํ•˜์—ฌ ์‹ค์ œ๋กœ ๋ณ€๊ฒฝ์„ ์ˆ˜ํ–‰ํ•œ ์ฐธ๊ฐ€์ž๋ฅผ ํ™•์ธํ•˜๋ ค๋Š” ์‹œ๋„๊ฐ€ ์ด๋ฃจ์–ด์กŒ์Šต๋‹ˆ๋‹ค. ๋ชจ๋“  ์ปค๋ฐ‹์— ๋Œ€ํ•œ ์„ค๋ช…์ด ํฌํ•จ๋˜์—ˆ์Œ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ๋กœ๊ทธ์—๋Š” ๋‘ ๊ฐ€์ง€ ์•…์˜์ ์ธ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์— ๋Œ€ํ•œ ํ•ญ๋ชฉ์ด ์—†์Šต๋‹ˆ๋‹ค. ์ปค๋ฐ‹์ด ์ง์ ‘ ์ถ”๊ฐ€๋˜์–ด gitolite๋ฅผ ํ†ตํ•œ ์—ฐ๊ฒฐ์„ ์šฐํšŒํ•˜๋ฏ€๋กœ ์ธํ”„๋ผ๊ฐ€ ์†์ƒ๋˜์—ˆ๋‹ค๋Š” ๊ฒƒ์ด ๋ถ„๋ช…ํ•ด์กŒ์Šต๋‹ˆ๋‹ค.

git.php.net ์„œ๋ฒ„๋Š” ์ฆ‰์‹œ ๋น„ํ™œ์„ฑํ™”๋˜์—ˆ์œผ๋ฉฐ ๊ธฐ๋ณธ ์ €์žฅ์†Œ๋Š” GitHub๋กœ ์ด์ „๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ €์žฅ์†Œ์— ์•ก์„ธ์Šคํ•˜๋ ค๋ฉด gitolite๋ฅผ ์‚ฌ์šฉํ•˜๋Š” SSH ์™ธ์—๋„ HTTPS๋ฅผ ํ†ตํ•ด ์ปค๋ฐ‹์„ ๋ณด๋‚ผ ์ˆ˜ ์žˆ๋Š” ๋˜ ๋‹ค๋ฅธ ์ž…๋ ฅ์ด ์žˆ๋‹ค๋Š” ์‚ฌ์‹ค์„ ์„œ๋‘˜๋Ÿฌ ์žŠ์–ด๋ฒ„๋ ธ์Šต๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ Git๊ณผ ์ƒํ˜ธ ์ž‘์šฉํ•˜๊ธฐ ์œ„ํ•ด git-http-backend๊ฐ€ ์‚ฌ์šฉ๋˜์—ˆ์œผ๋ฉฐ, master.php.net ์„œ๋ฒ„์˜ DBMS์— ํ˜ธ์ŠคํŒ…๋œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์•ก์„ธ์Šคํ•˜์—ฌ ์ž๊ฒฉ ์ฆ๋ช…์„ ํ™•์ธํ•˜๋Š” Apache2 HTTP ์„œ๋ฒ„๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ธ์ฆ์ด ์ˆ˜ํ–‰๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ํ‚ค๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์ผ๋ฐ˜ ๋น„๋ฐ€๋ฒˆํ˜ธ๋กœ๋„ ๋กœ๊ทธ์ธ์ด ํ—ˆ์šฉ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. http ์„œ๋ฒ„ ๋กœ๊ทธ๋ฅผ ๋ถ„์„ํ•œ ๊ฒฐ๊ณผ HTTPS๋ฅผ ํ†ตํ•ด ์•…์˜์ ์ธ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ์ถ”๊ฐ€๋œ ๊ฒƒ์œผ๋กœ ํ™•์ธ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๋กœ๊ทธ๋ฅผ ๋ถ„์„ํ•œ ๊ฒฐ๊ณผ, ๊ณต๊ฒฉ์ž๋Š” ์ฒ˜์Œ ์ ‘์†ํ•œ ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ์ฒ˜์Œ์—๋Š” ๊ณ„์ •๋ช…์„ ์ฐพ์œผ๋ ค ํ–ˆ์œผ๋‚˜, ์ด๋ฅผ ํ™•์ธํ•œ ํ›„ ์ฒซ ๋ฒˆ์งธ ์‹œ๋„์—์„œ ๋กœ๊ทธ์ธํ•œ ๊ฒƒ์œผ๋กœ ๋“œ๋Ÿฌ๋‚ฌ๋‹ค. ๊ทธ๋“ค์€ Rasmus์™€ Nikita์˜ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ๋ฏธ๋ฆฌ ์•Œ๊ณ  ์žˆ์—ˆ์ง€๋งŒ ๋กœ๊ทธ์ธ ์ •๋ณด๋Š” ๋ชฐ๋ž์Šต๋‹ˆ๋‹ค. ๊ณต๊ฒฉ์ž๊ฐ€ DBMS์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค๋ฉด, ๊ฑฐ๊ธฐ์— ์ง€์ •๋œ ์˜ฌ๋ฐ”๋ฅธ ๋กœ๊ทธ์ธ์„ ์ฆ‰์‹œ ์‚ฌ์šฉํ•˜์ง€ ์•Š์€ ์ด์œ ๋Š” ๋ถ„๋ช…ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด ๋ถˆ์ผ์น˜๋Š” ์•„์ง ์‹ ๋ขฐํ• ๋งŒํ•œ ์„ค๋ช…์„ ์–ป์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค. master.php.net ํ•ดํ‚น์€ ๊ฐ€์žฅ ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์€ ์‹œ๋‚˜๋ฆฌ์˜ค๋กœ ๊ฐ„์ฃผ๋ฉ๋‹ˆ๋‹ค. ์ด ์„œ๋ฒ„๋Š” ์˜ค๋žซ๋™์•ˆ ์—…๋ฐ์ดํŠธ๋˜์ง€ ์•Š์•˜๊ณ  ํŒจ์น˜๋˜์ง€ ์•Š์€ ์ทจ์•ฝ์ ์ด ์žˆ๋Š” ๋งค์šฐ ์˜ค๋ž˜๋œ ์ฝ”๋“œ์™€ ์˜ค๋ž˜๋œ OS๋ฅผ ์‚ฌ์šฉํ–ˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

์ทจํ•œ ์กฐ์น˜์—๋Š” master.php.net ์„œ๋ฒ„ ํ™˜๊ฒฝ ์žฌ์„ค์น˜ ๋ฐ ์ƒˆ ๋ฒ„์ „์˜ PHP 8๋กœ ์Šคํฌ๋ฆฝํŠธ ์ „์†ก์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. DBMS ์ž‘์—…์šฉ ์ฝ”๋“œ๋Š” SQL ์ฝ”๋“œ ๋Œ€์ฒด๋ฅผ ๋ณต์žกํ•˜๊ฒŒ ๋งŒ๋“œ๋Š” ๋งค๊ฐœ๋ณ€์ˆ˜ํ™”๋œ ์ฟผ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ์ˆ˜์ •๋˜์—ˆ์Šต๋‹ˆ๋‹ค. bcrypt ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋น„๋ฐ€๋ฒˆํ˜ธ ํ•ด์‹œ๋ฅผ ์ €์žฅํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค(์ด์ „์—๋Š” ๋น„๋ฐ€๋ฒˆํ˜ธ๊ฐ€ ์‹ ๋ขฐํ•  ์ˆ˜ ์—†๋Š” MD5 ํ•ด์‹œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ €์žฅ๋˜์—ˆ์Šต๋‹ˆ๋‹ค). ๊ธฐ์กด ๋น„๋ฐ€๋ฒˆํ˜ธ๊ฐ€ ์žฌ์„ค์ •๋˜๊ณ  ๋น„๋ฐ€๋ฒˆํ˜ธ ๋ณต๊ตฌ ์–‘์‹์„ ํ†ตํ•ด ์ƒˆ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์„ค์ •ํ•˜๋ผ๋Š” ๋ฉ”์‹œ์ง€๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. HTTPS๋ฅผ ํ†ตํ•œ git.php.net ๋ฐ svn.php.net ์ €์žฅ์†Œ์— ๋Œ€ํ•œ ์•ก์„ธ์Šค๋Š” MD5 ํ•ด์‹œ์— ์—ฐ๊ฒฐ๋˜์–ด ์žˆ์œผ๋ฏ€๋กœ git.php.net ๋ฐ svn.php.net์„ ์ฝ๊ธฐ ์ „์šฉ ๋ชจ๋“œ๋กœ ์œ ์ง€ํ•˜๊ณ  ๋ชจ๋‘ ์ด๋™ํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‚˜๋จธ์ง€๋Š” ๊ธฐ๋ณธ PHP ์ €์žฅ์†Œ์™€ ์œ ์‚ฌํ•œ GitHub์˜ PECL ํ™•์žฅ ์ €์žฅ์†Œ์ž…๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€