MariaDB 설치 하기 for CentOS 6.4

MariaDB 설치 하기 for CentOS 6.4

mysql 버전이 5.1이어서 버전업을 마음먹었다.
그런데 5.6으로 올리느니 마리아DB로 갈아타고 싶어졌다.

자 마리아 DB를 설치하자.

1. 기존 mysql을 제거한다.

yum remove mysql mysql-server

2. 기존 mysql 디렉토리를 제거한다. 여기서는 백업을 해뒀다. 워드프레스 db를 살릴려고~

cp -rf /var/lib/mysql /var/lib/mysql_
rm -rf /var/lib/mysql

3. Maria DB의 yum설치를 위해서 repository 파일 추가를 한다.
공식사이트를 참고하자.

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

4. 아래 내용 파일에 추가.

[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.0/centos6-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

5. install MariaDB
아래 Maria-devel은 개발용이다. 필요없으면 설치하지 말자.

sudo yum install MariaDB-server MariaDB-client MariaDB-devel

6. maria db server 실행

sudo /etc/init.d/mysql restart

7. maria db 접속 확인

mysql -uroot

ps. 나처럼 기존 mysql database가 있는 경우는 아까 백업해둔 곳에서 db를 카피한다.

cp -rp /var/lib/mysql_backup/database_name /var/lib/mysql
chown -R mysql.mysql /var/lib/mysql/database_name

그대로 db사용이 가능하다. 마리아 db 설치 끝.

ruby rbenv install 2.0.0-p247 fail for Centos

rbenv 를 이용해서 ruby 2.0.0 p247을 설치할 때 에러가 발생한다. centos 6.5에서 발생했다.

해결법을 기록해둔다. 참고가 되길 바란다.

ref web site

rbenv install 2.0.0-p247

위의 명령을 실행했을 때 아래 상황 발생

problem:

BUILD FAILED

Inspect or clean up the working tree at /tmp/ruby-build.20150424111036.5089
Results logged to /tmp/ruby-build.20150424111036.5089.log

Last 10 log lines:
ossl_pkey_ec.c:821: error: for each function it appears in.)
make[2]: *** [ossl_pkey_ec.o] Error 1
make[2]: Leaving directory `/tmp/ruby-build.20150424111036.5089/ruby-2.0.0-p247/ext/openssl'
make[1]: *** [ext/openssl/all] Error 2
make[1]: *** Waiting for unfinished jobs....
installing default callback libraries
linking shared-object dl/callback.so
make[2]: Leaving directory `/tmp/ruby-build.20150424111036.5089/ruby-2.0.0-p247/ext/dl/callback'
make[1]: Leaving directory `/tmp/ruby-build.20150424111036.5089/ruby-2.0.0-p247'
make: *** [build-ext] Error 2

solution:

1. Create “patch.diff” file.
2. Copy the content below.

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 41807)
+++ ChangeLog	(revision 41808)
@@ -1,3 +1,16 @@
+Sat Jul  6 07:37:43 2013  Martin Bosslet  <Martin.Bosslet@gmail.com>
+
+	* ext/openssl/ossl_pkey_ec.c: Ensure compatibility to builds of
+	  OpenSSL with OPENSSL_NO_EC2M defined, but OPENSSL_NO_EC not
+	  defined.
+	* test/openssl/test_pkey_ec.rb: Iterate over built-in curves
+	  (and assert their non-emptiness!) instead of hard-coding them, as
+	  this may cause problems with respect to the different availability
+	  of individual curves in individual OpenSSL builds.
+	  [ruby-core:54881] [Bug #8384]
+
+	  Thanks to Vit Ondruch for providing the patch!
+
 Sat Jul  6 07:12:39 2013  Martin Bosslet  <Martin.Bosslet@gmail.com>
 
 	* test/openssl/test_x509crl.rb: Remove unused variable.
Index: ext/openssl/ossl_pkey_ec.c
===================================================================
--- ext/openssl/ossl_pkey_ec.c	(revision 41807)
+++ ext/openssl/ossl_pkey_ec.c	(revision 41808)
@@ -762,8 +762,10 @@
                 method = EC_GFp_mont_method();
             } else if (id == s_GFp_nist) {
                 method = EC_GFp_nist_method();
+#if !defined(OPENSSL_NO_EC2M)
             } else if (id == s_GF2m_simple) {
                 method = EC_GF2m_simple_method();
+#endif
             }
 
             if (method) {
@@ -817,8 +819,10 @@
 
             if (id == s_GFp) {
                 new_curve = EC_GROUP_new_curve_GFp;
+#if !defined(OPENSSL_NO_EC2M)
             } else if (id == s_GF2m) {
                 new_curve = EC_GROUP_new_curve_GF2m;
+#endif
             } else {
                 ossl_raise(rb_eArgError, "unknown symbol, must be :GFp or :GF2m");
             }
Index: test/openssl/test_pkey_ec.rb
===================================================================
--- test/openssl/test_pkey_ec.rb	(revision 41807)
+++ test/openssl/test_pkey_ec.rb	(revision 41808)
@@ -7,28 +7,28 @@
     @data1 = 'foo'
     @data2 = 'bar' * 1000 # data too long for DSA sig
 
-    @group1 = OpenSSL::PKey::EC::Group.new('secp112r1')
-    @group2 = OpenSSL::PKey::EC::Group.new('sect163k1')
-    @group3 = OpenSSL::PKey::EC::Group.new('prime256v1')
+    @groups = []
+    @keys = []
 
-    @key1 = OpenSSL::PKey::EC.new
-    @key1.group = @group1
-    @key1.generate_key
+    OpenSSL::PKey::EC.builtin_curves.each do |curve, comment|
+      group = OpenSSL::PKey::EC::Group.new(curve)
 
-    @key2 = OpenSSL::PKey::EC.new(@group2.curve_name)
-    @key2.generate_key
+      key = OpenSSL::PKey::EC.new(group)
+      key.generate_key
 
-    @key3 = OpenSSL::PKey::EC.new(@group3)
-    @key3.generate_key
-
-    @groups = [@group1, @group2, @group3]
-    @keys = [@key1, @key2, @key3]
+      @groups << group
+      @keys << key
+    end
   end
 
   def compare_keys(k1, k2)
     assert_equal(k1.to_pem, k2.to_pem)
   end
 
+  def test_builtin_curves
+    assert(!OpenSSL::PKey::EC.builtin_curves.empty?)
+  end
+
   def test_curve_names
     @groups.each_with_index do |group, idx|
       key = @keys[idx]

3. Create “fedora.configure” file
4. Copy the content below.

#!/bin/sh
patch -p0 -i /tmp/patch.diff
exec ./configure "$@"

5. Execute this command.

RUBY_CONFIGURE=/home/user/fedora-configure rbenv install 2.0.0-p247

6. check ruby version.

rbenv versions

나만의 Git 서버 설정하기

나만의 기트 서버를 설치해보자. ssh와 연동하기

 

Git server 설정하기.

 

centos 에 설치하기

git server 의존 패키지 설치

yum install curl-devel expat-devel gettext-devel \
  openssl-devel zlib-devel

git 설치

yum install git-core

리눅스에 git 계정 만들기

adduser git
passwd git
cd /opt
mkdir git
chown git.git git
cd /opt/git
sudo vi ReadMe

아래 내용을 위의 ReadMe파일에 넣어두고 앞으로 쭉 사용하자~

#create repository
git init --bare --shared my_project.git
chown -R git.git my_project.git

모든 유저들이 서버에 저장할 때 git계정을 이용할 수 있도록 설정해준다.

sudo vi /etc/passwd

위 명령 후 아래 내용을 찾는다.

git:x:502:503::/home/git:/bin/bash
which git-shell

명령으로 git-shell 위치를 확인한다.

/bin/bash 를 위에 나온 결과값(여기서는 /usr/bin/git-shell)로 변경한다

변경 후 부터는 git 계정은 Git 저장소에 Push하고 Pull하는 것만 가능하고 리눅스의 쉘에는 접근할 수 없다.

——– 샘플 프로젝트 설정 ——–

서버 설정이 끝났으니 샘플 프로젝트를 하나 만들어보자.

방금 만들었던 ReadMe를 읽고 아래 명령을 처보자.

cd /opt/git
sudo git init --bare --shared my_project.git
sudo chown -R git.git my_project.git

클리이언트에서 나의 git 서버와 연동을 해본다.

SourceTree를 사용할 경우
“복제 / 생성” -> “소스 경로 / URL” 에 아래 값 입력

ssh://git@weeppp.com/opt/git/my_project.git

포트가 다를 경우
ssh://git@weeppp.com:[PORT]/opt/git/my_project.git

이제 git를 이용하면 된다.