Drupal 설치 · 6 min read · Nov 19, 2025
Alma Linux 9에 Drupal 설치하는 방법

Drupal은 웹사이트를 구축하고 관리하는 데 사용되는 오픈 소스 콘텐츠 관리 시스템(CMS)입니다. 유연성과 견고성으로 잘 알려진 Drupal은 사용자가 콘텐츠를 생성하고 구성하며, 프레젠테이션을 사용자 정의하고, 관리 작업을 자동화하며, 사용자 역할 및 권한을 관리할 수 있도록 합니다. 수천 개의 추가 모듈 및 테마를 통해 기능을 확장하고 수정할 수 있는 모듈식 아키텍처로 특히 선호됩니다. Drupal은 높은 확장성을 가지고 있어 소규모 개인 블로그부터 대규모 기업 및 정부 웹사이트까지 적합합니다. 강력한 커뮤니티 지원과 포괄적인 문서는 사용성과 개발 잠재력을 더욱 향상시킵니다.
이 튜토리얼에서는 LAMP 스택(Linux, Apache/Httpd, MariaDB, PHP)을 사용하여 Alma Linux 9 서버에 Drupal을 설치하는 방법을 안내합니다. 그 후, Firewalld 및 Certbot과 Let’s Encrypt를 사용하여 Drupal 설치를 보호하는 방법을 보여줍니다.
필수 조건
시작하기 전에 다음 요구 사항을 확인하십시오:
- Alma Linux 9 서버.
- 관리자 권한이 있는 비루트 사용자.
- 서버 IP 주소를 가리키는 도메인 이름.
- 상태가 허용된 SELinux.
의존성 설치
현재 Drupal의 최신 버전은 PHP 8.3을 요구하므로, 제3자 저장소를 통해 설치해야 합니다. 또한 Httpd 웹 서버 및 MariaDB 서버를 포함한 다른 의존성도 설치합니다.
의존성을 설치하기 전에 EPEL 및 Remi 저장소를 Alma Linux 서버에 추가합니다. 저장소를 추가하라는 메시지가 표시되면 y를 입력합니다.
sudo dnf install epel-release dnf-utils http://rpms.remirepo.net/enterprise/remi-release-9.rpmRHEL 기반 배포판에서는 일부 패키지가 저장소 모듈로 제공됩니다. 아래 명령어를 사용하여 Remi 저장소를 통해 PHP 8.3에 대한 저장소 모듈을 활성화합니다.
sudo dnf module reset php
sudo dnf module enable php:remi-8.3
이제 아래의 dnf 명령어로 LAMP 스택(Apache/Httpd, MariaDB, PHP) 패키지를 설치합니다. 설치를 확인하라는 메시지가 표시되면 y를 입력합니다.
sudo dnf install httpd mariadb-server php php-cli php-devel php-mbstring php-gd php-xml php-curl php-mysqlnd php-pdo php-json php-opcache php-pear php-pecl-apcu php-pecl-crypto
설치가 완료되면 아래 명령어를 사용하여 httpd 서비스를 시작하고 활성화합니다.
sudo systemctl start httpd
sudo systemctl enable httpd그 다음, 아래 명령어로 mariadb 서비스를 시작하고 활성화합니다.
sudo systemctl start mariadb
sudo systemctl enable mariadb마지막으로, 아래 명령어를 사용하여 PHP 버전을 확인합니다. 시스템에 PHP 8.3이 설치된 것을 볼 수 있습니다.
php -v
php -m
Firewalld 설정
기본적으로 Alma Linux에서 firewalld가 실행 중입니다. HTTP 및 HTTPS 프로토콜에 대한 접근을 firewalld를 통해 열고 Drupal 설치로의 트래픽을 허용해야 합니다.
아래 명령어를 사용하여 firewalld에 HTTP 및 HTTPS 서비스를 추가합니다. 그런 다음, 변경 사항을 적용하기 위해 firewalld를 다시 로드합니다.
sudo firewall-cmd --add-service={http,https} --permanent
sudo firewall-cmd --reload이제 아래 명령어를 실행하여 firewalld 상태를 확인하고 활성화된 규칙을 나열합니다. HTTP 및 HTTPS 서비스가 firewalld에 추가된 것을 볼 수 있습니다.
sudo firewall-cmd --list-all
PHP 설정
이 섹션에서는 기본 구성 파일 /etc/php.ini를 편집하고 PECL(PHP Extension Community Library)을 통해 추가 확장인 uploadprogress를 설치하여 PHP를 설정합니다. uploadprogress 확장은 Drupal에서 필요하지만 PECL 패키지로만 제공됩니다.
아래의 nano 편집기 명령어를 사용하여 PHP 구성 파일 /etc/php.ini를 엽니다.
sudo nano /etc/php.ini다음과 같이 기본 구성을 변경합니다. 현재 환경에 맞게 memory_limit 및 date.timezone 옵션을 조정해야 합니다.
memory_limit = 512M
upload_max_filesize = 60M
max_execution_time = 300
date.timezone = Europe/Stockholm작업이 완료되면 파일을 저장하고 종료합니다.
이제 아래 명령어를 실행하여 시스템에 uploadprogress 모듈을 설치합니다. uploadprogress 모듈은 패키지 저장소가 아닌 PECL 저장소에서 사용할 수 있습니다.
sudo pecl install uploadprogress설치가 완료되면 다음과 같은 출력이 표시됩니다:

