NetBSD対応 + IPアドレスを設定する様に
This commit is contained in:
parent
03d681d08e
commit
d094648861
|
@ -1,6 +1,8 @@
|
|||
# 1.1.0
|
||||
* 言語はliblocale化
|
||||
* 複数言語対応
|
||||
* NetBSD対応
|
||||
* IPアドレスを設定する様に
|
||||
|
||||
# 1.0.0
|
||||
* PHPからGoに交換しました
|
||||
|
|
30
config.go
30
config.go
|
@ -5,14 +5,15 @@ import (
|
|||
"fmt"
|
||||
"runtime"
|
||||
"encoding/json"
|
||||
"io/ioutil"
|
||||
"errors"
|
||||
)
|
||||
|
||||
type Config struct {
|
||||
configpath, webpath, datapath, domain string
|
||||
configpath, webpath, datapath, domain, ip string
|
||||
}
|
||||
|
||||
func getconf () Config {
|
||||
var payload map[string]interface{}
|
||||
func getconf () (Config, error) {
|
||||
var cnf Config
|
||||
|
||||
// バイナリ、データ、及びFreeBSDとNetBSDの場合、コンフィグ
|
||||
|
@ -36,14 +37,31 @@ func getconf () Config {
|
|||
}
|
||||
|
||||
// コンフィグファイルがなければ、死ね
|
||||
data, err := os.ReadFile(cnf.configpath)
|
||||
data, err := ioutil.ReadFile(cnf.configpath)
|
||||
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)
|
||||
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.domain = payload["domain"].(string) // ドメイン名
|
||||
cnf.ip = payload["ip"].(string) // IP
|
||||
payload = nil // もういらなくなった
|
||||
|
||||
return cnf
|
||||
return cnf, nil
|
||||
}
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
{
|
||||
"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 () {
|
||||
cnf := getconf() // コンフィグファイル
|
||||
cnf, err := getconf() // コンフィグファイル
|
||||
if err != nil {
|
||||
fmt.Println(err)
|
||||
return
|
||||
}
|
||||
args := os.Args // コマンドラインのパラメートル
|
||||
if len(args) == 2 {
|
||||
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("/", siteHandler(cnf))
|
||||
|
||||
fmt.Println(fmt.Sprint("http://127.0.0.1:", port, " でサーバーを実行中。終了するには、CTRL+Cを押して下さい。"))
|
||||
http.ListenAndServe(fmt.Sprint(":", port), nil)
|
||||
fmt.Println(fmt.Sprint("http://" + cnf.ip + ":", port, " でサーバーを実行中。終了するには、CTRL+Cを押して下さい。"))
|
||||
http.ListenAndServe(fmt.Sprint(cnf.ip + ":", port), nil)
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue