설치 가이드 · 6 min read · Oct 13, 2025
Debian 12에 SuiteCRM 설치하는 방법

SuiteCRM은 PHP로 작성된 무료 오픈 소스 CRM(고객 관계 관리) 소프트웨어입니다. 이 소프트웨어는 비즈니스의 마케팅, 판매 및 고객 서비스 부서를 조직하고 관리하는 데 도움을 줍니다. SuiteCRM은 제조업, 공공 부문, 기술, 금융, 교육 등 거의 모든 산업에 적합합니다.
이 가이드에서는 Debian 12 서버에 SuiteCRM을 설치하는 과정을 단계별로 안내합니다. Debian 머신에서 LAMP 스택(Apache2, MariaDB 및 PHP)을 사용하여 SuiteCRM을 설치하고 실행합니다. 또한 Letsencrypt에서 SSL/TLS 인증서를 사용하여 SuiteCRM을 보호합니다.
전제 조건
이 가이드를 계속 진행하기 위해 필요한 요구 사항은 다음과 같습니다:
- Debian 12 서버.
- 관리자 권한이 있는 비루트 사용자.
- 서버 IP 주소를 가리키는 도메인 이름.
종속성 설치
SuiteCRM은 MySQL/MariaDB를 데이터베이스로 사용하는 PHP로 작성된 CRM 소프트웨어입니다. 이 가이드에서는 LAMP 스택(Apache2, MariaDB 및 PHP)을 사용하여 SuiteCRM을 실행하며, 이제 추가 PHP 확장과 함께 LAMP 스택 패키지를 설치합니다.
먼저, 아래의 apt update 명령을 사용하여 Debian 패키지 인덱스를 업데이트합니다.
sudo apt update
이제 아래의 명령을 사용하여 몇 가지 PHP 확장과 함께 LAMP 스택(Apache2, MariaDB 및 PHP) 패키지를 설치합니다.
sudo apt install apache2 mariadb-server php php-cli php-mysql php-bcmath php-xml php-zip php-curl php-mbstring php-gd php-tidy php-intl php-cli php-opcache php-soap php-imap php-ldap unzip설치를 진행하려면 y를 입력합니다.

다음으로, 아래의 systemctl 명령을 실행하여 apache2 서비스를 확인합니다. 이는 apache2 서비스가 활성화되고 실행되고 있는지 확인합니다.
sudo systemctl is-enabled apache2
sudo systemctl status apache2출력 enabled는 apache2가 활성화되어 있음을 확인하고, 출력 active (running)은 apache2가 실행 중임을 확인합니다.

다음 명령을 사용하여 mariadb 서비스를 확인합니다.
sudo systemctl is-enabled mariadb
sudo systemctl status mariadbapache2 서비스 출력과 유사하게, mariadb 서비스가 활성화되고 실행 중임을 확인할 수 있어야 합니다.

마지막으로, 다음 명령을 실행하여 PHP 버전과 몇 가지 활성화된 확장을 확인합니다.
php -v
php -m다음 출력은 PHP 8.2가 설치되어 있으며, curl, exif, fileinfo, gd와 같은 몇 가지 활성화된 모듈이 있음을 보여줍니다.

MariaDB 서버 구성
종속성을 설치한 후, MariaDB 서버 설치를 보호하고 SuiteCRM에 사용할 새 데이터베이스와 사용자를 생성합니다.
아래의 mariadb-secure-installation 명령을 실행하여 MariaDB 서버를 보호합니다.
sudo mariadb-secure-installation과정 중에 구성 확인을 위해 Y를 입력하거나 n을 입력하여 변경을 거부합니다.
- unix_socket 인증으로 전환하시겠습니까?. n을 입력하고 ENTER를 누릅니다. 기본 MariaDB 루트 사용자는 이미 보호되어 있습니다. 선택적으로 y를 입력하여 활성화할 수도 있습니다.
- 루트 비밀번호를 변경하시겠습니까?. y를 입력하여 확인하고 새 MariaDB 루트 비밀번호를 설정합니다.
- 익명 사용자를 제거하시겠습니까?. y를 입력하여 확인합니다.
- 원격으로 루트 로그인을 허용하지 않으시겠습니까?. y를 입력하여 확인합니다. MariaDB 루트 사용자로는 로컬 연결만 허용됩니다.
- 테스트 데이터베이스 및 접근을 제거하시겠습니까?. y를 입력하여 확인하고 기본 데이터베이스 ‘test’를 제거합니다.
- 마지막으로, y를 다시 입력하여 MariaDB 서버의 모든 테이블 권한을 새로 고치고 변경 사항을 적용합니다.
이제 MariaDB가 보호되었으므로 SuiteCRM에 사용할 새 데이터베이스와 사용자를 생성합니다.
아래의 mariadb 클라이언트 명령을 통해 MariaDB 서버에 로그인합니다. 프롬프트가 표시되면 MariaDB 루트 비밀번호를 입력합니다.
sudo mariadb -u root -p다음으로, 아래의 쿼리를 실행하여 새 데이터베이스 suitecrmdb와 사용자 suitecrm을 비밀번호 password로 생성합니다. 비밀번호는 본인의 비밀번호로 변경해야 합니다.
CREATE DATABASE suitecrmdb;
CREATE USER 'suitecrm'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON suitecrmdb.* TO 'suitecrm'@'localhost';
FLUSH PRIVILEGES;
이제 다음 쿼리를 실행하여 사용자 suitecrm을 확인합니다.
SHOW GRANTS FOR 'suitecrm'@'localhost';다음 출력에서 사용자 suitecrm이 데이터베이스 suitecrmdb에 접근할 수 있음을 확인할 수 있어야 합니다.

