반응형

svn server 설치

X
user@localhost:~

[root@localhost]# yum -y install subversion

Repositories 디렉토리 생성

X
user@localhost:~

[root@localhost]# mkdir /bluesanta/Repositories

svn 새로운 빈 저장소를 생성

X
user@localhost:~

[root@localhost]# svnadmin create --fs-type fsfs /bluesanta/Repositories

svn 환경파일(/conf/svnserve.conf) 수정

X
user@localhost:~

[root@localhost]# vi /bluesanta/Repositories/conf/svnserve.conf


[general]
#인증되지않은(즉 계정이 없는) 사용자에 대해 접근을 거부한다.
anon-access = none
#인증된 사용자에 대해 쓰기 권한을 준다.
auth-access = write
#인증된 사용자에 대한 계정 정보(아이디/패스) 정보가 기록된 파일명을 의미한다.(기본값 passwd) 
password-db = passwd
#인증된 사용자에 대해 저장소에 대한 권한 설정이 기록된 파일명(기본값)
#authz-db = authz
#현재 파일에 해당되는 저장소의 영역에 대해 설정
#realm = bluesanta_proj

사용자 관리(/conf/passwd) 파일

X
user@localhost:~

[root@localhost]# vi passwd


[users]
bluesanta = {password}

사용자 관리(/conf/authz) 파일

X
user@localhost:~

[root@localhost]# vi authz


[/android_library]
bluesanta = rw

svn 시작

X
user@localhost:~

[root@localhost]# svnserve -d -r /bluesanta/Repositories

svn 종료

X
user@localhost:~

[root@localhost]# killall svnserve

svn 포트 개발(3690)

X
user@localhost:~

[root@localhost]# firewall-cmd --permanent --zone=public --add-port=3690/tcp
[root@localhost]# firewall-cmd --reload

svn editor 설정

X
user@localhost:~

[root@localhost]# SVN_EDITOR=/usr/bin/vim
[root@localhost]# export SVN_EDITOR

svn 기본 디렉토리 만들기

svn 디렉토리 삭제

svn 목록 조회

X
user@localhost:~

[root@localhost]# svn list svn://127.0.0.1
android_library/

svn 서비스 등록

환경파일 생성

X
user@localhost:~

[root@localhost]# vi /etc/sysconfig/subversion


# Configuration file for the Subversion service 
# 
# To pass additional options (for instace, -r root of directory to # server) to the svnserve binary at startup, set OPTIONS here. 
# 
#OPTIONS= 
OPTIONS="--threads --root /bluesanta/Repositories"

서비스 등록 스크립트 작성

X
user@localhost:~

[root@localhost]# vi /etc/init.d/subversion


#!/bin/bash 
# 
#   /etc/rc.d/init.d/subversion 
# 
# Starts the Subversion Daemon 
# 
# chkconfig: 2345 90 10 
# description: Subversion Daemon
# processname: svnserve
source /etc/rc.d/init.d/functions
[ -x /usr/bin/svnserve ] || exit 1
### Default variables 
SYSCONFIG="/etc/sysconfig/subversion"
### Read configuration 
[ -r "$SYSCONFIG" ] && source "$SYSCONFIG"
RETVAL=0 
prog="svnserve" 
desc="Subversion Daemon"
start() { 
        echo -n $"Starting $desc ($prog): " 
   daemon $prog -d $OPTIONS 
   RETVAL=$? 
   [ $RETVAL -eq 0 ] && touch /var/lock/subsys/$prog 
   echo 
}
stop() { 
   echo -n $"Shutting down $desc ($prog): " 
   killproc $prog 
   RETVAL=$? 
   [ $RETVAL -eq 0 ] && success || failure 
   echo 
   [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/$prog 
   return $RETVAL 
}
case "$1" in 
  start) 
   start 
   ;; 
  stop) 
   stop 
   ;; 
  restart) 
   stop 
   start 
   RETVAL=$? 
   ;; 
  condrestart) 
        [ -e /var/lock/subsys/$prog ] && restart 
   RETVAL=$? 
   ;; 
  *) 
   echo $"Usage: $0 {start|stop|restart|condrestart}" 
   RETVAL=1 
esac
exit $RETVAL

서비스 등록

X
user@localhost:~

[root@localhost]# chmod +x /etc/init.d/subversion
[root@localhost]# cd /etc/init.d/
[root@localhost]# chkconfig --add subversion && chkconfig subversion on

서비스 시작

X
user@localhost:~

[root@localhost]# service subversion start

서비스 시작 확인

X
user@localhost:~

[root@localhost]# netstat -atnp | grep svn
tcp        0      0 0.0.0.0:3690            0.0.0.0:*               LISTEN      3459/svnserve       

