2016년 5월 31일 화요일

CentOS 7.x minimal ifconfig netstat command not found

CentOS 7.x minimal ifconfig netstat command not found


[root@conoha ~]# ifconfig
-bash: ifconfig: command not found

[root@conoha ~]# netstat
-bash: netstat: command not found

[root@conoha ~]# yum -y install net-tools
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: ftp.iij.ad.jp
 * epel: ftp.iij.ad.jp
 * extras: ftp.iij.ad.jp
 * updates: ftp.iij.ad.jp
Resolving Dependencies
--> Running transaction check
---> Package net-tools.x86_64 0:2.0-0.17.20131004git.el7 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package         Arch         Version                          Repository  Size
================================================================================
Installing:
 net-tools       x86_64       2.0-0.17.20131004git.el7         base       304 k

Transaction Summary
================================================================================
Install  1 Package

Total download size: 304 k
Installed size: 917 k
Downloading packages:
net-tools-2.0-0.17.20131004git.el7.x86_64.rpm              | 304 kB   00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : net-tools-2.0-0.17.20131004git.el7.x86_64                    1/1
  Verifying  : net-tools-2.0-0.17.20131004git.el7.x86_64                    1/1

Installed:
  net-tools.x86_64 0:2.0-0.17.20131004git.el7

Complete!

2016년 5월 30일 월요일

How to using multiple SSH KEYS

Creat SSH KEY for server1

[root@linode ~]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
f9:99:30:0e:8d:cc:a1:44:c6:ac:19:6e:67:19:04:5a root@linode
The key's randomart image is:
+--[ RSA 2048]----+
|  E=+            |
| o.o+            |
|.. +.o.          |
|  =.++ + .       |
| . o. = S        |
|       o + o     |
|        . +      |
|                 |
|                 |
+-----------------+
[root@linode ~]# cat ./.ssh/id_rsa.pub | ssh -p10022 root@conoha.ivps.kr "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
The authenticity of host '[conoha.ivps.kr]:10022 ([133.130.126.29]:10022)' can't be established.
ECDSA key fingerprint is d1:33:b1:93:a0:7c:5b:7e:3b:e1:5b:2b:13:8a:27:01.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '[conoha.ivps.kr]:10022,[133.130.126.29]:10022' (ECDSA) to the list of known hosts.
root@conoha.ivps.kr's password:


Creat SSH KEY for server2

[root@vultr ~]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
d1:22:15:0c:4e:d5:95:19:fd:c6:c8:4f:8b:5b:f8:01 root@vultr.ivps.kr
The key's randomart image is:
+--[ RSA 2048]----+
|      o++o .o=   |
|     o .... o .  |
|      o o .  . + |
|       . o   Eo =|
|        S     ++.|
|             o +.|
|              + .|
|             . . |
|                 |
+-----------------+
[root@vultr ~]# cat ./.ssh/id_rsa.pub | ssh -p10022 root@conoha.ivps.kr "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
The authenticity of host '[conoha.ivps.kr]:10022 ([133.130.126.29]:10022)' can't be established.
ECDSA key fingerprint is d1:33:b1:93:a0:7c:5b:7e:3b:e1:5b:2b:13:8a:27:01.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '[conoha.ivps.kr]:10022,[133.130.126.29]:10022' (ECDSA) to the list of known hosts.
root@conoha.ivps.kr's password:


Checked in Backup server

[root@conoha ~]# cat ~/.ssh/authorized_keys
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC3P6CFMztEsGJzLjGhoGNomDKAQ5CgnVW5eV79zRWTGdamxHtJLZS1sq5lCk4oFAslhD4fStQguH4TKVrhFhwczK+mIX7iaycUVJshH2QB4Zce4rM+7loacU1WKOjE1LK4twWggH8LsJHkwRqBaZi/9mXYbBsUpsnR1PvBxZ5ub+61jqujD13jgwMS9tlVSLsM9VFrn/+bMEt8bAwSeVCPlY2QroeL7euu/H6CwW4NYGEPXOEnu6k9W5WKSeBo+WjTsLvip/UziJ6+jjs2z+VGeg2iyOXBG6onXAnfa9vaY+gqQ6X5ZL2/5TFP9T1nYNlask2W6FlQhe09OpDDaVA1 root@linode.ivps.kr
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDIacorFIiihlSc8fDOrZNab79w7STxi6ubNOAn+BsnBBKawMlWWEb6gzQTC0BTcZUQpm/s3LFQgQGdu5cfdVi+DfmicOQo9N+bjNLv/NHfoCt0yEWmlWDx2iew37Lv1BzrV/w1T2xssx7KVCrRg+NmcUbP0yPegtGsvjR17vpCafam7jxN2TRxo3uk7ah9z8budaKACMeOpF1JhEpMSahmHvweyUXNIpN3dnBnfZIUqwFFh+RnOY3rR2L2W9c0bc6KQSGpl0BavqeGrSNhYNwVYn2tcCGcDCePqrT4mFkG+QPxhpZmNNeNrlRS5NDB9FgBbVCUMuFtI7aD4qW7itI1 root@vultr.ivps.kr

2016년 5월 27일 금요일

mailx from root@localhost.localdomain

mailx 로 메일을 보내면 보낸이 메일주소가 root@localhost.localdomain 으로 나오는 경우


# hostname example.com
으로 호스명을 변경한 후에 메일을 보내면 정상적으로 root@example.com 으로 나올 것이다.

echo "테스트 메일" | /bin/mail -s "테스트 메일" "webmaster@example.com"

/etc/hostname 을 직접 수정해 주면 영구적으로 호스트명이 변경이 된다.

/bin/mail: No such file or directory Error message

/bin/mail: No such file or directory Error message

root@localhost.localdomain problem solved
http://gblog.ivps.kr/2016/05/mailx-from-rootlocalhostlocaldomain.html

[root@vultr ~]# mail
-bash: mail: command not found
[root@vultr ~]# yum -y install mailx
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: ftp.iij.ad.jp
 * epel: ftp.iij.ad.jp
 * extras: ftp.iij.ad.jp
 * updates: ftp.iij.ad.jp
Resolving Dependencies
--> Running transaction check
---> Package mailx.x86_64 0:12.5-12.el7_0 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package         Arch             Version                  Repository      Size
================================================================================
Installing:
 mailx           x86_64           12.5-12.el7_0            base           244 k

Transaction Summary
================================================================================
Install  1 Package

