๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

Linux

ubuntu์— php ์†Œ์Šค ์„ค์น˜

ubuntu-20.04์— php๋ฅผ ์†Œ์Šค ์„ค์น˜ํ•ด๋ณด์ž.

ubuntu APM ์†Œ์Šค ์„ค์น˜

์ด ํฌ์ŠคํŠธ๋Š” ubuntu-20.04์— APM(Apache, PHP, MySql)์„ ์†Œ์Šค ์„ค์น˜ํ•˜๋Š” ๊ณผ์ •์ด๋ฉฐ, ์•„๋ž˜์˜ ์„ธ ๊ฐ€์ง€ ์ˆœ์„œ์˜ ํฌ์ŠคํŒ…์œผ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค.

[Linux] ubuntu์— Apache ์†Œ์Šค ์„ค์น˜

[Linux] ubuntu์— MySql ์†Œ์Šค ์„ค์น˜

[Linux] ubuntu์— php ์†Œ์Šค ์„ค์น˜

์ž‘์—… ํ™˜๊ฒฝ

macOS์—์„œ virtualBox๋กœ ๊ฐ€์ƒ๋จธ์‹  ubunto๋ฅผ ๋งŒ๋“ค๊ณ  ๊ทธ ์•ˆ์— ์†Œ์Šค ์„ค์น˜๋ฅผ ์ง„ํ–‰ํ•œ๋‹ค.

macOS : Big Sur 11.4

VirtualBox : 6.1.16

ubuntu : 20.04.2.0-desktop

์ด์ „ ๊ฒŒ์‹œ๊ธ€์— ์žˆ๋“ฏ์ด, apache์™€ mySql์„ ์šฐ๋ถ„ํˆฌ์— ์„ค์น˜ํ•œ ์ƒํƒœ์—์„œ php ์„ค์น˜๋ฅผ ์‹œ์ž‘ํ•œ๋‹ค.

[Linux] ubuntu์— Apache ์†Œ์Šค ์„ค์น˜

[Linux] ubuntu์— MySql ์†Œ์Šค ์„ค์น˜

์„ค์น˜ ๊ฒฝ๋กœ & ๊ถŒํ•œ ๋ถ€์—ฌ

์ปดํŒŒ์ผ ์„ค์น˜๋Š” ๊ด€๋ก€์ƒ /usr/local์— ์„ค์น˜ํ•˜๋ฏ€๋กœ ํ•ด๋‹น ๊ฒฝ๋กœ๋กœ ์ด๋™ํ•œ๋‹ค.

$ cd /usr/local

๋˜ํ•œ ์„ค์น˜์— ํ•„์š”ํ•œ ๊ถŒํ•œ์„ ๋ถ€์—ฌ๋ฐ›๊ธฐ ์œ„ํ•ด ๋‹ค์Œ์˜ ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•˜๊ณ  ํŒจ์Šค์›Œ๋“œ๋ฅผ ์ž…๋ ฅํ•œ๋‹ค.

$ sudo su

ํ•„์ˆ˜ ์„ค์น˜ ๋ฐ php-7.4.1 ์„ค์น˜

ํ•„์ˆ˜ ์„ค์น˜

$ apt-get install libxml2-dev libjpeg-dev libpng-dev libsqlite3-dev

์ปดํŒŒ์ผ์— ํ•„์š”ํ•œ ํ•„์ˆ˜ ์š”์†Œ๋“ค์„ ์„ค์น˜ํ•ด ์ค€๋‹ค.

๋ช…๋ น์–ด

  • cd : ์œ„์น˜ ์ด๋™ ๋ช…๋ น์–ด
  • cp : ๋ณต์‚ฌ ๋ช…๋ น์–ด
  • wget : ์ง€์ •ํ•œ ์ฃผ์†Œ๋กœ ๋ถ€ํ„ฐ ํŒŒ์ผ์„ ๋‹ค์šด๋ฐ›๋Š” ๋ช…๋ น์–ด
  • tar xvfz : tar.gz ํ˜•์‹์˜ ์••์ถ•์„ ํ’€์–ด์ฃผ๋Š” ๋ช…๋ น์–ด
  • configure : ์†Œ์ŠคํŒŒ์ผ์— ๋Œ€ํ•œ ํ™˜๊ฒฝ์„ค์ •์„ ํ•ด์ฃผ๋Š” ๋ช…๋ น์–ด
    • configure์˜ prefix ์˜ต์…˜ : ์ปดํŒŒ์ผ๋œ ํ”„๋กœ๊ทธ๋žจ์„ ์„ค์น˜ํ•˜๋Š” ์œ„์น˜
  • make : ์†Œ์Šค๋ฅผ ์ปดํŒŒ์ผํ•ด์ฃผ๋Š” ๋ช…๋ น์–ด
  • make install : make๋ฅผ ํ†ตํ•ด ๋งŒ๋“ค์–ด์ง„ ์„ค์น˜ ํŒŒ์ผ์„ ์„ค์น˜ํ•ด์ฃผ๋Š” ๋ช…๋ น์–ด

