2023-05-10 망내 작성
AtoM v2.7.1 설치하기
•
AtoM을 설치할 환경구성이 모두 완료되었습니다. 가장 쉬운 방법은 Tarball에서 AtoM을 내려받아 설치하는 것입니다.
wget https://storage.accesstomemory.org/releases/atom-2.7.1.tar.gz
Bash
복사
AtoM 2.7.1 버전을 저장소에서 내려받습니다.
sudo mkdir /usr/share/nginx/atom
Bash
복사
AtoM을 설치할 경로를 생성해줍니다.
sudo tar xzf atom-2.7.1.tar.gz -C /usr/share/nginx/atom --strip 1
Bash
복사
AtoM 설치 경로에 내려받은 AtoM 2.7.1을 설치해줍니다.
•
AtoM을 설치했다면, 이제 데이터베이스를 생성해 주어야 합니다.
sudo mysql -h localhost -u root -p -e "CREATE DATABASE atom CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;"
Bash
복사
데이터베이스 이름은 atom으로 생성합니다. 데이터베이스 이름을 변경하고 싶은 경우, 위의 코드 중 주황색 배경 부분을 수정해주시면 됩니다.
•
암호를 입력하는 항목이 출력되면 암호를 입력해줍니다. 암호는 잊어버리지 않도록 반드시 메모해줍니다.
◦
본 매뉴얼 설치과정에서는 편의를 위해 암호를 ‘123456’ 으로 설정하였습니다.
•
다음으로 생성한 데이터베이스에 관리자 계정을 생성하고 권한을 부여합니다.
sudo mysql -h localhost -u root -p -e "CREATE USER 'atom'@'localhost' IDENTIFIED BY '123456';"
Bash
복사
관리자 계정의 암호 역시 주황색 배경 부분을 수정해 변경할 수 있습니다. 본 매뉴얼에서는 ‘123456’을 사용합니다.
•
위에서 생성한 데이터베이스 암호를 입력합니다.
◦
본 매뉴얼의 경우 123456으로 생성했으므로, 123456을 입력합니다.
sudo mysql -h localhost -u root -p -e "GRANT ALL PRIVILEGES ON atom.* TO 'atom'@'localhost';"
Bash
복사
생성한 관리자 계정에 관리자 권한을 부여합니다.
•
이제 AtoM을 실행할 준비가 되었습니다. 이후 작업은 환경에 맞게 AtoM을 구성하고, 최근 생성한 데이터베이스에 필요한 테이블과 초기 데이터를 추가하며, ElasticSearch 인덱스를 생성하는 간단한 작업입니다.
cd /usr/share/nginx/atom
Bash
복사
우선 AtoM이 설치된 경로로 이동합니다.
•
위와 같은 경로로 제대로 이동했는지 확인합니다.
php symfony tools:install
Bash
복사
경로로 이동했다면, 설치를 수행합니다.
•
설치가 시작되면 명령줄 단위로 입력이 시작됩니다. 위의 이미지와 아래 내용을 참고하여 순서대로 입력해줍니다.
Database host: 엔터
Database port: 엔터
Database name: 엔터 (단, 데이터베이스 이름을 변경한 경우, 해당 이름을 입력해줍니다.)
Database user: 엔터
Database password: 123456 (단, 데이터베이스 암호를 변경한 경우, 해당 암호를 입력해줍니다.)
Search host: 엔터
Search port: 엔터
Search index: 엔터
Site title: 엔터 혹은 원하는 사이트 명 입력
Site description: 엔터 혹은 원하는 사이트 설명 입력
Site base URL: http://(AtoM 퍼블릭IPv4 주소) //예시: http://54.180.202.6
Admin email: 이메일주소 입력 //예시: gylee.work@archivelab.co.kr
Admin username: 어드민 유저 이름 입력 //예시: gylee
Admin password: 어드민 암호 입력 //예시: 123456
Bash
복사
‘엔터’ 로 명시되지 않은 항목은 반드시 입력해야 하는 항목입니다. 미 입력시 아래와 같이 오류가 출력되며 진행되지 않습니다.
•
만약 위와 같이 오류가 발생했다면, install 명령어를 다시 입력해 재시작 해주시면 됩니다.
•
입력이 정상적으로 완료된 경우, 위와 같이 파란 박스로 계속 하겠는지 묻는 항목이 출력됩니다. y를 입력하여 계속합니다.
•
중간에 나오는 항목 역시 고민 없이 y를 입력하여 계속합니다.
•
명령줄 입력항목이 다시 표시되면 설치가 완료된 것입니다.
AtoM 서버 설정
•
AtoM 설치가 끝났다면, 다음으로 서버를 설정합니다. 먼저 파일 시스템 권한을 설정합니다.
sudo chown -R www-data:www-data /usr/share/nginx/atom
Bash
복사
sudo chmod o= /usr/share/nginx/atom
Bash
복사
•
다음은 Gearman 환경설정입니다. Gearman은 AtoM에서 비동기 작업을 지원하는데 사용됩니다. 먼저 환경설정을 위한 파일을 생성할 경로로 이동합니다.
cd /usr/lib/systemd/system/
Bash
복사
•
위와 같이 경로가 변경되었는지 확인합니다. 제대로 변경되었다면 nano 에디터로 서비스 파일을 생성하고 열어줍니다.
nano atom-worker.service
Bash
복사
•
빈 화면이 나오면 정상적으로 접근한 것입니다. 다음을 복사해서 붙여넣고 저장합니다.
[Unit]
Description=AtoM worker
After=network.target
# High interval and low restart limit to increase the possibility
# of hitting the rate limits in long running recurrent jobs.
StartLimitIntervalSec=24h
StartLimitBurst=3
[Install]
WantedBy=multi-user.target
[Service]
Type=simple
User=www-data
Group=www-data
WorkingDirectory=/usr/share/nginx/atom
ExecStart=/usr/bin/php7.4 -d memory_limit=-1 -d error_reporting="E_ALL" symfony jobs:worker
KillSignal=SIGTERM
Restart=on-failure
RestartSec=30
Bash
복사
•
저장이 완료되었다면 재 로드 및 활성화를 위한 명령어를 입력합니다.
sudo systemctl daemon-reload
Bash
복사
sudo systemctl enable atom-worker
Bash
복사
sudo systemctl start atom-worker
Bash
복사
•
마지막으로 PHP-FPM을 사용하기 위해 PHP 환경설정을 수행합니다. 우선 php7.4-fpm을 설치합니다.
sudo apt install php7.4-fpm
Bash
복사
•
설치 후, PHP 풀에 AtoM 환경을 추가합니다. 우선 설정을 위해 경로를 변경합니다.
cd /etc/php/7.4/fpm/pool.d
Bash
복사
•
위와 같이 경로가 변경된 것을 확인하고, 환경설정을 위한 파일을 nano 에디터로 생성 후 열어줍니다.
nano atom.conf
Bash
복사
•
위와 같이 빈 화면이 나오면 정상적으로 접근한 것입니다. 아래 내용을 붙여넣고 저장해줍니다.
[atom]
; The user running the application
user = www-data
group = www-data
; Use UNIX sockets if Nginx and PHP-FPM are running in the same machine
listen = /run/php7.4-fpm.atom.sock
listen.owner = www-data
listen.group = www-data
listen.mode = 0600
; The following directives should be tweaked based in your hardware resources
pm = dynamic
pm.max_children = 30
pm.start_servers = 10
pm.min_spare_servers = 10
pm.max_spare_servers = 10
pm.max_requests = 200
chdir = /
; Some defaults for your PHP production environment
; A full list here: http://www.php.net/manual/en/ini.list.php
php_admin_value[expose_php] = off
php_admin_value[allow_url_fopen] = on
php_admin_value[memory_limit] = 512M
php_admin_value[max_execution_time] = 120
php_admin_value[post_max_size] = 72M
php_admin_value[upload_max_filesize] = 64M
php_admin_value[max_file_uploads] = 10
php_admin_value[cgi.fix_pathinfo] = 0
php_admin_value[display_errors] = off
php_admin_value[display_startup_errors] = off
php_admin_value[html_errors] = off
php_admin_value[session.use_only_cookies] = 0
; APC
php_admin_value[apc.enabled] = 1
php_admin_value[apc.shm_size] = 64M
php_admin_value[apc.num_files_hint] = 5000
php_admin_value[apc.stat] = 0
; Zend OPcache
php_admin_value[opcache.enable] = 1
php_admin_value[opcache.memory_consumption] = 192
php_admin_value[opcache.interned_strings_buffer] = 16
php_admin_value[opcache.max_accelerated_files] = 4000
php_admin_value[opcache.validate_timestamps] = 0
php_admin_value[opcache.fast_shutdown] = 1
; This is a good place to define some environment variables, e.g. use
; ATOM_DEBUG_IP to define a list of IP addresses with full access to the
; debug frontend or ATOM_READ_ONLY if you want AtoM to prevent
; authenticated users
env[ATOM_DEBUG_IP] = "10.10.10.10,127.0.0.1"
env[ATOM_READ_ONLY] = "off"
Bash
복사
•
입력 후 저장까지 완료되었다면, 프로세스 관리자를 활성하고 시작합니다.
sudo systemctl enable php7.4-fpm
Bash
복사
sudo systemctl start php7.4-fpm
Bash
복사
•
마지막으로 서비스가 제대로 시작되었는지 확인합니다.
sudo php-fpm7.4 --test
Bash
복사
•
위와 같이 test가 성공적으로 수행되었다면, 사용하지 않는 기본 PHP 풀을 삭제합니다.
sudo rm /etc/php/7.4/fpm/pool.d/www.conf
Bash
복사
sudo systemctl restart php7.4-fpm
Bash
복사
•
여기까지 수행하면 AtoM의 모든 설치과정이 끝났습니다. AtoM이 설치된 주소로 접속하면 설치가 된 것을 확인할 수 있습니다.
•
만약 아래와 같이 연결이 거부된다면, 상단의 주소창을 확인합니다.
AtoM은 https 환경이 아닌 http 환경에서 접속합니다. 주소창에서 https 의 ‘s’를 지워줍니다.
•
정상적으로 접근되는 것을 확인할 수 있습니다.