다음으로, uploadprogress 확장을 활성화하기 위해 새로운 구성을 생성하는 아래 명령어를 실행합니다.
cat <PHP에 대한 수정 사항을 적용하기 위해 httpd 서비스를 재시작합니다.
sudo systemctl restart httpd마지막으로, 아래 명령어를 사용하여 uploadprogress 모듈을 확인합니다. PHP 설치에서 uploadprogress 모듈이 활성화되어 있는지 확인합니다.
php -m | grep uploadprogress
MariaDB 설정
PHP 구성이 완료된 후, MariaDB 서버 설치를 구성해야 합니다. 명령줄을 통해 MariaDB를 보호한 후, MariaDB 클라이언트를 통해 Drupal을 위한 새로운 데이터베이스와 사용자를 생성합니다.
아래 명령어로 MariaDB 서버를 보호합니다.
sudo mariadb-secure-installation이 과정에서 Y를 입력하여 새로운 구성을 확인하고 적용하거나 N을 입력하여 구성을 거부합니다. 아래는 요청될 MariaDB 구성입니다:
- unix_socket 인증으로 전환하시겠습니까?. n을 입력하고 ENTER를 누릅니다. 기본 MariaDB 루트 사용자는 이미 보호되어 있습니다. 선택적으로 y를 입력하여 활성화할 수도 있습니다.
- 루트 비밀번호를 변경하시겠습니까?. y를 입력하여 새로운 MariaDB 루트 비밀번호를 설정합니다.
- 익명 사용자를 제거하시겠습니까?. y를 입력하여 확인합니다.
- 원격에서 루트 로그인을 금지하시겠습니까? y를 입력하여 확인합니다. MariaDB 루트 사용자를 사용하는 경우 로컬 연결만 허용됩니다.
- 테스트 데이터베이스 및 이에 대한 접근을 제거하시겠습니까?. y를 입력하여 확인하고 기본 데이터베이스 ‘test’를 제거합니다.
- 마지막으로, y를 다시 입력하여 MariaDB 서버의 모든 테이블 권한을 다시 로드하고 새로운 변경 사항을 적용합니다.
아래 명령어로 MariaDB 서버에 로그인합니다. 프롬프트가 표시되면 MariaDB 루트 비밀번호를 입력합니다.
sudo mariadb -u root -p이제 아래 쿼리를 실행하여 새로운 데이터베이스 drupaldb와 사용자 drupal을 생성합니다. 비밀번호는 p4ssword입니다. 이 데이터베이스는 Drupal에서 사용되므로 다음 데이터베이스 세부정보를 귀하의 정보로 조정해야 합니다.
CREATE DATABASE drupaldb;
CREATE USER drupal@localhost IDENTIFIED BY 'p4ssword';
GRANT ALL ON drupaldb.* TO drupal@localhost WITH GRANT OPTION;
FLUSH PRIVILEGES;
다음으로, 아래 쿼리를 사용하여 사용자 Drupal의 권한을 확인합니다. 사용자 Drupal이 데이터베이스 Drupaldb에 접근할 수 있는 것을 볼 수 있습니다.
SHOW GRANTS FOR drupal@localhost;마지막으로, MariaDB 서버에서 종료하려면 quit을 입력합니다.

