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

공정위 광고 문구 Ver 3.1
공정위 광고 문구 Ver 3.2(모바일 전용)

록키 리눅스 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

  • RAID 구성 | RAID Level 0, 1, 4, 5, 6, 1+0, 0+1

    RAID(Redundant Array of Independent Disks 또는 Redundant Array of Inexpensive Disks)는 뜻 하는 내용처럼 여러 개의 디스크를 스토리지 하나처럼 운영하여 스토리지의 안정성을 확보하는 기술입니다. 저렴한(Independent) 디스크의 복수 배열의 뜻에서 독립적인 디스크의 복수 배열이란 뜻으로 많이 사용되고 있습니다. 이유는 단독으로 사용하기에 부족한 성능을 가진 디스크를 하나의 논리 디스크로 정렬해서 재활용하는데 목적이 있었기 때문입니다. 디스크…

  • [Linux] Shell 확장 6가지와 Shell 인용 3가지

    echo 명령어를 사용해서 Shell 확장(Expansion)에 대해 알아 보겠습니다. 1. Shell 확장 Shell 확장(Expansion)이란 셸에서 프로그램을 실행하기 직전 사용자가 입력한 인자를 정해진 의미에 맞게 해석해서 입력 or 출력으로 전환하는 것을 의미합니다. 프로그램은 echo를 포함한 명령어와 쉘에서 실행하는 모든 기능과 명령어들을 의미합니다. echo 명령어로 인수(or 인자: Argument)가 표시됩니다. 1.1 경로명 확장(Pathname Expansion) 와일드카드가 작동하는 메커니즘을…

  • [Linux] CentOS 7 설치 | VirtualBox 설치

    VirtualBox에 CentOS 7 설치를 진행 해 보겠습니다. 미리 다운로드 받은 ISO 파일로 이미 설정을 완료한 상태입니다. ✅ CentOS 7 설치 진행 Install CentOS를 선택하고 다음 단계로 넘어갑니다. 언어 선택 화면에서 한국어를 선택합니다. 🔲 KDUMP 설정 KDUMP를 클릭하여, 체크 된 활성화를 비 활성화로 변경합니다. KDUMP 설정은 테스트 용도이거나, 커널 패닉의 주요 원인이 하드웨어(드라이버, 디바이스…

  • [Linux] Certbot 설치 및 갱신 설정: Let’s Encrypt 인증서

    웹사이트에서 HTTPS를 활성화하려면 인증 기관(CA)에서 인증서를 설치해야 합니다. Let’s Encrypt는 2억 2500 만 개의 사이트에 TLS 인증서를 제공하는 비영리 인증 기관(CA)으로 제공하는 Certbot 설치를 통해 무료로 인증서를 발급받을 수 있습니다. CentOS, Ubuntu, Rocky Linux 등 Shell을 이용할 수 있는 사용자는 Certbot ACME 클라이언트를 사용하는 것을 권장하고 있습니다. ✅ Certbot 설치: snap 설치 2021년…

  • 스왑 메모리(Swap Memory) 설정: 파티션&파일 2가지 방식 | swapon, mkswap 명령어

    리눅스 스왑 메모리(Swap Memory)는 실제 디스크 공간을 메모리처럼 사용하는 개념이기 때문에 물리 메모리인 RAM보다 처리 속도가 느리지만 물리 메모리가 가득 찬 경우를 대비해 디스크 공간에서 할당 된 스왑 메모리를 생성해서 관리할 수 있어 한정된 리소스를 효율적으로 사용할 수 있습니다. ✅ Swap 파일 시스템 Swap 파일 시스템은 리눅스의 가상 메모리를 사용하기 위한 파일 시스템이며,…

  • [Linux] usermod 명령어

    usermod 명령어는 user modification(사용자 수정)의 약자로 이미 존재하는 사용자 계정의 속성을 변경할 때 사용됩니다. usermod는 사용자의 로그인 이름, UID (사용자 ID), 홈 디렉토리, 로그인 셸, 그룹 등의 속성을 변경할 수 있는 명령어입니다. ✅ usermod 명령어 기본 옵션 ✅ 주요 옵션 ✅ 사용 예시 🔲 사용자 홈 디렉토리 변경 사용자의 홈 디렉토리를 변경할 때 -m…

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

Prove your humanity: 2   +   9   =