๋šœ๋ถ€๋‹ˆ์˜ Devlog

[PHP] Bitnami๋กœ PHP ํ™˜๊ฒฝ ์„ธํŒ…ํ•˜๊ธฐ

by ๋šœ๋ถ€๋‹ˆ

PHP

์ œ๊ฐ€ ์‚ฌ์šฉํ•œ Bitnami ๋ฒ„์ „์€ 7.4.21์ธ๋ฐ์š”,

์ฐธ๊ณ ์šฉ์œผ๋กœ ํ•ด๋‹น ๋ฒ„์ „์˜ ์—ฌ๋Ÿฌ ์†Œํ”„ํŠธ์›จ์–ด ๋ฒ„์ „์— ๋Œ€ํ•ด ์ •๋ฆฌํ•ด๋ณด์•˜์–ด์š”. ๐Ÿ˜Ž๐Ÿ˜Ž

 

๐Ÿงฑ ๋ฒ„์ „ ์ •๋ณด

  • Windows 10 Pro
  • Bitnami 7.4.21
    • Apache 2.4.48
    • MariaDB 10.4.20
    • PHP 7.4.21
    • PHPMyAdmin 5.1.1
    • ImageMagick 7.0.7-11
    • SQLite 3.36.0
    • ModSecurity 2.9.3
    • Git 2.32.0

Bitnami๋ฅผ ์ด์šฉํ•ด WAMP ํ™˜๊ฒฝ ๊ตฌ์ถ•ํ•˜๊ธฐ

Windows์— PHP๋ฅผ ์„ค์น˜ํ•  ๋•Œ, PHP๋งŒ ์„ค์น˜ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹Œ Apache, MySQL์„ ํ•จ๊ป˜ ์„ค์น˜ํ•˜๋Š” ๊ฒƒ์ด ์ผ๋ฐ˜์ ์ž…๋‹ˆ๋‹ค.

PHP๋Š” Apache๋ฅผ ํ†ตํ•ด์„œ ๋ธŒ๋ผ์šฐ์ €๋กœ ์ •๋ณด๋ฅผ ์ „์†กํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์‹ค์งˆ์ ์ธ ์‚ฌ์šฉ์ž ์ •๋ณด๋Š” MySQL์—์„œ ๊ด€๋ฆฌํ•˜๊ธฐ ๋•Œ๋ฌธ์—

Apache, MySQL, PHP์„ ํ•จ๊ป˜ ์„ค์น˜ํ•˜๋ฉฐ, ์ด๊ฒƒ์„ AMP์ด๋ผ๊ณ  ๋ถ€๋ฆ…๋‹ˆ๋‹ค.

AMP๋ฅผ Windows ํ™˜๊ฒฝ์—์„œ ์„ค์น˜ํ•˜๋ฉด WAMP๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

๊ฐ๊ฐ ๋‹ค์šด๋กœ๋“œํ•˜์—ฌ ์„ค์ •ํ•˜๋Š” ๊ฒƒ์€ ๋‹ค์†Œ ๋‚œ์ด๋„๊ฐ€ ์žˆ์œผ๋ฏ€๋กœ Bitnami๋ฅผ ํ†ตํ•ด ์„ค์น˜ํ•˜๋„๋ก ํ•ฉ์‹œ๋‹ค! ๐Ÿ˜๐Ÿ˜

์šฐ์„ , ์•„๋ž˜์˜ Bitnami๋กœ ์ ‘์†ํ•ฉ๋‹ˆ๋‹ค.

 

WAMP

Bitnami WAMP Stack provides a complete, fully-integrated and ready to run WAMP development environment. In addition to PHP, MySQL and Apache, it includes FastCGI, OpenSSL, phpMyAdmin, ModSecurity, SQLite, ImageMagick, xDebug, Xcache, OpenLDAP, ModSecurity,

bitnami.com

์ ‘์†ํ•œ ํŽ˜์ด์ง€์—์„œ installers๋ฅผ ๋ˆ„๋ฅด๋ฉด

๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋œจ๋Š”๋ฐ, ์—ฌ๊ธฐ์„œ ์›ํ•˜์‹œ๋Š” ๋ฒ„์ „์œผ๋กœ ๋‹ค์šด๋กœ๋“œ๋ฅผ ๋ˆŒ๋Ÿฌ์ค๋‹ˆ๋‹ค.

