TYPO3 설치 · 5 min read · Sep 24, 2025
AlmaLinux 9에서 Nginx로 TYPO3 CMS 설치하기

TYPO3는 무료이며 오픈 소스인 엔터프라이즈급 콘텐츠 관리 시스템입니다. 다중 사이트 지원, 다국어 설치, 강력한 보안 구현, 빠른 속도 등 여러 엔터프라이즈 수준의 기능을 제공합니다. 어디서나 실행할 수 있습니다.
TYPO3 CMS를 사용하면 유연하고 신뢰할 수 있는 웹사이트를 구축할 수 있습니다. TYPO3 CMS는 활발한 전문 커뮤니티가 지원하는 백엔드입니다. 설계상 TYPO3 CMS는 플러그 가능하고 적응 가능하며 분리된 아키텍처를 가진 콘텐츠 관리 시스템입니다.
이 가이드에서는 AlmaLinux 9에 TYPO3 CMS를 단계별로 설치하는 방법을 보여드리겠습니다. Nginx 웹 서버, MariaDB 데이터베이스 서버 및 PHP-FPM과 함께 TYPO3 CMS를 설치할 것입니다.
전제 조건
진행하기 전에 다음 사항을 확인하세요:
- AlmaLinux 9 서버 - 이 예제에서는 호스트 이름이 almalinux9인 서버를 사용합니다.
- sudo 루트 권한이 있는 비루트 사용자.
- 서버 IP 주소를 가리키는 도메인 이름.
의존성 설치
다음 단계에서는 TYPO3 CMS에 필요한 패키지 의존성을 설치합니다:
- Nginx: 웹 서버로 사용합니다.
- MariaDB: 데이터베이스 서버로 사용합니다.
- PHP-FPM: 이 예제에서는 TYPO3 CMS에 PHP 8.1을 사용합니다.
- Composer: PHP 애플리케이션을 위한 의존성 관리 도구입니다.
이제 시작해 보겠습니다.
먼저, 다음 명령어를 실행하여 EPEL 및 Remi 저장소를 시스템에 추가합니다. Remi 저장소는 여러 버전의 PHP 패키지와 기본 appstream 저장소에서 사용할 수 없는 추가 PHP 확장을 제공합니다.
sudo dnf epel-release
sudo dnf install -y https://rpms.remirepo.net/enterprise/remi-release-9.rpm설치를 확인하려면 y를 입력하고 ENTER를 누르세요.
EPEL 저장소 추가.

RHEL 9용 PHP Remi 저장소 추가.

이제 다음 명령어를 실행하여 기본 PHP 저장소 모듈을 재설정하고 Remi 저장소에서 PHP 8.1 모듈을 활성화합니다.
sudo dnf module reset php -y
sudo dnf module enable php:remi-8.1 -y
다음으로, TYPO3 CMS에 필요한 패키지 의존성을 설치하기 위해 아래의 dnf 명령어를 실행합니다. 프롬프트가 표시되면 y를 입력하여 확인한 후 ENTER를 누릅니다.
sudo dnf install nginx mariadb-server composer ImageMagick php-fpm php-mysqlnd php-gd php-curl php-json php-intl php-bcmath php-zip php-apcu php-mbstring php-fileinfo php-xml php-soap
의존성이 설치된 후, 아래의 systemctl 명령어를 실행하여 Nginx, MariaDB 및 PHP-FPM과 같은 주요 서비스를 시작하고 활성화합니다.
sudo systemctl enable --now nginx mariadb php-fpm그런 다음 다음 명령어를 사용하여 서비스가 모두 실행 중인지 확인합니다.
sudo systemctl status nginx mariadb php-fpm서비스가 실행 중이면 active (running)이라는 출력이 표시됩니다. 아래 예제에서는 Nginx 서비스가 실행 중임을 보여줍니다.

