AWS Amazon Linux 2 환경에서 google-chrome-stable
패키지로 설치하려 했으나, “gpg-key” 관련 오류가 지속적으로 발생하고, 이를 무시하려고 해도 “Segmentation Fault” 오류가 발생
해당 오류를 해결하려고 많은 시간이 소요되어 기록함.
서버 환경
NAME="Amazon Linux"
VERSION="2"
ID="amzn"
ID_LIKE="centos rhel fedora"
VERSION_ID="2"
PRETTY_NAME="Amazon Linux 2"
ANSI_COLOR="0;33"
CPE_NAME="cpe:2.3:o:amazon:amazon_linux:2"
HOME_URL="https://amazonlinux.com/"
명령어 $ cat os-release
로 확인할 수 있다.
chrome 패키지 설치
설치해야하는 패키지는 3개이다.
chromium-common, chromium, chromedriver
우선 저장소에서 관련 패키지를 찾는다.$ yum list | grep chrom
3개의 패키지 모두 확인했다면 아래의 “저장소에 패키지가 있는 경우”를 참고하고, 만약 패키지가 없다면 아래의 “저장소에 패키지가 없는 경우”를 참고한다.
저장소에 패키지가 있는 경우
$ sudo yum install chromium-common
$ sudo yum install chromium
$ sudo yum install chromedriver
설치 후 $ chromium-browser --version, $ chromedriver --version 으로 설치가 잘 되었는지 확인한다.
저장소에 패키지가 없는 경우
RPM resource chromium-common (rpmfind.net)
- 링크로 접속해서 3개의 패키지를 각각 검색해서
el7.x86_64.rpm
으로 끝나는 파일을 다운로드 해야 한다. - 버전은 원하는 버전을 다운로드 해도 되지만 chromium-common, chromium, chromedriver 3개의 버전을 모두 동일하게 한다.
- 패키지 다운로드 후 FTP로 원하는 경로 아래에 복사한다.
- 버전은
114.0.5735.106-1.el7.x86_64
라고 가정하고, 해당 경로로 이동 후 아래처럼 명령어 실행한다.$ sudo yum install ./chromium-common-114.0.5735.106-1.el7.x86_64
$ sudo yum install ./chromium-114.0.5735.106-1.el7.x86_64
$ sudo yum install ./chromedriver-114.0.5735.106-1.el7.x86_64
설치 후 $ chromium-browser --version
, $ chromedriver --version
으로 설치가 잘 되었는지 확인한다.
Python 패키지 설치
가상환경
패키지를 설치하기 전에 가상환경을 사용하는 것이 좋다.
필수는 아니니 참고할 것
$ python3 -m venv ~/myenv
$ source ~/myenv/bin/activate
가상환경 해제하는 방법 : deactivate
패키지 설치
- 가상환경
$ pip install selenium
- 일반환경
$ pip3 install selenium
Python 소스
import time
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
options = webdriver.ChromeOptions()
options.add_experimental_option('excludeSwitches', ['enable-logging'])
driver = webdriver.Chrome(options=options)
driver.get('https://www.naver.com')
time.sleep(10)
실행했을 때 정상적으로 네이버가 호출되면 성공
한글 폰트 설치
만약 한글이 깨진다면 서버에 한글 폰트가 없어서 깨지는 것이니 폰트 설치를 해주어야 한다.
- 폰트 다운로드
$ wget http://cdn.naver.com/naver/NanumFont/fontfiles/NanumFont_TTF_ALL.zip
- 압축 해제
$ unzip NanumFont_TTF_ALL.zip -d NanumFont
- 폰트 폴더로 이동
$ mv NanumFont /usr/share/fonts/
- 폰트 캐쉬 초기화
$ fc-cache -r
이후 다시 시도하면 한글도 정상적으로 보인다.
참고자료
'Development > Environment' 카테고리의 다른 글
AWS Lightsail에서 파이썬 여러 버전 관리 및 사용 :: pyenv (0) | 2023.08.01 |
---|---|
AWS Lightsail에서 React 빌드&배포 시 멈추는 현상 (메모리 부족) (0) | 2023.07.07 |
Nginx :: 이중화 과정에서 발생한 오류들 정리 (0) | 2022.12.05 |
Nginx :: 이중화, SSL, WebSocket (0) | 2022.12.05 |
SSL :: crt와 key 파일로 pfx 만들기 (0) | 2022.12.05 |