서비스 중단

X
user@localhost:~

[root@localhost]# service subversion stop

원본 : http://bluexmas.tistory.com/434


반응형
LIST
반응형

RHEL 7 부터는 방화벽을 관리하는 데몬이 firewalld 로 변경되었고 방화벽 설정은 iptables 명령어대신 firewall-cmd (콘솔), firewall-config(X-Windows) 명령어를 사용해야 함.

 

설치

yum install firewalld
systemctl start firewalld
systemctl enable firewalld

 

설정

설정 파일

/etc/firewalld/zones/public.xml 에 위치

<?xml version="1.0" encoding="utf-8"?>
<zone>
  <short>Public</short>
  <description>For use in public areas. You do not trust the other computers on networks to not harm your computer. Only selected incoming connections are accept
ed.</description>
  <service name="dhcpv6-client"/>
  <service name="http"/>
  <service name="ssh"/>
  <service name="https"/>
</zone>

재구동

service iptables restart 대신 아래 명령어 사용

firewall-cmd --reload

 

zone

사전 정의된 존 목록 출력

firewall-cmd --get-zones

 

전체 존 목록을 상세하게 출력

firewall-cmd --list-all-zones

 

기존 존 출력

firewall-cmd --get-default-zone


활성화된 존 출력

firewall-cmd --get-active-zone

 

서비스 목록

firewall-cmd --get-services

permanent 로 등록된 서비스 목록

firewall-cmd --permanent --list-all

임의 포트 추가

--add-port=<portid>[-<portid>]/<protocol> 옵션을 사용하여 포트 추가

firewall-cmd --zone=public --add-port=8080/tcp

포트 삭제

--remove-port=<portid>[-<portid>]/<protocol> 옵션 사용

firewall-cmd --zone=public --remove-port=8080/tcp

rich-rule

 

firewall-cmd --permanent --zone=public --add-rich-rule="rule family="ipv4"  source address="192.168.10.0/24"  port protocol="tcp" port="9000" accept"


설정

웹 서버 방화벽 설정

  1. 방화벽에 포트 추가

    firewall-cmd --permanent --zone=public --add-service=http
    firewall-cmd --permanent --zone=public --add-service=https

    기본 zone이 public 이므로 --zone=public 옵션은 생략 가능

  2. firewalld 재시작

    firewall-cmd --reload
  3. 정상 설정 여부 확인

    firewall-cmd --list-services   --zone=public
     
    dhcpv6-client http https ssh

apache 웹서버 설정

  1. 서비스 활성화

    systemctl enable httpd
  2. 서비스 시작

    systemctl start httpd

nginx 설정

  1. 기존에 아파치 httpd 가 설치되어 있으면 비활성화

    systemctl stop httpd
    systemctl disable httpd
  2. 서비스 활성화

    systemctl enable nginx.service
  3. 시작

    systemctl start nginx.service

 

 

 

Ref

 

 

반응형
LIST
반응형

CentOS 7 에서 MariaDB 설치하기

 
0

centos_mariadb_repohttp://downloads.mariadb.org/mariadb/repositories/  여기 들어가면
CentOS 말고도 Ubuntu, Fedora, Debian 등 MariaDB 설치 방법이 나와있다.

 

MariaDB 10.1.9 설치방법

vi /etc/yum.repos.d/MariaDB.repo  입력

위에 내용 입력 후 저장

yum install -y MariaDB MariaDB-server MariaDB-client

 

centos_mariadb_version_check

설치가 완료 되면 MariaDB 버전 확인

mariadb 시작해주고 root 비번 설정을 위해

mysql_secure_installation입력
centos_mariadb_mysql_secure_installation

이렇게 뜨면 비빌번호 설정이 안돼있으므로 그냥 엔터치고 비빌번호 설정하면 된다.

설정이 완료 되었으면 제대로 접속되는지 확인해보자.

mysql -u root -p  위에서 설정한 비밀번호 입력.

centos_mariadb_setting

설정 파일은 /etc/my.cnf.d 에 위치

nginx 설치방법 : http://blog.twi1ight.net/134


반응형
LIST
반응형

MariaDB 최신 버전 설치(yum) - CentOS 7


CentOS 7에서의 MariaDB의 기본적인 설치는 아주 간단하다. yum epel 저장소가 추가된 상태에서 아래와 같이 설치가 가능하다(epel이 없어도 동일할 것으로 생각되나 이 글에서의 주요 내용이 아니기 때문에 테스트 해보지는 않았다).

