私が趣味でプログラムを組むときによく使う言語は「Go言語」です。
「レンタルサーバーで自作プログラムを動かしてみる」という記事でレンタルサーバーへのGo言語のインストールについて軽く触れましたが、もう少し詳しく説明してほしいという意見をいただきましたので改めてインストールの手順について説明したいと思います。

前提条件
レンタルサーバーにログインできて、シェルコマンドを実行できるかご確認ください。
レンタルサーバーのサーバー管理画面へのログインではない点に注意してください。
レンタルサーバー業者によって呼称に若干の違いはありますが、「SSH」「SSHログイン」などのワードでレンタルサーバーのヘルプを検索すれば情報が出てくるかと思います。
事前準備
SSHログインするための接続情報を入手しておきます。
私が使っている「ConoHa WING」の場合は鍵認証でしかログインできないので予め鍵を作っておく必要があります。

ホスト名、ユーザー名、パスワードや鍵、ポート番号が分かればSSHログインが可能です。
Go言語のインストール手順
今回はLinux用(https://golang.org/dl/go1.15.7.linux-amd64.tar.gz)を取得します。

尚、秘密鍵のファイルパーミッションは600にしておく必要があります。
ssh -p {ポート番号} -i {秘密鍵のファイルパス} {ユーザー名}@{ホスト名}
wget https://golang.org/dl/go1.15.7.linux-amd64.tar.gz
tar -xzvf go1.15.7.linux-amd64.tar.gz
私の場合はホームディレクトリの下に「work」というディレクトリを作りそこで展開したので次のコマンドでホームディレクトリの下に移動しました。
mv ~/work/go ~/
私の場合はホームディレクトリの下に「golib」というディレクトリを作りました。
mkdir ~/golib
.bash_profileなど、各ユーザーの設定を行っているファイルに以下のような内容を追記します。
(あくまでも例です)
PATH=$PATH:$HOME/.local/bin:$HOME/bin:$HOME/go/bin
export PATH
export GOPATH=$HOME/golib
「PATH=」の部分については、既存の内容の後に「:$HOME/go/bin」を追記する形になります。
go version
バージョン情報が表示されていれば正常に動作しています。
「コマンドが見つかりません」的なエラーメッセージが表示された場合はPATHの設定が正しいかどうか見直してみてください。
まとめ
これでレンタルサーバーでもGo言語で作ったプログラムのビルドを行うことができるようになります。
ただ、レンタルサーバーのスペックによってはメモリ不足などでうまくビルドできないことがあります。
私が使っているレンタルサーバーだとこのようなメッセージが出ます。
go tool compile: fork/exec /home/xxxxx/go/pkg/tool/linux_amd64/compile: cannot allocate memory
ちょっと時間をおいてから試すとうまくいくこともあり、他ユーザーのメモリ使用状況に左右されているのかもしれません。
以上、Go言語のインストール手順でした。
参考になれば幸いです。
レンタルサーバー活用の記事をいくつか書いています。
見ていただけると嬉しいです。


コメント