우분투

ucloud server의 ubuntu에서 서브버전 설치하기

Posted on Updated on

이 문서는 KT ucloud server에 우분투를 설치한 경우로 한정하고 서브버전(subversion)을 설치하고 설정하는 방법에 대해서 설명합니다. 그리고 이곳에서 설명하는 명령은 일반 사용자로 로그인을 하고 sudo 명령을 이용해서 실행하는 것으로 가정합니다.

소개

서브버전은 오픈소스의 버전 관리 시스템입니다.  서브버전을 사용하면 여러분이 개발자, 혹은 일반인 이라고 할지라도 어떤 것이든 파일이나 문서를 수정하는 경우에 그 변경 내용에 대해서 항상 관리할 수 있습니다.

서브버전은 관리 대상을 서브버전인 설치된 서버의 리포지토리(Repository)란 곳에서 관리하게 됩니다.

설치

서브버전 패키지의 설치는 다음 명령을 실행하면 간단히 설치됩니다.

$ sudo apt-get install subversion

설정

서브버전의 기본이되는 repository가 필요한데 이 위치는 우분투 문서에서는 /srv/svn, /usr/local/svn, /home/svn등의 위치를 권고하는데 이 위치는 사용자가 좋아하는 곳으로 정하면 됩니다.

KT ucloud server에서는 data disk를 마운트 한 곳을 이용합니다.

$ sudo mkdir /mnt/data/svn

기본이 되는 리포지토리를 만들었으면 서브버전을 위한 그룹을 만듦니다.

$ sudo groupadd svn

/mnt/data/svn 디렉토리에 대한 소유권을 설정합니다.

$ sudo chown -R www-data:svn /mnt/data/svn

그리고 접근 권한을 설정합니다.

$ sudo chmod -R g+rws /mnt/data/svn

권한 설정이 완료 되었으면 svn 그룹에 원하는 사용자를 추가합니다.

$ sudo usermod -a -G svn otheruser

이상으로 서브버전에 필요한 설정은 완료되었습니다.

Repository 만들기

이제 사용자가 원하는 프로젝트를 위한 리포지토리를 만들면 됩니다.

$ sudo svnadmin create /mnt/data/svn/sandbox

 

$sudo chown -R www-data:svn /mnt/data/svn/sandbox
$sudo chmod -R g+rws /mnt/data/svn/sandbox

file:// 프로토콜을 이용한 접근

서브버전이 설치된 서버에 사용자로 로그인한 경우에는 직접 해당 프로젝트의 리포지토리에 접근할 수 있습니다.

$ svn co file:///mnt/data/svn/sandbox

또는 다음 명령을 실행해도 됩니다.

$ svn co file://localhost/mnt/data/svn/sandbox

svn:// 프로토콜을 이용한 접근

svn:// 프로토콜을 이용해서 서브버전의 프로젝트 리포지토리에 접근하려고 하면 해당 리포지토리 별로 접근을 제어하는 config 파일을 수정합니다.

$ sudo vi /mnt/data/svn/sandbox/conf/svnserve.conf

anon-access = none
password-db = /mnt/data/svn/passwd-sandbox
realm = Sandbox Team

/mnt/data/svn/passwd-sandbox 파일을 만들고 사용자와 패스워드를 추가합니다.

sudo vi /mnt/data/svn/passwd-sandbox

user = userpassword

다음에는 KT 클라우드 콘솔에서 서브버전이 이용하는 3690 포트 번호를 서비스하는 호스트로 포트 포워딩 합니다.
그리고 나서 svnserve를 실행하여 svn:// 프로토콜을 이용할 수 있도록 합니다.

$ sudo svnserve -d --foreground -r /mnt/data/svn

svnserve 서비스가 실행되면 다음 명령을 이용해서 사용자의 프로젝트를 체크아웃 할 수 있습니다.

$ svn co svn://hostname/sandbox sandbox --username user_name

부팅시에 svnserve 서비스를 실행하도록 초기화 스크립트를 /etc/init.d/svnserve로 만들어 부팅할 때 스크립트가 실행되도록 합니다.

$ cd /etc/init.d
$ sudo wget http://odyniec.net/articles/ubuntu-subversion-server/svnserve
$ sudo chmod +x svnserve
$ sudo vi svnserve
DAEMON_ARGS="-d -r /mnt/data/svn"
$ sudo update-rc.d svnserve defaults
$ sudo /etc/init.d/svnserve start

svn+ssh:// 프로토콜을 이용한 접근

svn+ssh:// 프로토콜을 이용해서 서브버전에 접근하는 경우에는 svnserve 서비스의 실행은 필요가 없습니다.
단지 프로젝트 리포지토리의 전체 패스를 적어주면 됩니다.

$ svn co svn+ssh://username@hostname/mnt/data/svn/sandbox sandbox --username user_name
Advertisements

