웹 분석 · 8 min read · Dec 21, 2025

우분투 22.04에 Matomo 웹 분석 설치하는 방법

Matomo, 이전의 Piwik,은 웹사이트 방문을 추적하고 데이터 및 청중 분석을 위한 보고서를 표시할 수 있는 무료 오픈 소스 웹 분석 소프트웨어입니다. Matomo는 GPL 라이센스 하에 배포됩니다. PHP로 작성되었으며 MySQL 또는 MariaDB 데이터베이스 서버에서 실행할 수 있습니다.

Matomo는 웹사이트에서 사용자 추적을 위한 통찰력 있는 보고서를 제공합니다. 여기에는 추천 검색 엔진 및 키워드, 언어, 파일 방문자 다운로드와 같은 페이지 방문 등이 포함됩니다. Matomo는 Google Analytics와 같은 분석 서비스의 대안으로 점점 더 인기를 얻고 있습니다.

이 튜토리얼에서는 우분투 22.04 서버에서 Matomo로 웹 분석을 설정하고 보안하는 방법을 배웁니다. PHP 8.1, Apache2 웹 서버 및 MariaDB 데이터베이스와 함께 Matomo 웹 분석을 설치하고 Certbot 및 Letsencrypt를 통해 SSL/TLS 인증서로 배포를 보안합니다. 이 튜토리얼을 마치면 웹사이트의 트래픽을 추적하고 모니터링할 수 있으며, 자체 호스팅된 Matomo 설치에서 세부 추적 결과를 얻을 수 있습니다.

필수 조건

아래는 이 튜토리얼을 완료하기 위해 필요한 요구 사항입니다:

  • 우분투 22.04 서버 - 이 예제에서는 호스트 이름이 ‘ matomo-server ‘인 우분투 서버를 사용합니다.
  • sudo/root 관리자 권한이 있는 비루트 사용자.
  • 서버 IP 주소를 가리키는 도메인 이름 - 이 예제에서는 서브 도메인 ‘ analytics.howtoforge.local ‘을 사용합니다.

모든 요구 사항이 준비되면 이제 시작할 수 있습니다.

MariaDB 서버 설치 및 구성

Matomo는 MySQL 또는 MariaDB를 데이터베이스 백엔드로 사용하는 오픈 소스 웹 분석입니다. 이 글을 작성할 당시 Matomo는 최소한 MySQL Server v8 또는 MariaDB v10.x가 필요했습니다. 이 가이드에서는 Matomo 웹 분석을 위한 데이터베이스로 MariaDB를 설치하고 사용할 것입니다.

첫 번째 단계에서는 MariaDB 서버를 설치하고 MariaDB 배포를 설정하며 새로운 MariaDB 데이터베이스와 사용자를 생성합니다.

시작하기 전에 아래의 apt 명령어를 실행하여 패키지 인덱스를 업데이트하고 새로 고칩니다.

sudo apt update

이제 아래의 apt 명령어를 통해 MariaDB 서버를 설치합니다. 프롬프트가 표시되면 y를 입력하고 ENTER를 눌러 진행합니다.

sudo apt install mariadb-server

install mariadb

MariaDB 서버가 설치된 후 아래의 systemctl 명령어 유틸리티를 실행하여 MariaDB 서버가 실행 중인지 확인합니다.

sudo systemctl is-enabled mariadb  
sudo systemctl status mariadb

다음과 유사한 출력을 받아야 합니다 - MariaDB 서버는 기본적으로 활성화되어 실행 중입니다. 또한 MariaDB 서버는 부팅 시 자동으로 시작됩니다.

verify mariadb

다음으로, MariaDB 서버 배포를 보안하기 위해 MariaDB 서버 패키지에서 제공하는 ‘ mariadb-secure-installation ‘ 명령어를 사용합니다.

아래 명령어를 실행하여 MariaDB 서버 배포를 보안합니다.

sudo mariadb-secure-installation

이제 다음 MariaDB 구성에 대해 질문을 받게 됩니다:

  • 로컬 인증을 unix_socket으로 전환하시겠습니까? n을 입력합니다.
  • 새로운 MariaDB 루트 비밀번호를 설정하시겠습니까? y를 입력하여 확인한 후 MariaDB 서버 배포를 위한 새 비밀번호를 입력합니다.
  • 익명 사용자를 제거하시겠습니까? y를 입력하여 확인합니다.
  • 배포에서 기본 데이터베이스 테스트를 제거하시겠습니까? y를 입력하여 확인합니다.
  • 원격 연결에서 MariaDB 루트 로그인을 금지하시겠습니까? y를 입력하여 확인합니다.
  • 테이블 권한을 다시 로드하고 변경 사항을 적용하시겠습니까? y를 입력하고 ENTER를 누릅니다.

