script day.log

大学生がなんとなく始めた、趣味やら生活のことを記録していく。

Debian9.1へサーバー乗り換えました(SoftetherVPNについてGCC関連)

makose3p1229.hatenablog.com

以前CentOS7でサーバーを建てていたのですが、
ごちゃごちゃになってしまったので、時間もあるし、建て直しました。

メモリ、CPU等は以前と同じなのですが、ビデオカードが刺さってたりします。
まあGTXとかでないです。GeforceGTだったと思います。
OSはCentOSではなくDebianを選択しました。
理由は慣れてるからですかね。

OSのインストールはCDを入れて進めるだけなのです。
インストールしたものは「xrdp」、「SoftetherVPN」、
「Nextcloud+MariaDB+PHP+php-fpm+nginx+Let's Encrypt」ですかね。
まあ、一時的にsudoパスワードの入力をNOPASSWDにしました。
(終わった後は直しましたよ?)

今回は基本的にaptでインストールして、
優秀なパッケージ管理システムを信頼しました。

今回、一番困ったのはSoftetherVPN(server)のインストールでした。

本来ならSoftetherVPNをダウンロード、コンパイルするだけだったはずなんですが、
どうしてもコンパイル出来なくてですね…

さて、解決策

Debian9.1におけるGCC6.xだとコンパイルが通らないので、
GCC4.9.4をインストールしました。

流れとしてはgcc4.9.4を持ってきて、コンパイル、PATH、リンク通す感じですね。

sudo aptitude install build-essential
wget http://ftp.tsukuba.wide.ad.jp/software/gcc/releases/gcc-4.9.4/gcc-4.9.4.tar.gz
tar -xzvf gcc-4.9.4.tar.gz
cd gcc-4.9.4
sudo ./contrib/download_prerequisites
cd ..
mkdir build
cd build
../gcc-4.9.4/configure --prefix=/usr/local/gcc-4.9.4 --enable-languages=c,c++ --disable-multilib --disable-bootstrap
export LD_LIBRARY_PATH=/usr/local/gcc-4.9.4/lib:$LD_LIBRARY_PATH
export LIBRARY_PATH=/usr/lib/x86_64-linux-gnu
export C_INCLUDE_PATH=/usr/include/x86_64-linux-gnu
export CPLUS_INCLUDE_PATH=/usr/include/x86_64-linux-gnu
make
sudo make install
sudo ln -s /usr/local/gcc-4.9.1/bin/gcc /usr/local/bin/gcc49
sudo ln -s /usr/local/gcc-4.9.1/bin/g++ /usr/local/bin/g++49

gcc --version
6.x

gcc49 --version
4.9.4

続いてSoftetherVPNをダウンロード、コンパイルします。

cd /opt
sudo 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
sudo tar -xzvf softether-vpnserver-v4.22-9634-beta-2016.11.27-linux-x64-64bit.tar.gz
cd vpnserver

Makefileを書き換えましょう。

- CC=gcc
+ CC=gcc49

残りの処理

sudo make
sudo chmod 600 ./*
sudo chmod 700 ./vpncmd
sudo chmod 700 ./vpnserver
sudo nano /etc/init.d/vpnserver
#!/bin/sh
 
# chkconfig: 2345 99 01
# description: SoftetherVPN 4.2
 
### BEGIN INIT INFO
# Provides:          vpnserver
# Required-Start:
# Required-Stop:
# X-Stop-After:
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: SoftetherVPN 4.2
# Description:
### END INIT INFO
 
DAEMON=/opt/vpnserver/vpnserver
LOCK=/var/lock/vpnserver
 
test -x $DAEMON || exit 0
 
case "$1" in
start)
        $DAEMON start
        touch $LOCK
        ;;
stop)
        $DAEMON stop
        rm $LOCK
        ;;
restart)
        $DAEMON stop
        sleep 3
        $DAEMON start
        ;;
*)
        echo "Usage: $0 {start|stop|restart}"
        exit 1
esac
 
exit 0
sudo chmod 755 /etc/init.d/vpnserver
sudo update-rc.d vpnserver defaults
sudo /etc/init.d/vpnserver start

これで解決できました。

あとは以前の記事と同じ流れです。

makose3p1229.hatenablog.com
makose3p1229.hatenablog.com
makose3p1229.hatenablog.com

感想

インフラにはあまり興味がないので、結構辛い。
インフラエンジニア雇いたい。