작성일 댓글 남기기

성경 연구를 위한 Xiphos – 2강, 모듈 설치하기

처음 설치한 Xiphos는 내용물이 하나도 없는 빈 껍데기다. 성경 뷰어지만 성경은 들지 않았다. 모듈 관리자를 통해서 성경과 주석, 서적 등 여러 모듈을 설치해 줘야 한다.

Xiphos 첫 실행

만약 다음과 같은 창이 뜬다면, Yes와 OK를 눌러서 넘겨준다.

xiphos-first-1
xiphos-first-2

Module Manager (모듈 관리자)

그러면 모듈 관리자 창이 뜰 것이다. 만약 뜨지 않는다면 메뉴에서 직접 실행해 준다.
메뉴에서 모듈 관리자는 [Edit > Module Manager]에 있다.

xiphos-mm-1

Module Source 선택하기

[Module Sources > Choose] 로 이동해서 Remote의 항목을 CrossWire로 변경하고 [Refresh] 버튼을 눌러준다.
CrossWire가 가장 많은 모듈을 갖고 있다. 모듈이 설치되는 경로를 변경할 수도 있는데, 이것은 자유롭게 하도록 한다. 기본은 사용자계정 아래의 .sword이다.

xiphos-mm-2

Module 설치하기

[Modules > Install/Update] 로 이동해서 원하는 모듈을 체크하고 [Install] 버튼을 누르면 모듈 설치가 진행된다.

xiphos-mm-3

모듈 카테고리를 보면 다양한 카테고리가 있다. 주요 카테고리는 다음과 같다.

  • Biblical Texts – 언어별 성경 번역본
  • Commentaries – 주석
  • Dictionaries – 사전
  • Glossaries – 용어사전
  • General Books – 기독교 서적

나는 ESV, KJV, 매튜헨리주석을 선택했다.

xiphos-mm-4
xiphos-mm-5

[Install]을 누르면 선택한 모듈을 한번 더 물어보는데, [Yes]를 누른다.

xiphos-mm-6

다운로드가 진행되고 완료되면 Finished가 뜬다. [Close] 버튼을 눌러 모듈 관리자를 닫는다.

작성일 댓글 남기기

성경 연구를 위한 Xiphos – 1강, 최신 버전 설치하기

Xiphos는 검을 뜻하는 그리스어 ξίφος의 영어 표기로, 우분투와 우분투 기반 배포판 및 페도라, 수세와 같은 다른 리눅스 운영체제 그리고 윈도우 운영체제에서 동작하는 자유 소프트웨어다.
Xiphos는 다양한 성경 번역과 주석, 신앙 서적을 제공하고 있다. 물론 제공되는 자료는 법적인 문제가 전혀 없는 것들 뿐이다.

*설명은 리눅스-우분투 환경 위주로 이뤄지나, 윈도우에서도 설치를 제외하면 통용될 것으로 예상된다.

Xiphos 저장소 추가

우분투에서 기본으로 가지고 있는 소스는 구버전이다. 아마 3.x 버전일 것이다. 최신 버전인 4.0.2을 설치하려면 저장소를 추가해야 한다.

자신의 우분투 버전에 맞는 명령어를 터미널에서 입력한다.
터미널에서 하지 않고 [소프트웨어 소스]에서 따옴표 안의 내용을 직접 입력해서 추가해줘도 된다.

*Vivid (15.04)
sudo add-apt-repository 'deb http://ppa.launchpad.net/unit193/crosswire/ubuntu vivid main'

*Utopic (14.10)
sudo add-apt-repository 'deb http://ppa.launchpad.net/unit193/crosswire/ubuntu utopic main'

*Trusty (14.04)
sudo add-apt-repository 'deb http://ppa.launchpad.net/unit193/crosswire/ubuntu trusty main'

저장소를 추가했으면 반영해줘야 한다.

sudo apt-get update

Xiphos 설치

설치를 위한 모든 준비가 끝났다. 다음 명령어로 설치해준다.

sudo apt-get install xiphos

알아서 다운로드하고 알아서 설치를 마친다.
(우분투에서 소프트웨어 설치는 조금 허무한 감이 있다)

작성일 댓글 남기기

우분투 자작 NAS – 8강, Apache2 가상호스트

xianchoi.kr이 나스와 연결되었다.
cloud.xianchoi.kr도 나스와 연결되었다.
blog.xianchoi.kr도 나스와 연결되었다.
같은 나스이기 때문에 할당된 아이피 주소가 동일하다.

원래는 하나의 아이피에 하나의 도메인만 연결이 가능하지만,
가상호스트는 하나의 아이피 주소에 여러 개의 도메인을 연결할 수 있게 해준다.

Apache2 가상호스트 설정하기

역시 ssh에서 작업한다.

연결할 디렉토리를 Apache 서버에 등록

우선 가상호스트에 연결할 디렉토리를 Apache 서버에 등록해줘야 한다.

