SoftEther VPN オープンソース版をCentOS7に30分でインストールしてみた。

環境

OS:   CentOS Linux 7 (Core)
VCPU: 1
MEM:  512MB
VPS:  ConoHa

手順

1.パッケージを追加
2.SoftEtherソースコードをダウンロード
3.SoftEtherのシステムチェック
4.Firewalldにサービスを追加

1.パッケージを追加

# yum install -y gcc make wget

2.SoftEtherソースコードをダウンロード

作業ディレクトに移動

# cd /usr/local/src

ソースコードをダウンロード

# wget http://jp.softether-download.com/files/softether/v4.22-9634-beta-2016.11.27-tree/Linux/SoftEther_VPN_Server/64bit_-_Intel_x64_or_AMD64/softether-vpnserver-v4.22-9634-beta-2016.11.27-linux-x64-64bit.tar.gz

ダウンロードしたソースコードを展開

# tar -zxvf softether-vpnserver-v4.22-9634-beta-2016.11.27-linux-x64-64bit.tar.gz

展開したディレクトリの場所を変更

# mv vpnserver/ /usr/local/

変更先に移動

# cd /usr/local/vpnserver/

SoftEtherコンパイル

# make

コマンドに実行権限を付与

# chmod 600 ./* && chmod 700 vpncmd && chmod 700 vpnserver

3.SoftEtherのシステムチェック

vpncmdを利用してシステムチェックを実施

# ./vpncmd
vpncmd command - SoftEther VPN Command Line Management Utility
SoftEther VPN Command Line Management Utility (vpncmd command)
Version 4.22 Build 9634   (English)
Compiled 2016/11/27 15:23:56 by yagi at pc30
Copyright (c) SoftEther VPN Project. All Rights Reserved.

By using vpncmd program, the following can be achieved.

1. Management of VPN Server or VPN Bridge
2. Management of VPN Client
3. Use of VPN Tools (certificate creation and Network Traffic Speed Test Tool)

Select 1, 2 or 3: 3

VPN Tools has been launched. By inputting HELP, you can view a list of the commands that can be used.

VPN Tools>Check
Check command - Check whether SoftEther VPN Operation is Possible
---------------------------------------------------
SoftEther VPN Operation Environment Check Tool

Copyright (c) SoftEther VPN Project.
All Rights Reserved.

If this operation environment check tool is run on a system and that system passes, it is most likely that SoftEther VPN software can operate on that system. This check may take a while. Please wait...

Checking 'Kernel System'...
              Pass
Checking 'Memory Operation System'...
              Pass
Checking 'ANSI / Unicode string processing system'...
              Pass
Checking 'File system'...
              Pass
Checking 'Thread processing system'...
              Pass
Checking 'Network system'...
              Pass

All checks passed. It is most likely that SoftEther VPN Server / Bridge can operate normally on this system.

The command completed successfully.

VPN Tools>exit

3.vpnserverの起動と設定

vpnserverを起動

# /usr/local/vpnserver/vpnserver start

Hubの一覧を確認し、Hubに接続。
下記の場合、Hub defaultに接続した。

# ./vpncmd
vpncmd command - SoftEther VPN Command Line Management Utility
SoftEther VPN Command Line Management Utility (vpncmd command)
Version 4.22 Build 9634   (English)
Compiled 2016/11/27 15:23:56 by yagi at pc30
Copyright (c) SoftEther VPN Project. All Rights Reserved.

By using vpncmd program, the following can be achieved.

1. Management of VPN Server or VPN Bridge
2. Management of VPN Client
3. Use of VPN Tools (certificate creation and Network Traffic Speed Test Tool)

Select 1, 2 or 3: 1

Specify the host name or IP address of the computer that the destination VPN Server or VPN Bridge is operating on.
By specifying according to the format 'host name:port number', you can also specify the port number.
(When the port number is unspecified, 443 is used.)
If nothing is input and the Enter key is pressed, the connection will be made to the port number 8888 of localhost (this computer).
Hostname of IP Address of Destination:

If connecting to the server by Virtual Hub Admin Mode, please input the Virtual Hub name.
If connecting by server admin mode, please press Enter without inputting anything.
Specify Virtual Hub Name:
Connection has been established with VPN Server "localhost" (port 443).

You have administrator privileges for the entire VPN Server.

VPN Server>hublist
HubList command - Get List of Virtual Hubs
Item              |Value
------------------+-------------------
Virtual Hub Name  |DEFAULT
Status            |Online
Type              |Standalone
Users             |0
Groups            |0
Sessions          |0
MAC Tables        |0
IP Tables         |0
Num Logins        |0
Last Login        |2017-05-28 15:22:13
Last Communication|2017-05-28 15:22:13
Transfer Bytes    |0
Transfer Packets  |0
The command completed successfully.

VPN Server>Hub default
Hub command - Select Virtual Hub to Manage
The Virtual Hub "DEFAULT" has been selected.
The command completed successfully.

VPN Server/DEFAULT>

ユーザを作成。
下記の場合、hogehogeユーザを作成した。

VPN Server/DEFAULT>UserCreate
UserCreate command - Create User
User Name: hogehoge