이제 MariaDB 서버 배포가 보안되었으며 MariaDB 루트 사용자에 대한 비밀번호를 추가했습니다.

다음으로, MariaDB 셸을 통해 Matomo 설치를 위한 새로운 MariaDB 데이터베이스와 사용자를 생성합니다.

아래 ‘mariadb’ 명령어를 실행하여 MariaDB 루트 사용자로 MariaDB 셸에 로그인합니다. 비밀번호를 요청받으면 MariaDB 루트 비밀번호를 입력합니다.

sudo mariadb -u root -p

이제 다음 쿼리를 실행하여 새로운 MariaDB 데이터베이스와 사용자를 생성합니다. 이 예제에서는 Matomo 설치를 위해 데이터베이스와 사용자 ‘ matomo ‘를 생성합니다. 또한 다음 쿼리에서 기본 비밀번호를 바꾸는 것을 잊지 마세요.

CREATE DATABASE matomo;  
CREATE USER 'matomo'@'localhost' IDENTIFIED BY 'p4ssw0rddb';  
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, INDEX, DROP, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES ON matomo.* TO 'matomo'@'localhost';  
FLUSH PRIVILEGES;

create datbase and user

다음으로, 아래 쿼리를 실행하여 ‘ matomo@localhost ‘ 사용자의 권한 목록을 확인합니다.

SHOW GRANTS FOR 'matomo'@'localhost';  
quit

다음과 유사한 출력을 받아야 합니다 - MariaDB 사용자 ‘matomo@localhost’는 ‘matomo’ 데이터베이스에 접근할 수 있는 모든 권한을 가지고 있습니다.

show privileges

이 섹션에서는 MariaDB 서버를 설치하고, ‘ mariadb-secure-installation ‘ 명령어를 통해 MariaDB 배포를 보안하고, Matomo를 위한 새로운 데이터베이스와 사용자를 생성했습니다. 다음으로 Apache2 웹 서버와 PHP 8.x를 설치합니다.

Apache2 웹 서버 및 PHP 8 설치

Matomo는 PHP로 작성된 오픈 소스 웹 분석입니다. 설치를 위해 Matomo의 최신 버전은 PHP 8.x를 완전히 지원합니다. 또한 Matomo는 Apache2 및 Nginx 웹 서버에서 실행될 수 있습니다.

이 단계에서는 Apache2 웹 서버와 PHP 8.1을 설치하고, PHP 설치를 구성한 후 Apache2 서비스와 PHP 버전을 확인합니다.

기본 우분투 저장소는 Apache2와 PHP 패키지를 모두 제공합니다. 우분투 22.04 저장소는 Matomo 설치를 위해 완전히 지원되는 최신 PHP 버전인 PHP8.1을 제공합니다.

아래의 apt 명령어를 실행하여 Apache2와 PHP 8.1 패키지를 설치합니다.

sudo apt install apache2 php php-cli libapache2-mod-php php-common php-curl php-gd php-mbstring php-mysql php-xml php-intl php-zip wget unzip

프롬프트가 표시되면 y를 입력하여 확인하고 ENTER를 눌러 진행합니다.

install apache2 php 8

Apache2와 PHP가 설치된 후 아래의 systemctl 명령어 유틸리티를 실행하여 Apache2 서비스를 확인하고 서비스가 실행 중인지 확인합니다.

sudo systemctl is-enabled apache2  
sudo systemctl status apache2

다음과 같은 출력을 받아야 합니다 - Apache2 서비스는 활성화되어 있으며 부팅 시 자동으로 실행됩니다. Apache2 서비스의 상태는 실행 중입니다.

verify apache2 service

다음으로, 아래의 nano 편집기 명령어를 통해 Apache2의 ‘ php.ini ‘ 파일을 엽니다.

sudo nano /etc/php/8.1/apache2/php.ini

기본 php.ini 구성을 다음 줄로 변경합니다. 현재 환경에 맞게 date.timezonememory_limit 값을 조정합니다.

date.timezone = Europe/Stockholm  
memory_limit = 256M  
upload_max_filesize = 16M  
max_execution_time = 300

작업이 끝나면 파일을 저장하고 종료합니다.

이제 아래의 systemctl 명령어 유틸리티를 실행하여 Apache2 서비스를 재시작하고 변경 사항을 적용합니다.

sudo systemctl restart apache2

Apache2 웹 서버는 이제 새로운 php.ini 구성 파일로 실행되고 있어야 합니다.

마지막으로, 아래의 php 명령어를 실행하여 시스템에 설치된 PHP 버전을 확인합니다. 그런 다음 활성화된 PHP 확장 목록을 확인합니다.

sudo php --version  
sudo php -m

다음과 유사한 출력을 받아야 합니다 - PHP 8.1이 우분투 시스템에 설치되어 있습니다. 또한 Matomo에 필요한 PHP 확장이 활성화되어 있는지 확인합니다.