MariaDB 서버에서 나가려면 quit를 입력합니다.
PHP 구성
이제 MariaDB 서버가 구성되었으므로 다음 단계는 PHP 설치를 구성하는 것입니다. SuiteCRM은 PHP 구성에서 몇 가지 변경 사항이 필요합니다. 예를 들어, 사용자 정의 error_reporting, OPCache 모듈 활성화, 사용자 정의 upload_max_filesize 및 post_max_size 등이 있습니다.
다음 nano 편집기 명령을 사용하여 기본 PHP 구성 파일 /etc/php/8.2/apache2/php.ini 및 /etc/php/8.2/cli/php.ini를 엽니다.
sudo nano /etc/php/8.2/apache2/php.ini
sudo nano /etc/php/8.2/cli/php.ini다음 줄을 사용하여 몇 가지 구성의 기본 매개변수를 변경합니다. date.timezone을 서버 시간대에 맞게 조정하고, memory_limit을 서버 메모리에 맞게 조정해야 합니다.
date.timezone = Europe/Amsterdam
max_execution_time = 60
memory_limit = 256M
upload_max_filesize = 25M
post_max_size = 25M기본 error_reporting 매개변수를 다음과 같이 변경합니다:
error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT & ~E_NOTICE & ~E_WARNING기본 세션 경로를 /var/lib/php/sessions로 구성하기 위해 session.save_path 매개변수를 주석 해제합니다.
session.save_path = "/var/lib/php/sessions"이제 OPCache 확장을 활성화하고 다음과 같은 설정을 조정합니다:
opcache.enable=1
; OPcache 공유 메모리 저장소 크기.
opcache.memory_consumption=256
; OPcache 해시 테이블의 최대 키(스크립트) 수.
; 200에서 100000 사이의 숫자만 허용됩니다.
opcache.max_accelerated_files=20000
; 비활성화된 경우, 파일 시스템의 변경 사항이 적용되려면 OPcache를 수동으로 재설정하거나 웹 서버를 재시작해야 합니다.
opcache.validate_timestamps=0작업이 완료되면 파일을 저장하고 닫습니다.
이제 아래의 systemctl 명령을 실행하여 apache2 서비스를 재시작하고 변경 사항을 적용합니다.
sudo systemctl restart apache2SuiteCRM 다운로드 및 설치
이 시점에서 LAMP 스택이 이제 SuiteCRM에 맞게 구성되었습니다. 이제 SuiteCRM 소스 코드를 다운로드하고 명령줄을 통해 설치합니다.
SuiteCRM의 대상 설치로 사용할 새 디렉토리 /var/www/suitecrm를 생성합니다.
mkdir -p /var/www/suitecrm/var/www/suitecrm 디렉토리로 이동하고 아래의 wget 명령을 사용하여 SuiteCRM 소스 코드를 다운로드합니다. 최신 버전의 소스 코드를 얻으려면 SuiteCRM 다운로드 페이지를 확인해야 합니다. 현재 SuiteCRM 8.4가 최신 버전입니다.
cd /var/www/suitecrm
wget https://suitecrm.com/download/142/suite84/562972/suitecrm-8-4-0.zip다운로드가 완료되면 아래의 unzip 명령을 사용하여 suitecrm-8-4-0.zip 파일을 추출합니다.
unzip suitecrm-8-4-0.zip그런 다음 아래의 명령을 실행하여 SuiteCRM 소스 코드의 적절한 권한 및 소유권을 설정합니다.
find . -type d -not -perm 2755 -exec chmod 2755 {} \;
find . -type f -not -perm 0644 -exec chmod 0644 {} \;
find . ! -user www-data -exec chown www-data:www-data {} \;
chmod +x bin/console마지막으로, /var/www/suitecrm/bin/console 이진 파일을 실행하여 명령줄을 통해 SuiteCRM을 설치합니다. SuiteCRM 설치에 사용할 데이터베이스 이름, 사용자, 호스트, 대상 도메인 이름, 관리자 사용자 및 비밀번호의 세부 정보를 변경해야 합니다.
sudo -u www-data ./bin/console suitecrm:app:install -u "alice" -p "password" -U "suitecrm" -P "password" -H "127.0.0.1" -N "suitecrmdb" -S "http://suitecrm.howtoforge.local/"설치가 완료되면 터미널에 다음 출력이 표시됩니다:

