いろいろな記事をつなぎ合わせて旧windows10 PCにubuntuをインストールして、以下の記事のAPIサーバを構築するところまで。 (Windows10は犠牲になったのだ)
古い情報があったり記事どおりではうまくいかなかったりで、試行錯誤した記録も簡単に残しておく。
試した環境
- もとになったPC: Let's note CF-SZ5
※インストールメディア作る用の何かしらのPCも必要
インストールメディアの作り方とインストール方法
以下の記事を参考にやっていけばいい。図が入っていてとても分かりやすい。
なお、ubuntuのイメージは日本語Remix版をダウンロードしておくと初期設定しやすいはず。
あと途中の・インストールの種類の設定
は空のHDD/SSDであれば上の2つを選んでもいいと思う。
(Windows10と共存できるっぽいけど手順ミスったっぽくて消しちゃった。共存する必要があればバックアップとかはとりましょう)
Golang環境構築
以下の記事の「Golang環境構築(for Ubuntu16.04)」の章をやればOK。
ただし、「.bashrc」ファイル末尾に下記を追記
の後は以下のコマンドで.bashrcが再読み込みする必要があるので注意。
$ source ~/.bashrc
gitのインストール
記事そのままのコマンドを流せばOK。
$ sudo apt-get install git
MySQLのインストール
基本的には最初の記事通りやっていけばいいが、途中でコマンド通りいかなくなるのでメモを残しておく。
mysqlserverインストール
インストールはそのまま実施してOK。
$ sudo apt-get install mysql-server
MySQL初期設定
そのままSQLにmysql -u root -p
で接続しようとすると、パスワードroot
で入ろうとしたらAccess denied for user 'root'@'localhost'
と出てはじかれた。
どうやらMySQL 5.7以降ではインストール直後はパスワードによるインストールができないらしい。なんじゃそりゃ
というわけで以下のようにしてsudoでMySQLにログインしてパスワードを指定しなおす。
$ sudo mysql
ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';
ここら辺の経緯は以下の記事がわかりやすい。
APIで使用するテーブル作成
最初の記事ではCREATE TABLE文をgoで書いていたが、以下のようなSQLで書いた方が楽(なはず)。
(mysqlで接続した状態で)
# データベース作成 CREATE DATABASE gotest; # データベース接続 USE gotest; # テーブル作成 CREATE TABLE person( id INT NOT NULL AUTO_INCREMENT, first_name VARCHAR(40), last_name VARCHAR(40), PRIMARY KEY (id));
RESTful APIで必要なもののインストール
最初の記事ではコマンドが現在(2024/4/28)はじかれるので、以下のコマンドでライブラリをインストールする。
goディレクトリに移動
$ cd $GOPATH
mysqlドライバー
go get install "github.com/go-sql-driver/mysql@latest"
Gin(HTTPフレームワーク)
go get install "github.com/gin-gonic/gin@latest"
RESTful APIを構築
最初の記事の3.APIサーバー
以降をやっていけばOK。
別PCからAPIをたたく場合は、APIを構築したPCのIPアドレスが必要になるので、以下のコマンドで確認しておく。
$ ipconfig
inet xxx.xxx.xxx.xxx
の部分が接続先のIPアドレス。