sudo vi /etc/apache2/apache2.conf

중간 쯤으로 내리면 아래와 같은 폼의 내용이 나온다.
다음 내용을 복사하여 해당사항에 맞게 수정해서 중간에 대충 삽입한다.

<Directory 연결할경로>
    Options FollowSymlinks
    AllowOverride All
    Require all granted
</Directory>

그리고 이제 가상호스트 정보를 포함한 사이트 설정을 추가하여 Apache 서버에 사이트를 등록한다.

가상호스트를 위한 사이트 설정

기본 사이트 설정을 복사해서 새로운 사이트 설정을 만들어준다.

cd /etc/apache2/sites-available
sudo cp 000-default.conf 사이트명.conf
sudo vi /etc/apache2/sites-available/사이트명.conf

해당사항에 맞게 ServerName, ServerAlias, ServerAdmin, DocumentRoot를 수정한다.
다음은 실제 owncloud를 위해 사용하고 있는 설정이니 참고한다.

<VirtualHost *:80>
    # The ServerName directive sets the request scheme, hostname and port that
    # the server uses to identify itself. This is used when creating
    # redirection URLs. In the context of virtual hosts, the ServerName
    # specifies what hostname must appear in the request's Host: header to
    # match this virtual host. For the default virtual host (this file) this
    # value is not decisive as it is used as a last resort host regardless.
    # However, you must set it for any further virtual host explicitly.
    #ServerName www.example.com

    ServerName cloud.xianchoi.kr (연결할 도메인 주소를 쓴다)
    ServerAlias cloud.xianchoi.kr

    ServerAdmin 이메일주소
    DocumentRoot 연결할 폴더 경로

    RewriteEngine On
    RewriteCond %{HTTPS} off
    RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

    # Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
    # error, crit, alert, emerg.
    # It is also possible to configure the loglevel for particular
    # modules, e.g.
    #LogLevel info ssl:warn

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

    # For most configuration files from conf-available/, which are
    # enabled or disabled at a global level, it is possible to
    # include a line for only one particular virtual host. For example the
    # following line enables the CGI configuration for this host only
    # after it has been globally disabled with "a2disconf".
    #Include conf-available/serve-cgi-bin.conf
</VirtualHost>

Apache 서버에 사이트 등록

설정을 마쳤으니 사이트를 등록하고 아파치 서버를 재시작 해준다.

sudo a2ensite 사이트명.conf
sudo service apache2 restart

이것이 앞으로 여러 곳에서 유용하게 쓰일 용도에 따른 서브도메인을 연결하는 기본 과정이다.

왜 가상호스트를 이용해야 하는가?

내가 만약 owncloud를 설치했다. 그렇다면 접속하는 주소로써
xianchoi.kr/owncloud
cloud.xianchoi.kr
이 둘 중에 어느 것이 더 좋겠는가?

서브도메인을 활용하는 것이 더 좋다고 생각된다. 서비스에 따라서 3차 도메인으로 구분을 짓는 것이 웹서버 운용에 있어서 편리하다.

xianchoi.kr/blog, xianchoi.kr/cloud, xianchoi.kr/wiki 보다는
blog.xianchoi.kr, cloud.xianchoi.kr, wiki.xianchoi.kr 이 미관상으로도 좋다.

굳이 서브도메인으로 연결하지 않아도 되겠다면 이 부분은 지나가도 상관없다.

작성일 댓글 2개

우분투 자작 NAS – 7강, FTP 서버 구축

파일전송의 편의를 위해 FTP를 설치해보자. 이전 모든 강의와 마찬가지로 ssh 접속을 통해 이루어진다.

FTP 서버 설치

다음 명령어로 ftp 서버를 설치한다.

sudo apt-get install vsftpd

FTP 서버 설정

sudo vi /etc/vsftpd.conf

다음 부분을 찾아서 주석을 풀어준다. 첫글자가 #이면 주석이다. #을 지워준다.

#write_enable=YES
#local_umask=002

002는 사용자와 그룹에 둘 다에 권한을 주는 설정인데 그룹에는 권한을 주지 않으려면 022로 한다.

저장하고 나와서 ftp 데몬을 재실행한다.

sudo restart vsftpd

클라이언트에서 FTP 서버 접속하기

외부에서 접속하려면 반드시 FTP를 위한 포트포워딩을 해야함을 잊지 말아야 한다.
FTP에서 사용하는 기본 포트는 21다.

Filezilla에서 빠른 연결을 통해 간편하게 FTP 서버에 접속을 해보자.

호스트: 도메인주소 혹은 IP주소
사용자명: 사용자이름
비밀번호: 비밀번호
포트: 21 (기본 포트는 21이지만 공유기 설정에 따라 다르게 바뀔 수 있다.)

그리고 빠른 연결 버튼을 누르면 즉시 연결이 된다.
filezilla connect

아니면 사이트 관리자를 열어 사이트를 등록해서 접속해도 된다. 이럴 경우 여러가지 설정을 변경할 수 있다. 문자셋을 설정한다든가.

