메뉴 건너뛰기

Karma's Place

로그인하지 않고 댓글을 달 수 있습니다. 하지만 본사이트의 취지에 맞지않는 댓글은 예고없이 삭제될 수 있습니다.
서버 인터넷
2023.04.06 03:14

록키 리눅스 9.1에서 apache, mysql, PHP 설치

조회 수 165 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 게시글 수정 내역 댓글로 가기 인쇄 첨부
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 게시글 수정 내역 댓글로 가기 인쇄 첨부

그동안 Centos를 사용하고 있었는데 1년정도만 지나면 지원이 중단된다고 하니 뭔가 하기는 해야할 것같습니다.

아직 메인서버를 갈아엎기에는 용기가 나지는 않지만...

좌우간 어쨓든.... Rocky Linux를 설치하고 홈페이지 서버를 설정해봤습니다.

 

기본적인 과정은 ISO 화일을 다운로드 받아서 rufus를 이용해서 부팅 USB를 만들서 설치하시면 됩니다.

Rocky9를 설치하는 방법은 다른 문서들이 워낙 많으니 생략합니다.

 

설치에 앞서 대개의 문서들이 SELINUX를 끄고 시작하는데 좋은 방법은 아니다.

SELINUX를 끄지 않아도 해결하는 방법을 찾는 것이 더 좋을 듯하다.

시작하기 전에 한가지 팁!!

설치작업은 어쩔수 없이 콘솔에서 해야하지만 설치가 끝나면 PC에서 SSH로 접속해서 아래의 검정색 부분만 마우스로 긇어 붙여넣기 하면 편하다.

설치하게 되면 다 보게 되는 잡다한 설명은 생략하고... 

 

step1 : 업데이트

dnf check-update

dnf install dnf-utils

 

step2 : 아파치설치

dnf install httpd httpd-tools

systemctl start httpd
systemctl enable httpd
systemctl status httpd

이쯤에서 http://local_ip_address/로 접속해보자... 

근데 안된다... Firewalld가 틀어막고 있어서...

firewall-cmd --permanent --zone=public --add-port=22/tcp

firewall-cmd --permanent --zone=public --add-port=25/tcp

firewall-cmd --permanent --zone=public --add-port=53/tcp

firewall-cmd --permanent --zone=public --add-port=53/udp

firewall-cmd --permanent --zone=public --add-port=80/tcp

firewall-cmd --permanent --zone=public --add-port=443/tcp

firewall-cmd --permanent --zone=public --add-port=873/tcp
firewall-cmd --reload
firewall-cmd --permanent --list-all

 

이제  http://local_ip_address/로 접속이 확인되면 다음 단계로...

 

step3 : 마리아DB 설치

dnf install mariadb-server mariadb
systemctl restart mariadb
systemctl enable mariadb
systemctl status mariadb

설치가 끝났으면 스크립트를 실행해서 DB를 활성화시켜보자

mysql_secure_installation

사족을 달자면 root 접속이 가능하게 하고 root사용자의 비밀번호를 설정하는 과정이다.

 

step4 : PHP 설치

dnf upgrade --refresh

dnf config-manager --set-enabled crb

 

dnf install \ https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm \ https://dl.fedoraproject.org/pub/epel/epel-next-release-latest-9.noarch.rpm

dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-9.rpm -y

 

dnf install \ https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm \ https://dl.fedoraproject.org/pub/epel/epel-next-release-latest-8.noarch.rpm

dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-8.rpm -y

 

dnf module list php

PHP 버전은 7.4, 8.0, 8.1, 8.2를 선택할 수 있다.

 

dnf module reset php 

dnf module enable php:remi-7.4 -y 또는 dnf module enable php:remi-8.0 -y

 

dnf install php php-cli php-fpm php-curl php-mysqlnd php-gd php-opcache php-zip php-intl php-common php-bcmath php-imagick php-xmlrpc php-json php-readline php-redis php-mbstring php-apcu php-xml php-dom php-redis php-memcached php-memcache php-devel

 

dnf install mod_ssl openssh

 

dnf install ImageMagick ImageMagick-devel

 

systemctl restart httpd

 

step5 : 설정변경

이상태에서 php정보를 확인할 수 있는 화일을 하나 만들어서 접속해보자

infophp.php 화일을 만들고 내용은 다음 넣는데

<?php

phpinfo();

?>