1
2
3
4
$ yum install -y mariadb mariadb-server
$ systemctl enable mariadb.service
$ systemctl start mariadb.service
$ mysql_secure_installation

기본 설치는 끝이다. 이제부터 mariadb을 설정하는 부분이 남았지만 이 부분은 서버 상황에 따라 모두 다르니 여기서는 다루지 않는다. 그리고 한가지 더. mysql_secure_installation를 실행하면 자신의 상황에 맞게 설정하기 위해 몇가지를 물어본다. 그런데 이게 거의 일정하고 설치 자동화를 할 때 입력창이 나오면 처리가 귀찮아진다. 이 부분을 자동화하는 부분에 대해서는 mysql_secure_installation 자동화에서 따로 글을 남긴다.

이제부터가 본격적인 이 글에서 하고자하는 이야기다.

위의 방법으로 설치하면 현재 기준으로 5.5.44 버전이 설치된다. 하지만 최신 버전은 10.1.9다. 그렇다면 최신 버전을 설치하려면 어떻게 해야하는가? 아래의 과정을 보자.

우선 yum에 mariadb 저장소를 추가한다. http://yum.mariadb.org/10.1/centos7-amd64는 현재 최신 버전과 CentOS7을 기준으로한 주소다. http://yum.mariadb.org 를 열어보면 다른 기준에서 사용할 수 있는 레포지토리들도 확인할 수 있다.

1
2
3
4
5
$ echo "[mariadb]" > /etc/yum.repos.d/MariaDB.repo
$ echo "name = MariaDB" >> /etc/yum.repos.d/MariaDB.repo
$ echo "baseurl = http://yum.mariadb.org/10.1/rhel7-amd64" >> /etc/yum.repos.d/MariaDB.repo
$ echo "gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB" >> /etc/yum.repos.d/MariaDB.repo
$ echo "gpgcheck=1" >> /etc/yum.repos.d/MariaDB.repo

더 간단한 방법도 있다.

1
$ wget -O /etc/yum.repos.d/MariaDB.repo http://mariadb.if-not-true-then-false.com/rhel/$(rpm -E %rhel)/$(uname -i)/10_1

이후는 기존과 동일하다.

1
2
3
4
$ yum install -y mariadb mariadb-server
$ systemctl enable mariadb.service
$ systemctl start mariadb.service
$ mysql_secure_installation

단, 10.1.8 버전 이상일 경우만 위와 같이 처리가 가능한 것으로 보인다(MariaDB Systemd).

따라서 10.0 버전대를 설치한다면 아래와 같이 하면 된다.

1
2
3
4
$ yum install -y mariadb mariadb-server
$ systemctl enable mysql.service
$ systemctl start mysql.service
$ mysql_secure_installation

하지만 약간의 차이가 있다. systemctl에서 사용하는 service 명이 다르다. 왜 다른지는 모르겠지만 설치를 했는데 서비스 등록이 되지 않아서 처음엔 당황스러웠다. 이 부분도 처음과 동일하게 사용하고 싶다면 alias를 사용하는 방법이 있다(service name alias? mariadb->mysql - how?).

1
echo "Alias=mysql.service" > /usr/lib/systemd/system/mariadb.service

이렇게 해주면 mariadb라는 이름으로 service를 등록할 수 있다. 큰 의미가 없으니 굳이 적용할 필요는 없으나 혼선을 없애기 위해서라면 적용하는 것도 나쁘지는 않을 듯하다.

자.. 그런데 위 설치 방법대로 따라하면 아래와 같은 화면을 만나게 된다.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
$ systemctl enable mysql.service
mysql.service is not a native service, redirecting to /sbin/chkconfig.
Executing /sbin/chkconfig mysql on
The unit files have no [Install] section. They are not meant to be enabled
using systemctl.
Possible reasons for having this kind of units are:
1) A unit may be statically enabled by being symlinked from another unit's
   .wants/ or .requires/ directory.
2) A unit's purpose may be to act as a helper for some other unit which has
   a requirement dependency on it.
3) A unit may be started when needed via activation (socket, path, timer,
   D-Bus, udev, scripted systemctl call, ...).

내용을 보면 mariadb가 systemd에 등록되지 않고 chkconfig로 initd에 등록된다. 앞서 설명했던 5.5/10.1 버전 설치와는 다른 결과다. CentOS의 레포지토리를 이용해서 설치하면 /usr/lib/systemd/system/mariadb.service 파일이 함께 설치되는데 MariaDB 레포지토리로 설치하면 이 파일이 설치되지 않는다(확인해보니 다른 몇가지도 차이가 있다).