verify php version

이제 Matomo 웹 분석을 위한 종속성 설치를 완료했습니다. 여기에는 MariaDB 서버, Apache2 웹 서버 및 PHP 8.1이 포함됩니다.

다음 단계에서는 Matomo 소스 코드를 다운로드하고 Matomo 설치 디렉토리에 대한 적절한 권한을 설정하여 PHP와 Apache2가 Matomo 애플리케이션을 읽고 실행할 수 있도록 합니다.

Matomo 소스 코드 다운로드

이 단계에서는 Matomo 소스 코드를 다운로드하고 Matomo 설치 디렉토리에 대한 적절한 권한을 설정합니다.

현재 작업 디렉토리를 ‘/var/www/ ‘로 변경하고 wget 명령어를 통해 Matomo 소스 코드를 다운로드합니다.

cd /var/www/  
wget https://builds.matomo.org/matomo.zip

Matomo 소스 코드가 다운로드된 후 아래의 unzip 명령어를 통해 Matomo 소스를 추출합니다. 현재 작업 디렉토리에 ‘ matomo ‘라는 새 디렉토리가 생성됩니다.

unzip matomo.zip

이로써 Matomo 설치 디렉토리는 ‘/var/www/matomo ‘가 되어야 합니다.

아래 명령어를 실행하여 Matomo 설치 디렉토리 ‘ /var/www/matomo ‘의 소유권을 ‘ www-data ‘ 사용자 및 그룹으로 변경합니다.

sudo chown -R www-data:www-data /var/www/matomo

Matomo 설치 디렉토리를 구성하고 Matomo 소스 코드를 다운로드한 후, Matomo 웹 분석을 실행하는 데 사용할 새로운 가상 호스트 구성을 생성합니다.

Matomo 가상 호스트 설정

시작하기 전에 도메인 이름이 서버 IP 주소를 가리키고 있는지 확인합니다. 이 예제에서는 Matomo 설치를 위해 서브 도메인 ‘ analytics.howtoforge.local ‘을 사용합니다.

아래의 nano 편집기 명령어를 사용하여 새로운 Apache2 가상 호스트 파일 ‘/etc/apache2/sites-available/matomo.conf ‘을 생성합니다.

sudo nano /etc/apache2/sites-available/matomo.conf

파일에 다음 줄을 추가하고 도메인 이름을 자신의 도메인으로 변경합니다.

  
    ServerAdmin webmaster@localhost  
    ServerName analytics.howtoforge.local  
    DocumentRoot /var/www/matomo/  
  
      
        DirectoryIndex index.php  
        Options FollowSymLinks  
        AllowOverride All  
        Require all granted  
      
  
      
        Options None  
        Require all denied  
      
  
      
        Options None  
        Require all granted  
      
  
      
        Options None  
        Require all denied  
      
  
      
        Options None  
        Require all denied  
      
  
    ErrorLog ${APACHE_LOG_DIR}/matomo_error.log  
    CustomLog ${APACHE_LOG_DIR}/matomo_access.log combined  
  

작업이 끝나면 파일을 저장하고 편집기를 종료합니다.

다음으로, 아래 명령어를 실행하여 새로운 가상 호스트 구성 ‘ matomo.conf ‘을 활성화합니다. 그런 다음 Apache2 구성을 확인하여 올바른 구성이 오류가 없는지 확인합니다.

sudo a2ensite matomo.conf  
sudo apachectl configtest

올바른 Apache2 구성이면 ‘ Syntax OK ‘와 같은 출력을 받아야 합니다.

setup virtual host matomo

마지막으로, 아래의 systemctl 명령어 유틸리티를 실행하여 Apache2 서비스를 재시작하고 변경 사항을 적용합니다.

sudo systemctl restart apache2

이로써 Matomo 웹 분석을 위한 Apache2 가상 호스트 구성을 완료했습니다. 이제 Matomo는 네트워크 외부에서 접근 가능하며 웹 브라우저를 통해 접근할 수 있습니다. 그러나 여전히 안전하지 않은 HTTP 연결을 사용하고 있습니다.

다음 단계에서는 Certbot 및 Letsencrypt를 통해 SSL/TLS 인증서로 Matomo 웹 분석 설치를 보안합니다.

Certbot 및 Letsencrypt를 통한 Matomo 보안

이 단계에서는 Apache2 웹 서버를 위한 Certbot 도구 및 플러그인을 설치합니다. 그런 다음 Matomo 웹 분석을 위한 새로운 SSL/TLS 인증서를 생성합니다.

시작하기 전에 도메인 이름이 서버 IP 주소를 가리키고 있는지 확인합니다. 또한 Letsencrypt에 등록하는 데 사용할 이메일 주소가 필요합니다.