์ €๋Š” PHP 7.4.21๋ฒ„์ „์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด WAMP 7.4.21๋กœ ๋‹ค์šด๋กœ๋“œํ•˜์˜€์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋กœ๊ทธ์ธ ํ™”๋ฉด์ด ๋œจ๋Š”๋ฐ, ๋กœ๊ทธ์ธํ•  ์ƒ๊ฐ์ด ์—†๊ธฐ ๋•Œ๋ฌธ์— No thanks๋ฅผ ๋ˆŒ๋Ÿฌ์ค๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋ฉด ์„ค์น˜ ํŒŒ์ผ์ด ๋‹ค์šด๋กœ๋“œ๋ฉ๋‹ˆ๋‹ค. ์„ค์น˜ ํŒŒ์ผ์„ ๋ˆŒ๋Ÿฌ์ฃผ๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ฐฝ์ด ๋œน๋‹ˆ๋‹ค. Yes๋ฅผ ๋ˆŒ๋Ÿฌ ๊ณ„์† ์ง„ํ–‰ํ•ฉ์‹œ๋‹ค!

๊ทธ๋Ÿฌ๋ฉด ์ด์ œ Bitnami ์„ค์น˜์— ๋Œ€ํ•œ ๋‚ด์šฉ์ด ๋‚˜์˜ต๋‹ˆ๋‹ค.

Next๋ฅผ ๋ˆŒ๋Ÿฌ์ฃผ๋ฉด Components์— ๋Œ€ํ•œ ๋‚ด์šฉ์ด ๋œน๋‹ˆ๋‹ค.

Components๋Š” ํ”„๋ ˆ์ž„์›Œํฌ ์ข…๋ฅ˜๋“ค์ธ๋ฐ, ๊ตณ์ด ์„ค์น˜ํ•  ํ•„์š”๋Š” ์—†๊ธฐ ๋•Œ๋ฌธ์— ๋ชจ๋‘ ํ•ด์ œํ•ฉ๋‹ˆ๋‹ค.

์ฐธ๊ณ ๋กœ, PhpMyAdmin์— ๋Œ€ํ•œ ์ฒดํฌ๋Š” ํ’€ ์ˆ˜๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. (๋ฌด์กฐ๊ฑด ์„ค์น˜๋จ!)

PhpMyAdmin์€ MySQL์„ ์‚ฌ์šฉํ•  ๋•Œ ์›น์ƒ์—์„œ ์‰ฝ๊ฒŒ ์ œ์–ดํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ฃผ๋Š” ์†Œํ”„ํŠธ์›จ์–ด์ž…๋‹ˆ๋‹ค.

Next๋ฅผ ๋ˆŒ๋Ÿฌ ๋‹ค์Œ์œผ๋กœ ๋„˜์–ด๊ฐ€๋ฉด Bitnami ์„ค์น˜ ๊ฒฝ๋กœ๊ฐ€ ๋œน๋‹ˆ๋‹ค. ์›ํ•˜๋Š” ๊ฒฝ๋กœ๋กœ ์„ค์ •ํ•˜๊ณ  Next๋ฅผ ๋ˆŒ๋Ÿฌ์ฃผ์„ธ์š”.

์ €๋Š” ๊ธฐ์กด์˜ ๊ฒฝ๋กœ๋ฅผ ๊ทธ๋Œ€๋กœ ์œ ์ง€ํ•œ ์ฑ„ Next๋ฅผ ๋ˆŒ๋ €์–ด์š”. ๐Ÿ˜Ž๐Ÿ˜Ž

๊ทธ๋Ÿฌ๊ณ  ๋‚˜๋ฉด MySQL์— ๋Œ€ํ•œ Password๋ฅผ ์„ค์ •ํ•˜๋Š” ํ™”๋ฉด์ด ๋‚˜์˜ต๋‹ˆ๋‹ค. ์›ํ•˜์‹œ๋Š” ๋Œ€๋กœ ์„ค์ •ํ•ด์ฃผ์„ธ์š”. ๐Ÿ˜๐Ÿ˜

