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

워드프레스 설치 후 자동 업데이트를 위한 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=

ucloud server에 wordpress 설치하기

Posted on Updated on

KT의 ucloud server에 wordpress를 설치하려면 다음 절차에 따라서 진행하면 됩니다.

1. 최근 워드프레스 파일을 임시 디렉토리서 다운로드합니다.

wget http://ko.wordpress.org/wordpress-3.4.2-ko_KR.zip

2. 다운로드가 완료되면 압축 파일을 푼다.

unzip wordpress-3.4.2-ko_KR.zip

3. 워드프레스를 설치하기 위해서 웹서비스 루트 디렉토리에서 wordpress 디렉토리를 만든다.

sudo mkdir /mnt/data/www/wordpress

4. 다운로드하여 압축을 푼 데이터 파일을 옮긴다.

sudo cp -R ~/tmp/wordpress/* /mnt/data/www/wordpress

5. /etc/apache2/apache2.conf 파일의 마지막 라인에 다음 내용을 추가한다.

AddType application/x-httpd-php .html

6. apache를 재시작 합니다.

sudo /etc/init.d/apache2 restart

7. MySQL에 로그인하고 다음 절차대로 DB와 User를 생성합니다.

mysql -u root -p
==> mysql> 프로프트가 나오면 다음 명령을 실행합니다.
create database wordpress;
create user username;
set password for 'username'=password('pw123');
grant all privileges on wordpress.* to 'username' identified by 'pw123';
exit;

8. wp-config-sample.php 파일에서 wp-config.php을 복사한다.

cd /mnt/data/www/wordpress
sudo cp wp-config-sample.php wp-config.php

9. wp-config.php을 수정하여 7 단계에서 등록한 mysql 정보를 추가한다.

sudo vi wp-config.php
==> 다음과 같이 수정한다.
define('DB_NAME', 'wordpress');
define('DB_USER', 'username');
define('DB_PASSWORD', 'pw123');
define('DB_HOST', 'localhost');

10. 마지막으로 wordpress 디렉토리의 소유권을 아파치 서버의 group과 user로 변경을 합니다. apache2인 경우에는 www-data이고 이전 버전은 apache입니다.
이렇게 변경하지 않으면 나중에 관리자 모드에서 테마나 플러그인 등을 자동으로 설치하거나 업그레이드 하는 경우 소유권이 달라서 진행할 수 없게 되는 경우가 발생합니다. 그러니 꼭 변경하시기 바랍니다.

cd /mnt/data/www
sudo chown -R www-data:www-data wordpress

ucloud server에서 apache data 디렉토리 옮기기

Posted on Updated on

KT ucloud server를 생성하면 root disk의 크기가 20G를 설정되므로 apache를 설치하면 서비스를 하기에는 용량이 부족하므로 추가한 data disk에 해당 디렉토리를 옮기는 작업을 해야한다.

1. apache의 정지

/etc/init.d/apache2 stop

2. apache www 디렉토리를 옮기기

cp -pR /var/www /mnt/data

3. /etc/apache2/sites-available/default 파일에서 DocumentRoot를 수정

DocumentRoot /var/www
==> 다음과 같이 수정
DocumentRoot /mnt/data/www
<Directory /var/www/>
==> 다음과 같이 수정
<Directory /mnt/data/www/>

4. /etc/apache2/sites-available/default-ssl 파일에서 DocumentRoot를 수정

DocumentRoot /var/www
==> 다음과 같이 수정
DocumentRoot /mnt/data/www
<Directory /var/www/>
==> 다음과 같이 수정
<Directory /mnt/data/www/>

5. apache 서비스를 시작

/etc/init.d/apache2 start

 

ucloud server에서 mysql의 data 디렉토리를 변경하기

Posted on Updated on

KT ucloud server를 생성하면 root disk의 크기가 20G를 설정되므로 mysql을 설치하면 서비스를 하기에는 용량이 부족하므로 추가한 data disk에 해당 디렉토리를 옮기는 작업을 해야한다.

1. MySQL의 정지

/etc/init.d/mysql stop

2. MySQL data 디렉토리를 옮기기

cp -pR /var/lib/mysql /mnt/data

3. mysql group에 root 계정을 추가

vi /etc/group

4. /etc/mysql/my.cnf 파일에서 data 디렉토리를 수정

datadir             = /var/lib/mysql
==> 다음과 같이 수정
datadir         = /mnt/data/mysql

5. /etc/apparmor.d/usr.sbin.mysqld 파일에서 data 디렉토리를 수정

/var/lib/mysql/ r,
/var/lib/mysql/** rwk,
==> 다음과 같이 수정
/mnt/data/mysql/ r,
/mnt/data/mysql/** rwk,

6. apparmor 서비스를 재시작

/etc/init.d/apparmor restart

7. MySQL 서비스를 시작

/etc/init.d/mysql start

 

ubuntu server에 APM 설치

Posted on Updated on

KT ucloud server의 ubuntu OS에서 APM(Apache,PHP,MySQL)을 설치는 다음에 설명하는 과정으로 진행합니다.

APACHE 서버의 설치

먼저 아파치 서버를 설치합니다.

$ apt-get install apache2

위의 명령을 실행했는데 설치가 안되면 다음 명령을 실행하고 나서 위의 명령을 다시 실행합니다.

apt-get update

이렇게 해서 아파치 서버를 설치하고 나면 MySQL 연동 모듈을 설치합니다.

apt-get install libapache2-mod-auth-mysql

이제 mod_rewrite를 활성화합니다.

sudo a2enmod rewrite

활성화가 완료되면 /etc/apache2/sites-available/default 파일을 수정합니다.

DocumentRoot    /var/www/

    Options Indexs FollowSymLinks MultiViews
    AllowOverride None  //--- None을 All로 변경 한다.

수정하였으면 아파치를 재실행 합니다.

sudo /etc/init.d/apache2 restart

다음은 설치된 아파치와 관련하여 작업에 도움이 되는 내용입니다.

  • 설치 폴더 : /usr/share/apache2/
  • 환경 폴더 : /etc/apache2/, /etc/default/apache2
  • 로그 폴더 : /var/log/apache2/
  • Document Root : /var/www/
  • 기동 종료 : /etc/init.d/apache2 start, stop, reload, restart, status
  • 서비스 확인 : ps -ef | grep apache
  • /cgi-bin/ : /usr/lib/cgi-bin/
  • Lock 폴더 : /var/lock/apache2

MySQL 설치

다음 명령으로 우분투에 MySQL 서버를 설치합니다.

sudo apt-get install mysql-server

설치 후 재실행 합니다.

sudo /etc/init.d/mysql restart

다음은 설치 후 관련된 정보입니다.

  • 설치 폴더 : /usr/share/mysql/
  • 환경 폴더 : /etc/mysql/
  • vi /etc/mysql/my.cnf
  • 데이터 폴더 : /var/lib/mysql
  • 작업 폴더 : /var/lib/mysql
  • 기동 종료 : /etc/init.d/mysql start, stop, restart, reload, status
  • 서비스 확인 : ps -ef | grep mysql
  • 로그 정보 : /var/log/mysql/mysql-slow.log

PHP 설치

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

sudo apt-get install php5

설치가 진행되면 apache 연동 모듈인 libapache2-mod-php5는 함께 설치됩니다.
설치가 되면 MySQL 연동 모듈을 설치합니다.

sudo apt-get install php5-mysql

다음은 설치 후 관련 정보입니다.

  • 설치 폴더 : /usr/share/php5/
  • 환경 폴더 : /etc/php5/
  • 설정 파일: vi /etc/php5/apache2/php.ini

PhpMyAdmin 설치

phpmyadmin은 MySQL DB를 웹에서 관리할 수 있도록 도와 줍니다.

다음 명령으로 설치합니다.

sudo apt-get install phpmyadmin

다음은 설치 후 관련 정보입니다.

  • 설치 폴더 : /usr/share/phpmyadmin/
  • 환경 폴더 : /etc/phpmyadmin/
  • 작업 폴더 : /var/lib/phpmyadmin/
  • 서비스 폴더 : /var/www/phpmyadmin/