Server๐Ÿงค

[Ubuntu] APM ์†Œ์Šค ์„ค์น˜(์ˆ˜๋™ ์„ค์น˜)ํ•˜๊ธฐ - 3 (PHP)

yujindonut 2022. 3. 15. 12:53
728x90

๐ŸŒœํ•„์ˆ˜ ํŒจํ‚ค์ง€ ์„ค์น˜

๋จผ์ € ํ•„์š”ํ•œ ํŒจํ‚ค์ง€๋“ค์„ ์„ค์น˜ํ•œ๋‹ค.

& sudo su

/usr/local# apt-get install libxml2-dev

/usr/local# apt-get install libjpeg-dev

/usr/local# apt-get install libpng-dev

/usr/local# apt-get install libsqlite3-dev

 

๐ŸŒœ์†Œ์Šค์„ค์น˜ ํŒŒ์ผ ๋‹ค์šด๋กœ๋“œ ๋ฐ ์••์ถ•ํ•ด์ œ

/usr/local# wget https://www.php.net/distributions/php-8.1.0.tar.gz

/usr/local# tar xvfz php-8.1.0.tar.gz

 

๐ŸŒœPHP ์„ค์น˜ (php-8.1.0)

/usr/local# cd php-8.1.0

/usr/local/php-8.1.0# ./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

 

/usr/local/php-8.1.0# make

/usr/local/php-8.1.0# make test

/usr/local/php-8.1.0# make install

mysql์ฒ˜๋Ÿผ make๋ถ€๋ถ„์—์„œ ์‹œ๊ฐ„์ด ์กฐ๊ธˆ ๊ฑธ๋ ธ๋‹ค!

 

make test์—์„œ ์ด๋Ÿฐ ์˜ค๋ฅ˜๊ฐ€ ๋‚ฌ๋‹ค!ใ… ใ…  ์ฐพ์•„๋ณด๋‹ˆ๊นŒ ๋ฌด์‹œํ•˜๊ณ  ํ•˜๋ผ๋Š” ์–˜๊ธฐ๋„ ์žˆ์–ด์„œ ๋ฌด์‹œํ•˜๊ณ  ์ง„ํ–‰

Phar: bug #69958: Segfault in Phar::convertToData on invalid file [ext/phar/tests/bug69958.phpt] (warn: XFAIL section but test passes)

๐ŸŒœApache, PHP ์—ฐ๋™

1. ๋ชจ๋“ˆ ์„ค์น˜ํ™•์ธ

์•„ํŒŒ์น˜ ์„ค์ • ํŒŒ์ผ์ธ httpd.conf ํŒŒ์ผ์„ ์—ด์–ด PHP ๋ชจ๋“ˆ์ด ์„ค์น˜๋๋Š”์ง€ ํ™•์ธํ•œ๋‹ค.

/usr/local# cd apache2.4/conf

 

/usr/local/apache2.4/modules ์•ˆ์— libphp.so๊ฐ€ ์ž˜๊น”๋ ค์žˆ๋‹ค!

$ vi /usr/local/apache2.4/conf/httpd.conf
์ž…๋ ฅํ• ๋•Œ i ๋ช…๋ น์–ด๋ฅผ ์ด์šฉํ•ด์„œ ์ด๋ ‡๊ฒŒ ์ž‘์„ฑํ•˜๋ฉด ๋œ๋‹ค.

๋‚˜๊ฐˆ๋•Œ๋Š” escํ‚ค + :wq!

 

2. php.ini ํŒŒ์ผ ์„ธํŒ…

  • production ์‹œ์Šคํ…œ์šฉ ์„ค์ • ํŒŒ์ผ์ธ php.ini-production ํŒŒ์ผ์„ /usr/local/lib/php.ini์— ๋ณต์‚ฌํ•œ๋‹ค.
  • php configure ์‹œ์— ์˜ต์…˜์œผ๋กœ php.ini์˜ ์œ„์น˜๋ฅผ ์ง€์ •ํ•˜์ง€ ์•Š์œผ๋ฉด ๊ธฐ๋ณธ์œผ๋กœ /usr/local/lib/php.ini๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.
  • php.ini์€ PHP์„ค์ • ํŒŒ์ผ์ธ๋ฐ php-8.1.0 ๋””๋ ‰ํ† ๋ฆฌ๋กœ ๊ฐ€๋ฉด php.ini-development์™€ php.ini-production ๋‘๊ฐœ์˜ ํŒŒ์ผ์ด ์žˆ๋‹ค. development๋Š” ๊ฐœ๋ฐœ์šฉ, production์€ ํ”„๋กœ๋•์…˜ ์‹œ์Šคํ…œ์šฉ ๋ฒ„์ „์œผ๋กœ ๊ฐœ๋ฐœ์šฉ ๊ฐ™์€ ๊ฒฝ์šฐ ๋” ๋งŽ์€ ์˜ค๋ฅ˜์™€ ๊ฒฝ๊ณ ๋ฅผ ํ‘œ์‹œํ•ด์ฃผ์ง€๋งŒ ๋ณด์•ˆ์ƒ ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธธ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์—์„œ๋งŒ ์‚ฌ์šฉํ•ด์•ผํ•œ๋‹ค.