Total download size: 244 k
Installed size: 466 k
Downloading packages:
mailx-12.5-12.el7_0.x86_64.rpm                             | 244 kB   00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : mailx-12.5-12.el7_0.x86_64                                   1/1
  Verifying  : mailx-12.5-12.el7_0.x86_64                                   1/1

Installed:
  mailx.x86_64 0:12.5-12.el7_0

Complete!



2016년 5월 26일 목요일

Apache module compile apxs command not found

Apache module compile apxs command not found


[root@conoha ~]# apxs -a -i -l cap -c mod_ruid2.c
-bash: apxs: command not found
[root@conoha ~]# yum install httpd-devel
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: ftp.iij.ad.jp
 * epel: ftp.riken.jp
 * epel-debuginfo: ftp.riken.jp
 * epel-source: ftp.riken.jp
 * extras: ftp.iij.ad.jp
 * updates: ftp.iij.ad.jp
Resolving Dependencies
--> Running transaction check
---> Package httpd-devel.x86_64 0:2.4.6-40.el7.centos.1 will be installed
--> Processing Dependency: apr-util-devel for package: httpd-devel-2.4.6-40.el7.centos.1.x86_64
--> Processing Dependency: apr-devel for package: httpd-devel-2.4.6-40.el7.centos.1.x86_64
--> Running transaction check
---> Package apr-devel.x86_64 0:1.4.8-3.el7 will be installed
---> Package apr-util-devel.x86_64 0:1.5.2-6.el7 will be installed
--> Processing Dependency: openldap-devel(x86-64) for package: apr-util-devel-1.5.2-6.el7.x86_64
--> Processing Dependency: libdb-devel(x86-64) for package: apr-util-devel-1.5.2-6.el7.x86_64
--> Processing Dependency: expat-devel(x86-64) for package: apr-util-devel-1.5.2-6.el7.x86_64
--> Running transaction check
---> Package expat-devel.x86_64 0:2.1.0-8.el7 will be installed
---> Package libdb-devel.x86_64 0:5.3.21-19.el7 will be installed
---> Package openldap-devel.x86_64 0:2.4.40-9.el7_2 will be installed
--> Processing Dependency: cyrus-sasl-devel(x86-64) for package: openldap-devel-2.4.40-9.el7_2.x86_64
--> Running transaction check
---> Package cyrus-sasl-devel.x86_64 0:2.1.26-20.el7_2 will be installed
--> Processing Dependency: cyrus-sasl(x86-64) = 2.1.26-20.el7_2 for package: cyrus-sasl-devel-2.1.26-20.el7_2.x86_64
--> Running transaction check
---> Package cyrus-sasl.x86_64 0:2.1.26-20.el7_2 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package              Arch       Version                      Repository   Size
================================================================================
Installing:
 httpd-devel          x86_64     2.4.6-40.el7.centos.1        updates     187 k
Installing for dependencies:
 apr-devel            x86_64     1.4.8-3.el7                  base        188 k
 apr-util-devel       x86_64     1.5.2-6.el7                  base         76 k
 cyrus-sasl           x86_64     2.1.26-20.el7_2              updates      88 k
 cyrus-sasl-devel     x86_64     2.1.26-20.el7_2              updates     310 k
 expat-devel          x86_64     2.1.0-8.el7                  base         56 k
 libdb-devel          x86_64     5.3.21-19.el7                base         38 k
 openldap-devel       x86_64     2.4.40-9.el7_2               updates     799 k

Transaction Summary
================================================================================
Install  1 Package (+7 Dependent packages)

Total download size: 1.7 M
Installed size: 6.8 M
Is this ok [y/d/N]: y
Downloading packages:
(1/8): apr-devel-1.4.8-3.el7.x86_64.rpm                    | 188 kB   00:00
(2/8): httpd-devel-2.4.6-40.el7.centos.1.x86_64.rpm        | 187 kB   00:00
(3/8): libdb-devel-5.3.21-19.el7.x86_64.rpm                |  38 kB   00:00
(4/8): expat-devel-2.1.0-8.el7.x86_64.rpm                  |  56 kB   00:00
(5/8): apr-util-devel-1.5.2-6.el7.x86_64.rpm               |  76 kB   00:00
(6/8): cyrus-sasl-2.1.26-20.el7_2.x86_64.rpm               |  88 kB   00:00
(7/8): openldap-devel-2.4.40-9.el7_2.x86_64.rpm            | 799 kB   00:00
(8/8): cyrus-sasl-devel-2.1.26-20.el7_2.x86_64.rpm         | 310 kB   00:00
--------------------------------------------------------------------------------
Total                                              5.6 MB/s | 1.7 MB  00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : apr-devel-1.4.8-3.el7.x86_64                                 1/8
  Installing : libdb-devel-5.3.21-19.el7.x86_64                             2/8
  Installing : expat-devel-2.1.0-8.el7.x86_64                               3/8
  Installing : cyrus-sasl-2.1.26-20.el7_2.x86_64                            4/8
  Installing : cyrus-sasl-devel-2.1.26-20.el7_2.x86_64                      5/8
  Installing : openldap-devel-2.4.40-9.el7_2.x86_64                         6/8
  Installing : apr-util-devel-1.5.2-6.el7.x86_64                            7/8
  Installing : httpd-devel-2.4.6-40.el7.centos.1.x86_64                     8/8
  Verifying  : openldap-devel-2.4.40-9.el7_2.x86_64                         1/8
  Verifying  : apr-util-devel-1.5.2-6.el7.x86_64                            2/8
  Verifying  : cyrus-sasl-2.1.26-20.el7_2.x86_64                            3/8
  Verifying  : apr-devel-1.4.8-3.el7.x86_64                                 4/8
  Verifying  : expat-devel-2.1.0-8.el7.x86_64                               5/8
  Verifying  : libdb-devel-5.3.21-19.el7.x86_64                             6/8
  Verifying  : cyrus-sasl-devel-2.1.26-20.el7_2.x86_64                      7/8
  Verifying  : httpd-devel-2.4.6-40.el7.centos.1.x86_64                     8/8

Installed:
  httpd-devel.x86_64 0:2.4.6-40.el7.centos.1

Dependency Installed:
  apr-devel.x86_64 0:1.4.8-3.el7
  apr-util-devel.x86_64 0:1.5.2-6.el7
  cyrus-sasl.x86_64 0:2.1.26-20.el7_2
  cyrus-sasl-devel.x86_64 0:2.1.26-20.el7_2
  expat-devel.x86_64 0:2.1.0-8.el7
  libdb-devel.x86_64 0:5.3.21-19.el7
  openldap-devel.x86_64 0:2.4.40-9.el7_2

