록키 리눅스 APM 설치[Rocky Linux 9.3]

록키 리눅스 APM 설치를 dnf 명령어를 이용해서 설치 해 보겠습니다. APM은 Apache, PHP, Mysql/MariaDB 의 약자로 웹 서버를 구축할 때 Apache 또는 Ngiinx, LiteSpeed 등에서 설치할 수 있습니다.

  • OS: Rocky Linux 9.1, 9.3 & Alma Linux 9.3
  • Apache 2.47 | MariaDB 11.2.2 | PHP 8.2.14

✅ 록키 리눅스 APM 설치를 위한 사전 환경 구성

  • dnf 구성
dnf -y update
# 록키 리눅스9 epel, remi 저장소 추가
dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm
dnf -y install https://rpms.remirepo.net/enterprise/remi-release-9.rpm
  • remi repo 활성화 진행
dnf --disablerepo="*" --enablerepo="remi-safe" list available

✅ 사전 패키지 설치

  • 아래의 패키지를 설치 해 줍니다.
dnf -y install gcc gcc-c++ pcre-devel make git openssl wget vim  unzip GeoIP-devel git tree cmake  expat-devel libxml2-devel openssl openssl-devel python3 curl gnupg2 libxslt-devel gd-devel perl-ExtUtils-Embed rsyslog

Apache 설치

dnf -y install httpd 
### 종속성 설치:httpd 포함 12 패키지
Dependencies resolved.
=======================================================================================================
 Package                      Architecture      Version                     Repository            Size
=======================================================================================================
Installing:
 httpd                        x86_64            2.4.57-5.el9                appstream             46 k
Installing dependencies:
 apr                          x86_64            1.7.0-12.el9_3              appstream            122 k
 apr-util                     x86_64            1.6.1-23.el9                appstream             94 k
 apr-util-bdb                 x86_64            1.6.1-23.el9                appstream             12 k
 httpd-core                   x86_64            2.4.57-5.el9                appstream            1.4 M
 httpd-filesystem             noarch            2.4.57-5.el9                appstream             13 k
 httpd-tools                  x86_64            2.4.57-5.el9                appstream             80 k
 mailcap                      noarch            2.1.49-5.el9                baseos                32 k
 rocky-logos-httpd            noarch            90.14-2.el9                 appstream             24 k
Installing weak dependencies:
 apr-util-openssl             x86_64            1.6.1-23.el9                appstream             14 k
 mod_http2                    x86_64            1.15.19-5.el9               appstream            148 k
 mod_lua                      x86_64            2.4.57-5.el9                appstream             60 k

Transaction Summary
=======================================================================================================
Install  12 Packages
--------- 생략 ----------
# 아파치 버전 확인
httpd -v
Server version: Apache/2.4.57 (Rocky Linux)
Server built:   Jul 20 2023 00:00:00

✅ 마리아디비[MariaDB] 설치

  • MariaDB를 설치 해 줍니다.
dnf install -y mariadb-server mariadb 
# 설치 확인 
rpm -qa | grep  mariadb
# 버전 확인 
mysql -V
mysql  Ver 15.1 Distrib 10.5.22-MariaDB, for Linux (x86_64) using  EditLine wrapper
  • 다른 버전을 설치가 필요한 경우 MariaDB 서버 저장소 버전을 찾은 후 직접 설치를 진행합니다. 저는 11.2 버전으로 재설치를 진행하겠습니다.
  • vi 편집기를 이용해서 yum 레포지트리 저장소에 mariaDB.repo 파일을 생성 후 MariaDB 11.2 버전 세팅 설정을 합니다.
~]# vi /etc/yum.repos.d/MariaDB.repo

# MariaDB 11.2 RedHatEnterpriseLinux repository list - created 2023-12-25 07:35 UTC
# https://mariadb.org/download/
[mariadb]
name = MariaDB
# rpm.mariadb.org is a dynamic mirror if your preferred mirror goes offline. See https://mariadb.org/mirrorbits/ for details.
# baseurl = https://rpm.mariadb.org/11.2/rhel/$releasever/$basearch
baseurl = https://tw1.mirror.blendbyte.net/mariadb/yum/11.2/rhel/$releasever/$basearch
# gpgkey = https://rpm.mariadb.org/RPM-GPG-KEY-MariaDB
gpgkey = https://tw1.mirror.blendbyte.net/mariadb/yum/RPM-GPG-KEY-MariaDB
gpgcheck = 1

~]# dnf -y install mariadb-server mariadb
MariaDB                                                                                                                                                      278 kB/s | 624 kB     00:02    
Last metadata expiration check: 0:00:01 ago on Mon Dec 25 07:59:44 2023.
Dependencies resolved.
=============================================================================================================================================================================================
 Package                                               Architecture                           Version                                        Repository                                 Size
=============================================================================================================================================================================================
Installing:
 MariaDB-client                                        x86_64                                 11.2.2-1.el9                                   mariadb                                   9.1 k
 pv                                                    x86_64                                 1.6.20-1.el9                                   epel                                       65 k
--------- 생략 ----------
Transaction Summary
=============================================================================================================================================================================================
Install  16 Packages

