웹사이트 검색

Ubuntu 15.10에서 Nginx로 Mailpile을 설치하는 방법


이 페이지에서

  1. 전제 조건
  2. 1단계 - 메일파일 종속성 설치
  3. 2단계 - Mailfile 설치 및 구성
  4. 3단계 - Nginx 설치
  5. 4단계 - 자체 서명된 SSL 인증서 생성
  6. 5단계 - Mailpile 가상 호스트 구성\n
  7. 결론

Mailpile은 암호화 및 사용자 개인 정보 보호에 중점을 둔 오픈 소스 메일 클라이언트입니다. Mailpile은 PGP 설정을 쉽게 만들어 이메일 애플리케이션에서 직접 PGP 키를 생성하고 PGP 암호화 메시지를 보낼 수 있도록 합니다. Mailpile은 2013년 Bjarni R. Einarsson이 만들었습니다. 이 소프트웨어는 Mac OSX, Windows 및 Linux에 웹 기반 클라이언트로 설치할 수 있습니다.

이 튜토리얼에서는 Ubuntu 15.10에 Mailpile을 설치하는 과정을 안내합니다. Nginx를 리버스 프록시로 사용하여 Mailpile을 웹 기반 클라이언트로 설치합니다.

전제 조건

  • 우분투 15.10 - 64비트.
  • 루트 권한.\n

1단계 - 메일파일 종속성 설치

Mailpile은 파이썬 프로그래밍 언어로 작성되었으며 설치를 위해 많은 파이썬 모듈이 필요합니다. virtualenv를 사용하여 Python 가상 환경에 Mailpile을 설치하고 Python 2.7을 사용하여 설치하겠습니다. 암호화를 위해 GnuPG 버전 1.4.x를 설치하겠습니다.

시작하려면 리포지토리 데이터베이스를 업데이트하고 Ubuntu 리포지토리에서 패키지를 설치합니다.

sudo apt-get update
sudo apt-get install gnupg openssl python-virtualenv python-pip python-lxml git

이제 파이썬 버전과 GnuPG 버전을 확인하십시오.

python --version
gpg --version

Mailpile에는 PIL(Python Imaging Library)이 필요하므로 libjpeg, zlib1g 및 python-dev를 설치합니다.

sudo apt-get install libjpeg62 libjpeg62-dev zlib1g-dev python-dev

설치가 완료되면 Mailpile 설치의 다음 단계를 위한 준비가 완료되었습니다.

2단계 - Mailfile 설치 및 구성

이 단계에서는 Mailpile을 "/opt/" 디렉토리에 설치한 다음 설치를 위한 새로운 Python 가상 환경을 생성합니다. 설치를 시작하기 전에 github 저장소에서 opt 디렉토리로 Mailpile 소스 코드를 복제하십시오.

cd /opt/
git clone --recursive https://github.com/mailpile/Mailpile.git

이제 Mailpile 디렉터리로 이동하여 python2.7을 Python 버전으로 사용하여 가상 환경을 만듭니다.

cd /opt/Mailpile/
virtualenv -p /usr/bin/python2.7 --system-site-packages mailpile-env

-p = 특정 Python 버전을 사용합니다. Python 2.7을 사용합니다.
--system-site packages = 가상 환경에 전역 사이트 패키지에 대한 액세스 권한을 부여합니다.
mailpile-env = 새로운 가상 환경을 위한 디렉토리.

그런 다음 가상 환경을 활성화하고 "/opt/Mailpile/" 디렉터리에 있는지 확인한 다음 마지막으로 활성화합니다.

cd /opt/Mailpile/
source mailpile-env/bin/activate

가상 환경이 활성 상태이면 명령줄을 확인할 수 있습니다.

(mailpile-env):/opt/Mailpile#

가상 환경 이름은 셸에서 사용자 이름과 호스트 이름 앞에 있어야 합니다.

그런 다음 mailpile-env 환경에서 pip 명령을 사용하여 mailpile 요구 사항을 설치합니다.

pip install -r requirements.txt

가상 환경에서 "./mp" 명령을 사용하여 Mailpile을 테스트할 수 있습니다.

./mp

스크린샷에서 우리는 Mailpile이 포트 33411로 localhost에서 실행되고 있음을 볼 수 있습니다.