Complete!

아파치 .htaccess Rewrite URL 리디렉트 처리

아파치 .htaccess Rewrite URL 리디렉트 처리


특정 파일 또는 이미지 호출시 다른 URL 로 리디렉션 하고 싶을때 Rewrite 모듈을 활용하면 된다.
아니면 특정IP 차단 등에 응용이 가능하다.

.htaccess 파일을 편집

RewriteEngine On

RewriteCond %{HTTP_HOST} ^www\.example\.com$ [NC]
VirtualHost 운영중이라면 여러개의 호스트주소에서 www.example.com 인 경우 ( [NC] 는 대소문자 구별을 안함)

RewriteCond %{REMOTE_ADDR} ^192.168.100.123$
특정 클라이언트 IP 만 조건 처리 가능

RewriteCond %{SERVER_PORT} !^8080$
특정 포트 ! 은 반대의 의미 ( ^8080$ : 8080 포트인 경우, !^8080$ : 8080 포트가 아닐 경우 )

RewriteCond %{REQUEST_URI} ^/directory/(.+).(jpg|gif|png)$ [NC]
특정 디렉토리 아래의 확장자 jpg, gif, png 인 경우

RewriteCond %{HTTP_USER_AGENT} (Android) [NC]
유저에이전트가 Android 인 경우

RewriteRule ^(.*)/directory/(.+)$ http://www.example.com:8080/directory/$2 [R=301,L]
www.example.com:8080 으로 리디렉션 처리
도메인주소를 제외한 뒤쪽 주소가 동일하다면 http://www.example.com:8080%{REQUEST_URI} 이렇게도 처리가 가능하다.

위의 예제를 참고해서 원하는 리디렉트 처리가 가능하다.


2016년 5월 25일 수요일

CentOS 7.x minimal 설치후 불필요한 데몬 죽이기

CentOS 7.x minimal 설치후 불필요한 데몬(서비스) 죽이기


pstree 는 yum install psmisc 로 설치하여야 한다.

# pstree
systemd─┬─NetworkManager─┬─2*[dhclient]
        │                └─2*[{NetworkManager}]
        ├─2*[agetty]
        ├─anacron
        ├─atd
        ├─auditd───{auditd}
        ├─crond
        ├─dbus-daemon
        ├─firewalld───{firewalld}
        ├─httpd───6*[httpd]
        ├─irqbalance
        ├─lsmd
        ├─lvmetad
        ├─master─┬─pickup
        │        └─qmgr
        ├─mysqld_safe───mysqld───18*[{mysqld}]
        ├─ntpd
        ├─polkitd───5*[{polkitd}]
        ├─qemu-ga
        ├─rsyslogd───2*[{rsyslogd}]
        ├─sshd───bash───pstree
        ├─sshd───bash
        ├─sshd
        ├─systemd-journal
        ├─systemd-logind
        ├─systemd-udevd
        ├─tuned───4*[{tuned}]
        └─wpa_supplicant

불필요한 데몬이라고 생각되는 서비스를 종료시켜 주자.

systemctl stop smartd
systemctl disable smartd

systemctl stop rngd
ystemctl disable rngd

systemctl stop abrtd
systemctl disable abrtd

systemctl stop atd
systemctl disable atd

systemctl stop irqbalance
systemctl disable irqbalance

systemctl stop qemu-guest-agent
systemctl disable qemu-guest-agent

시스템에 따라 초기에 설치된 서비스는 다를 수 있다.

NetworkManager 도 IP 만 static 으로 잡아 놓으면 종료시켜도 무방하다.
wpa_supplicant 도 포함해서 종료시키자.

systemctl stop NetworkManager
systemctl disable NetworkManager

systemctl stop wpa_supplicant
systemctl disable wpa_supplicant


CentOS 7.x minimal 설치 후 해야되는 일들 정리 http://blog.ivps.kr/86

리눅스 디렉토리 복사하기

리눅스에서 디렉토리를 복사할때 그냥

cp 디렉토리1 디렉토리2 하면

[root@conoha ~]# mkdir testdir
[root@conoha ~]# cp testdir testdir2
cp: omitting directory ‘testdir’

위와 같이 에러가 발생한다.

이럴때는 -r 옵션을 주면 된다.

[root@conoha ~]# cp -r testdir testdir2

[root@conoha ~]# rmdir testdir1 testdir2


2016년 5월 24일 화요일

블로그스팟 구글맞춤검색 사이드 가젯달기

블로그스팟 구글맞춤검색 사이드 가젯달기


블로그스팟은 맞춤검색 기능을 티스토리나 이글루스 처럼 달수도 있지만

관리자 기능에 가젯 추가에서 맞춤검색을 제공하고 있다.

가젯 추가를 누르고 돋보기 모양 아이콘 검색창을 클릭하면 아래와 같이 구성이 가능하다.

블로그스팟 맞춤검색 사이드가젯

구글 맞춤검색 기능 사이드 위젯에 달았는데

애드센스 수익이랑은 별 연관이 없을 듯 하다.

블로그가 검색 관련 사이트가 아니여서 블로그 방문자가 많은 것도 아니고

방문자가 많은 검색 위주 사이트라면 한번 달아볼만 하지 않을까싶다.

CentOS 7.x MariaDB mysql_secure_installation

CentOS 7.x MariaDB mysql_secure_installation

MySQL 설치 후 초기설정입니다.


[root@vultr ~]# mysql_secure_installation
/usr/bin/mysql_secure_installation: line 379: find_mysql_client: command not found

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current
password for the root user.  If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.

Enter current password for root (enter for none):
OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.

You already have a root password set, so you can safely answer 'n'.

Change the root password? [Y/n] y
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
 ... Success!


By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] y
 ... Success!

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] y
 ... Success!

By default, MariaDB comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] y
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] y
 ... Success!

Cleaning up...

All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!


CANVAS Drawing line with jQuery example

CANVAS Drawing line with jQuery example