Suite용 Apache2 가상 호스트 구성
다음 단계에서는 SuiteCRM을 실행하는 데 사용할 새 Apache2 가상 호스트 구성을 생성합니다. 진행하기 전에 서버 IP 주소를 가리키는 도메인 이름이 있는지 확인합니다.
아래의 a2enmod 명령을 실행하여 SuiteCRM에 필요한 Apache2 모듈을 활성화합니다.
sudo a2enmod rewrite ssl header그런 다음 아래의 nano 편집기 명령을 사용하여 새 Apache2 가상 호스트 구성 파일 /etc/apache2/sites-available/suitecrm.conf를 생성합니다.
sudo nano /etc/apache2/sites-available/suitecrm.conf다음 구성을 삽입하고 ServerName 옵션을 도메인 이름으로 변경해야 합니다.
DocumentRoot /var/www/suitecrm/public
ServerName suitecrm.howtoforge.local
Options FollowSymLinks
AllowOverride All
ErrorLog /var/log/apache2/suitecrm-error.log
CustomLog /var/log/apache2/suitecrm-access.log common
작업이 완료되면 파일을 저장하고 닫습니다.
이제 아래의 명령을 실행하여 가상 호스트 파일 suitecrm.conf를 활성화하고 Apache2 구성을 확인합니다.
sudo a2ensite suitecrm.conf
sudo apachectl configtest구문이 올바르면 Syntax OK라는 출력을 얻어야 합니다.

다음으로, 아래의 systemctl 명령을 실행하여 apache2 서비스를 재시작하고 변경 사항을 적용합니다.
sudo systemctl restart apache2마지막으로 웹 브라우저를 열고 SuiteCRM 설치의 도메인 이름(http://suitecrm.howtoforge.local/)을 방문합니다. 모든 것이 잘 진행되면 SuiteCRM의 로그인 페이지가 표시되어야 합니다.
Letsencrypt에서 SSL/TLS로 SuiteCRM 보호
모든 것이 구성되었으므로 이제 Letsencrypt에서 SSL/TLS 인증서로 SuiteCRM을 보호합니다.
아래의 apt install 명령을 사용하여 Certbot 및 Certbot Apache 플러그인을 설치합니다. 설치를 진행하려면 y를 입력합니다.
sudo apt install certbot python3-certbot-apache이제 아래의 certbot 명령을 실행하여 SSL/TLS 인증서를 생성합니다. 다음 명령 내의 도메인 이름과 이메일 주소를 변경해야 합니다.
sudo certbot --apache --agree-tos --no-eff-email --redirect --hsts --staple-ocsp --email [email protected] -d suitecrm.howtoforge.local프로세스가 완료되면 SSL 인증서는 /etc/letsencrypt/live/suitecrm.howtoforge.local 디렉토리에 생성됩니다. 또한 SuiteCRM 가상 호스트 파일 suitecrm.conf는 HTTPS로 자동 구성됩니다.
웹 브라우저로 돌아가 SuiteCRM 도메인 이름을 방문하면 보안 HTTPS 연결을 위한 SuiteCRM 로그인 페이지로 리디렉션됩니다. 관리자 사용자 및 비밀번호를 입력한 후 로그인을 클릭합니다.

모든 것이 잘 진행되면 다음과 같은 SuiteCRM 관리 대시보드가 표시됩니다:

결론
마무리하자면, 이제 LAMP 스택(Apache2, MariaDB 및 PHP)을 사용하여 Debian 12 서버에 SuiteCRM을 성공적으로 설치했습니다. 또한 Certbot을 통해 생성된 SSL/TLS Letsencrypt로 SuiteCRM을 보호했습니다. 이제 SuiteCRM을 비즈니스의 주요 CRM(고객 관계 관리) 애플리케이션으로 사용할 수 있으며, SuiteCRM 설치에 SMTP 서버를 추가하여 시작할 수 있습니다.
새 게시물을 받은 편지함에서 받기
스팸은 없습니다. 언제든지 구독 해지 가능합니다.