gikoha’s blog

個人的メモがわり

Oracle OCIの利用

Oracle Cloud Free Tierには VM Linuxマシンも付いてくる

そこでローカルでテストしたアプリを OCI上で動作させるようにしました

参考

Oracle Cloud の永久無料枠で ATP : Autonomous Transaction Processing を作ってみた - Qiita

無料のLinuxサーバです(Oracle Linux 7)
 
ホスト側でssh-keygen -t rsa -b 4096 で ~/.ssh/id_rsa.pubを作り、それをweb上で指定してやると外部からsshでログイン可能となる
 
 
sudo passwd root
大文字小文字8文字以上に変更しておく
 
tcshが好きなので変更
 sudo chsh opc
opc のシェルを変更します。
新しいシェル [/bin/bash]: /bin/tcsh
シェルを変更しました。
 
sudo timedatectl set-timezone Asia/Tokyo
sudo localectl set-locale LANG=ja_JP.utf8
sudo localectl set-keymap jp106
sudo yum update -y
 
go, git, oracle instant client のインストール方法
sudo yum install -y oracle-golang-release-el7
sudo yum install -y golang
sudo yum install git
sudo yum -y install oracle-release-el7
sudo yum -y install oracle-instantclient19.6-basic
sudo yum -y install oracle-instantclient19.6-sqlplus
sudo yum -y install oracle-instantclient19.6-odbc
sudo yum -y install oracle-instantclient19.6-jdbc
sudo yum -y install oracle-instantclient19.6-devel
sudo yum -y install oracle-instantclient19.6-tools
 
Walletの展開
sudo unzip Wallet_XXXX.zip -d /usr/lib/oracle/19.6/client64/lib/network/admin
 
.cshrcを作成
setenv GO111MODULE on
setenv ORACLE_HOME /usr/lib/oracle/19.6/client64/lib
setenv NLS_LANG JAPANESE_JAPAN.AL32UTF8
setenv TNS_ADMIN "$ORACLE_HOME/network/admin"
setenv PKG_CONFIG_PATH $ORACLE_HOME
 
oci8.pcの作成
libdir=/usr/lib/oracle/19.6/client64/lib
includedir=/usr/include/oracle/19.6/client64
glib_genmarshal=glib-genmarshal
gobject_query=gobject-query
glib_mkenums=glib-mkenums
Name: oci8
Description: oci8 library
Libs: -L${libdir} -lclntsh
Cflags: -I${includedir}
Version: 19.6
 
sudo cp oci8.pc $PKG_CONFIG_PATH
 
firewallポートをあける
 
sudo firewall-cmd --add-service=http --permanent --zone=public
sudo firewall-cmd --add-service=https --permanent --zone=public
sudo firewall-cmd --add-port=3000/tcp --permanent --zone=public
sudo firewall-cmd --reload
sudo firewall-cmd --list-all
 
アプリをコピー
scp WebApp.zip  opc@XXX.XXX.XXX.XXX:/home/opc
 
展開し実行
[opc@XXXXX WebApp]$ go run .
   ____    __
  / __/___/ /  ___
 / _// __/ _ \/ _ \
/___/\__/_//_/\___/ v4.1.16
High performance, minimalist Go web framework
____________________________________O/_______
                                    O\
⇨ http server started on [::]:3000
GET uri=/ path=/ status=200
GET uri=/calc path=/calc status=302
GET uri=/ path=/ status=200
うまく動作しました