<script>
$(document).ready(function(){
var drawCanvas = document.getElementById('drawCanvas');
var drawBackup = new Array();
if (typeof drawCanvas.getContext == 'function') {
var ctx = drawCanvas.getContext('2d');
var isDraw = false;
var width = $('#width').val();;
var color = $('#color').val();
var pDraw = $('#drawCanvas').offset();
var currP = null;

$('#width').bind('change', function(){ width = $('#width').val(); });
$('#color').bind('change', function(){ color = $('#color').val(); });

if (localStorage['imgCanvas']) {
loadImage();
} else {
ctx.clearRect(0, 0, drawCanvas.width, drawCanvas.height);
}

// Event (mouse)
$('#drawCanvas').bind('mousedown', function(e) {
if (e.button===0) {
saveCanvas();
e.preventDefault();
ctx.beginPath();
isDraw = true;
}
});
$('#drawCanvas').bind('mousemove', function(e) {
var event = e.originalEvent;
e.preventDefault();
currP = { X:event.offsetX, Y:event.offsetY };
if(isDraw) draw_line(currP);
});
$('#drawCanvas').bind('mouseup', function(e) {
e.preventDefault();
isDraw = false;
});
$('#drawCanvas').bind('mouseleave', function(e) {
isDraw = false;
});

// Event (touchscreen)
$('#drawCanvas').bind('touchstart', function(e) {
saveCanvas();
e.preventDefault();
ctx.beginPath();
});
$('#drawCanvas').bind('touchmove', function(e) {
var event = e.originalEvent;
e.preventDefault();
currP = { X:event.touches[0].pageX-pDraw.left, Y:event.touches[0].pageY-pDraw.top };
draw_line(currP);
});
$('#drawCanvas').bind('touchend', function(e) {
e.preventDefault();
});

function draw_line(p) {
ctx.lineWidth = width;
ctx.lineCap = 'round';
ctx.lineTo(p.X, p.Y);
ctx.moveTo(p.X, p.Y);
ctx.strokeStyle = color;
ctx.stroke();
}

function loadImage() { // reload from localStorage
var img = new Image();
img.onload = function() {
ctx.drawImage(img, 0, 0);
}
img.src = localStorage.getItem('imgCanvas');
}

function saveImage() { // save to localStorage
var canvas = document.getElementById('drawCanvas');
localStorage.setItem('imgCanvas', canvas.toDataURL('image/png'));
var img =  document.getElementById('saveImg');
img.src = canvas.toDataURL('image/png');
var tmp = $('<a>').attr('download', 'test.png').attr('href', img.src);
tmp[0].click();
tmp.remove();
}

function clearCanvas() {
ctx.clearRect(0, 0, drawCanvas.width, drawCanvas.height);
ctx.beginPath();
localStorage.removeItem('imgCanvas');
}

function saveCanvas() {
drawBackup.push(ctx.getImageData(0, 0, drawCanvas.width, drawCanvas.height));
}

function prevCanvas() {
ctx.putImageData(drawBackup.pop(), 0, 0);
}

$('#btnPrev').click(function() {
prevCanvas();
});

$('#btnClea').click(function() {
clearCanvas();
});

$('#btnSave').click(function() {
saveImage();
});
}
});
</script>

<div>
<div align="center">
<canvas id="drawCanvas" width="320" height="320" style="border:1px solid #000000;">Canvas not supported</canvas>
</div>
<div align="center">
<select id="width">
<option value="1">1px</option>
<option value="2">2px</option>
<option value="3" selected>3px</option>
<option value="5">5px</option>
<option value="10">10px</option>
<option value="20">20px</option>
</select>
<select id="color">
<option value="#000000">Black</option>
<option value="#FF0000">Red</option>
<option value="#00FF00">Green</option>
<option value="#0000FF">Blue</option>
<option value="#FFFF00">Yellow</option>
<option value="#FFFFFF">White</option>
</select>
<button id="btnPrev">Undo</button>
<button id="btnClea">Clear</button>
<button id="btnSave">Save</button>
</div>
</div>
<img id="saveImg" src="" style="display:none;" />

Reference : http://itrooms.tistory.com/213

2016년 5월 23일 월요일

Linode DNS Manager 둘러보기

Linode 에 DNS Manager 기능을 한번 살펴보았다.


리노드는 Vultr.com 의 네임서버 관리메뉴와 달리 2차 서브도메인도 DNS 관리에 등록하여 관리가 가능하다.

ConoHa 도 2차 서브도메인을 네임서버로 관리가 가능한데 Vultr 는 왜 지원을 안하는지 모르겠다. DNSZi 도 지원안함.

DNS 관리 메뉴를 비교하자면

기능적인 측면에서는 Linode 가 제일 완벽한 듯 하다.

코노하는 hostname 에 . (마침표) 입력이 불가능하고,

Vultr 는 2차 네임서버 관리가 불가능 한게 아쉬운 단점이다.

아 그리고 Linode 의 단점이 하나 있는데 host 를 하나 추가하고 즉각적으로 반영이 안된다는 점이다.

TTL 디폴트가 1시간에 4번 이라더니 바로 반영이 안되는게 조금 아쉽다.


Linode.com DNS Manager

위 캡쳐화면을 보면 2차 서브도메인도 관리가 가능하다는 것을 알 수 있다.


Linode.com DNS Manager

생소하지만 SRV 레코드까지 관리가 된다. (ConoHa 동일 기능)

Vultr 도 SRV 레코드가 있긴 하지만 Linode 처럼 디테일 하지는 못하다.

2016년 5월 21일 토요일

ConoHa DigitalOcean Linode Vultr 추천 가입 혜택 정리

ConoHa DigitalOcean Linode Vultr 추천 가입 혜택 정리



ConoHa 는 추천하는자 추천가입자 모두에게 혜택이 돌아가는데

추천링크로 가입시 가입자에게 1000엔 쿠폰 발급, 추천자에겐 혜택없음.
추천가입자가 2000엔 유료 결제시 추천자에게 2000엔 쿠폰이 발급됨.
그런데 이 쿠폰사용 유효기간이 6개월임.

코노하 추천가입링크 https://www.conoha.jp/referral/?token=V0dvtV8Ce_0RAoTgKv1DIFqU6naZOB3elyryfs6kXfCxsdukipc-C0T


DigitalOcean 추천가입 설명

Give $10, Get $25
Everyone you refer gets $10 in credit. Once they’ve spent $25 with us, you'll get $25. There is no limit to the amount of credit you can earn through referrals.
추천링크로 가입시 10달러 받을 수 있으며, 25달러 사용시 25달러를 받을 수 있음.

디지털오션 추천가입링크 https://m.do.co/c/20fa14be8f45


Linode 추천가입 설명

Referrals reward you when you refer people to Linode. If someone signs up using your referral code, you'll receive a credit of $20.00, so long as the person you referred remains an active customer for 90 days.
발 번역하자면 당신의 추천코드로 누군가 가입을 하게되면, 당신은 90일 안에 사용할 수 있는 20달러 크레딧을 받을 것이다. 이런 내용인데요~
추천가입자가 받는 혜택에 대한 언급이 없네요.