워드프레스 설치 후 자동 업데이트를 위한 ftps의 사용

Posted on Updated on

워드프레스(wordpress)를 설치하고 나서 테마나 플러그인을 설치하려면 워드프레스 사이트에서 원하는 파일을 다운로드하고 나서 서비스 사이트에 업로드를 하여 설치하거나 워드프레스에서 이용하는 ftp또는 ftps 서비스를 이용하면 자동으로 설치하거나 업데이트를 진행할 수 있습니다.

만약, ftp를 사용한다면 브라우저에서 서버에 전송되는 패킷에 사용자의 아이디와 패스워드가 일반 텍스트로 전달되어 인터넷에 노출이 될 수 있는 문제가 발생합니다. 그러므로 ssl위에서 ftp 서비스를 하는 ftps(FTP over SSL/TLS) 서비스를 사용하도록 해서 이러한 문제가 발생되지 않도록 하는 것이 좋습니다.

VSFTPD 설치

$ sudo apt-get install vsftpd

인증서 생성

vsftpd 서비스를 이용한 ssl 통신을 위한 인증서를 생성하기 위해서 다음 명령을 실행합니다.

$sudo openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem

위의 명령을 실행하면 몇 가지 질문을 하는데 이에 응답을 하면 인증서의 생성이 완료됩니다. 실행된 예제는 다음과 같습니다.

Generating a 1024 bit RSA private key
......................................++++++
...................................++++++
writing new private key to '/etc/ssl/private/vsftpd.pem'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:KR
State or Province Name (full name) [Some-State]:Gyeonggi-do
Locality Name (eg, city) []:Seongnam-si
Organization Name (eg, company) [Internet Widgits Pty Ltd]:ardunux
Organizational Unit Name (eg, section) []:
Common Name (eg, YOUR name) []:ardunux.com
Email Address []:jhseo64@gmail.com

생성된 인증서의 내용을 확인하려면 다음 명령을 실행해서 확인할 수 있습니다.

$ sudo  openssl x509 -in /etc/ssl/private/vsftpd.pem -noout -text

vsftpd.conf 파일 설정

$ sudo vi /etc/vsftpd.conf
# Turn on SSL
ssl_enable=YES

# All non-anonymous logins are forced to use a secure SSL connection in order to
# send and receive data on data connections.
#force_local_data_ssl=YES

# All non-anonymous logins are forced to use a secure SSL connection in order to send the password.
force_local_logins_ssl=YES

# Permit TLS v1 protocol connections. TLS v1 connections are preferred
ssl_tlsv1=YES

# Permit SSL v2 protocol connections. TLS v1 connections are preferred
ssl_sslv2=NO

# permit SSL v3 protocol connections. TLS v1 connections are preferred
ssl_sslv3=NO

# Disable SSL session reuse (required by WinSCP)
require_ssl_reuse=NO

# Select which SSL ciphers vsftpd will allow for encrypted SSL connections (required by FileZilla)
ssl_ciphers=HIGH

# This option specifies the location of the RSA certificate to use for SSL
# encrypted connections.
rsa_cert_file=/etc/ssl/private/vsftpd.pem

vsftpd.conf 파일의 설정을 완료했으면 서비스를 재시작 합니다.

sudo /etc/init.d/vsftpd restart

참고 링크

ucloud server에 우분투 설치 후 UTF-8 한글 설정하기

Posted on

KT ucloud server에 ubuntu를 설치했는데 locale이 기본으로 en_US로 설정되어 있습니다.
UTF-8 한글로 설정하기 위해서 다음과 같은 명령어를 실행하면 됩니다.

$ sudo locale-gen ko_KR.UTF-8

이렇게 명령을 실행하고 확인을 했는데 LANGUAGE 값이 바뀌지 않아서 다음 파일을 수정했습니다. 이부분은 참고만 하세요! 제 경우에만 해당될 수도 있습니다.

$ sudo vi /etc/default/locale
LANG="ko_KR.UTF-8"
LANGUAGE="ko_KR:ko:en_US:en"

그리고 다음 명령으로 설정된 것을 확인하면 됩니다.

$ locale
LANG=ko_KR.UTF-8
LANGUAGE=ko_KR:ko:en_US:en
LC_CTYPE="ko_KR.UTF-8"
LC_NUMERIC="ko_KR.UTF-8"
LC_TIME="ko_KR.UTF-8"
LC_COLLATE="ko_KR.UTF-8"
LC_MONETARY="ko_KR.UTF-8"
LC_MESSAGES="ko_KR.UTF-8"
LC_PAPER="ko_KR.UTF-8"
LC_NAME="ko_KR.UTF-8"
LC_ADDRESS="ko_KR.UTF-8"
LC_TELEPHONE="ko_KR.UTF-8"
LC_MEASUREMENT="ko_KR.UTF-8"
LC_IDENTIFICATION="ko_KR.UTF-8"
LC_ALL=