http://local_ip_address/ 접속하면 php를 다운로드 어쩌고 한다.

 

vi /etc/httpd/conf/httpd.conf
170번 라인 근처에 
DirectoryIndex index.html 를 DirectoryIndex index.html index.html index.htm index.php 로 수정한다.

AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz

부근에 
AddType application/x-httpd-php .php
를 추가한다.


또한번 사족을 달자면 user와 group이 apache로 되어있는데 임의로 수정하면 엉뚱한 session등등의 곳에서 .error가 발생한다. 

그대로 사용하는 것이 더 바람직하다...

 

systemctl restart httpd

 

http://local_ip_address/infophp.php로 접속하면 PHP정보가 나타난다.

아직 방심하면 안된다.

K-128.png

K-129.png

자세히 살펴보면 서버API가 Fast/CGI로 되어있다.

apache2handler와 Apache Environment를 확인할 수 없다.

이상태에서는 아파치가 실행은 되지만 아파치모듈은 사용이 불가능하다. ex) mode_rewrite 등등...

 

테스트해보니 mpm_event에서도 mode_rewrite가 잘 동작한다.

구태여 prefork로 바꿀 필요가 없을 것같지만 아래사항은 참고만...

 

vi /etc/httpd/conf.modules.d/00-mpm.conf

LoadModule mpm_prefork_module modules/mod_mpm_prefork.so <-- 주석제거

#LoadModule mpm_event_module modules/mod_mpm_event.so    <-- 주석처리

systemctl restart httpd

 

http://local_ip_address/infophp.php로 접속해보면 서버 API가 Apache 2.0 Handler로 바뀌어있고 아파치 모듈들도 확인이 가능하다.

K-131.png

K-130.png

 

 

마지막 사족

SELINUX를 끄지 않아서 가끔 permission 문제가 발생하는 경우가 있다.

대개의 경우 chcon으로 해결이 가능하다.

chcon -R -t httpd_sys_rw_content_t /자신의/홈페이지/디렉토리/

ex) chcon -R -t httpd_sys_rw_content_t /var/www/html/

 

#rocky linux, #록키리눅스, #apache, #mriadb, #mysq,l #php, #Apache 2.0 Handler,#mod_mpm_prefork.so,#mod_mpm_event.so,#apache2handler

?

List of Articles
번호 분류 제목 날짜 조회 수
53 Rhymix & XE Imagick을 짝사랑?? 2023.07.05 113
52 기타등등 Galkuri class의 SSL 대응 2023.05.19 110
51 서버 인터넷 PHP 8.0에 Geoip 설치하기 file 2023.05.04 138
50 기타등등 카르마의 4중 백업 : 리눅스서버와 윈도우 PC간의 교차백업 file 2023.04.27 136
49 기타등등 카르마의 4중 백업 : lsyncd를 이용한 동기화 2023.04.27 344
48 기타등등 카르마의 4중 백업 : rsync를 이용한 원격백업 2023.04.27 55
47 기타등등 카르마의 4중 백업 : 데이터베이스 백업 스크립트 2023.04.27 33
46 서버 인터넷 가정이나 사무실의 홈서버를 위한 공유기 세팅 file 2023.04.20 83
» 서버 인터넷 록키 리눅스 9.1에서 apache, mysql, PHP 설치 file 2023.04.06 165
44 기타등등 인터넷 장애와 Dual Wan file 2021.10.25 1187
43 서버 인터넷 노트북서버의 장점 1 file 2021.09.27 1310
42 서버 인터넷 노트북 서버 뚜껑을 닫고 사용하자. file 2021.09.23 280
41 기타등등 셔플 file 2021.09.14 198
40 Rhymix & XE 로그인 모달창에서 recaptcha 사용하기 file 2021.09.12 799
39 Rhymix & XE 로그인시 reCAPTCHA 사용하기 file 2021.09.12 446
38 애드온 및 모듈 제작 이미지프로세스 모듈 사용법 1 file 2019.03.25 4856
37 서버 인터넷 Centos PHP5.6에 imagick 설치하기 file 2019.03.23 882
36 기타등등 사진속 GPS 정보의 위험성 2019.03.11 636
35 기타등등 미디어플레이어 애드온 사용법 file 2019.03.11 721
34 서버 인터넷 Github 사용법이 좀처럼 익숙해지지 않네요. file 2018.12.27 1205
계속 검색
Board Pagination Prev 1 2 3 Next
/ 3
위로