리노드 추천가입링크 https://www.linode.com/?r=b60cea2dc7efaa477a6565a5757e65577d97d20e

Linode Referrals


Vultr 추천가입 설명

Refer Vultr.com and earn $10 per paid signup!
Vultr.com 에 추천하면, 추천가입자가 유료 가입시 10달러가 적립된다고 하네요.

Vultr 추천가입링크 http://www.vultr.com/?ref=6898591 제 추천 링크인데 쿠폰을 얼마주는지 잘 모르겠네요.

여기 링크로 가서 https://www.vultr.com/freetrial/ 가입시 60일안에 사용할 수 있는 50달러 쿠폰을 받을 수 있습니다.

Vultr Refer

사실 ConoHa 도 추천링크로 가입자에게 1000엔 쿠폰이 발급된다는 문구는 없는데
실제로 추천링크로 가입시 1000엔 쿠폰이 발급이 됩니다.

Linode, Vultr 도 사이트에는 추천가입자에 대한 언급은 없네요.
추천가입자에게도 혜택이 돌아가야 추천을 하던지 그럴텐데요~

구글링해서 검색해봐도 명확하게 언급된 내용을 못 찾겠군요~

2016년 5월 20일 금요일

Vultr VPS Download speed test

Vultr VPS Download speed test


Vultr 다운로드 속도 테스트를 Vultr, Conoha, Linode VPS 서버에서 wget 으로 테스트한 결과입니다.


Vultr Locations Vultr(도쿄) Conoha(도쿄) Linode(싱가포르) VirtualBox(SKB)
(EU) Frankfurt, DE 39.68 Mbps 40.88 Mbps 8.72 Mbps 25.36 Mbps
(EU) Amsterdam, NL 39.76 Mbps 34.96 Mbps 29.04 Mbps 25.28 Mbps
(EU) Paris, France 21.36 Mbps 28.72 Mbps 27.44 Mbps 25.60 Mbps
(EU) London, UK 37.12 Mbps 33.04 Mbps 28.72 Mbps 27.60 Mbps
(Asia) Tokyo, Japan 790.40 Mbps 147.20 Mbps 155.20 Mbps 26.72 Mbps
New York (NJ) 67.28 Mbps 48.64 Mbps 40.08 Mbps 27.68 Mbps
Chicago, Illinois 78.16 Mbps 71.04 Mbps 20.08 Mbps 26.64 Mbps
Atlanta, Georgia 72.88 Mbps 63.04 Mbps 43.68 Mbps 27.36 Mbps
Miami, Florida 55.04 Mbps 6.92 Mbps 10.96 Mbps 27.68 Mbps
Seattle, Washington 89.60 Mbps 98.40 Mbps 8.16 Mbps 28.32 Mbps
Dallas, Texas 81.60 Mbps 72.40 Mbps 48.80 Mbps 25.36 Mbps
Silicon Valley, California 124.00 Mbps 96.00 Mbps 60.96 Mbps 27.68 Mbps
Los Angeles, California 104.80 Mbps 91.20 Mbps 60.16 Mbps 28.48 Mbps
(AU) Sydney, Australia 101.60 Mbps 84.00 Mbps 104.8 Mbps 27.20 Mbps

평균적으로 Vultr 가 네트워크 속도가 빠른 것 같으며,
다음으로 코노하, 리노드가 3위이군요~

그리고 VirtualBox 에서도 테스트 해보았습니다. 인터넷이 SK브로드밴드인데 아무래도 해외망은 트래픽 제어를 하나봅니다. ㅎ

PS : 위 VPS 에서 DigitalOcean 이 추가된 테스트결과는 http://blog.ivps.kr/81 여기를 보시면 됩니다.

테스트 한 명령어입니다.

wget -O /dev/null http://fra-de-ping.vultr.com/vultr.com.100MB.bin
wget -O /dev/null http://ams-nl-ping.vultr.com/vultr.com.100MB.bin
wget -O /dev/null http://par-fr-ping.vultr.com/vultr.com.100MB.bin
wget -O /dev/null http://lon-gb-ping.vultr.com/vultr.com.100MB.bin
wget -O /dev/null http://hnd-jp-ping.vultr.com/vultr.com.100MB.bin
wget -O /dev/null http://nj-us-ping.vultr.com/vultr.com.100MB.bin
wget -O /dev/null http://il-us-ping.vultr.com/vultr.com.100MB.bin
wget -O /dev/null http://ga-us-ping.vultr.com/vultr.com.100MB.bin
wget -O /dev/null http://fl-us-ping.vultr.com/vultr.com.100MB.bin
wget -O /dev/null http://wa-us-ping.vultr.com/vultr.com.100MB.bin
wget -O /dev/null http://tx-us-ping.vultr.com/vultr.com.100MB.bin
wget -O /dev/null http://sjo-ca-us-ping.vultr.com/vultr.com.100MB.bin
wget -O /dev/null http://lax-ca-us-ping.vultr.com/vultr.com.100MB.bin
wget -O /dev/null http://syd-au-ping.vultr.com/vultr.com.100MB.bin


테스트 결과물입니다.

// vultr (도쿄)

[root@vultr ~]# wget -O /dev/null http://fra-de-ping.vultr.com/vultr.com.100MB.bin
2016-05-20 15:13:29 (4.96 MB/s) - ‘/dev/null’ saved [104857600/104857600]

[root@vultr ~]# wget -O /dev/null http://ams-nl-ping.vultr.com/vultr.com.100MB.bin
2016-05-20 15:14:46 (4.97 MB/s) - ‘/dev/null’ saved [104857600/104857600]

[root@vultr ~]# wget -O /dev/null http://par-fr-ping.vultr.com/vultr.com.100MB.bin
2016-05-20 15:15:50 (2.67 MB/s) - ‘/dev/null’ saved [104857600/104857600]

[root@vultr ~]# wget -O /dev/null http://lon-gb-ping.vultr.com/vultr.com.100MB.bin
2016-05-20 15:16:56 (4.64 MB/s) - ‘/dev/null’ saved [104857600/104857600]

[root@vultr ~]# wget -O /dev/null http://hnd-jp-ping.vultr.com/vultr.com.100MB.bin
2016-05-20 15:17:42 (98.8 MB/s) - ‘/dev/null’ saved [104857600/104857600]

[root@vultr ~]# wget -O /dev/null http://nj-us-ping.vultr.com/vultr.com.100MB.bin
2016-05-20 15:17:54 (8.41 MB/s) - ‘/dev/null’ saved [104857600/104857600]

