Ubuntu 14.04에 OrangeHRM 설치 가이드
개요
OrangeHRM은 직원 출결, 성과, 채용, 연례 평가를 관리하는 웹 기반 오픈소스 인사관리 소프트웨어입니다. Linux와 Windows를 모두 지원하며 Opensource, Professional, Enterprise의 세 가지 에디션이 있습니다. 이 문서는 Ubuntu 14.04 서버에 OrangeHRM 3.3.3(예시)을 설치하는 실무 절차를 설명합니다.
중요: Ubuntu 14.04는 공식 보안 업데이트가 종료되었습니다. 프로덕션 환경에서는 가능한 최신 LTS(예: Ubuntu 20.04/22.04)로의 마이그레이션을 우선 고려하세요.
주요 의도 및 관련 검색어
- 기본 의도: Ubuntu 14.04에 OrangeHRM 설치
- 관련 키워드: OrangeHRM 설치, OrangeHRM Apache 설정, OrangeHRM MariaDB, OrangeHRM 가상호스트, OrangeHRM 보안
요구사항
- 새로 설치된 Ubuntu 14.04 서버(또는 루트 권한을 가진 sudo 사용자)
- PHP > 5.5.0 (원문은 PHP5 계열을 사용), Apache 웹 서버, MariaDB(MySQL 호환)
- 인터넷 연결(다운로드용)
중요: PHP 5 계열은 최신 보안 패치가 제공되지 않을 수 있습니다. 가능하면 지원되는 PHP 버전과 호환되는 OrangeHRM 버전으로 설치하세요.
설치 전 준비
시스템을 최신 상태로 업데이트합니다.
sudo apt-get update -y
sudo apt-get upgrade -y업데이트가 끝나면 시스템을 재부팅하고 sudo 사용자로 로그인합니다.
1. Apache 웹 서버 설치
OrangeHRM은 웹 서버(Apache)가 필요합니다. 다음 명령으로 Apache와 필요한 라이브러리들을 설치합니다.
sudo apt-get install apache2 apache2-data apache2-mpm-prefork libaio1 libapache2-mod-php5 libapr1 libaprutil1 libdbd-mysql-perl libdbi-perl libhtml-template-perl libmysqlclient18 libterm-readkey-perl libwrap0 tcpd -y설치 후 Apache 서비스를 시작하고 부팅 시 자동 시작하도록 설정합니다.
sudo /etc/init.d/apache2 start
sudo update-rc.d apache2 defaults노트: systemd 기반 배포판(신형 Ubuntu)은 systemctl을 사용합니다. Ubuntu 14.04의 경우 위 init 스크립트 명령이 적합합니다.
2. PHP 설치
OrangeHRM은 PHP > 5.5.0을 요구합니다. Ubuntu 14.04 환경에서 다음 명령으로 PHP5와 관련 모듈을 설치합니다.
sudo apt-get install php5 php5-cli php5-common php5-json php5-mysql php5-readline -y설치가 끝나면 PHP 모듈이 Apache에 로드되는지 확인하세요. 필요 시 Apache를 재시작합니다.
sudo /etc/init.d/apache2 restart중요: PHP5는 더 이상 활성 지원을 받지 않습니다. 가능하면 지원되는 PHP 버전과 OrangeHRM 버전 조합으로 마이그레이션을 계획하세요.
3. MariaDB 설치 및 초기 설정
OrangeHRM 데이터는 MariaDB/MySQL에 저장됩니다. MariaDB 서버를 설치하고 초기 보안 설정을 수행합니다.
sudo apt-get install mariadb-server -y서비스 시작 및 부팅 시 자동 시작 설정:
sudo /etc/init.d/mysql start
sudo update-rc.d mysql defaultsMariaDB는 기본적으로 보안 강화가 필요합니다. 다음 스크립트를 실행해 루트 비밀번호 설정, 익명 계정 삭제, 원격 루트 접속 비허용, 테스트 DB 제거 등을 진행합니다.
sudo mysql_secure_installation스크립트의 안내를 따라 응답합니다. 기본적으로는 익명 사용자 제거(Y), 원격 루트 로그인 금지(Y), 테스트 DB 제거(Y), 권한 재로드(Y)를 권장합니다.
루트 암호 설정 후 MariaDB 콘솔에 접속하여 OrangeHRM용 데이터베이스와 사용자 계정을 생성합니다.
mysql -u root -pMariaDB 콘솔에서:
CREATE DATABASE orangehrm_db;
CREATE USER 'orangehrm'@'localhost' IDENTIFIED BY 'your-password';
GRANT ALL PRIVILEGES ON orangehrm_db.* TO 'orangehrm'@'localhost';
FLUSH PRIVILEGES;
\q보안 권고: 실제 비밀번호는 강력한 문자열로 설정하고 루트 계정과는 별도로 관리하세요.
4. OrangeHRM 다운로드 및 배치
SourceForge에 있는 안정 버전(예: 3.3.3)을 다운로드하고 웹 루트로 이동시킵니다.
wget https://excellmedia.dl.sourceforge.net/project/orangehrm/stable/3.3.3/orangehrm-3.3.3.zip
unzip orangehrm-3.3.3.zip
sudo mv orangehrm-3.3.3 /var/www/html/orangehrm디렉터리 권한을 웹 서버 사용자로 설정합니다. 기본 예시는 www-data(많은 Debian/Ubuntu 계열에서 사용)를 사용합니다.
sudo chown -R www-data:www-data /var/www/html/orangehrm
sudo chmod -R 777 /var/www/html/orangehrm중요: 777 권한은 편리하지만 보안상 위험합니다. 프로덕션에서는 다음 권장 절차를 따르세요:
- 디렉터리 소유권을 웹서버 계정으로 설정
- 쓰기 권한이 필요한 디렉터리만 750 또는 770으로 변경
- 불필요한 실행 권한 제거
예시(권장):
sudo chown -R www-data:www-data /var/www/html/orangehrm
sudo find /var/www/html/orangehrm -type d -exec chmod 755 {} \;
sudo find /var/www/html/orangehrm -type f -exec chmod 644 {} \;
# 업로드/캐시 폴더만 쓰기 권한 부여
sudo chmod -R 775 /var/www/html/orangehrm/symfony/cache
sudo chmod -R 775 /var/www/html/orangehrm/symfony/log5. Apache 가상 호스트 구성
OrangeHRM용 가상 호스트 파일을 생성합니다.
sudo nano /etc/apache2/sites-available/orangehrm.conf다음 내용을 추가합니다(필요 시 ServerName을 실제 도메인으로 수정).
ServerAdmin [email protected]
ServerName yourdomain.com
DocumentRoot /var/www/html/orangehrm
Options -Indexes +FollowSymLinks +MultiViews
AllowOverride All
Require all granted
ErrorLog ${APACHE_LOG_DIR}/orangehrm-error.log
CustomLog ${APACHE_LOG_DIR}/orangehrm-access.log combined
파일을 저장하고 기본 가상 호스트를 비활성화한 뒤 OrangeHRM 사이트를 활성화합니다.
sudo a2dissite 000-defaults
sudo a2ensite orangehrm
sudo /etc/init.d/apache2 restart중요: 프로덕션 도메인에서는 반드시 HTTPS(SSL/TLS)를 적용하세요. Let’s Encrypt를 사용하면 무료로 인증서를 발급받아 Apache에 적용할 수 있습니다.
6. 방화벽 설정 및 웹 설치 마법사 접근
UFW 방화벽을 활성화하고 HTTP 포트(80)를 허용합니다.
sudo ufw enable
sudo ufw allow tcp/80
sudo ufw status브라우저에서 http://yourdomain.com 을 열면 OrangeHRM 설치 마법사로 리디렉션됩니다.