이제 아래의 apt 명령어를 실행하여 Certbot 도구와 Apache2 웹 서버를 위한 Certbot 플러그인을 설치합니다.

sudo apt install certbot python3-certbot-apache2

프롬프트가 표시되면 y를 입력하고 ENTER를 눌러 진행합니다.

install certbot

다음으로, 아래의 certbot 명령어를 실행하여 도메인 이름에 대한 SSL/TLS 인증서를 생성합니다. 다음 명령어에서 도메인 이름과 이메일 주소를 변경해야 합니다.

sudo certbot --apache2 --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d analytics.howtoforge.local

프로세스가 완료되면 Matomo 웹 분석이 이제 Apache 웹 서버 위에서 보안 HTTPS가 활성화된 상태로 실행되고 있어야 합니다. 또한 HTTP에서 HTTPS로의 자동 리디렉션이 구성되어 있으며 OSCP 스테이플이 활성화되어 있습니다.

Matomo 웹 분석 설치

웹 브라우저를 열고 Matomo 설치의 도메인 이름(예: https://analytics.howtoforge.local)을 방문합니다. 이제 아래 스크린샷과 같이 Matomo 환영 페이지가 표시되어야 합니다.

다음을 클릭하여 설치를 시작합니다.

welcome to matomo

이제 Matomo 설치 관리자가 설치를 위한 서버 환경을 확인합니다. 모든 요구 사항과 구성이 아래와 같이 녹색으로 표시되어 있는지 확인합니다.

Matomo system checks

또한 Matomo 시스템 요구 사항이 충족되었는지 확인해야 합니다.

setup database

다음을 클릭하여 계속 진행합니다.

이제 Matomo 웹 분석을 위한 MariaDB 데이터베이스 세부 정보를 설정해야 합니다. 올바른 데이터베이스 사용자 이름과 비밀번호를 입력해야 합니다. 그런 다음 다음을 다시 클릭합니다.

database setup

Matomo 웹 설치 관리자는 데이터베이스 세부 정보가 올바르면 자동으로 테이블을 생성해야 합니다.

다음을 클릭하여 계속 진행합니다.

tables created

다음으로, Matomo 웹 분석 설치를 위한 새로운 관리자 사용자를 생성해야 합니다. Matomo 관리자 사용자에 대해 강력한 비밀번호를 사용해야 합니다. 그런 다음 다음을 다시 클릭합니다.

create admin

이제 웹사이트에 대한 첫 번째 추적을 설정합니다. 추적하려는 웹사이트의 도메인 이름을 입력하고 시간대를 선택한 후 다음을 클릭합니다.

setup first tracking

이제 웹사이트에 입력해야 하는 JavaScript 코드를 볼 수 있어야 합니다. 다음을 다시 클릭하여 계속 진행합니다.

tracking code JavaScript

이제 Matomo 설치가 완료되었다는 축하 메시지를 받아야 합니다. 페이지 하단의 CONTINUE TO MATOMO 버튼을 클릭합니다.

installation finished

이제 Matomo 관리 로그인 페이지에 대한 보안 HTTPS 연결로 리디렉션됩니다. Matomo 사용자 이름과 비밀번호를 입력한 후 SIGN IN을 클릭합니다.

Matomo login page

올바른 관리자 사용자와 비밀번호가 있으면 Matomo 웹 분석 웹 관리 페이지를 받아야 합니다.

matomo dashboard

이제 오른쪽 상단의 모든 웹사이트 메뉴를 클릭하여 웹사이트의 활성 추적 목록을 확인합니다. Matomo 설치 중에 생성한 첫 번째 웹사이트 추적이 표시되어야 합니다.

Matomo list sites

이제 Matomo 웹 분석 설치를 완료했습니다. 더 많은 웹사이트를 추가하고 자체 호스팅된 Matomo 웹 분석을 통해 추적을 시작할 수 있습니다.

결론

이 기사에서는 우분투 22.04 서버에서 MariaDB 데이터베이스 서버, Apache2 웹 서버 및 PHP 8.1과 함께 Matomo 오픈 소스 웹 분석을 설치했습니다. 또한 Certbot 및 Letsencrypt를 통해 SSL/TLS 인증서로 Matomo를 보안했습니다.

이제 기본 Matomo 웹 분석이 설치되었으므로 WordPress, TYPO3, Joomla, Drupal 등과 같은 CMS(콘텐츠 관리 시스템)와 Matomo를 통합할 수 있습니다. 또한 Magento, Prestashop, Woocommerce 및 OpenCart와 같은 전자상거래 애플리케이션과 통합할 수 있습니다.

Share: X/Twitter LinkedIn

새 게시물을 받은 편지함에서 받기

스팸은 없습니다. 언제든지 구독 해지 가능합니다.