FreeBSD

php 5.6 + apache 2.4 + laravel

[華語, cmn-Hant-TW] 最近把一些原本跑 php 5.5 跟 apache 2.2 的網站更新到 php 5.6 + apache 2.4,遇到了一些狀況,首先是 composer 在執行的時候噴出這樣子的錯誤訊息: The "https://packagist.org/packages.json" file could not be downloaded: SSL operation failed with code 1. OpenSSL Error messages: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failedThe "https://packagist.org/packages.json" file could not…

DigitalOcean 的 FreeBSD 支援

[華語, cmn-Hant-TW] 等好久 DigitalOcean 終於支援 FreeBSD 了,在 Presenting FreeBSD! How We Made It Happen. 裡面有簡單敘述怎麼達成支援的,總之就是現在可以直接開 FreeBSD 10.1 的 droplet 了,就跟其他的支援的 Linux distro 一樣,這應該是目前最簡單的架 FreeBSD 主機的服務了吧? 實際用下來的心得 開機器一定要提供 ssh key,系統不會寄 root 密碼信到自己的信箱,這對 FreeBSD 來講很自然,因為預設的系統根本就不開放 root ssh 啊,而這個 ssh key 事實上是給 freebsd 這個預先開好的帳號用的,這個帳號具有 sudo…

讓 netatalk 減少斷線的參數

[華語, cmn-Hant-TW] 最近又要複製很大的 Time Machine 備份,開給他跑整天結果第二天一看居然連磁碟都被退出了,在伺服器端看到這樣子的訊息: Dec 24 17:41:45 pitaya afpd[49716]: read: Operation timed out Dec 24 17:41:45 pitaya afpd[49716]: dsi_stream_read: len:-1, Operation timed out Dec 24 17:41:45 pitaya afpd[49716]: dsi_stream_read: len:0, unexpected EOF Dec 24 17:41:45 pitaya afpd[49716]: dsi_disconnect:…

linux-c6 及 sublime text 2

[華語, cmn-Hant-TW] FreeBSD ports 的 emulators/linux_base-c6 (CentOS 6.x) 已經出現很久了,但是有很長一段時間都是只有 base 沒有相關套件可用,要跑那些有的沒的 linux 軟體還是得靠 linux_base-f10 (Fedora 10),然而 Fedora 10 是一個很久之前就已經 EOL 的版本,裡面的一堆函式庫都太舊了,一些新的玩具像是 Sublime Text 根本就沒辦法跑。 之前就看到有在推要把 FreeBSD 預設的 linux_base 改成 c6 的計畫,以這個應用來講 CentOS 絕對比 Fedora 來得好,畢竟 Fedora 版號跳很快,舊版本 EOL 的也很快,要跟上很辛苦,CentOS 則是對應企業版的 RHEL,以…

跑 php 頁面讓 httpd 當掉

[華語, cmn-Hant-TW] 這問題卡了一段時間,但是因為也沒太緊急所以就有空的時候才來看一下問題在哪。 總之就是有一台 FreeBSD 11-CURRENT 在某次更新一堆套件之後 laravel 的特定操作就開始會讓 httpd 吃 segmentation fault 了。因為有用到不少套件所以一層一層的追下去發現是 finfo_open() 造成的,會用到這個函式只是要找檔案的 mime-type 而已所以也沒做太奇怪的事情,接著用 laravel 直接跑內建的伺服器模式做一樣的操作,發現也會吃 segmentation fault,那差不多就確定是 php 的問題了,自己寫了一個小程式只呼叫這個函式,用 cli 模式跑一樣炸掉,當下立刻把所有名字含 php55 的套件全部更新,因為 php 跑其他東西都沒當,所以想說應該是某個 php 套件爛掉,因為當掉跟圖形操作有關,一度還以為是 gd 造成的。 結果全部用 ports 重編之後… 照當,那問題就怪了,這時候就把另一台更閒的 FreeBSD 11-CURRENT 更新到最新同時跑 php… 居然沒有當?!對照一下兩邊函式庫安裝的目錄才發現有問題那台的目錄裡面有…

Write failed: Cannot allocate memory

[華語, cmn-Hant-TW] 在一台機器要 rsync 東西的時候,遇到這個訊息 Write failed: Cannot allocate memory 發現是傳大檔出問題,首先懷疑 zfs 造成的,但是記憶體還剩很多,而且 rsync 到同一台機器沒問題,丟到別台不管是哪台都會出問題,那大概就不是檔案系統的事了。找看看有沒有跟網路傳大檔有關的討論,結果在這篇裡面描述的情況跟遇到的狀況很類似,這台機器剛好就是有裝 VirtualBox 而且還有 VM 正在跑,接著在這篇裡面有提到解法: 在 /boot/loader.conf 裡面加上 net.graph.maxdata=65535 設好重開機之後,果然問題就解決了。 另外似乎 VirtualBox 用的網卡跟連外的網卡不同張的話就不會遇到這個問題,有人整理了一下放在這裡,有空的話再來試試這種設定。