설치 마법사에서 라이선스 동의, 데이터베이스 정보 입력, 시스템 체크, 관리자 계정 생성, 설정 확인, 설치 진행, 회사 정보 입력 순으로 진행합니다.








7. 설치 후 보안 및 하드닝 권장 사항
- 파일 권한 최소화: 불필요한 디렉터리에 쓰기 권한 제거
- HTTPS 적용: Let’s Encrypt(무료) 또는 상용 인증서 사용
- 데이터베이스 원격 접속 금지: DB는 localhost로만 연결
- 백업: DB와 애플리케이션 파일 정기 백업 스케줄 구성
- 업데이트 정책: OS와 PHP, 웹서버 보안 패치 적용(가능하면 최신 LTS로 이전)
- 웹 애플리케이션 방화벽(WAF) 적용을 고려
8. 마이그레이션 및 호환성 팁
- Ubuntu 14.04에서 최신 Ubuntu LTS(예: 20.04, 22.04)로 마이그레이션 권장
- PHP 버전 차이로 인한 코드 호환성 문제 확인: PHP7+에서 deprecated된 함수가 있는지 사전 점검
- 데이터베이스 덤프를 사용해 안전하게 마이그레이션:
mysqldump -u root -p orangehrm_db > orangehrm_db.sql
# 새 서버에서 복원
mysql -u root -p orangehrm_db < orangehrm_db.sql9. 역할별 체크리스트
시스템 관리자:
- OS 패치 및 커널 업데이트 계획
- SSL/TLS 적용 및 자동 갱신(예: certbot) 구성
- 파일 퍼미션과 소유권 설정
- 백업 및 모니터링 구성
HR 관리자 / 비개발자:
- 설치 후 관리자 계정 생성 및 비밀번호 정책 적용
- 샘플 데이터로 테스트 후 실제 데이터 이관
- 사용자 및 권한 구조 설계
개발/통합 담당자:
- 필요한 커스텀 모듈/플러그인 호환성 점검
- SSO, LDAP, 이메일(SMTP) 연동 테스트
10. 테스트 케이스 및 수용 기준
수용 기준:
- 설치 마법사가 오류 없이 완료되고 로그인 가능할 것
- 관리자 대시보드가 정상 표시될 것
- 기본 CRUD(직원 추가/수정/삭제)가 정상 동작할 것
- 백업 및 복원 시 데이터 무결성 보장
기본 테스트 케이스:
- 로그인: 관리자 계정으로 로그인 성공
- DB 연결: 설정한 DB 정보로 정상 연결
- 시스템 체크: 모든 필수 항목이 녹색 통과
- 파일 업로드: 프로필 이미지 업로드(허용된 확장자) 성공
11. 일반적인 문제와 해결 방법
문제: 설치 마법사에서 시스템 체크가 실패함
- PHP 모듈 미설치 또는 권한 문제일 수 있습니다. Apache 에러 로그(/var/log/apache2/)와 PHP 오류 로그를 확인하세요.
문제: 데이터베이스 연결 오류
- DB 호스트, 포트, 사용자명, 비밀번호를 다시 확인하세요.
- mysql -u orangehrm -p 로 직접 접속해 권한을 점검합니다.
문제: 스타일/정적 파일(이미지/CSS) 로드 실패
- DocumentRoot와 파일 권한을 확인하세요. .htaccess가 차단하지 않는지 확인합니다.
12. 롤백 및 장애 대응 요령
- 설치 전 전체 백업(파일 + DB)을 반드시 수행하세요.
- 문제가 발생하면 백업에서 복원합니다.
롤백 절차 요약:
- Apache 중지: sudo /etc/init.d/apache2 stop
- 현재 웹 디렉터리 백업(예: orangehrm-bad)
- 백업 파일과 DB 덤프를 사용해 복원
- 권한 재설정, Apache 재시작
13. 대체 접근법 및 업그레이드 전략
- 컨테이너화: Docker로 OrangeHRM를 컨테이너화하면 호환성 및 배포가 쉬워집니다.
- 매니지드 서비스: 호스팅 업체의 LAMP/PHP 호스팅을 이용해 인프라 운영 부담을 줄일 수 있습니다.
- Blue-Green 배포: 프로덕션 가용성을 높이려면 신규 인스턴스에서 검증 후 트래픽 전환을 권장합니다.
14. 의사결정 흐름도
flowchart TD
A[서버 준비 여부] -->|없음| B[새 서버 배포 '권장 최신 LTS']
A -->|있음| C[OS 버전 확인]
C -->|14.04| D[설치 진행 + 마이그레이션 계획]
C -->|>=16.04| E[최신 설치 절차 사용]
D --> F{PHP 버전}
F -->|<=5.6| G[원문 절차 적용]
F -->|>=7.0| H[호환성 점검 및 모듈 업데이트]
G --> I[테스트 및 보안 강화]
H --> I결론
이 가이드를 따라 Ubuntu 14.04 서버에 OrangeHRM을 설치하고 기본 설정과 보안 권장 사항을 적용할 수 있습니다. 그러나 Ubuntu 14.04의 보안 지원 종료 때문에 가능한 빠르게 최신 LTS로 이전하는 것이 안전합니다. 문제가 있거나 특정 통합(예: LDAP, SSO, 메일서버) 관련 질문이 있으면 알려주세요.
요약: 설치 단계(웹서버 → PHP → DB → 파일 배치 → 가상호스트 → 방화벽 → 설치 마법사)와 설치 후 보안/마이그레이션 권장 사항을 포함했습니다.
참고 이미지

중요: 설치 전 전체 백업을 권장합니다.