這些文章屬於 '網管相關' 類別

Creating secure web server on OSX

Friday, August 22nd, 2008

Creating secure web server on OSX

繼續閱讀 »

Installing Apache2 and PHP 5 on OSX

Saturday, August 16th, 2008

最近用 Macport 換掉 MacOSX 的 Apache2 and PHP5.

繼續閱讀 »

Cron in Webmin

Thursday, July 10th, 2008

最近用 Webmin 1.420 管理 Mac OSX 的 crontab,但會有下述的錯誤訊息,

The Cron jobs directory <tt>/var/cron/tabs</tt> does not exist.
Maybe the module's configuration is incorrect, or Cron is not installed?

將模組組態將 /var/cron/tabs 改成 /usr/lib/cron/tabs/ 即可.

背景執行

Wednesday, May 24th, 2006

今天 mswu 問到程式執行後,要怎樣再丟到背景去執行,熊告訴我用

先用 Ctrl-Z 加以 Suspend 程式,再執行 bg 即可

但 mswu 說在 AIX 下用此法仍會有程序不見的情形。

繼續閱讀 »

SELinux for Apache CGI

Wednesday, March 15th, 2006
最近安裝某產品在 Redhat Enterprise Server 4 (ES4) 上,有一部份需要以 cgi 的方式運作,
而且,Apache 設定都有設 ScriptAlias 等,同樣的環境在 Redhat9 都沒有問題,可是在
ES4,該 cgi 就是不正常 Work (internal error 之類的),查 Log 有下述的訊息。

  • audit(1141721196.117:0): avc: denied { execute } for pid=5818 comm=httpd name=xxx dev=hda2 ino=295228 scontext=root:system_r:httpd_t tcontext=system_u:object_r:usr_t tclass=file

網路查到這是 SELinux 這個套件所造成的,在 ES3 以及 Fedora 3 以後的版本,預設都會開啟此套件, 許多網頁會建議,/etc/selinux/config 這個檔,SELINUX=enforcing 改成 SELINUX=disabled ,嗯,這不是好主意,因為這是完全關閉該機制。就像買了個人防護軟體,然後,將所有的安全預設值,全部關掉一樣。

主要用 chcon 這個指令將要提供服務的目錄加以設定,-R 表示 recursive dir, -t 表示要指定的類型

  • chcon -R -t httpd_user_content_t <要被 cgi process 讀取的檔案目錄>
  • chcon -R -t httpd_sys_script_exec_t <提供 CGI 服務的目錄>

其餘 chcon 設 httpd 的其他類型,參考這裡 。

如果設定後,覺得總是有問題,可以用下列指令回歸到原始的設定,再重新設定

  • /sbin/restorecon -v -R /home

參考來源:

MySQL: Out of range value adjusted for column

Friday, February 24th, 2006
最近在 Windows XP 上安裝 CooCooWakka ,
PHP5 + MySQL5.0.13 + CooCooWakka0.0.9rc3 + Apache2.0.55
安裝過程,發現有下面的的訊息,
Query failed: insert into wakka_pages set tag = 'MyNoteBook?', time = now(), owner = , category = , user = '127.0.0.1', latest = 'Y', body = 'test', tinychange= 'N', note= ,isnew= 'Y',aliasname= ,tview_count= ,refer_count= ; (Field 'body_r' doesn't have a default value)
所以,去 MySQL 設定欄位 body_r 預設可以為 NULL,但接下來就發生下列的訊息,
Query failed: insert into wakka_pages set tag = 'MyNoteBook?', time = now(), owner = , category = , user = '127.0.0.1', latest = 'Y', body = 'test', tinychange= 'N', note= ,isnew= 'Y',aliasname= ,tview_count= ,refer_count= ; (Out of range value adjusted for column 'tview_count' at row 1
後來查到說 mysql5 不喜歡空值 ",而另外網頁則說明在「配置數據庫的時候設定為限制傳統 sql 格式了」,所以,在設定 MySQL Instance 時,將預設的 Strict Mode 的選項去除,再重新安裝 CooCooWakka 即可。

image

Backup MySQL utf8 data

Wednesday, January 18th, 2006
一直在 backup wiki 的 mysql 資料,也一直認為 mysqldump 出來的資料是 utf8,今天心血來潮試一下,並不是這麼回事,也還好有測試這段,不然哪天資料毀了,就欲哭無淚~~
根據 mysql 官方網站的這 頁 ,指出預設是用 latin1 的語系,而混雜著 -with-extra-charsets=complex 設定,即預設仍可以儲存 utf8, multibytes 等其他語系的資料,但語系設定不是 utf8,而是 latin1 :S
我測試之後,在用 mysqldump 時,就要用下述的方法 dump 出,
mysqldump --default-character-set=latin1 <database_name>而下面兩種都可能會讓原本 utf8 資料亂掉:
  • mysqldump --default-character-set=utf8 <database_name>
  • mysqldump <database_name>



若要用 webmin 的 mysql 模組來備份的話,要修改 /usr/libexec/webmin/mysql 下的 backup_db.cgi 和 backup.pl 兩檔,找出
&backquote_logged("$config{'mysqldump'}
在這之後加上一段
$config{'mysqldump'} --default-character-set=$config{'encoding'}
並到 Webmin 前端 Mysql 的「組態設定」將 Encoding for database content 設成 latin1 即可.