따라서 서버 셸에서 curl 명령을 사용하여 액세스해 보겠습니다.

curl -I localhost:33411

다음 결과를 얻으면 제대로 작동하는 것입니다.

HTTP/1.1 302 Found
Location: /setup/welcome/

실제로 이 단계에서 모든 사람이 액세스할 수 있도록 Mailpile이 공개 IP에서 실행되도록 할 수 있습니다. 하지만 이 튜토리얼에서는 Nginx를 포트 33411의 Mailpile에 대한 리버스 프록시로 사용합니다.

3단계 - Nginx 설치

다음 apt 명령으로 Nginx를 설치합니다.

sudo apt-get install nginx

이제 Nginx가 포트 80에서 실행 중인지 확인합니다.

netstat -plntu | grep 80

4단계 - 자체 서명된 SSL 인증서 생성

Nginx 디렉토리로 이동하여 새 SSL 디렉토리를 생성합니다.

cd /etc/nginx/
mkdir -p /etc/nginx/ssl/
cd ssl/

그런 다음 SSL 인증서 파일을 생성합니다.

openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/nginx/ssl/mailpile.key -out /etc/nginx/ssl/mailpile.crt

개인 키의 권한을 600으로 변경합니다.

chmod 600 mailpile.key

5단계 - 메일파일 가상 호스트 구성

이 단계에서는 Mailpile에 대한 새 가상 호스트 구성을 생성합니다. 이 가상 호스트는 포트 80에서 들어오는 요청을 포트 33411의 Mailpile로 프록시 처리합니다. Nginx는 안전하고 강력한 리버스 프록시입니다.

Nginx "sites-available" 디렉토리로 이동하여 "mailpile"이라는 새 파일을 만듭니다.

cd /etc/nginx/site-available/
touch mailpile

vim 편집기로 mailpile 파일을 수정합니다.

vim mailpile

아래에 가상 호스트 구성을 붙여넣습니다.

server {

    # Mailpile Domain
    server_name mail.mailpile.me;
    client_max_body_size 20m;

    # Nginx port 80 and 334
    listen 80;
    listen 443 default ssl;

    # SSL Certificate File
    ssl_certificate      /etc/nginx/ssl/mailpile.crt;
    ssl_certificate_key  /etc/nginx/ssl/mailpile.key;

    # Redirect HTTP to HTTPS
    if ($scheme = http) {
      return 301 https://$server_name$request_uri;
    }

    # Nginx Poroxy pass for mailpile
    location / {
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $http_host;
        proxy_set_header X-NginX-Proxy true;

        proxy_pass http://localhost:33411;
        proxy_read_timeout  90;
        proxy_redirect http://localhost:33411 https://mail.mailpile.me;
    }
}

이제 mailpile 가상 호스트를 활성화하고 Nginx를 다시 시작합니다.

ln -s /etc/nginx/site-available/mailpile /etc/nginx/site-enabled/
systemctl restart nginx

참고: 가상 환경에서 mailpile 프로세스를 종료하지 않도록 하십시오.

그런 다음 Mailpile 도메인(내 경우 mail.mailpile.me)을 방문하면 https 연결로 리디렉션됩니다.

기본 언어를 선택하고 제 경우에는 "영어"를 선택하고 "시작"을 클릭합니다.

이제 암호를 입력하여 응용 프로그램에 로그인하고 강력한 암호가 있는지 확인하십시오.

그리고 Mailpile 사용을 시작하십시오.

Mailpile 설정이 완료되었습니다. 비밀번호를 입력하고 "Enter"를 누르십시오.

로그인 직후 메일 페이지를 볼 수 있습니다.

결론

Mailpile은 암호화 및 사용자 개인 정보 보호에 중점을 둔 무료 OpenSource 이메일 클라이언트입니다. Mailpile은 다중 플랫폼을 지원하며 Mac, Windows 또는 Linux에 설치할 수 있습니다. Mailpile은 개인 메일 클라이언트로 자체 서버에 설치할 수 있습니다. Mailpile은 Python을 기반으로 하며 설치 및 구성이 쉽습니다. gnupg 1.4.x와 함께 Python 2.7을 실행해야 합니다. Mailpile을 독립형 시스템으로 사용할 수 있지만 더 나은 성능을 위해 Nginx를 리버스 프록시로 사용합니다.