이 부분은 MariaDB 10.0이 systemd 지원을 아직 제대로 하지 않아서 그런 것 같다(테스트는 해보지 않았지만 찾아보니 Fedora 22 이상부터는 바로 지원이 되는 것으로 보인다).

그냥 이렇게 사용해도 문제는 되지 않지만 기존과 동일하게 systemd로 사용하고 싶다면 10.1 버전을 사용하면 된다.


10.0을 굳이 써야 한다면 다음과 같이 처리할 수는 있으나 권장하지는 않는다. 이왕이면 최신 버전을 사용하자.

이미 위 명령을 입력했었다면 아래와 같이 제거하자. 아직 설치하지 않았다면 이 과정은 생략한다.

1
2
3
$ systemctl disable mysql.service
mysql.service is not a native service, redirecting to /sbin/chkconfig.
Executing /sbin/chkconfig mysql off

아직 설치를 하지 않았다면 10.1과 유사하게 아래의 과정을 처리한다.

1
2
3
4
5
$ echo "[mariadb]" > /etc/yum.repos.d/MariaDB.repo
$ echo "name = MariaDB" >> /etc/yum.repos.d/MariaDB.repo
$ echo "baseurl = http://yum.mariadb.org/10.0/rhel7-amd64" >> /etc/yum.repos.d/MariaDB.repo
$ echo "gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB" >> /etc/yum.repos.d/MariaDB.repo
$ echo "gpgcheck=1" >> /etc/yum.repos.d/MariaDB.repo

10.1과 유사하게 아래의 방법도 가능하다.

1
$ wget -O /etc/yum.repos.d/MariaDB.repo http://mariadb.if-not-true-then-false.com/rhel/$(rpm -E %rhel)/$(uname -i)/10

이제 mariadb 10.0을 설치한다.

1
$ yum install -y mariadb mariadb-server

아래의 내용으로 /usr/lib/systemd/system/mariadb.service 파일을 만든다. 이 스크립트는 5.5 설치시에 생성되었던 /usr/lib/systemd/system/mariadb.service 파일을 가져다가 조금 수정했다. 그대로 사용하려니 정상적으로 동작하지 않았다. /usr/libexec/mariadb-prepare-db-dir 파일을 필요로해서 동일하게 넣어주었으나 구동은 되나 실행 스크립트가 종료되지 않고 systemctl stop으로 종료 할 수도 없었다.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
# It's not recommended to modify this file in-place, because it will be
# overwritten during package upgrades.  If you want to customize, the
# best way is to create a file "/etc/systemd/system/mariadb.service",
# containing
#   .include /lib/systemd/system/mariadb.service
#   ...make your changes here...
# or create a file "/etc/systemd/system/mariadb.service.d/foo.conf",
# which doesn't need to include ".include" call and which will be parsed
# after the file mariadb.service itself is parsed.
#
# For more info about custom unit files, see systemd.unit(5) or
# http://fedoraproject.org/wiki/Systemd#How_do_I_customize_a_unit_file.2F_add_a_custom_unit_file.3F

# For example, if you want to increase mariadb's open-files-limit to 10000,
# you need to increase systemd's LimitNOFILE setting, so create a file named
# "/etc/systemd/system/mariadb.service.d/limits.conf" containing:
#   [Service]
#   LimitNOFILE=10000

# Note: /usr/lib/... is recommended in the .include line though /lib/...
# still works.
# Don't forget to reload systemd daemon after you change unit configuration:
# root> systemctl --system daemon-reload

[Unit]
Description=MariaDB database server
After=syslog.target
After=network.target

[Service]
#Type=simple
Type = forking
User=mysql
Group=mysql
ExecStart = /etc/rc.d/init.d/mysql start
ExecStop = /etc/rc.d/init.d/mysql stop

#ExecStartPre=/usr/libexec/mariadb-prepare-db-dir %n
# Note: we set --basedir to prevent probes that might trigger SELinux alarms,
# per bug #547485
#ExecStart=/usr/bin/mysqld_safe --basedir=/usr
#ExecStartPost=/usr/libexec/mariadb-wait-ready $MAINPID

# Give a reasonable amount of time for the server to start up/shut down
TimeoutSec=300

# Place temp files in a secure directory, not /tmp
PrivateTmp=true

[Install]
WantedBy=multi-user.target

이후의 과정은 동일하다. 단, 10.0 설치에서 설명했던 mysql.service 대신 10.1 처럼 mariadb.service을 사용한다. 해당 파일을 만들어 줬으므로.

1
2
3
4
5
$ systemctl daemon-reload

$ systemctl enable mariadb.service
$ systemctl start mariadb.service
$ mysql_secure_installation

이제 설치가 끝났다.

 

반응형
LIST

+ Recent posts