Drupal 소스 코드 다운로드
이제 MariaDB를 구성하고 데이터베이스와 사용자를 생성했으므로, Drupal 소스 코드를 다운로드하고 Drupal 설치를 위한 DocumentRoot 또는 웹 루트 디렉토리를 구성할 수 있습니다. 이 경우, Composer를 통해 설치하는 대신 wget을 통해 Drupal 소스 코드를 다운로드합니다.
/var/www 디렉토리로 이동하여 아래의 wget 명령어를 사용하여 최신 Drupal 소스 코드를 다운로드합니다.
cd /var/www/
wget https://www.drupal.org/download-latest/tar.gz -O drupal.tar.gz다운로드가 완료되면 Drupal 소스 코드를 추출하고 추출된 디렉토리의 이름을 drupal로 변경합니다. 이렇게 하면 Drupal의 DocumentRoot 디렉토리가 /var/www/drupal에 생성됩니다.
tar -xvf drupal.tar.gz
mv drupal-* drupal이제 아래 명령어를 실행하여 /var/www/drupal 디렉토리의 소유권을 apache 사용자로 변경하고 권한을 755로 변경합니다.
sudo chown -R apache:apache /var/www/drupal/
sudo chmod -R 755 /var/www/drupal/Httpd 가상 호스트 생성
이 섹션에서는 Drupal을 위한 새로운 Httpd 가상 호스트 구성을 생성합니다. 따라서 로컬 또는 공용 도메인 이름을 Drupal에 준비했는지 확인하십시오.
먼저, 아래의 nano 편집기 명령어를 사용하여 새로운 httpd 가상 호스트 구성 파일 /etc/httpd/conf.d/drupal.conf를 생성합니다.
sudo nano /etc/httpd/conf.d/drupal.conf아래 구성을 삽입하고 ServerName 옵션을 귀하의 도메인 이름으로 변경해야 합니다.
ServerName howtoforge.local
ServerAdmin [email protected]
DocumentRoot /var/www/drupal
ErrorLog /var/log/httpd/howtoforge.local.error.log
CustomLog /var/log/httpd/howtoforge.local.access.log combined
Options FollowSymlinks
#Allow .htaccess
AllowOverride All
Require all granted
SecRuleEngine Off
# or disable only problematic rules
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
작업이 완료되면 파일을 저장하고 편집기를 종료합니다.
이제 아래 명령어를 실행하여 httpd 구성을 확인합니다. Syntax OK라는 출력이 표시되면 올바른 httpd 구문이 확인된 것입니다.
sudo apachectl configtest마지막으로, 아래 명령어로 httpd를 재시작하여 새로운 가상 호스트 변경 사항을 적용합니다.
sudo systemctl restart httpd
Certbot을 통한 HTTPS 설정
이 섹션에서는 Certbot과 Letsencrypt를 통해 Drupal의 HTTPS를 구성합니다. 공용 도메인을 사용할 때 이 작업을 수행하고, 로컬 도메인의 경우 자체 서명된 인증서를 생성할 수 있습니다.
아래 명령어를 사용하여 Certbot 및 Certbot Apache 플러그인을 설치합니다. 설치를 확인하려면 y를 입력합니다.
sudo dnf install certbot python3-certbot-apache설치가 완료되면 아래의 certbot 명령어를 사용하여 Drupal 설치를 위한 SSL/TLS 인증서를 생성합니다. 도메인 이름과 이메일 주소를 귀하의 정보로 변경해야 합니다.
sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d howtoforge.local프로세스가 완료되면 SSL/TLS 인증서는 /etc/letsencrypt/live/domain.com 디렉토리에 저장됩니다. 또한 Drupal 설치는 자동으로 HTTPS로 구성되어야 합니다.
Drupal 설치
웹 브라우저를 열고 https://howtoforge.local/와 같은 Drupal 설치 도메인을 방문합니다.
선호하는 언어를 선택하고 저장 및 계속 버튼을 클릭합니다.

설치 프로필에서 처음으로 Drupal을 설치하는 경우 Standard를 선택한 후 저장 및 계속을 클릭합니다.

시스템 검사가 완료되면 Drupal의 데이터베이스 구성 화면이 표시됩니다. MariaDB 데이터베이스 정보를 입력하고 다시 저장 및 계속을 클릭합니다.

이제 Drupal 설치가 시작되며 다음과 같은 화면이 표시됩니다:

설치가 완료되면 Drupal 사이트 정보를 입력하고 Drupal의 새로운 관리자 사용자를 생성합니다. 그런 다음 저장 및 계속을 클릭하여 확인합니다.

구성이 완료되면 다음과 같은 Drupal 홈페이지가 표시됩니다:

결론
축하합니다! 이제 Alma Linux 9 서버에 Drupal을 설치했습니다. Httpd, MariaDB 및 PHP와 함께 Drupal을 설치했습니다. 또한 Letsencrypt의 SSL/TLS로 Drupal을 보호했습니다. Drupal이 설치되었으므로 새로운 테마를 추가하거나 확장을 설치하기 시작하십시오.
새 게시물을 받은 편지함에서 받기
스팸은 없습니다. 언제든지 구독 해지 가능합니다.