๊ทธ๋‹ค์Œ ๋œจ๋Š” ํ™”๋ฉด์—์„œ ์ฒดํฌ๋ฅผ ํ•ด์ œํ•œ ํ›„ ๊ทธ ๋’ค ๋ชจ๋“  Next๋ฅผ ๋ˆŒ๋Ÿฌ ์„ค์น˜๋ฅผ ํ•ด์ค๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋ฉด ์ด๋ ‡๊ฒŒ Bitnami๊ฐ€ ์„ค์น˜๋˜๋Š” ๋ชจ์Šต์„ ๋ณด์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์„ค์น˜๊ฐ€ ๋˜๋Š”๋ฐ ์‹œ๊ฐ„์ด ์กฐ๊ธˆ ๊ฑธ๋ฆฌ๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค... ๐Ÿ˜‚๐Ÿ˜‚

์„ค์น˜๊ฐ€ ์™„๋ฃŒ๋˜๊ณ  ๋‚˜์„œ Finish๋ฅผ ๋ˆ„๋ฅด๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํ™”๋ฉด์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด์ œ Bitnami๋ฅผ ์‹คํ–‰์‹œ์ผœ๋ด…์‹œ๋‹ค.

Bitnami๋ฅผ ์‹คํ–‰์‹œํ‚ค๋ฉด Open phpMyAdmin์ด๋ผ๋Š” ๊ฒƒ์ด ๋ณด์ด๋Š”๋ฐ, ์‚ฌ์šฉ์ž๋Š” root๋กœ ์ž…๋ ฅํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ์„ค์น˜ํ•˜๋ฉด์„œ ์ž…๋ ฅํ–ˆ๋˜ MySQL ํŒจ์Šค์›Œ๋“œ๋ฅผ ๊ทธ๋Œ€๋กœ ์ž…๋ ฅํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

Open Application Folder๋ฅผ ํด๋ฆญํ•˜๋ฉด Bitnami๊ฐ€ ์„ค์น˜๋˜์–ด ์žˆ๋Š” ๊ฒฝ๋กœ์˜ ํด๋”๋ฅผ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

Manage Servers๋ฅผ ํด๋ฆญํ•˜๋ฉด DB์™€ Apache Web Server์— ๋Œ€ํ•œ ์ƒํƒœ๋ฅผ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.
ํ•„์š”์— ๋”ฐ๋ผ Start, Stop, Restart๋ฅผ ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋ฉด ์™œ PHP์— ๋Œ€ํ•ด์„œ๋Š” ์ด๋Ÿฌํ•œ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜์ง€ ์•Š์„๊นŒ์š”? ๐Ÿค”๐Ÿค”

๊ทธ ์ด์œ ๋Š” PHP๊ฐ€ Apache์— ๋ถ™์–ด์„œ ๋™์ž‘ํ•˜๋Š” ํ˜•ํƒœ์ด๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.
๊ทธ๋Ÿฌ๋ฏ€๋กœ PHP๋ฅผ ์žฌ์‹œ์ž‘ํ•ด์•ผ ํ•˜๋Š” ์ƒํ™ฉ์ด ์ƒ๊ธฐ๋ฉด Apache๋ฅผ ์žฌ์‹œ์ž‘ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

 

๊ทธ๋Ÿฌ๋ฉด ์ด์ œ Root Diretory๋ฅผ ์ฐพ์•„๋ณผ๊นŒ์š”! ๐Ÿ˜†๐Ÿ˜†

Bitnami ์„ค์น˜ ํŒŒ์ผ์— ๋“ค์–ด๊ฐ€์„œ apache2 > conf์— ๋“ค์–ด๊ฐ€์„œ httpd.conf ํŒŒ์ผ์„ ์—ด์–ด๋ณด๋ฉด

DocumentRoot "C:/Bitnami/wampstack-7.4.21-0/apache2/htdocs๋ผ๊ณ  ์“ฐ์ธ ๋‚ด์šฉ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ•ด๋‹น ์œ„์น˜์— ์žˆ๋Š” index.html ํŒŒ์ผ์ด http://localhost๋กœ ์ ‘์†ํ–ˆ์„ ๋•Œ ๋ณด์ด๋Š” ํ™”๋ฉด๊ณผ ๋™์ผํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋ฏ€๋กœ ํ•ด๋‹น ์œ„์น˜์˜ index.html ํŒŒ์ผ์„ ์ˆ˜์ •ํ•˜๋ฉด localhost๋กœ ์ ‘์†ํ–ˆ์„ ๋•Œ ๋ณด์ด๋Š” ํ™”๋ฉด์ด ์ˆ˜์ •๋ฉ๋‹ˆ๋‹ค.

 