Assigned Group Name:

User Full Name:

User Description:

The command completed successfully.

作成したユーザを確認。

VPN Server/DEFAULT>UserList
UserList command - Get List of Users
Item            |Value
----------------+-----------------------
User Name       |hogehoge
Full Name       |
Group Name      |-
Description     |
Auth Method     |Password Authentication
Num Logins      |0
Last Login      |(None)
Expiration Date |No Expiration
Transfer Bytes  |0
Transfer Packets|0
The command completed successfully.

作成したユーザにパスワードを設定。

VPN Server/DEFAULT>UserPasswordSet
UserPasswordSet command - Set Password Authentication for User Auth Type and Set Password
User Name: hogehoge

Please enter the password. To cancel press the Ctrl+D key.

Password: ********
Confirm input: ********


The command completed successfully.

IPsecを有効化。
Pre Shared Keyは、適時変更すること。

VPN Server/DEFAULT>IPsecEnable
IPsecEnable command - Enable or Disable IPsec VPN Server Function
Enable L2TP over IPsec Server Function (yes / no): yes

Enable Raw L2TP Server Function (yes / no): no

Enable EtherIP / L2TPv3 over IPsec Server Function (yes / no): no

Pre Shared Key for IPsec (Recommended: 9 letters at maximum): vpn

Default Virtual HUB in a case of omitting the HUB on the Username: DEFAULT

The command completed successfully.

仮想 NAT および DHCP サーバー機能の有効化。

VPN Server/DEFAULT>SecureNatEnable
SecureNatEnable command - Enable the Virtual NAT and DHCP Server Function (SecureNat Function)
The command completed successfully.

4.Firewalldにサービスを追加

# firewall-cmd --add-service=ipsec --permanent
# firewall-cmd --reload

参考サイト

iPhoneからの接続方法などは、下記サイトを参考にどうぞ RaspberryPi1でSoftEther設定してみた

CentOS7 - MariaDB 10.1をインストール

目次

1.Yumリポジトリを作成
2.MariaDB 10.1をインストール
3.MariaDB 10.1の起動と自動起動設定

作業環境

OS:CentOS Linux 7 (Core)

1.Yumリポジトリを作成

Nginx用のリポジトリを作成する

cat << EOS > /etc/yum.repos.d/mariadb.repo
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.1/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
EOS

2.MariaDB 10.1をインストール

YumコマンドでMariaDB 10.1をインストール

yum install -y MariaDB-server MariaDB-client MariaDB-devel

3.MariaDB 10.1の起動と自動起動設定

systemctlコマンドでMariaDB 10.1の起動と自動起動の設定

systemctl enable mariadb
systemctl start mariadb

CentOS7 - 環境構築 Apache 2.4 + PHP 7.1

作業環境

OS:CentOS Linux release 7.3.1611 (Core)

Apache HTTP Server(httpd) をインストール

yum install -y httpd mod_ssl

PHP 7.1をインストールするために必要なYumリポジトリ(EPEL,Remi)を追加

EPEL

yum install -y epel-release

Remi

rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm

PHP 7.1 をインストール

追加したリポジトリを指定し、PHPと利用頻度が高いパッケージを一緒にインストール

yum install --enablerepo=remi-php71,epel -y php php-mysqlnd php-ldap php-gd php-xml php-bcmath php-mbstring php-pecl-mysql php-pear

php.iniタイムゾーンAsia/Tokyoに変更

sed -i 's/\;date\.timezone\ \=/date\.timezone\ \=\ Asia\/Tokyo/g' /etc/php.ini

Apacheを起動し、自動起動を有効

systemctl start httpd ; systemctl enable httpd

CentOS7 - RMagick(Ruby)で画像ファイルをリサイズする

作業環境

# hostnamectl status
   Static hostname: golang.local
         Icon name: computer-vm
           Chassis: vm
~~~
    Virtualization: kvm
  Operating System: CentOS Linux 7 (Core)
       CPE OS Name: cpe:/o:centos:centos:7
            Kernel: Linux 3.10.0-693.2.2.el7.x86_64
      Architecture: x86-64
RMagick: 2.16.0

目次

1.パッケージを追加
2.RMagickをインストール
3.RMagickの利用方法

1.パッケージを追加

gemを利用する際、必要になるであろうパッケージを追加。

yum install -y gcc gcc-c++ make

ImageMagickを追加。

yum install -y ImageMagick ImageMagick-devel

2.RMagickをインストール

gemコマンドで RMagickをインストールする前にgem自体をアップデート。

gem update --system

RMagickをインストール。

gem install rmagick

3.RMagickの利用方法

サンプルコードを実行するためにサンプル画像をダウンロード。

wget https://dlmarket-jp.s3.amazonaws.com/images/consignors/98/9871/test.jpg

画像をリサイズするサンプルコードをviコマンドで作成。

vi resize.rb

resize.rbに下記コードを貼り付け。

require 'fileutils'
require 'rmagick'

if ARGV[0] == nil
  puts "Missing filename"
  exit
else
  IMAGE = ARGV[0]
end