OpenLDAP 搭配 mdb backend

[華語, cmn-Hant-TW] 在設定 openldap 的時候,通常會用 bdb 這個 backend,不過既然官方都說這個要退休了那當然得改用別的方案,雖然說是建議用 mdb,不過因為偷懶就用 ldif  試看看,一開始用覺得還 OK,結果發現權限上面居然有神奇的狀況,大部份的權限都沒問題,但是 add 跟 delete 似乎只要 auth 過就能執行,完全無視權限設定,查了一堆資料試了半天改了一堆設定都還是能執行,唯一擋得住的方式就是讓人不能登入,啊不能登入就跟不能用是一樣的意思了,所以這條路卡關,就改來試 mdb 看情況如何。 結果還不錯,其實直接跳 mdb 還算蠻無痛的,資料庫檔案也只剩 data.mdb 跟 lock.mdb 兩個,看起來很清爽,至於效能部份因為這台的資料量還沒多到需要擔心的程度,就沒特別去比較了。 mdb 沒遇到 add 跟 delete 權限問題,但是遇到一個奇怪的狀況,在 LDAP Admin 這套軟體下會看到不斷跳針的無窮迴圈項目,而且一按刪除,程式就當掉,不過在 LAM 下倒是沒啥問題,找了一下 LDAP Admin…

Samba 3, LDAP, PDC, member 速記

[華語, cmn-Hant-TW] 剛好有兩到三台 samba 3 分享的需求,所以研究了一下怎麼把這堆機器串到 ldap 上。 看了一下 standalone 的架構不好管理,所以就用 domain controller (pdc) 加 members 的形式,也就是只有 pdc 串到 ldap 上,其他的 member 只跟 pdc 問權限而已,不會直接串 ldap。當然,不管是間接或是直接,整個網域使用者帳號跟機器都會由 ldap 管控。 因為還蠻複雜的,這邊就大概列了一下卡關的地方,跟要注意的點而已 首先要把一台設成 pdc,照這篇跟官網這篇來設定應該沒啥太大問題,雖然說那篇的目的是要弄 windows 7 登入網域就是。ldap 存取權限要設好,有用 SSL 的話,CA 也要設好,這樣 domain 應該就會自動在…

AM1 Athlon 5350

[華語, cmn-Hant-TW] 之前這篇講的精英 E1-1200 Kabini APU 整合主機板,用到現在狀況正常,不過說實在的彈性跟升級性跟一般的插槽式主機板還是有差,選擇也不多,以台灣市場來說能方便入手的也就只有精英那張而已。 後來 AMD 推出 Socket FS1b 的 Kabini,然後又把 Athlon 跟 Sempron 這兩個牌子拿出來用,整個平台叫 AM1。這東西推的廠商就多了,重點是台灣買得到而且便宜,以最便宜的 Sempron 2650 加上技嘉的主機板新台幣2000有找,比精英那張還便宜,不過有風扇就是。 詳細的介紹可以看一下 Anandtech 的這兩篇 The Desktop Kabini Review Part 1: AMD Athlon 5350 (AM1) Tested The AM1 Kabini Motherboard…

FreeBSD ports 的穩定分支

[華語, cmn-Hant-TW] 上個月 FreeBSD 的 ports 正式有了 stable 的分支,細節可以看這篇公告。簡單的說就是多了 2014Q1, 2014Q2… 這樣的分支,每三個月從 head 長一個出來,然後只針做安全性相關的更新。官方的 pkg 也有了,只要把 /etc/pkg/FreeBSD.conf 裡面的 /latest 改成 /quarterly 就會抓到從最新一季的 ports 做出來的套件,設定上還算方便。 這東西對喜歡用 ports 安裝東西,但是又不想一直踩地雷的人應該會很有幫助,因為 FreeBSD 的 ports 基本上就是 rolling 的形式,一直都只有 head,或者說 trunk,每次有軟體大改版的時候就很容易出些有的沒有的問題,而每個軟體大更新的時間當然不相同,進 ports 的時間更不用講,所以只能勤快的盯 UPDATING 看有沒有什麼大變動得注意的,現在這樣的話只要每一季做一次就好了。 把幾台辦正事的機器切到 2014Q2 試用了一個月覺得還不賴,大致上可以很無腦的用…