NetBSD対応 + IPアドレスを設定する様に
このコミットが含まれているのは:
コミット
d094648861
|
@ -1,6 +1,8 @@
|
||||||
# 1.1.0
|
# 1.1.0
|
||||||
* 言語はliblocale化
|
* 言語はliblocale化
|
||||||
* 複数言語対応
|
* 複数言語対応
|
||||||
|
* NetBSD対応
|
||||||
|
* IPアドレスを設定する様に
|
||||||
|
|
||||||
# 1.0.0
|
# 1.0.0
|
||||||
* PHPからGoに交換しました
|
* PHPからGoに交換しました
|
||||||
|
|
30
config.go
30
config.go
|
@ -5,14 +5,15 @@ import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"runtime"
|
"runtime"
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
|
"io/ioutil"
|
||||||
|
"errors"
|
||||||
)
|
)
|
||||||
|
|
||||||
type Config struct {
|
type Config struct {
|
||||||
configpath, webpath, datapath, domain string
|
configpath, webpath, datapath, domain, ip string
|
||||||
}
|
}
|
||||||
|
|
||||||
func getconf () Config {
|
func getconf () (Config, error) {
|
||||||
var payload map[string]interface{}
|
|
||||||
var cnf Config
|
var cnf Config
|
||||||
|
|
||||||
// バイナリ、データ、及びFreeBSDとNetBSDの場合、コンフィグ
|
// バイナリ、データ、及びFreeBSDとNetBSDの場合、コンフィグ
|
||||||
|
@ -36,14 +37,31 @@ func getconf () Config {
|
||||||
}
|
}
|
||||||
|
|
||||||
// コンフィグファイルがなければ、死ね
|
// コンフィグファイルがなければ、死ね
|
||||||
data, err := os.ReadFile(cnf.configpath)
|
data, err := ioutil.ReadFile(cnf.configpath)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Println("エラー:", err)
|
fmt.Println("confif.jsonを開けられません:", err)
|
||||||
|
return cnf, errors.New("コンフィグファイルは " + cnf.configpath + " に創作して下さい。")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var payload map[string]interface{}
|
||||||
json.Unmarshal(data, &payload)
|
json.Unmarshal(data, &payload)
|
||||||
|
if payload["webpath"] == nil {
|
||||||
|
return cnf, errors.New("「webpath」の値が設置していません。")
|
||||||
|
}
|
||||||
|
if payload["domain"] == nil {
|
||||||
|
return cnf, errors.New("「domain」の値が設置していません。")
|
||||||
|
}
|
||||||
|
if payload["ip"] == nil {
|
||||||
|
return cnf, errors.New("「ip」の値が設置していません。")
|
||||||
|
}
|
||||||
|
if _, err := os.Stat(payload["webpath"].(string)); err != nil {
|
||||||
|
fmt.Printf("%v\n", err)
|
||||||
|
return cnf, errors.New("mkdiorコマンドをつかって、 " + payload["webpath"].(string))
|
||||||
|
}
|
||||||
cnf.webpath = payload["webpath"].(string) // データパス
|
cnf.webpath = payload["webpath"].(string) // データパス
|
||||||
cnf.domain = payload["domain"].(string) // ドメイン名
|
cnf.domain = payload["domain"].(string) // ドメイン名
|
||||||
|
cnf.ip = payload["ip"].(string) // IP
|
||||||
payload = nil // もういらなくなった
|
payload = nil // もういらなくなった
|
||||||
|
|
||||||
return cnf
|
return cnf, nil
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
{
|
{
|
||||||
"webpath": "/var/www/htdocs/hozonsite",
|
"webpath": "/var/www/htdocs/hozonsite",
|
||||||
"domain": "https://hozon.site"
|
"domain": "https://hozon.site",
|
||||||
|
"ip": "0.0.0.0"
|
||||||
}
|
}
|
||||||
|
|
6
main.go
6
main.go
|
@ -18,7 +18,11 @@ func help () {
|
||||||
}
|
}
|
||||||
|
|
||||||
func main () {
|
func main () {
|
||||||
cnf := getconf() // コンフィグファイル
|
cnf, err := getconf() // コンフィグファイル
|
||||||
|
if err != nil {
|
||||||
|
fmt.Println(err)
|
||||||
|
return
|
||||||
|
}
|
||||||
args := os.Args // コマンドラインのパラメートル
|
args := os.Args // コマンドラインのパラメートル
|
||||||
if len(args) == 2 {
|
if len(args) == 2 {
|
||||||
if args[1] == "-v" { // バージョンを表示
|
if args[1] == "-v" { // バージョンを表示
|
||||||
|
|
4
srv.go
4
srv.go
|
@ -204,6 +204,6 @@ func serv (cnf Config, port int) {
|
||||||
http.HandleFunc("/archive/", archiveHandler(cnf))
|
http.HandleFunc("/archive/", archiveHandler(cnf))
|
||||||
http.HandleFunc("/", siteHandler(cnf))
|
http.HandleFunc("/", siteHandler(cnf))
|
||||||
|
|
||||||
fmt.Println(fmt.Sprint("http://127.0.0.1:", port, " でサーバーを実行中。終了するには、CTRL+Cを押して下さい。"))
|
fmt.Println(fmt.Sprint("http://" + cnf.ip + ":", port, " でサーバーを実行中。終了するには、CTRL+Cを押して下さい。"))
|
||||||
http.ListenAndServe(fmt.Sprint(":", port), nil)
|
http.ListenAndServe(fmt.Sprint(cnf.ip + ":", port), nil)
|
||||||
}
|
}
|
||||||
|
|
読み込み中…
新しいイシューから参照