[root@vultr ~]# wget -O /dev/null http://il-us-ping.vultr.com/vultr.com.100MB.bin
2016-05-20 15:18:05 (9.77 MB/s) - ‘/dev/null’ saved [104857600/104857600]

[root@vultr ~]# wget -O /dev/null http://ga-us-ping.vultr.com/vultr.com.100MB.bin
2016-05-20 15:18:16 (9.11 MB/s) - ‘/dev/null’ saved [104857600/104857600]

[root@vultr ~]# wget -O /dev/null http://fl-us-ping.vultr.com/vultr.com.100MB.bin
2016-05-20 15:18:31 (6.88 MB/s) - ‘/dev/null’ saved [104857600/104857600]

[root@vultr ~]# wget -O /dev/null http://wa-us-ping.vultr.com/vultr.com.100MB.bin
2016-05-20 15:18:40 (11.2 MB/s) - ‘/dev/null’ saved [104857600/104857600]

[root@vultr ~]# wget -O /dev/null http://tx-us-ping.vultr.com/vultr.com.100MB.bin
2016-05-20 15:18:50 (10.2 MB/s) - ‘/dev/null’ saved [104857600/104857600]

[root@vultr ~]# wget -O /dev/null http://sjo-ca-us-ping.vultr.com/vultr.com.100MB.bin
2016-05-20 15:18:57 (15.5 MB/s) - ‘/dev/null’ saved [104857600/104857600]

[root@vultr ~]# wget -O /dev/null http://lax-ca-us-ping.vultr.com/vultr.com.100MB.bin
2016-05-20 15:19:05 (13.1 MB/s) - ‘/dev/null’ saved [104857600/104857600]

[root@vultr ~]# wget -O /dev/null http://syd-au-ping.vultr.com/vultr.com.100MB.bin
2016-05-20 15:19:13 (12.7 MB/s) - ‘/dev/null’ saved [104857600/104857600]


// conoha (도쿄)

[root@conoha ~]# wget -O /dev/null http://fra-de-ping.vultr.com/vultr.com.100MB.bin
2016-05-20 15:21:56 (5.11 MB/s) - ‘/dev/null’ saved [104857600/104857600]

[root@conoha ~]# wget -O /dev/null http://ams-nl-ping.vultr.com/vultr.com.100MB.bin
2016-05-20 15:22:19 (4.37 MB/s) - ‘/dev/null’ saved [104857600/104857600]

[root@conoha ~]# wget -O /dev/null http://par-fr-ping.vultr.com/vultr.com.100MB.bin
2016-05-20 15:22:48 (3.59 MB/s) - ‘/dev/null’ saved [104857600/104857600]

[root@conoha ~]# wget -O /dev/null http://lon-gb-ping.vultr.com/vultr.com.100MB.bin
2016-05-20 15:23:13 (4.13 MB/s) - ‘/dev/null’ saved [104857600/104857600]

[root@conoha ~]# wget -O /dev/null http://hnd-jp-ping.vultr.com/vultr.com.100MB.bin
2016-05-20 15:23:18 (18.4 MB/s) - ‘/dev/null’ saved [104857600/104857600]

[root@conoha ~]# wget -O /dev/null http://nj-us-ping.vultr.com/vultr.com.100MB.bin
2016-05-20 15:23:35 (6.08 MB/s) - ‘/dev/null’ saved [104857600/104857600]

[root@conoha ~]# wget -O /dev/null http://il-us-ping.vultr.com/vultr.com.100MB.bin
2016-05-20 15:23:47 (8.88 MB/s) - ‘/dev/null’ saved [104857600/104857600]

[root@conoha ~]# wget -O /dev/null http://ga-us-ping.vultr.com/vultr.com.100MB.bin
2016-05-20 15:24:39 (7.88 MB/s) - ‘/dev/null’ saved [104857600/104857600]

[root@conoha ~]# wget -O /dev/null http://fl-us-ping.vultr.com/vultr.com.100MB.bin
2016-05-20 15:26:38 (865 KB/s) - ‘/dev/null’ saved [104857600/104857600]

[root@conoha ~]# wget -O /dev/null http://wa-us-ping.vultr.com/vultr.com.100MB.bin
2016-05-20 15:26:47 (12.3 MB/s) - ‘/dev/null’ saved [104857600/104857600]

[root@conoha ~]# wget -O /dev/null http://tx-us-ping.vultr.com/vultr.com.100MB.bin
2016-05-20 15:26:58 (9.05 MB/s) - ‘/dev/null’ saved [104857600/104857600]

[root@conoha ~]# wget -O /dev/null http://sjo-ca-us-ping.vultr.com/vultr.com.100MB.bin
2016-05-20 15:27:07 (12.0 MB/s) - ‘/dev/null’ saved [104857600/104857600]

[root@conoha ~]# wget -O /dev/null http://lax-ca-us-ping.vultr.com/vultr.com.100MB.bin
2016-05-20 15:27:16 (11.4 MB/s) - ‘/dev/null’ saved [104857600/104857600]

[root@conoha ~]# wget -O /dev/null http://syd-au-ping.vultr.com/vultr.com.100MB.bin
2016-05-20 15:27:26 (10.5 MB/s) - ‘/dev/null’ saved [104857600/104857600]


// linode (싱가포르)

[root@linode ~]# wget -O /dev/null http://fra-de-ping.vultr.com/vultr.com.100MB.bin
2016-05-20 06:30:03 (1.09 MB/s) - ‘/dev/null’ saved [104857600/104857600]

[root@linode ~]# wget -O /dev/null http://ams-nl-ping.vultr.com/vultr.com.100MB.bin
2016-05-20 06:30:31 (3.63 MB/s) - ‘/dev/null’ saved [104857600/104857600]

[root@linode ~]# wget -O /dev/null http://par-fr-ping.vultr.com/vultr.com.100MB.bin
2016-05-20 06:31:01 (3.43 MB/s) - ‘/dev/null’ saved [104857600/104857600]

[root@linode ~]# wget -O /dev/null http://lon-gb-ping.vultr.com/vultr.com.100MB.bin
2016-05-20 06:31:29 (3.59 MB/s) - ‘/dev/null’ saved [104857600/104857600]

[root@linode ~]# wget -O /dev/null http://hnd-jp-ping.vultr.com/vultr.com.100MB.bin
2016-05-20 06:31:35 (19.4 MB/s) - ‘/dev/null’ saved [104857600/104857600]

