본문 바로가기
IT 인터넷

[오라클클라우드] 우분투20.04 PHP설치(멀티)

by zzom~ 2024. 10. 6.
반응형

 

1. 사전작업(이미 설치되어있을수도)

sudo apt install libapache2-mod-fcgid

sudo apt install software-properties-common

 

sudo add-apt-repository ppa:ondrej/php && sudo apt update
(php5.6설치를 위해..그냥 하면 안됨)
(&& sudo apt update 생략가능)

 

2. php5.6설치

sudo apt install php5.6 php5.6-fpm

 

3. php7.4설치

sudo apt install php7.4 php7.4-fpm

 

4. 확인

ls /var/run/php/
-rw-r--r-- 1 root root 4 Feb 17 16:50 php5.6-fpm.pid 
srw-rw---- 1 www-data www-data 0 Feb 17 16:50 php5.6-fpm.sock 
-rw-r--r-- 1 root root 5 Feb 17 16:51 php7.2-fpm.pid 
srw-rw---- 1 www-data www-data 0 Feb 17 16:51 php7.4-fpm.sock

 

5. mysql extention

sudo apt install php5.6-mysql
sudo apt install php7.4-mysql
sudo apt install php5.6-curl
sudo apt install php7.4-curl
sudo apt install php5.6-mbstring
sudo apt install php7.4-mbstring

 

6. 아파치 설정

sudo a2enmod actions alias proxy_fcgi fcgi
sudo systemctl restart apache2

 

7. 기본php버전설정(설치된 버전 확인)

update-alternatives --config php

 

8. 가상호스트에 설정예제
php5.6

<VirtualHost *:80>
<filesmatch "\.(php*|phtm|phtml|htm|html|inc|php3)$"="">
SetHandler "proxy:unix:/var/run/php/php5.6-fpm.sock|fcgi://localhost/"
</FilesMatch> 
</VirtualHost>

 

php7.4

<VirtualHost *:80>
<filesmatch "\.(php*|phtm|phtml|htm|html|inc|php3)$"="">
SetHandler "proxy:unix:/var/run/php/php7.4-fpm.sock|fcgi://localhost/"
</FilesMatch> 
</VirtualHost>

 

9. short_open_tag = On

sudo service apache2 restart
sudo service php5.6-fpm restart
sudo service php7.4-fpm restart

이 옵션을 On으로 바꿔야 <? 만 적어도 php적용됨

 

10. 설정 수정

sudo vi /etc/php/5.6/fpm/pool.d/www.conf

 위 파일에서 주석처리된

security.limit_extensions = .php .php3 .php4 .php5 부분에 주석 풀고 .html .htm 등 추가

7.4도 동일하게 처리하면될듯

(빈칸은 모두다 허용이고 확장자를 써넣을 경우 적혀있는 확장자만 허용을 할 수 있게 하는 옵션이다.)

sudo service php5.6-fpm restart
sudo service php7.4-fpm restart

이거 안하면 html파일 다운로드 됨..ㅠㅠ

 

11. 추가적인 php 설정은 각자 필요부분 찾아서..

 

 

2020년 작성글이므로 이후 우분투 버전, php버전등의 변경사항이 많을 수 있으니 참고용으로 사용바랍니다.


 

위 내용으로 다 하고나면 html파일에서 php인식이 안되네. 설정을 아무리 바꿔도...

이에 5.6버전으로 단독 설치(apache2.0 handler)

 

 

1. sudo add-apt-repository ppa:ondrej/php && sudo apt update

 

2. sudo apt install php5.6 libapache2-mod-php5.6 php5.6-mysql php-common php5.6-cli php5.6-common php5.6-json php5.6-opcache php5.6-readline php5.6-curl  추가할거 있으면 더 하고

 

3. sudo a2enmod php5.6

sudo systemctl restart apache2

 

4. 이후

sudo vi /etc/apache2/apache2.conf 열어서 젤 밑에

AddType application/x-httpd-php .html .htm  추가.

short_open_tag = On 수정

 

마무리.

반응형