ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • AWS Lightsail apache tomcat 설치 그리고 운영
    서버운영 2018. 12. 19. 15:45

    도메인 만들고 호스팅을 위해 살펴보던중 AWS의 lightsail을 알게되었습니다. 트래픽이 거의 없어 국내 저렴한 호스팅을 사용해도 되지만 aws를 경험해보고 싶어 선택했습니다.

    lightsail은 이미 앞서 많은 분들이 좋은 정보를 많이 제공해주고 있기도 합니다.

    https://swiftcoding.org/start-blogging 한글로 설명이 잘되어 있습니다.

    이런글을 한번 쭉 읽어보고 준비를 하시면 한결 편하게 시작할 수 있습니다.

    www.tourkorea.or.kr 서버 구축시 시행착오를 정리하는 과정이기도 하고 처음 해보시는 분들에게 도움이 되는 글이 될 수 있기 바랍니다.

    1. 도메인 신청

      - 원하는 도메인을 신청하고 결제하면 끝.

    2. 도메인 신청 후 네임서버 설정

      - 제가 도메인을 등록한 업체의 DNS를 사용할 수 있게 설정합니다.

      - record 영역의 도메인명 끝에 "."이 있어야 합니다. 도메인의 끝을 알려주는겁니다.


    3. 인스턴스 생성

    - 인스턴스란, 가상의 서버라고 보면됩니다.

    https://lightsail.aws.amazon.com/ls/webapp/create/instance?region=ap-northeast-2

     - 오른쪽의 "인스턴스 생성"을 클릭합니다. linux/unix, WordPress가 기본으로 지정되어 있습니다.


     - 인스턴스 생성은 인터넷에 좋은 글들이 많으므로 링크로 대체합니다.

     - ssh 접속까지 이상이 없다면 드디어 나의 서버에 접근을 할 수 있습니다.


    4. S/W 설치 확인

     4.1 먼저 timezone을 한국으로 설정한다. 이래야 파일 수정시 정확한 날짜와 시간을 알 수 있습니다.

    sudo rm /etc/localtime

    sudo ln -s /usr/share/zoneinfo/Asia/Seoul /etc/localtime

     4.2 공인인증서 설치, 유효기간이 3개월입니다. 3개월 되기전에 갱신하면 될것같습니다.

    현재 사용자 계정에서 아래를 실행합니다.

    curl -s https://api.github.com/repos/xenolf/lego/releases/latest | grep browser_download_url | grep linux_amd64 | cut -d '"' -f 4 | wget -i -

    최신버전을 다운받습니다.

    lego_v1.2.1_linux_amd64.tar.gz

    tar -xvf lego_v1.2.1_linux_amd64.tar.gz

    sudo mv lego /usr/local/bin/lego

    이제 인증서를 받아옵니다.

    sudo lego --email="관리용@이메일주소" --domains="tourkorea.or.kr" --domains="www.tourkorea.or.kr" --path="/etc/lego" run

    복수도메인 인증서를 받아옵니다.

    /etc/lego/certificates# ls -l

    -rw------- 1 root root 3592 Dec 13 16:39 tourkorea.or.kr.crt

    -rw------- 1 root root 1648 Dec 13 16:39 tourkorea.or.kr.issuer.crt

    -rw------- 1 root root  236 Dec 13 16:39 tourkorea.or.kr.json

    -rw------- 1 root root 1675 Dec 13 16:39 tourkorea.or.kr.key

    유효기간 3개월 되기 전에 아래를 실행하면 갱신된다는데 아직 3개월이 안되어서 확인은 못했습니다. cron에 등록 해야겠습니다.

    sudo lego --email="EMAIL-ADDRESS" --domains="DOMAIN" --path="/etc/lego" renew


    4.3 apache ssl 설정

    apapche가 설치되어 있는 상태에서 사설 인증서가 포함되어 있으므로 인증서만 교체합니다.

    cd /opt/bitnami/apache2/conf

    sudo mv server.crt servre.crt.old --> 기본 인증서 이름변경 

    sudo mv server.key server.key.old --> 기본 인증서 이름변경

    ln -s /etc/lego/certificates/tourkorea.or.kr.key /opt/bitnami/apache2/conf/server.key -->발급받은 인증서에 링크

    ln -s /etc/lego/certificates/tourkorea.or.kr.crt /opt/bitnami/apache2/conf/server.crt


    /opt/bitnami/apache2/conf/bitnami/bitnami.conf 파일에 SSLEngine 포함 3줄이 없으면 추가합니다.

    <VirtualHost _default_:443>

      DocumentRoot "/opt/bitnami/apache2/htdocs"

      SSLEngine on

    SSLCertificateFile "/opt/bitnami/apache2/conf/server.crt"

    SSLCertificateKeyFile "/opt/bitnami/apache2/conf/server.key"

    ...


    sudo /opt/bitnami/ctlscript.sh restart apache

    웹브라우저에서 https://도메인명 화면에서 주소 왼쪽에 아래와 같이 나오면 정상입니다.


    4.4 php, mysql

    이미 설치되어 있습니다. 이건 당분간 쓸일이 없어 통과합니다.


    4.5 tomcat

    tomcat을 설치하는 과정은 생략합니다.

    sudo apt-get install default-jre

    sudo apt-get install tomcat7

    tomcat 그룹에 bitnami 계정을 추가합니다. tomcat과 같은 그룹이어야 작업이 편합니다.

    sudo usermod -aG tomcat7 bitnami

    source ~/.profile

    apps 디렉토리에 tomcat의 링크를 만들어서 작업을 편하게 합니다.

    cd ~/apps

    sudo ln -s /var/lib/tomcat7 tomcat7

    sudo chown -h tomcat7:tomcat7 tomcat7

    cd tomcat7

    sudo chmod 775 webapps/

    sudo service tomcat7 stop/start/restart/status 를 사용할 수 있습니다.

    sudo service tomcat7 start

    웹브라우저에서 8080으로 접속해서 정상화면이 나오는지 확인합니다.

    혹시나 db 연결을 위한 jar파일은 

    sudo ln -s /usr/share/tomcat7/lib lib --> 링크를 만들어 줍니다.
    여기에 필요한 jar 파일을 복사하거나 링크를 만듭니다.

    4.6 apache tomcat 연결

    apache https://도메인, tomcat https:도메인:8080 이렇게 접근이 가능합니다, 좀 불편하지요?

    연결하는 방법으로 apache에서 mod_jk만 사용해봤는데, 이번에 mod_proxy, mod_proxy_ajp를 사용하니 별도의 컴파일이 필요없이 편합니다.

    일단 tomcat7/conf/server.xml 파일에 8009 ajp포트가 사용가능한지 확인 합니다.

    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" URIEncoding="UTF-8"/>

    8009가 apache와 통신하는 포트입니다.


    apache에서 tomcat과 통신하기 위한 proxy 설정을 추가합니다.

    sudo vi /opt/bitnami/apache2/conf/bitnami/bitnami-apps-vhosts.conf

    ProxyPass / ajp://도메인:8009/ --> 이 내용을 추가합니다.

    웹브라우저의 /를 ajp 위치로 대행실행한다고 보면됩니다.

    lightsail 네트웍 설정에서 8009를 추가합니다.

    sudo service tomcat7 restart

    8080에서 볼 수 있는 페이지로 이동해서 화면이 정상인지 확인합니다.
     

    기억은 휘발성이 강하기 때문에 기록의 의미로 작성합니다.

    '서버운영' 카테고리의 다른 글

    경로 탐색 오류 안내-복구완료  (2) 2020.11.15
    길잡이 서비스와 광고  (2) 2019.02.28
    giljabi.kr 도메인 등록  (0) 2019.02.15

    댓글

Designed by Tistory.