php๊ฐ€ ์ •์ƒ์ ์œผ๋กœ ๋™์ž‘ํ•˜๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด DocumentRoot์— phpinfo.php ํŒŒ์ผ์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ํ•ด๋‹น ํŒŒ์ผ์— ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋‚ด์šฉ์„ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค.

<?php
phpinfo();
?>

๊ทธ ํ›„ http://localhost/phpinfo.php ์— ์ ‘์†ํ•ด์„œ ์ •์ƒ์ ์œผ๋กœ ๋™์ž‘ํ•˜๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

์ •์ƒ์ ์œผ๋กœ ๋™์ž‘ํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํ™”๋ฉด์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

php๊ฐ€ ์ •์ƒ์ ์œผ๋กœ ์ˆ˜ํ–‰๋˜๋Š” ๊ฒƒ์„ ํ™•์ธํ–ˆ์œผ๋ฏ€๋กœ ์ด์ œ ์„ค์ •์„ ๋ณ€๊ฒฝํ•ด๋ด…์‹œ๋‹ค! ๐Ÿ˜Ž๐Ÿ˜Ž

php > php.ini ํŒŒ์ผ์„ ์—ด์–ด์„œ error ์‚ฌํ•ญ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋„๋ก display_errors = On์œผ๋กœ ๋ณ€๊ฒฝํ•ด์ค๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ๊ธฐ๋ก๋œ error๋Š” apahce2 > logs > error.log ์—์„œ ํ™•์ธ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

 

์ด์ œ PHP์™€ MariaDB์— ๋Œ€ํ•œ ๊ฒฝ๋กœ ์„ค์ •์„ ํ•ด๋ด…์‹œ๋‹ค.

๋จผ์ €, ์‹œ์Šคํ…œ ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ์ผœ๊ณ  ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

์‹œ์Šคํ…œ ๋ณ€์ˆ˜์˜ ์—ฌ๋Ÿฌ ๋ณ€์ˆ˜ ์ค‘ Path๋ฅผ ํด๋ฆญํ•˜๊ณ  ํŽธ์ง‘์„ ๋ˆŒ๋Ÿฌ์ค๋‹ˆ๋‹ค.

์ƒˆ๋กœ ๋งŒ๋“ค๊ธฐ๋ฅผ ๋ˆ„๋ฅด๊ณ  ๋‹ค์Œ ๋‘ ๊ฐœ์˜ ๊ฒฝ๋กœ๋ฅผ ์ถ”๊ฐ€ํ•ด์ค๋‹ˆ๋‹ค.

C:\Bitnami\wampstack-7.4.21-0\php
C:\Bitnami\wampstack-7.4.21-0\mariadb\bin

ํ™•์ธ์„ ๋ˆŒ๋Ÿฌ ์„ค์ •์„ ์™„๋ฃŒํ•ฉ๋‹ˆ๋‹ค! ์„ค์ •์ด ์ œ๋Œ€๋กœ ๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•ด๋ด…์‹œ๋‹ค.

๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด ๋ฒ„์ „์ด ํ™•์ธ๋˜๋ฉด ์ œ๋Œ€๋กœ ๊ฒฝ๋กœ๊ฐ€ ์„ค์ •๋˜์—ˆ๋‹ค๋Š” ์˜๋ฏธ์ž…๋‹ˆ๋‹ค!

php --version
mysql --version

๋งŒ์•ฝ, ์•„๋ž˜ ์ด๋ฏธ์ง€์ฒ˜๋Ÿผ ๋œจ์ง€ ์•Š๋Š”๋‹ค๋ฉด ์ปดํ“จํ„ฐ๋ฅผ ์žฌ๋ถ€ํŒ…ํ•ด๋ณด์„ธ์š” :D

์ด์ œ ์„ค์น˜๋ฅผ ์™„๋ฃŒํ–ˆ์Šต๋‹ˆ๋‹ค!!! ๐Ÿ˜Ž๐Ÿ˜Ž


๐Ÿ”—Reference

๋ธ”๋กœ๊ทธ์˜ ์ •๋ณด

๋šœ๋ถ€๋‹ˆ์˜ Devlog

๋šœ๋ถ€๋‹ˆ

ํ™œ๋™ํ•˜๊ธฐ