작성일 댓글 남기기

우분투 자작 NAS – 6강, Apache2 기본 디렉토리 변경

지난 시간에는 웹서버 운영을 위해 필수적인 APM을 설치했다. 그중에서도 가장 기본적이고 필수적인 것은 아파치(Apache) 서버다. 아파치 서버가 있어야 웹페이지를 보여줄 수 있다.

Apache2 기본 디렉토리?

이 블로그에 연결된 xianchoi.kr 도메인의 기본 접속 주소인 xianchoi.kr과 www.xianchoi.kr에 접속하면 “Hello, World!” 라는 글자만 써있다. 아파치 기본 디렉토리에 “Hello, World!”가 쓰여진 index.php 밖에 없기 때문이다. 이렇듯 아파치 기본 디렉토리는 최상위 도메인과 www 서브도메인과 연결된다.

아파치를 설치하게 되면 기본적으로 설정되는 디렉토리는 다음과 같다.

/var/www/html/

이제 이 디렉토리를 변경할 것이다. 변경하지 않아도 된다! 그러나 관리의 편리함을 위하여 사용자 홈 디렉토리 밑으로 이동시킬 것이다. NAS에서 중요한 건 파일 관리니까 말이다.

수정해야할 파일은 다음과 같다.

/etc/apache2/apache2.conf
/etc/apache2/sites-available/000-default.conf

기본 디렉토리 변경하기

변경할 디렉토리 생성

나의 경우는 웹서버 관리를 편하게 하고자 다음과 같은 경로로 했다.

/home/사용자이름/apm(임의로 지은 이름)/www

그리고 앞으로 설치할 ownCloud며 WordPress며 모두 apm디렉토리 밑에 두었다.
/apm/owncloud  나 /apm/wordpress 같이 말이다.

이 부분은 각 프로그램을 설치하면서 다시 이야기할 부분이다.

변경할 디렉토리를 만들어준다.

mkdir /home/사용자이름/apm
mkdir /home/사용자이름/apm/www

apache2.conf 수정

이제 apache2.conf를 수정한다.

sudo vi /etc/apache2/apache2.conf

페이지 다운으로 넘어가다 보면 다음과 같은 부분이 나온다.

<Directory /var/www/html>
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>

/var/www/html  이 부분을 원하는 경로로 수정한다.

<Directory /home/사용자이름/apm/www>
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>

000-default.conf 수정

이제 다음 파일을 수정한다.

sudo vi /etc/apache2/sites-available/000-default.conf

ServerAdmin에 관리자 이메일을 쓰고
DocumentRoot에 apache2.conf에서 수정한 경로를 쓴다.
도메인을 연결해야 하니 다음을 추가한다.

ServerName 도메인주소
ServerAlias 도메인주소

그러면 다음과 같이 된다.

ServerName 도메인주소
ServerAlias 도메인주소

ServerAdmin 이메일주소
DocumentRoot /home/사용자이름/apm/www

이제 재시작해준다(다음 부분까지 작업한다면 지금 재시작 할 필요는 없다).

sudo service apache2 restart

디렉토리 변경 후 문제

아파치 기본 디렉토리를 사용자 홈 디렉토리로 옮겼다. 여기서 문제가 발생한다.

권한 문제가 발생하게 되는데, 웹에서 접근하려면 권한이 필요한데 사용자 홈 디렉토리는 사용자 본인이 아닌 제삼자가 아무렇게나 접근할 수 없기 때문이다.

문제 해결

디렉토리 소유자와 소유그룹 변경

소유자와 소유그룹을 www-data로 변경해야 웹에서 누구나 접근할 수 있다.

sudo chown -R www-data:www-data /home/사용자이름/apm/www

디렉토리 권한 변경

그런데 이렇게 소유자와 소유그룹을 변경하게되면 사용자계정에 권한이 없어지기 때문에 파일과 폴더를 수정할 수 없게 된다. 그래서 ftp로 접속했을 때나 삼바로 접속했을 때 수정이 불가능하다.

이를 해결하기 위해 사용자 계정을 www-data 그룹에 추가하고, 해당 디렉토리의 쓰기 권한을 그룹에도 허용해준다.

sudo usermod -a -G www-data 사용자이름
sudo chmod -R 775 /home/사용자이름/apm/www

이제 아파치 서버를 재시작 해준다.

sudo service apache2 restart

아파치서버 동작 확인

기본 디렉토리가 제대로 변경되었는지 확인해보자.
변경한 디렉토리 안에 index.php를 생성할 것이다.

sudo vi /home/사용자이름/apm/www/index.php

다음 내용을 입력한 후 저장한다.

<?php
    phpinfo();
?>

웹브라우저를 열어 도메인주소 혹은 내부 IP 주소를 입력하여 확인해 본다.
다음과 같이 PHP 정보가 뜨면 제대로 변경된 것이다.

phpinfo