[root@linode ~]# wget -O /dev/null http://nj-us-ping.vultr.com/vultr.com.100MB.bin
2016-05-20 06:31:55 (5.01 MB/s) - ‘/dev/null’ saved [104857600/104857600]

[root@linode ~]# wget -O /dev/null http://il-us-ping.vultr.com/vultr.com.100MB.bin
2016-05-20 06:32:36 (2.51 MB/s) - ‘/dev/null’ saved [104857600/104857600]

[root@linode ~]# wget -O /dev/null http://ga-us-ping.vultr.com/vultr.com.100MB.bin
2016-05-20 06:34:10 (5.46 MB/s) - ‘/dev/null’ saved [104857600/104857600]

[root@linode ~]# wget -O /dev/null http://fl-us-ping.vultr.com/vultr.com.100MB.bin
2016-05-20 06:35:24 (1.37 MB/s) - ‘/dev/null’ saved [104857600/104857600]

[root@linode ~]# wget -O /dev/null http://wa-us-ping.vultr.com/vultr.com.100MB.bin
2016-05-20 06:37:02 (1.02 MB/s) - ‘/dev/null’ saved [104857600/104857600]

[root@linode ~]# wget -O /dev/null http://tx-us-ping.vultr.com/vultr.com.100MB.bin
2016-05-20 06:37:19 (6.10 MB/s) - ‘/dev/null’ saved [104857600/104857600]

[root@linode ~]# wget -O /dev/null http://sjo-ca-us-ping.vultr.com/vultr.com.100MB.bin
2016-05-20 06:37:32 (7.62 MB/s) - ‘/dev/null’ saved [104857600/104857600]

[root@linode ~]# wget -O /dev/null http://lax-ca-us-ping.vultr.com/vultr.com.100MB.bin
2016-05-20 06:37:46 (7.52 MB/s) - ‘/dev/null’ saved [104857600/104857600]

[root@linode ~]# wget -O /dev/null http://syd-au-ping.vultr.com/vultr.com.100MB.bin
2016-05-20 06:37:54 (13.1 MB/s) - ‘/dev/null’ saved [104857600/104857600]

2016년 5월 18일 수요일

Vultr DNS 메뉴에서 서브도메인은 추가 안된다

Vultr DNS 메뉴에서 서브도메인은 추가 안된다.


ivps.kr 은 되지만 vu.ivps.kr 은 Add Domain 으로 추가가 안된다.

ConoHa, Linode 에서는 되는데 Vultr 에서는 안되네~

서로 장단점이 있어서 어느 VPS 업체가 좋은지 판단하기가 힘들다.


vultr.com dns add domain


vultr.com dns add domain

Unable to add domain: Subdomains are not permitted

vultr.com dns add subdomain

OTL

2016년 5월 16일 월요일

CentOS 7.x minimal 설치 후 필요한 rpm

CentOS 7.x minimal 설치 후 필요한 rpm


[root@conoha httpd]# ftp
-bash: ftp: command not found

이렇게 설치되지 않는 유틸이 많다.
CentOS 7.x minimal 은 정말로 최소설치인가 보다.

컴파일관련
yum group install "Development Tools"

유틸명과 동일한 rpm 패키지
gcc hdparm make telnet vsftpd wget
yum -y install package명

유틸명과 다른 rpm 패키지
nslookup : bind-utils
pstree : psmisc
semanage : selinux-policy-devel
webdav : davfs2

추후 필요한게 있으면 업데이트


2016년 5월 13일 금요일

CentOS 6.x Openstack Swift install

CentOS 6.x Openstack Swift install


yum -y install python-devel python-setuptools python-pip
pip install --upgrade setuptools pip
pip install python-swiftclient
pip install python-keystoneclient


[root@virtualbox ~]# swift stat
Traceback (most recent call last):
  File "/usr/bin/swift", line 7, in <module>
    from swiftclient.shell import main
  File "/usr/lib/python2.6/site-packages/swiftclient/__init__.py", line 20, in <module>
    from .client import *  # noqa
  File "/usr/lib/python2.6/site-packages/swiftclient/client.py", line 136
    return {key: safe_value(key, val) for (key, val) in headers}
                                        ^
SyntaxError: invalid syntax


에러발생가 발생한다.
yum 으로 설치된 python 버전은 2.6.6 이다.
2.7.11 버전으로 올려보자.


아래 과정을 하나씩 실행하면 된다.

wget --no-check-certificate -N http://www.python.org/ftp/python/2.7.11/Python-2.7.11.tgz
tar zxvf Python-2.7.11.tgz
cd Python-2.7.11
./configure
make && make altinstall
mv /usr/bin/python /usr/bin/python_2.6.6
cp ./python /usr/bin/python
cd ..
wget --no-check-certificate https://pypi.python.org/packages/source/s/setuptools/setuptools-1.4.2.tar.gz
tar zxvf setuptools-1.4.2.tar.gz
cd setuptools-1.4.2
python setup.py install
easy_install pip
pip install python-swiftclient
pip install python-keystoneclient


설치가 완료되었다.

[root@virtualbox ~]# swift stat
Auth version 1.0 requires ST_AUTH, ST_USER, and ST_KEY environment variables
to be set or overridden with -A, -U, or -K.

Auth version 2.0 requires OS_AUTH_URL, OS_USERNAME, OS_PASSWORD, and
OS_TENANT_NAME OS_TENANT_ID to be set or overridden with --os-auth-url,
--os-username, --os-password, --os-tenant-name or os-tenant-id. Note:
adding "-V 2" is necessary for this.

에러가 발생하지 않고 잘 된다.

CentOS 7.x 버전 Swift 설치는 여기를 http://blog.ivps.kr/54 참고하자.


위와 같이 강제로 python을 업그레이드 하게 되면 yum 이 실행되지 않는다.

There was a problem importing one of the Python modules
required to run yum. The error leading to this problem was:

   No module named yum

다시 재설치 하는 방법은 http://blog.ivps.kr/222 여기를 참고하자.

CentOS 7.x vsftpd 500 OOPS: chroot Error message

CentOS 7.x vsftpd 500 OOPS: chroot Error message


/etc/vsftpd/vsftpd.conf
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list


add to conf "allow_writeable_chroot=YES"


# echo "allow_writeable_chroot=YES" >> /etc/vsftpd/vsftpd.conf

# systemctl restart vsftpd

# getsebool -a | grep ^ftp_home_dir
ftp_home_dir --> off

# setsebool -P ftp_home_dir on

2016년 5월 12일 목요일

How to Install Swift Client for Object Storage

How to Install Swift Client for Object Storage


CentOS 7.x