/usr/local# cd php-8.1.0

/usr/local/php-8.1.0# cp php.ini-production /usr/local/lib/php.ini

3. ํ…Œ์ŠคํŠธ์šฉ php ํŒŒ์ผ ์ž‘์„ฑ

์•„ํŒŒ์น˜์˜ ์›น ์ฝ˜ํ…์ธ (html, php ํŒŒ์ผ ๋“ฑ)๋Š” htdocs ๋””๋ ‰ํ† ๋ฆฌ์— ์œ„์น˜ํ•œ๋‹ค. 

 

$ cd /usr/local/apache2.4/htdocs
$ vi phpinfo.php
<? php
phpinfo();
?>

 

์—ฌ๊ธฐ์„œ ์—„์ฒญ๋‚˜๊ฒŒ ํฌ๋‚˜ํฐ ์‹ค์ˆ˜๋ฅผ ํ–ˆ๋‹ค.....<?php๋Š” ์ด์–ด์„œ ๋ถ™์—ฌ์„œ์จ์•ผํ•จ! ใ…œใ…  ์ด๊ฑฐ ๋„์–ด์“ฐ๊ธฐ ํ•ด์„œ ๊ณ„์† ์ฒ˜์Œ๋ถ€ํ„ฐ ํ•˜๋Š๋ผ,, ์ง„์งœ ์‹œ๊ฐ„์„ ๋งŽ์ด ์Ÿ์•„๋จน์—ˆ๋‹ค..

๋จผ์ € ์•„ํŒŒ์น˜๋ฅผ ์žฌ์‹คํ–‰ ์‹œํ‚จ ํ›„ http://127.0.1.1/phpinfo.php๋กœ ์ ‘์†ํ•˜์—ฌ ์„ค์น˜ ์ •๋ณด๊ฐ€ ์ถœ๋ ฅ๋˜๋ฉด ์„ฑ๊ณต!

 

/usr/local# apache2.4/bin/httpd -k start

/usr/local# ps -ef | grep httpd | grep -v grep

/usr/local# sudo netstat -anp | grep httpd

/usr/local# sudo curl http://127.0.0.1

์„ฑ๊ณต !!

๋งŒ์•ฝ Apache httpd ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค๋ฉด

(AH00558: httpd: Could not reliably determine the server's fully....message

์—๋Ÿฌ ๋ฐœ์ƒ

๋ณดํ†ต ํ•ด๋‹น ์—๋Ÿฌ๋Š” ์•„ํŒŒ์น˜ ์„œ๋ฒ„๋ฅผ ์‹œ์ž‘ํ•  ๋•Œ ์ž์ฃผ ๋ฐœ์ƒํ•œ๋‹ค.

httpd.con ํŒŒ์ผ์—์„œ ServerName์„ ์„ค์ •ํ•ด์ฃผ๋ฉด ๊ฐ„๋‹จํžˆ ํ•ด๊ฒฐ๋œ๋‹ค.

 

/usr/local# cd apache2.4/conf

/usr/local/apache2.4.conf# vi httpd.conf

 

/ServerName # ServerName ๋‹จ์–ด ๊ฒ€์ƒ‰ ํ›„ ์ฃผ์„์„ ํ’€๊ณ  ๋‚ด์šฉ์„ ์ˆ˜์ •ํ•œ๋‹ค.

 

:wq

systemctl start httpd

์ฃผ์„ ํ•ด์ œํ•˜๊ณ  ์ˆ˜์ • ์™„๋ฃŒ

 

 

์ฐธ๊ณ 

๋”๋ณด๊ธฐ
728x90