プロジェクト開始

プロジェクト名はお店の名前の候補第一位であるpalpanとします。

サーバには、CentOSを利用しますので、こちらを参考にインストールしています。
【初心者でもわかる】Linux CentOSのインストール方法まとめ

データベースにはPostgreSQLを利用しますが、最新版にしておきたかったのでPostgreSQL10をインストールします。作業はrootになってから行っています。

rpm -Uvh https://yum.postgresql.org/10/redhat/rhel-7-x86_64/pgdg-centos10-10-2.noarch.rpm

yum install postgresql10-server postgresql10

/usr/pgsql-10/bin/postgresql-10-setup initdb

systemctl start postgresql-10.service

systemctl enable postgresql-10.service

インストール出来たところで、PostgreSQL自身の環境を設定します。

su - postgres
vi 10/data/postgresql.conf
#ここの部分
listen_addresses = '*'                  # what IP address(es) to listen on;

および、

vi 10/data/pg_hba.conf 

# "local" is for Unix domain socket connections only
local   all             all                                     md5
# IPv4 local connections:
host    all             all             127.0.0.1/32            md5
host    all             all             192.168.1.130/24        md5

設定が完了したら、rootユーザに戻って、PostgreSQLの再起動をします。

systemctl restart postgresql-10.service

次はGO言語のインストールです。管理者ユーザに戻って行っています。

wget https://dl.google.com/go/go1.9.3.linux-amd64.tar.gz
tar zxvf go1.9.3.linux-amd64.tar.gz
sudo mv go /usr/local/

GO作業用のディレクトリを作成して、必要なパスを通します。

sudo mkdir /home/golang
sudo chown palpan /home/golang

cd ~/
vi .bash_profile

PATH=$PATH:$HOME/.local/bin:$HOME/bin:/usr/local/go/bin
export PATH

GOPATH=/home/golang
export GOPATH

PATH=$PATH:$GOPATH/bin
export PATH

source .bash_profile

インストールがうまくいったか確認します。

go version
go version go1.9.3 linux/amd64

プロジェクトのフレームワークとしてBeegoを利用します。GO言語については初心者ですので、こういったフレームワークは有り難いのですが、基本的にマニュアルを読まない派なので、作法がどうのこうのは無視しています。アプリケーションは「動けば勝ち」の世界なので、中のごちゃごちゃはユーザに見えるものではありません。ただ、どんなシステムにもデバッグはつきものですので、忘れた頃に見直したとしても判る程度の整理は我が身を助けることでしょう。

まずはBeegoをインストールします。

cd $GOPATH
go get github.com/astaxie/beego
go get github.com/beego/bee

上記の作業でGOPATHの下にsrcディレクトリが作成されますので、ここに移動します。

cd $GOPATH/src

ここで、beeツールを使ってプロジェクトpalpanのスケルトンを作成します。

bee new palpan
______
| ___ \
| |_/ /  ___   ___
| ___ \ / _ \ / _ \
| |_/ /|  __/|  __/
\____/  \___| \___| v1.9.1
2018/08/01 04:29:22 INFO     ▶ 0001 Creating application...
	create	 /home/golang/src/palpan/
	create	 /home/golang/src/palpan/conf/
	create	 /home/golang/src/palpan/controllers/
	create	 /home/golang/src/palpan/models/
	create	 /home/golang/src/palpan/routers/
	create	 /home/golang/src/palpan/tests/
	create	 /home/golang/src/palpan/static/
	create	 /home/golang/src/palpan/static/js/
	create	 /home/golang/src/palpan/static/css/
	create	 /home/golang/src/palpan/static/img/
	create	 /home/golang/src/palpan/views/
	create	 /home/golang/src/palpan/conf/app.conf
	create	 /home/golang/src/palpan/controllers/default.go
	create	 /home/golang/src/palpan/views/index.tpl
	create	 /home/golang/src/palpan/routers/router.go
	create	 /home/golang/src/palpan/tests/default_test.go
	create	 /home/golang/src/palpan/main.go
2018/08/01 04:29:22 SUCCESS  ▶ 0002 New application successfully created!

作成がうまくいったことを示すSUCCESSの文字が最下段に見えます。プロジェクト用にpalpanディレクトリが作成されましたので、ここに移動します。

cd palpan

Beegoでは、自分自身でWebサーバになりますので、次のように実行することができます。

bee run
______
| ___ \
| |_/ /  ___   ___
| ___ \ / _ \ / _ \
| |_/ /|  __/|  __/
\____/  \___| \___| v1.9.1
2018/08/01 06:44:57 INFO     ▶ 0001 Using 'palpan' as 'appname'
2018/08/01 06:44:57 INFO     ▶ 0002 Initializing watcher...
palpan/controllers
palpan/routers
palpan
2018/08/01 06:45:05 SUCCESS  ▶ 0003 Built Successfully!
2018/08/01 06:45:06 INFO     ▶ 0004 Restarting 'palpan'...
2018/08/01 06:45:06 SUCCESS  ▶ 0005 './palpan' is running...
2018/08/01 06:45:06.274 [I] [asm_amd64.s:2337] http server Running on http://:8080

このサイトにアクセスするには、次のURLへアクセスします。

http://localhost:8080/

デフォルトページにアクセスできたら、次はプロジェクト用に改良していきます。