configure -> make -> make test -> make install ์˜ ์ˆœ์„œ๋กœ ์†Œ์Šค๋กœ ๋œ ํ”„๋กœ๊ทธ๋žจ ์„ค์น˜ ์ง„ํ–‰

php-7.4.1 ์„ค์น˜

$ wget https://www.php.net/distributions/php-7.4.1.tar.gz
$ tar xvfz php-7.4.1.tar.gz
$ cd php-7.4.1

$ ./configure \

--with-apxs2=/usr/local/apache2.4/bin/apxs \

--enable-mysqlnd \

--with-mysql-sock=mysqlnd \

--with-mysqli=mysqlnd \

--with-pdo-mysql=mysqlnd \

--with-imap-ssl \

--with-iconv \

--enable-gd \

--with-jpeg \

--with-libxml \

--with-openssl

configure๊ฐ€ ์„ฑ๊ณตํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฉ”์‹œ์ง€๊ฐ€ ์ถœ๋ ฅ๋œ๋‹ค.

$ make

$ make test

๊ธด ์‹œ๊ฐ„์ด ์†Œ์š”๋˜์—ˆ๊ณ , make test ์ดํ›„ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฉ”์‹œ์ง€๊ฐ€ ์žˆ์—ˆ์ง€๋งŒ, make install ์„ ์ง„ํ–‰ํ•˜๋‹ˆ php๊ฐ€ ์„ค์น˜๋˜์—ˆ๋‹ค.

$ make install


make install ํ›„ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฉ”์‹œ์ง€๊ฐ€ ๋œจ๋ฉฐ ์„ค์น˜๊ฐ€ ์™„๋ฃŒ๋๋‹ค.

์„ค์น˜ ํ™•์ธ ํ›„ apache์™€ ์—ฐ๋™

$ cd /usr/local/apache2.4/modules

$ ls -l

libphp7.so๊ฐ€ ์žˆ๋‹ค๋ฉด php๊ฐ€ ์ž˜ ์„ค์น˜๋œ ๊ฒƒ์ด๋‹ค.

vim /usr/local/apache2.4/conf/httpd.conf

/ ํ‚ค๋ฅผ ์ด์šฉํ•ด์„œ php ๋ฌธ์ž์—ด์„ ๊ฒ€์ƒ‰ํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋ชจ๋“ˆ์ด ์ƒ์„ฑ๋œ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

์ด๋ฒˆ์—” /๋ฅผ ์ด์šฉํ•ด์„œ /AddType ๋ฌธ์ž์—ด์„ ์ฐพ์€ ๋’ค ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์—๋“œ ํƒ€์ž…์— ์ถ”๊ฐ€ํ•ด ์ค€๋‹ค.

AddType application/x-httpd-php .php .html

$ cd /usr/local/php-7.4.1

$ cp php.ini-production /usr/local/lib/php.ini

php.ini ํŒŒ์ผ์„ ์„ธํŒ…ํ•ด ์ฃผ๋Š” ๋ช…๋ น์–ด์ด๋‹ค.

$ vim /usr/local/apache2.4/htdocs/phpinfo.php

ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•œ php๋ฅผ ์ž‘์„ฑํ•ด ์ฃผ๊ธฐ ์œ„ํ•ด ๋‹ค์Œ์˜ ํŒŒ์ผ์„ vim ํŽธ์ง‘๊ธฐ๋กœ ์—ฐ ๋’ค ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ž…๋ ฅํ•ด ์ฃผ์ž.

<?php
phpinfo();
?>

Apache ์‹คํ–‰ ํ›„ ํ™•์ธ

$ sudo /usr/local/apache2.4/bin/httpd -k stop

๊ธฐ์กด์— Apache๊ฐ€ ์‹คํ–‰ ์ค‘์ด๋ผ๋ฉด ์ข…๋ฃŒํ•ด ์ค€๋‹ค.

$ sudo /usr/local/apache2.4/bin/httpd -k start

$ ps -ef|grep httpd|grep -v grep

$ sudo netstat -anp|grep httpd

$ sudo curl http://127.0.0.1

http://127.0.1.1/phpinfo.php๋กœ ์ ‘์†ํ•ด ์ฃผ์ž.

์„ฑ๊ณต์ ์œผ๋กœ ์—ฐ๋™๋œ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.