Joomla 설치 · 5 min read · Sep 12, 2025
우분투 24.04 서버에 Nginx로 Joomla 설치하는 방법

Joomla는 웹사이트 및 온라인 출판물을 구축하기 위한 유연하고 오픈 소스 콘텐츠 관리 시스템입니다. PHP로 구동되며 포럼, 사진 갤러리, 전자 상거래 및 기타 웹 기반 애플리케이션과 같은 여러 시나리오에 사용할 수 있습니다.
이 가이드에서는 우분투 24.04 서버에 Joomla를 설치하는 방법을 보여줍니다. Nginx를 웹 서버로, MariaDB 데이터베이스 서버와 PHP-FPM을 사용하여 Joomla를 실행합니다. 또한 Joomla를 HTTPS로 보호합니다.
전제 조건
이 가이드를 완료하려면 다음이 필요합니다:
- 우분투 24.04 서버.
- 관리자 권한이 있는 비루트 사용자.
- 서버 IP 주소를 가리키는 도메인 이름.
의존성 설치
Joomla는 PHP 기반의 콘텐츠 관리 시스템입니다. 이를 설치하려면 시스템에 PHP를 설치해야 합니다. 이 섹션에서는 Joomla의 의존성으로 LEMP 스택(리눅스, Nginx, MariaDB 및 PHP-FPM)을 설치합니다.
먼저 아래 명령어를 실행하여 우분투 패키지 인덱스를 업데이트합니다.
sudo apt update
아래 명령어로 LEMP 스택 의존성을 설치합니다. 설치를 확인하려면 ‘Y‘를 입력합니다.
sudo apt install nginx mariadb-server php-fpm php-curl php-common php-json php-intl php-xml php-gd php-mysql php-imagick php-mbstring php-zip
설치가 완료되면 다음 명령어로 Nginx 서비스 상태를 확인합니다:
sudo systemctl is-enabled nginx
sudo systemctl status nginxNginx 서비스가 실행 중임을 확인할 수 있습니다.

이제 MariaDB 서비스가 실행 중이고 활성화되어 있는지 확인하려면 아래 명령어를 실행합니다:
sudo systemctl is-enabled mariadb
sudo systemctl status mariadb
마지막으로 아래 명령어를 실행하여 PHP-FPM 서비스가 실행 중인지 확인합니다. PHP-FPM은 기본적으로 소켓 파일에서 실행되어야 합니다.
sudo systemctl is-enabled php8.3-fpm
sudo systemctl status php8.3-fpm
PHP-FPM 구성
LEMP 스택이 설치되었으므로 PHP-FPM 설치를 구성하고 Joomla에 필요한 기본 구성을 변경합니다.
‘/etc/php/8.3/fpm/php.ini‘ 파일을 ‘ nano ‘ 편집기로 엽니다.
sudo nano /etc/php/8.3/fpm/php.ini기본 구성을 다음과 같이 변경합니다:
memory_limit=512M
upload_max_filesize=64M
post_max_size=64M
max_execution_time=120
output_buffering = Off
extension=intl파일을 저장하고 편집기를 종료합니다.
이제 변경 사항을 적용하기 위해 PHP-FPM 서비스를 재시작합니다.
sudo systemctl restart php8.3-fpm마지막으로 아래 명령어로 PHP-FPM 서비스의 PHP 소켓 파일을 확인할 수 있습니다.
ss -pl | grep php아래와 같이 PHP-FPM의 소켓 파일이 ‘/var/run/php/php8.3-fpm.sock‘에 위치해 있음을 확인할 수 있습니다.