Total download size: 31 M
Installed size: 241 M
--------- 생략 ----------
  • 버전을 변경해서 설치하고 ‘mysql -V’ 명령어를 입력하니 다음 릴리스에서 제거될 예정인 명령어라는 내용을 확인할 수 있습니다. 새로운 명령어는 ‘mariadb -V’입니다.
~]# mysql -V
mysql: Deprecated program name. It will be removed in a future release, use '/usr/bin/mariadb' instead
mysql from 11.2.2-MariaDB, client 15.2 for Linux (x86_64) using  EditLine wrapper
~]# mariadb -V
mariadb from 11.2.2-MariaDB, client 15.2 for Linux (x86_64) using  EditLine wrapper

✅ PHP 설치

  • 설치 가능한 PHP 버전을 확인하니 8.1 버전 설치가 가능하며 remi 저장소에서 다른 버전 설치가 가능한 것을 확인할 수 있습니다.
dnf module list php
  • remi 저장소에 있는 8.2 버전 설치할 수 있도록 활성화 명령어를 입력합니다. 활성화 된 버전에 [e]가 붙습니다.
dnf module list php
# PHP 버전 활성화 및 비활성화 명령어 
dnf module enable php:remi-8.2
dnf module disable php:remi-8.2
  • php를 설치해 줍니다.
  • php 버전을 확인.
~]# php -v
PHP 8.2.14 (cli) (built: Dec 20 2023 06:28:06) (NTS gcc x86_64)
Copyright (c) The PHP Group
Zend Engine v4.2.14, Copyright (c) Zend Technologies
    with Zend OPcache v8.2.14, Copyright (c), by Zend Technologies
## 워드프레스를 포함한 CMS에서 503 에러 발생 시 
## 워드프레스의 경우 mysqli가 설치되어 있지 않다는 오류가 발생할 수 있음.

almalinux 포함하여 mysqli 설치가 되어야 하며, mysqli 설치 시 종속석으로 mysqlnd가 같이 설치된다.

dnf -y install php-mysqli 

록키 리눅스 APM 설치가 완료 되었습니다.

✅ 록키 리눅스 APM 설치 설정 및 구동

1. apache 설정 및 구동

아파치 설정을 httpd.conf 파일에서 진행합니다.

~]# vi /etc/httpd/conf/httpd.conf

## apache → nobody 변경
71 User nobody
72 Group nobody

## 도메인 또는 해당 서버 IP 입력 추가
100 #ServerName www.example.com:80
101 ServerName 152.xx.xxx.xx:80

##  index.htm index.php 추가 > 디렉토리 내 아파치에 제공할 index 확장자 설정 추가
168 <IfModule dir_module>
169     DirectoryIndex index.html index.htm index.php
170 </IfModule>

# AddType application/x-httpd-php .php / AddType application/x-httpd-phps .phps 추가
# 아파치에서 php관련된 처리를 할 수 있게 설정한 값
288     AddType application/x-compress .Z
289     AddType application/x-gzip .gz .tgz
290     AddType application/x-httpd-php .php
291     AddType application/x-httpd-phps .phps

# 아파치 시작 / 중지: stop / 재시작 restart 
~]# systemctl start httpd
# 부팅 후 자동 실행 설정 / 비활성화: disable]
~]# systemctl enable httpd

구동 확인이 되는지 ps -ef 명령어로 확인합니다.

소개 페이지가 나오는 것까지 확인합니다. 나머지 설정을 해서 사이트가 정상적으로 나올 수 있도록 하겠습니다.

  • <Directory “/var/www”>를 <Directory “/home/””>으로 변경 해 줍니다.
~]# vi /etc/httpd/conf/httpd.conf
## 기존 디렉토리 설정을 원하는 디렉토리 설정으로 변경
#<Directory "/var/www">
#    AllowOverride None
    # Allow open access:
#    Require all granted
#</Directory>

<Directory "/home/">
    AllowOverride None
    # Allow open access:
    Require all granted
</Directory>

# Further relax access to the default document root:
#<Directory "/var/www/html">
<Directory "home">
    Options Indexes FollowSymLinks

    #
    # AllowOverride controls what directives may be placed in .htaccess files.
    # It can be "All", "None", or any combination of the keywords:
    #   Options FileInfo AuthConfig Limit
    #
    AllowOverride None

    #
    # Controls who can get stuff from this server.
    #
    Require all granted
</Directory>
vi /etc/httpd/conf.d/virtual.conf

<VirtualHost *:80>
    ServerName www.domain.com
    ServerAlias domain.com
    DocumentRoot /home/userid/www

   <Directory /home/userid/www>
        Options -Indexes +FollowSymLinks
        AllowOverride All
    </Directory>
</VirtualHost>  

2. MariaDB 구동

# 구동 
systemctl start mariadb
# 부팅 시 자동 재 시작 
systemctl enable mariadb
# 마리아 DB 환경 설정 파일 경로
vi /etc/my.cnf

록키 리눅스 APM 설치 완료 후 추가로 발생하는 오류가 있을 수 있습니다. 중간에 빠진 부분이 있는지 추가 확인 사항을 체크해 갈 수 있습니다. 잘못 설정한 부분을 찾을 수 없다면 재설치를 고려해 볼 수 있습니다.

Similar Posts