yum install python-setuptools
easy_install pip
pip install --upgrade setuptools
pip install python-swiftclient


[root@virtualbox ~]# yum install python-setuptools
Loaded plugins: fastestmirror
Repodata is over 2 weeks old. Install yum-cron? Or run: yum makecache fast
base                                                     | 3.6 kB     00:00
epel/x86_64/metalink                                     | 4.5 kB     00:00
epel                                                     | 4.3 kB     00:00
extras                                                   | 3.4 kB     00:00
updates                                                  | 3.4 kB     00:00
(1/5): epel/x86_64/group_gz                                | 170 kB   00:00
(2/5): epel/x86_64/updateinfo                              | 547 kB   00:00
(3/5): epel/x86_64/primary_db                              | 4.1 MB   00:00
(4/5): updates/7/x86_64/primary_db                         | 4.1 MB   00:06
(5/5): extras/7/x86_64/primary_db                          | 117 kB   00:25
Determining fastest mirrors
 * base: centos.mirror.cdnetworks.com
 * epel: ftp.jaist.ac.jp
 * extras: centos.mirror.cdnetworks.com
 * updates: centos.mirror.cdnetworks.com
Resolving Dependencies
--> Running transaction check
---> Package python-setuptools.noarch 0:0.9.8-4.el7 will be installed
--> Processing Dependency: python-backports-ssl_match_hostname for package: python-setuptools-0.9.8-4.el7.noarch
--> Running transaction check
---> Package python-backports-ssl_match_hostname.noarch 0:3.4.0.2-4.el7 will be installed
--> Processing Dependency: python-backports for package: python-backports-ssl_match_hostname-3.4.0.2-4.el7.noarch
--> Running transaction check
---> Package python-backports.x86_64 0:1.0-8.el7 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package                               Arch     Version            Repository
                                                                           Size
================================================================================
Installing:
 python-setuptools                     noarch   0.9.8-4.el7        base   396 k
Installing for dependencies:
 python-backports                      x86_64   1.0-8.el7          base   5.8 k
 python-backports-ssl_match_hostname   noarch   3.4.0.2-4.el7      base    12 k

Transaction Summary
================================================================================
Install  1 Package (+2 Dependent packages)

Total download size: 414 k
Installed size: 2.0 M
Is this ok [y/d/N]: y
Downloading packages:
(1/3): python-setuptools-0.9.8-4.el7.noarch.rpm            | 396 kB   00:00
(2/3): python-backports-1.0-8.el7.x86_64.rpm               | 5.8 kB   00:05
(3/3): python-backports-ssl_match_hostname-3.4.0.2-4.el7.n |  12 kB   00:25
--------------------------------------------------------------------------------
Total                                               16 kB/s | 414 kB  00:25
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : python-backports-1.0-8.el7.x86_64                            1/3
  Installing : python-backports-ssl_match_hostname-3.4.0.2-4.el7.noarch     2/3
  Installing : python-setuptools-0.9.8-4.el7.noarch                         3/3
  Verifying  : python-setuptools-0.9.8-4.el7.noarch                         1/3
  Verifying  : python-backports-1.0-8.el7.x86_64                            2/3
  Verifying  : python-backports-ssl_match_hostname-3.4.0.2-4.el7.noarch     3/3

Installed:
  python-setuptools.noarch 0:0.9.8-4.el7

Dependency Installed:
  python-backports.x86_64 0:1.0-8.el7
  python-backports-ssl_match_hostname.noarch 0:3.4.0.2-4.el7

Complete!
[root@virtualbox ~]# easy_install pip
Searching for pip
Reading https://pypi.python.org/simple/pip/
Best match: pip 8.1.2
Downloading https://pypi.python.org/packages/e7/a8/7556133689add8d1a54c0b14aeff0acb03c64707ce100ecd53934da1aa13/pip-8.1.2.tar.gz#md5=87083c0b9867963b29f7aba3613e8f4a
Processing pip-8.1.2.tar.gz
Writing /tmp/easy_install-LKbKL4/pip-8.1.2/setup.cfg
Running pip-8.1.2/setup.py -q bdist_egg --dist-dir /tmp/easy_install-LKbKL4/pip-8.1.2/egg-dist-tmp-7ZZIFO
warning: no previously-included files found matching '.coveragerc'
warning: no previously-included files found matching '.mailmap'
warning: no previously-included files found matching '.travis.yml'
warning: no previously-included files found matching '.landscape.yml'
warning: no previously-included files found matching 'pip/_vendor/Makefile'
warning: no previously-included files found matching 'tox.ini'
warning: no previously-included files found matching 'dev-requirements.txt'
warning: no previously-included files found matching 'appveyor.yml'
no previously-included directories found matching '.github'
no previously-included directories found matching '.travis'
no previously-included directories found matching 'docs/_build'
no previously-included directories found matching 'contrib'
no previously-included directories found matching 'tasks'
no previously-included directories found matching 'tests'
Adding pip 8.1.2 to easy-install.pth file
Installing pip script to /usr/bin
Installing pip2.7 script to /usr/bin
Installing pip2 script to /usr/bin

Installed /usr/lib/python2.7/site-packages/pip-8.1.2-py2.7.egg
Processing dependencies for pip
Finished processing dependencies for pip
[root@virtualbox ~]# pip install --upgrade setuptools
Collecting setuptools
  Downloading setuptools-21.0.0-py2.py3-none-any.whl (509kB)
    100% |████████████████████████████████| 512kB 1.8MB/s
Installing collected packages: setuptools
  Found existing installation: setuptools 0.9.8
    Uninstalling setuptools-0.9.8:
      Successfully uninstalled setuptools-0.9.8
Successfully installed setuptools-21.0.0
[root@virtualbox ~]# pip install python-swiftclient
Collecting python-swiftclient
  Downloading python_swiftclient-3.0.0-py2.py3-none-any.whl (62kB)
    100% |████████████████████████████████| 71kB 711kB/s
Collecting futures>=2.1.3 (from python-swiftclient)
  Downloading futures-3.0.5-py2-none-any.whl
Collecting six>=1.5.2 (from python-swiftclient)
  Downloading six-1.10.0-py2.py3-none-any.whl
Collecting requests>=1.1 (from python-swiftclient)
  Downloading requests-2.10.0-py2.py3-none-any.whl (506kB)
    100% |████████████████████████████████| 512kB 1.1MB/s
Installing collected packages: futures, six, requests, python-swiftclient
Successfully installed futures-3.0.5 python-swiftclient-3.0.0 requests-2.10.0 six-1.10.0