def info(img)
  puts "FILENAME  : #{img.filename}"        # ファイル名
  puts "FORMAT    : #{img.format}"          # フォーマット
  puts "HEIGHT    : #{img.rows} px"         # 高さ
  puts "WIDTH     : #{img.columns} px"      # 幅
  puts "CLASSTYPE : #{img.class_type}"      # クラスタイプ
  puts "DEPTH     : #{img.depth} bits/px"   # 深さ
  puts "COLORS    : #{img.number_colors}"   # 色
  puts "FILESIZE  : #{img.filesize} bytes"  # ファイルサイズ
  puts ""
end

original = Magick::Image.read(IMAGE).first
info(original)

width, height = 100, 100
image = original.resize(width, height)
image.write('result.jpg')
info(image)

サンプルコードを実行

下記コマンドを実行すると引数で渡した画像ファイルが 100 x 100 にリサイズされて、result.jpgという名前で保存されます。

ruby resize.rb test.jpg

出力結果

FILENAME  : test.jpg
FORMAT    : JPEG
HEIGHT    : 500 px
WIDTH     : 500 px
CLASSTYPE : DirectClass
DEPTH     : 8 bits/px
COLORS    : 1826
FILESIZE  : 26892 bytes

FILENAME  : result.jpg
FORMAT    : JPEG
HEIGHT    : 100 px
WIDTH     : 100 px
CLASSTYPE : DirectClass
DEPTH     : 16 bits/px
COLORS    : 708
FILESIZE  : 15682 bytes

参考サイト:Ruby - RMagick で画像情報取得!

CentOS7 - pyenvを利用して、Python3系をインストール

作業環境

OS:CentOS Linux release 7.3.1611 (Core)

Pythonの現行バージョンを確認

pythonコマンドに--versionオプションを指定してバージョンを確認。

python --version

出力結果

Python 2.7.5

目次

1.Yumリポジトリを追加
2.パッケージを追加
3.pyenvをインストール
4.pyenvの利用方法

1.Yumリポジトリを追加

yumコマンドでEPELリポジトリを追加。

yum install -y epel-release

2.パッケージを追加

pyenvのインストールに必要なパッケージを追加。

yum install -y gcc gcc-c++ zlib-devel bzip2 bzip2-devel readline readline-devel sqlite sqlite-devel openssl openssl-devel git patch kernel-devel

3.pyenvをインストール

Githubからpyenvのダウンロード。

git clone https://github.com/yyuu/pyenv.git ~/.pyenv

pyenvのPATHを設定(Bashの場合)

cat << EOF >> ~/.bash_profile
export PYENV_ROOT="\$HOME/.pyenv"
export PATH="\$PYENV_ROOT/bin:\$PATH"
eval "\$(pyenv init -)"
EOF

上記設定を`source`コマンドで読み込み。

source ~/.bash_profile

ここまででpyenvのインストールは完了。

4.pyenvの利用方法

pyenvコマンドにinstall --listオプションを指定するとインストール可能なPythonバージョン一覧が取得可能。

pyenv install --list

出力結果

Available versions:
  2.1.3
  2.2.3
  2.3.7
  2.4
  2.4.1
  2.4.2
  2.4.3
~省略~
  3.5.0
  3.5-dev
  3.5.1
  3.5.2
  3.6.0

pyenvを利用してPython3系をインストール

pyenv install 3.5.2

インストールしたPythonバージョンを利用する場合はglobalオプションを指定。 ※ 特定ディレクトリ内だけに限定して、利用する場合はlocalオプションを指定。

pyenv global 3.5.2

インストール完了後に下記コマンドを実行。

pyenv rehash

pythonのバージョンを確認。

python --version

出力結果

Python 3.5.2

Pythonバージョンがpyenv globalオプションで指定したバージョンに変更されていれば完了。

以上、終わり。

CentOS7 - 決められた時刻にCRONを実行するために cronie-anacron => cronie-noanacron に変更

目次

1.cronie-anacronをアンインストール
2.cronie-noanacronをインストール
3.crondの起動と自動起動設定

作業環境

OS:CentOS 7.3

1.cronie-anacronをアンインストール

Yumcronie-anacronをアンインストール

yum -y remove cronie-anacron

2.cronie-noanacronをインストール

YumコマンドでNginxをインストール

yum install -y cronie-noanacron

3.crondの起動と自動起動設定

systemctlコマンドでcrondの起動と自動起動の設定

systemctl enable crond ;systemctl start crond

CentOS7 - 最新版のNginxをインストール

目次

1.Yumリポジトリを作成
2.Nginxをインストール
3.Nginxの起動と自動起動設定

作業環境

OS:CentOS 7.3

1.Yumリポジトリを作成

Nginx用のリポジトリを作成する

cat << EOF > /etc/yum.repos.d/nginx.repo
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/mainline/centos/\$releasever/\$basearch/
gpgcheck=0
enabled=1
EOF

2.Nginxをインストール

YumコマンドでNginxをインストール

yum install -y nginx

3.Nginxの起動と自動起動設定

systemctlコマンドでNginxの起動と自動起動の設定

systemctl enable nginx
systemctl start nginx