마지막으로, 다음 명령어를 실행하여 Composer가 설치되었는지 확인하고 버전을 확인합니다.
sudo -u nginx composer -V이 글을 작성할 당시, Composer v2.5.5가 EPEL 저장소를 통해 설치되었습니다.
Firewalld 설정
패키지 의존성을 설치한 후, 다음 단계는 firewalld를 설정하고 HTTP 및 HTTPS 프로토콜을 열어주는 것입니다.
아래의 firewall-cmd 명령어를 실행하여 HTTP 및 HTTPS 서비스를 엽니다. 그런 다음 firewalld를 다시 로드하여 변경 사항을 적용합니다.
sudo firewall-cmd --add-service={http,https} --permanent
sudo firewall-cmd --reload이제 다음 명령어를 사용하여 firewalld에서 열린 포트 및 서비스 목록을 확인합니다.
sudo firewall-cmd --list-all서비스 섹션에서 HTTP 및 HTTPS가 모두 활성화되어 있어야 합니다.

MariaDB 서버 설정
다음 섹션에서는 MariaDB 서버를 보안하고 TYPO3 CMS 설치에 사용할 새 데이터베이스와 사용자를 생성합니다.
먼저, mariadb-secure-installation 명령어를 실행하여 MariaDB 설치를 보안합니다.
sudo mariadb-secure-installation과정 중에 MariaDB 서버 구성에 대한 프롬프트가 표시됩니다. 각 단계를 확인하려면 Y를 입력하세요.
- MariaDB 루트 인증을 unix_socket으로 전환하시겠습니까? n을 입력합니다.
- MariaDB 루트 비밀번호를 설정하시겠습니까? y를 입력한 후 새 비밀번호를 입력하고 반복합니다.
- 루트 사용자의 원격 로그인을 비활성화하시겠습니까? y를 입력합니다.
- 기본 데이터베이스 테스트를 제거하시겠습니까? y를 다시 입력합니다.
- 기본 익명 사용자를 제거하시겠습니까? y를 입력하여 확인합니다.
- 변경 사항을 적용하기 위해 테이블 권한을 다시 로드하시겠습니까? y를 입력합니다.
MariaDB가 보안된 후, 아래의 mariadb 명령어를 사용하여 MariaDB에 로그인합니다. 비밀번호 프롬프트가 표시되면 MariaDB 루트 비밀번호를 입력합니다.
sudo mariadb -u root -pMariaDB에 로그인한 후, 아래의 쿼리를 실행하여 새 데이터베이스 typo3db, 사용자 typo3, 비밀번호 typo3password를 생성합니다.
CREATE DATABASE typo3db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
GRANT ALL PRIVILEGES ON typo3db.* to typo3@localhost IDENTIFIED BY 'typo3password';
FLUSH PRIVILEGES;
다음으로, 아래의 쿼리를 실행하여 MariaDB 사용자 typo3의 권한을 확인하고 사용자가 데이터베이스 typo3db에 접근할 수 있는지 확인합니다.
SHOW GRANTS FOR typo3@localhost;출력에서 MariaDB 사용자 typo3가 데이터베이스 typo3db에 접근할 수 있어야 합니다.

quit를 입력하여 MariaDB 서버에서 종료하고 단계를 완료합니다.
PHP-FPM 설정
MariaDB 서버가 구성되었으므로, 다음 단계는 PHP-FPM 설치를 설정하는 것입니다. PHP-FPM 설치를 Nginx 웹 서버와 통합합니다.
먼저, 다음 명령어를 실행하여 시스템의 기본 시간대를 설정합니다.
sudo timedatectl set-timezone Europe/Stockholm이제 vim 편집기 명령을 사용하여 PHP 구성 파일 /etc/php.ini를 엽니다.
sudo vim /etc/php.inidate.timezone 매개변주의 주석을 제거하고 적절한 시간대로 값을 변경합니다.
date.timezone = Europe/Stockholm다음과 같이 일부 PHP 매개변수를 증가시키고 활성화합니다. memory_limit 매개변수는 현재 메모리에 맞게 조정합니다.
memory_limit = 512M
max_execution_time = 300
max_input_vars = 2000이제 post_max_size 및 upload_ max_filesize 매개변수를 30MB로 증가시킵니다.
post_max_size = 30M
upload_max_filesize = 30M작업이 완료되면 파일을 저장하고 편집기를 종료합니다.
다음으로, vim 편집기를 사용하여 PHP-FPM 풀 구성 파일 /etc/php-fpm.d/www.conf를 엽니다.
sudo vim /etc/php-fpm.d/www.confuser 및 group 매개변수의 기본 값을 nginx로 변경합니다:
user = nginx
group = nginx파일을 저장하고 편집기를 종료합니다.
이제 다음 명령어를 실행하여 PHP-FPM 서비스를 재시작하고 변경 사항을 적용합니다. 그런 다음 PHP-FPM이 실행 중인지 확인합니다.
sudo systemctl restart php-fpm
sudo systemctl status php-fpm실행 중이라면 다음과 같은 출력이 표시됩니다:

또한, PHP-FPM의 기본 소켓 파일인 /run/php-fpm/www.sock를 확인하여 PHP-FPM을 검증할 수 있습니다. 아래의 ss 명령어를 실행하여 시스템에서 사용 가능한 소켓 목록을 가져오고 출력에서 www.sock만 표시합니다.
ss -pl | grep www.sockPHP-FPM이 실행 중이라면 기본 PHP-FPM 소켓 파일 /run/php-fpm/www.sock가 다음과 같이 표시됩니다:
TYPO3 CMS 다운로드
TYPO3 CMS는 여러 방법으로 설치할 수 있으며, 이 데모에서는 Composer 패키지 관리자를 통해 TYPO3 CMS를 설치합니다.
다음 명령어를 실행하여 새 디렉토리 /var/www/typo3를 생성합니다. 이 디렉토리는 TYPO3 CMS 설치의 대상 디렉토리로 사용됩니다.
mkdir -p /var/www/typo3다음으로, 아래의 명령어를 실행하여 디렉토리 /var/www/typo3의 소유권을 nginx 사용자로 변경하고 해당 디렉토리의 소유자에게 읽기 및 쓰기 권한을 부여합니다.
sudo chown -R nginx:nginx /var/www/typo3
sudo chmod u+rw /var/www/typo3이제 /var/www/typo3 디렉토리로 이동하고 아래의 Composer 명령어를 실행하여 TYPO3 CMS 소스 코드를 다운로드합니다.
cd /var/www/typo3
sudo -u nginx composer create-project typo3/cms-base-distribution:^12 .설치가 진행되는 동안 다음과 같은 프로세스를 볼 수 있습니다:

TYPO3가 다운로드된 후, 다음 명령어를 실행하여 /var/www/typo3의 파일 및 디렉토리 목록을 확인합니다.
ls -lah /var/www/typo3다음과 유사한 파일 및 디렉토리를 볼 수 있어야 합니다:

마지막으로 TYPO3 CMS 바이너리 파일을 실행하여 구성을 시작하고 몇 가지 구성을 요청받습니다.
sudo -u nginx ./vendor/bin/typo3 setup다음과 같은 TYPO3 CMS 구성을 요청받습니다.
- 데이터베이스 드라이버를 mysqli로 입력합니다.
- 데이터베이스 사용자, 비밀번호, 포트 및 호스트를 입력합니다.
- TYPO3 CMS에 사용할 데이터베이스 이름을 입력합니다. 이 예제에서는 데이터베이스 이름이 typo3db입니다.
- TYPO3 CMS의 새 관리자 사용자, 이메일 및 비밀번호를 입력합니다.
- 프로젝트 이름 및 기본 사이트 URL에 대해서는 ENTER를 눌러 기본값으로 유지합니다.
TYPO3 CMS 구성이 완료되면
새 게시물을 받은 편지함에서 받기
스팸은 없습니다. 언제든지 구독 해지 가능합니다.