Maple3-itoc 近期架站記錄心得 - BBS

Table of Contents

因為我已經fork好並改成我要的架構了

所以以下內容將修正:

※ 引述《holishing ()》之銘言:
: 3. 下載 BBS 程式:
: 我目前是用 git 套件指令把維護者放在 github 的資料載下來
: (在此之前請先用 apt 或 yum 之類的去安裝 git 套件)
: # apt install git
: == 以下用 bbs 的權限即可!! ==
: $ cd /home/bbs; git clone https://github.com/xeonchen/maplebbs-itoc

改成:

$ cd /home/bbs
$ git clone https://github.com/holishing/maplebbs-itoc

之後就從這部分開始:
: $ cd maplebbs-itoc
(之後如果沒特別說明路徑,就是以此專案裡描述的路徑: /home/bbs/maplebbs-itoc 為主)

在我亂亂改的版本中, 首先請先將 sample/config.h 複製到 include/ 目錄裡:

$ cp sample/config.h include/

接著編輯 include/config.h 檔案:

$ vim include/config.h (*註)

設定完之後, 先不要急著make, 而是先將bbs裡相關的結構配置好

$ cp -r sample/bbs/* ~;cp sample/bbs/.* ~
# 還想不到更好的方法可以複製隱藏檔案,只能先認定bbs底下第一層不應該有隱藏目錄了

如果用原本master的分支要注意原本在tgz檔裡面本來有建構的空目錄結構
port到github之後都消失了
如果覺得自己動手建很麻煩, 或不知道架構怎麼建的
那還是直接去wget原本放在官網上的tgz檔吧:P

接著就開始編譯囉!
$ make clean linux install

如果相關變數都有定義到的會應該就是可以順利編譯完成

然後記得系統執行正常排程:
$ crontab sample/crontab

至於在設定bbs環境的部分

因為目前只想先提供telnet連線所以僅裝 xinetd 並照手冊設定

(安裝xinetd套件後, 將以下內容複製到 /etc/xinetd.d/telnet 裡[原本無此檔案])

> ----

service telnet
{
disable = no
flags = REUSE
socket_type = stream
wait = yes
user = bbs
server = /home/bbs/bin/bbsd
server_args = -i
}


> ----

不確定的話再:

# service xinetd start


另外還要記得讓 ~/bin/camera ~/bin/account 在開機時自動執行:

自己的方法是將:

> -------------

#!/bin/sh
#
# MapleBBS
#
su bbs -c '/home/bbs/bin/camera'
su bbs -c '/home/bbs/bin/account'

> -------------

放進 /etc/rc.local 這個檔案裡 (並用 chmod +x /etc/rc.local 確認可執行)

重開機之後就應該有效果了, 但事實上就只要讓 ~/bin/bbsd 以適當權限啟動(**)

外部應該就可連進來了



如果有出現註冊了帳號沒用, 或登入成功要進去時斷線等問題

可以先檢查該建的目錄 ~/usr ~/run/var ~/tmp ...等有沒有建到

另外也可以嘗試檢查或清除 shared-memory (不過詳細也不是很懂@@) 等方式

$ ipcs

------ Message Queues --------
key msqid owner perms used-bytes messages

------ Shared Memory Segments --------
key shmid owner perms bytes nattch status

------ Semaphore Arrays --------
key semid owner perms nsems

$ ipcrm shm <shmid>
resource(s) deleted



*註1: 但因為我對 vim 如何用在 utf-8 顯示的方式(但不是用 utf-8 存)
編輯 big5 編碼並以 big 5 編碼儲存檔案的方式沒有很熟
所以選擇用FileZilla載到Windows, 再用gvim編輯(會自動用big5顯示儲存)好傳回

不去改 install.sh (現在被我搬到sample/裡) 的原因
是因為以前嘗試安裝時每次跑裡面的shell script都會有問題
(也有可能因為自己不是用 sh bin/install.sh 的方式執行orz)

加上能改的還是有限
覺得反正自己目前沒有要改"水球"這個變數所以就直接去改 include/config.h
然後把 include/config.h 列入 .gitingore 清單裡


**註2: port3000(含)以下要給外面連進來需要有root權限

--

就先記到這裡! 可以連了! 但還有很多bug但解決, 就繼續加油吧XD

--
你知道PTT有小天使嗎? 能幫助你唷! 小主人我來了^Q^
●β
HELP 想呼叫屬於你的使嗎? /
` 〈○〉 ▃▃▃ 只要按hh,就可以了唷!! Δ
>_<~
// ▅▅▅ 快按下"hh"呼叫你的小天使吧!\(≧▽ν≦)ωgarnier

--

All Comments

John avatarJohn2017-06-19
vim -c 'set fencs=big5' -c 'e!' include/config.h
可以試試看這個
Sarah avatarSarah2017-06-23
其實就是讓 vim 猜編碼的時候只有 big5 這一種選擇