MariaDB 서버 구성
이 섹션에서는 MariaDB 서버 설치를 보호한 다음 Joomla를 위한 새 데이터베이스와 사용자를 생성합니다. MariaDB 서버를 보호하기 위해 ‘mariadb-secure-installation’을 사용하고, ‘mariadb’ 클라이언트를 통해 새 데이터베이스와 사용자를 생성합니다.
MariaDB 서버를 보호하려면 아래 ‘ mariadb-secure-installation ‘ 명령어를 실행합니다.
sudo mariadb-secure-installation이제 다음과 같이 MariaDB 서버를 설정하라는 메시지가 표시됩니다:
- 루트 비밀번호 없이 기본 MariaDB 서버 설치의 경우 비밀번호에 대한 질문이 있을 때 ENTER를 누릅니다.
- MariaDB 루트 사용자에 대한 로컬 인증은 기본적으로 보호되므로 인증 방법을 ‘unix_socket’으로 변경하라는 질문에 ‘n’을 입력합니다.
- 새 MariaDB 루트 비밀번호를 생성하라는 질문에 ‘Y’를 입력합니다. 그런 다음 MariaDB 루트 사용자에 대한 강력한 비밀번호를 입력하고 반복합니다.
- MariaDB 루트 사용자에 대한 원격 인증을 비활성화하라는 질문에 ‘Y’를 입력하여 동의합니다.
- 기본 MariaDB 서버 설치에는 ‘test’ 데이터베이스가 있으며 익명 사용자가 이를 접근할 수 있습니다.
- 기본 데이터베이스 ‘test’를 제거하고 익명 권한을 제거하기 위해 두 설정 모두에 대해 ‘Y’를 입력합니다.
- 마지막으로 테이블 권한을 다시 로드하라는 질문에 ‘Y’를 입력하여 확인합니다.
MariaDB가 보호되면 Joomla를 위한 새 데이터베이스와 사용자를 생성합니다.
아래 ‘ mariadb ‘ 명령어로 MariaDB 서버에 로그인합니다. 프롬프트가 표시되면 MariaDB 루트 비밀번호를 입력합니다.
sudo mariadb -u root -p이제 다음 쿼리를 실행하여 새 데이터베이스 ‘joomladb‘와 비밀번호 ‘p4ssword‘를 가진 새 사용자 ‘joomla‘를 생성합니다.
CREATE DATABASE joomladb;
CREATE USER joomla@localhost IDENTIFIED BY 'p4ssword';
GRANT ALL PRIVILEGES ON joomladb.* TO joomla@localhost;
FLUSH PRIVILEGES;
다음으로 아래 쿼리를 실행하여 사용자 ‘joomla‘의 권한을 확인합니다. ‘joomla‘ 사용자가 ‘joomladb‘ 데이터베이스에 접근할 수 있음을 확인할 수 있습니다.
SHOW GRANTS FOR joomla@localhost;마지막으로 ‘ quit ‘를 입력하여 MariaDB 서버에서 로그아웃합니다.

Joomla 소스 코드 다운로드
이 시점에서 Joomla를 위한 의존성을 설치하고 구성했습니다. 이제 Joomla 소스 코드를 다운로드하고 Joomla 설치를 위한 document-root/webroot 디렉토리를 설정합니다.
‘/var/www’ 디렉토리로 이동하고 아래 ‘wget’ 명령어로 Joomla 소스 코드를 다운로드합니다. Joomla 다운로드 페이지를 확인하고 최신 버전의 링크를 가져옵니다.
cd /var/www/
wget https://downloads.joomla.org/cms/joomla5/5-1-4/Joomla_5-1-4-Stable-Full_Package.zip이제 아래 ‘unzip’ 명령어를 실행하여 Joomla 소스 코드를 ‘joomla’ 디렉토리에 추출합니다.
unzip Joomla_5-1-4-Stable-Full_Package.zip -d joomla마지막으로 아래 ‘chmod’ 명령어를 실행하여 ‘/var/www/joomla’ 디렉토리의 소유권을 사용자 ‘www-data’로 변경합니다.
sudo chown -R www-data:www-data /var/www/joomlaNginx 서버 블록 설정
이제 Joomla를 실행하기 위한 새로운 Nginx 서버 블록 구성을 생성합니다. 도메인 이름이 준비되어 있고 서버 IP 주소를 가리키고 있는지 확인하십시오.
새 Nginx 서버 파일 ‘/etc/nginx/sites-available/joomla‘를 아래 ‘ nano ‘ 편집기로 생성합니다.
sudo nano /etc/nginx/sites-available/joomla아래 구성을 삽입하고 ‘ server_name ‘ 옵션을 도메인 이름으로 변경합니다.
server {
listen 80;
server_name howtoforge.local;
server_name_in_redirect off;
access_log /var/log/nginx/localhost.access_log;
error_log /var/log/nginx/localhost.error_log info;
root /var/www/joomla;
index index.php index.html index.htm default.html default.htm;
# Support API
location /api/ {
try_files $uri $uri/ /api/index.php?$args;
}
# Support Clean (aka Search Engine Friendly) URLs
location / {
try_files $uri $uri/ /index.php?$args;
}
# add global x-content-type-options header
add_header X-Content-Type-Options nosniff;
# deny running scripts inside writable directories
location ~* /(images|cache|media|logs|tmp)/.*\.(php|pl|py|jsp|asp|sh|cgi)$ {
return 403;
error_page 403 /403_error.html;
}
location ~ \.php$ {
fastcgi_pass unix:/var/run/php/php8.3-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include /etc/nginx/fastcgi.conf;
}
# caching of files
location ~* \.(ico|pdf|flv)$ {
expires 1y;
}
location ~* \.(js|css|png|jpg|jpeg|gif|swf|xml|txt)$ {
expires 14d;
}
}파일을 저장하고 편집기를 종료합니다.
이제 아래 명령어를 실행하여 ‘ joomla ‘ 서버 블록을 활성화하고 Nginx 구성을 확인합니다. 올바른 Nginx 설정이 있으면 ‘Syntax is OK‘라는 출력을 볼 수 있습니다.
sudo ln -s /etc/nginx/sites-available/joomla /etc/nginx/sites-enabled/
sudo nginx -t마지막으로 아래 ‘systemctl’ 명령어를 실행하여 Nginx 서비스를 재시작하고 변경 사항을 적용합니다.
sudo systemctl restart nginx
HTTPS로 Joomla 보호하기
이 가이드에서는 Joomla를 HTTPS로 보호합니다. 공개 도메인을 사용하는 경우 Certbot 및 Letsencrypt를 통해 SSL/TLS 인증서로 Joomla를 보호할 수 있습니다.
아래 ‘apt’ 명령어로 ‘Certbot’ 및 Certbot Nginx 플러그인을 설치합니다. 설치를 확인하려면 ‘Y’를 입력합니다.
sudo apt install certbot python3-certbot-nginx설치가 완료되면 아래 ‘certbot’ 명령어를 실행하여 SSL/TLS 인증서를 생성하고 Joomla 설치를 HTTPS로 보호합니다. 도메인 이름과 이메일 주소를 귀하의 정보로 변경해야 합니다.
sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d howtoforge.local완료되면 Joomla 설치가 Letsencrypt의 SSL/TLS 인증서를 통해 HTTPS로 보호됩니다.
Joomla 설치
웹 브라우저를 열고 https://howtoforge.local/와 같은 Joomla 도메인 이름을 방문합니다. Joomla 설치 마법사가 표시됩니다.
기본 언어를 선택하고 사이트 이름을 입력합니다.

새 관리자 사용자, 이메일 및 Joomla 비밀번호를 입력합니다.

MariaDB 데이터베이스 및 사용자 세부 정보를 입력한 후 ‘Install Joomla‘를 클릭하여 설치를 진행합니다.

설치가 완료되면 ‘Open Site‘를 클릭하여 기본 홈페이지를 열거나 ‘Open Administrator‘를 클릭하여 Joomla 관리 대시보드에 접근합니다.

기본 Joomla 홈페이지에서는 다음과 같은 내용을 볼 수 있습니다.

이제 관리자 사용자와 비밀번호를 입력하고 ‘Login‘을 클릭합니다.

정확한 사용자와 비밀번호를 입력하면 다음과 같은 Joomla 관리 대시보드를 볼 수 있습니다.

결론
축하합니다! 우분투 24.04 서버에 Joomla를 설치했습니다. Nginx 웹 서버, MariaDB 데이터베이스 서버 및 PHP-FPM과 함께 Joomla를 실행 중입니다. 또한 Certbot 및 Letsencrypt를 통해 Joomla를 HTTPS로 보호했습니다.
새 게시물을 받은 편지함에서 받기
스팸은 없습니다. 언제든지 구독 해지 가능합니다.