2018年7月8日 星期日

從頭開始,一步一步架起低成本網站【第3章~安裝FTP站台並啟用SSL加密連線供上傳程式檔案】



前面已經安裝了web和db,接下來如果購買VPS主機的話就需要使用FTP去上傳你所撰寫的程式

【安裝VSFTPD】

sudo apt-get install vsftpd

【檢查VSFTPD是否已安裝】

netstat -tul | grep ftp
OR
service vsftpd status


2018年6月24日 星期日

從頭開始,一步一步架起低成本網站【第2章~架設OpenSource資料庫平台Mariadb及UTF8】


MariaDB資料庫管理系統是MySQL的一個分支,主要由開源社群在維護,採用GPL授權授權。開發這個分支的原因之一是:甲骨文公司收購了MySQL後,有將MySQL閉源的潛在風險,因此社群採用分支的方式來避開這個風險

安裝Mariadb


sudo apt-get install mariadb-server




2018年6月17日 星期日

從頭開始,一步一步架起低成本網站【第1章~Ubuntu上架設.net平台web主機】


首先不管是要自架主機或是買VPS,總之要先有一台Linux主機


我是預計寫C#建立站台,所以採用Linux + Mono + Apache2 + Mariadb這個幾乎零成本的建置環境,接下來的案例都會以mail.example.com這個主機名稱為例子


2018年6月10日 星期日

從頭開始,一步一步架起低成本網站【第0章】


前言:

預計將自已建置各式主機的步驟作一個完整記錄!


環境:

Server :

Lincode Ubuntu 16.04 amd64


DB Server:

Mariadb 10.2.14

WebSite :

Mono 5.10.1.47


Client:

Windows 10 amd64





2017年10月10日 星期二

mono在.net4.0中checkboxlist狀態無法正常呈現的解決方式

如果有使用checkboxlist在mono中會發現一是裡面的值無法正常儲存,可參考以下解法:


解法1:

在web.config中的<system.web>區塊中加上此行

<pages controlRenderingCompatibilityVersion="3.5" />


註.但有可能影響到其他有用到4.0以上的元件呈現,例如:MenuItem



解法2:

在Page_PreRender中加上以下函式


protected void Page_PreRender(object sender, EventArgs e)
        {
            setCheckBoxStates([你的checkboxlist名稱]);
        }



private void setCheckBoxStates(CheckBoxList cbl)
        {
            if (IsPostBack)
            {
                string cblFormID = cbl.ClientID.Replace("_", "$");
                int i = 0;
                foreach (var item in cbl.Items)
                {
                    string itemSelected = Request.Form[cblFormID + "$" + i];
                    if (itemSelected != null && itemSelected != String.Empty)
                        ((ListItem)item).Selected = true;
                    i++;
                }
            }
        }


這只能保持你的選取狀態是正常的,但選取的值如果用一般寫法仍會無法儲存,所以同理改寫成以下方式


 string calids = "";
                string cblFormID = [你的checkboxlist名稱].ClientID.Replace("_", "$");
                int i = 0;
                foreach (var item in [你的checkboxlist名稱].Items)
                {
                    string itemSelected = Request.Form[cblFormID + "$" + i];
                    if (itemSelected != null && itemSelected != String.Empty)
                        if (calids == "")
                        {
                            calids = itemSelected;
                        }
                        else
                        {
                            calids += "," + itemSelected;
                        }
                    i++;
                }


註.checkboxlist的命名規則不可包含有「_」底線,不然會一樣被過濾成$導致無法正常運作


2017年9月2日 星期六

在ubuntu分享印表機給windows使用


先在ubuntu 中安裝印表機驅動程式


接著進行command模式安裝

sudo apt-get install samba

sudo apt-get install cups


然後編輯smb.conf

sudo vim /etc/samba/smb.conf

在【print】區塊增加

browseable = yes

guest ok =yes

















重啟samba 

sudo service smbd restart


檢查是否可以登入CUPS網站 http://localhost:631



再來在windows中新增印表機,例如我的主機ip是192.168.1.2就是

http://192.168.1.2:631/printers/印表機名稱







接著要安裝印表機的驅動程式.inf檔(請上官網下載windows版的驅動程式,然後解壓縮或直接安裝)
























最後再印一下測試頁,如果印表機有動就沒問題了!







2017年3月16日 星期四

升級Ubuntu核心


執行更新套件時,出現安裝有問題,研究半天好像是核心有問題

sudo apt-get update

sudo apt-get dist-upgrade











熱門文章