最近想來玩玩 Phalcon, 但是我的OSX是安裝MAMP,所以Phalcon官方針對OSX提供的安裝方法似乎不太管用。
上網查找了一下,發現必需將MAMP裡的PHP重新再編一下,終於是裝起來了,所以,來記錄一下吧!!

1.確定你MAMP所跑的PHP版本:
這部份你可以在MAMP的console或是用phpinfo()看看
像豆子早前安裝的版本就是 PHP 5.5.23

2.確認MAMP PHP bin 的目錄路徑:
一般來說 MAMP PHP bin的安裝路徑會是在
/Applications/MAMP/bin/php/phpx.x.x/bin
以上的x.x.x就是您PHP的版本
以豆子的環境來看,路徑就會是
/Applications/MAMP/bin/php/php5.5.23/binOpen

3.開開Terminal並執行下列指令:
export PATH=/Applications/MAMP/bin/php/php5.5.23/bin:$PATH

4.到PHP官網下載PHP的source檔:
這部份可能要留意一下,像豆子的PHP是5.5.23,但官網現在主要提供的版本己經到5.5.35,這是沒有關係的。
就把它下載下來,放到以下目錄:(預設是沒有include/php目錄的,請自建)
/Applications/MAMP/bin/php/php5.5.23/include/php

5.Configure the PHP source:
cd /Applications/MAMP/bin/php/php5.5.23/include/php
./configure
在這個部驟,豆子出現以下的錯誤:
configure: error: Please specify the install prefix of iconv with --with-iconv=

但明明豆子的 /usr/bin/iconv 明明就有,但怎麼指定就沒效
上網查一下,就用brew 重新安裝 libiconv吧

brew install homebrew/dupes/libiconv

然後再用以下指令重新configure

./configure --with-iconv=brew --prefix libiconv

之後就會看到Thank you for using PHP.的訊息啦

6.Compile Phalcon:
接著下載Phalcon回來Compile
git clone --depth=1 git://github.com/phalcon/cphalcon.git
cd cphalcon/build
sudo ./install

這階段豆子又卡關了。。。
出現:$PHP_AUTOCONF environment variable. Then, rerun this script.
所以,用brew再裝裝autoconfig再重新configure
brew install autoconf

7.在php.ini裡加入phalcon extension file
如果不知道你的php.ini在那裡,用phpinfo()看一下最保險
在php.ini裡加上
extension=phalcon.so

8.重啟MAMP

9.檢查:
在phpinfo()的資訊裡應該就會多一個 phalcon的相關資訊囉

phalcon

1.先移除系統原本的mysql-libs
yum remove mysql-libs

2.到官網下載最新版本的rpm,並安裝
wget http://dev.mysql.com/get/mysql57-community-release-el6-7.noarch.rpm
rpm -Uvh mysql57-community-release-el6-7.noarch.rpm
yum install mysql-community-server

3.接著就可以啟用服務了
service mysqld start

4.用這種方法裝好的mysql,其預設的root密碼是藏在/var/log/mysqld.log裡的
所以more一下就可以看到
2016-02-03T08:11:46.993568Z 1 [Note] A temporary password is generated for root@localhost: ,F1WDenwkXBu
上面的,F1WDenwkXBu就是密碼,每個人安裝後的臨時密碼並不會相同

5.別忘了利用mysql_secure_installation工具設定root密碼,並將一些anonymous的帳號及非localhost的權限拿掉,就大功告成囉

更詳細的安裝方法可以參考官網的手冊

因為資安驗證規範要求密碼需設定有效期
所以,得修改系統的設定值
方法如下:

#vi /etc/login.defs
修改PASS_MAX_DAYS的設定值就可以了
不過以上的設定是針對設定後,新增加的帳號才會套用新的設定值
若要針對先前己建立的帳號
可以用以下的指令:
#passwd -x 天數 帳號
例:#passwd -x 60 root

如果要再改回never,把天數設成-1就可以

還有一個chage的指令可以做進階的設定:
例:
chage -m 0 -M 90 -W 15 root
以上命令表示設置使用者root的密碼最小有效期為0天,最長有效期為90天,在密碼過期前15天對用戶進行提醒

指令參數如下:
-m 密碼可更改的最小天數。為零時代表任何時候都可以更改密碼。
-M 密碼保持有效的最大天數。
-W 使用者密碼到期前,提前收到警告資訊的天數。
-E 帳號到期的日期。過了這天,此帳號將不可用。
-d 上一次更改的日期
-i 停滯時期。如果一個密碼已過期這些天,那麼此帳號將不可用。
-l 例出當前的設置。由非特權使用者來確定他們的密碼或帳號何時過期。

所以,如果要查詢某一個帳號目前的狀態可以用:
chage -l
系統會顯示如下的資訊出來:
Last password change : Feb 02, 2016
Password expires : never
Password inactive : never
Account expires : never
Minimum number of days between password change : 0
Maximum number of days between password change : 99999
Number of days of warning before password expires : 7

以上備忘!!

去年就發佈的CentOS 7 很多地方都做了很大的改變
感覺和當年的Fedora一樣
讓你愈改愈覺得不上手
所以後來才會改跳到CentOS
沒想到現在連CentOS也…..

唉!!
今天特地找了個時間小試了一下
目前知道和CentOS 6不同的地方有

1.服務的管理使用改了
改由 systemctl 來控制
例:
start httpd.service
真是又臭又長丫
雖然用舊的service指令仍然可以運作
但你還是會看到系統會Redirecting 到systemctl

2.預設的DB由MySQL改成MariaDB
雖然MariaDB就是的MySQL轉化來的
也發展好幾年了
操作方式也一樣
phpMyAdmin也可以用在MariaDB上
只是直接變成系統的預設DB
第一時間不習慣而己

3.防火牆由iptables變成了Firewalld
這是我最不適應的地方
平時習慣直接編輯 /etc/sysconfig/iptables
確發現CentOS 7找不到這個檔
才發現系統預設的防火牆改成Firewalld
但還好
iptables還是有
自己yum install一下就好了
但記得先把firewalld先關掉
整個程序基本上如下:

systemctl stop firewalld
systemctl mask firewalld
yum install iptables-services
systemctl enable iptables

目前是今天遇到的大異動
據我所知好像還不止這些
剩下的就有空慢慢玩囉

如果您曾經用過windows自帶的「命令提示字元」的經驗,想必會覺得很難用又不方便吧!(連用個copy、past都另人不順手)

其實平時用它的機會並不高,通常只拿它來做簡單的網路除錯想說就忍著用,不過最近安裝了Git,其中的Git Shell就是PowserShell。

powershell2

Windows PowerShell微軟公司Windows環境所開發的shell腳本語言技術,採用的是命令列介面。讓Windows 作業系統也能擁有類似 UNIX BASH 的 Shell 環境

結果豆子用習慣後想說就直接取代那個不好用的「命令提示字元」,唯讀那個字型和配色,另人覺得不順眼….
上網查了一些資料,發現為什麼有些網友的PowerShell和豆子長的不太一樣,功能豪華多了…

原來Git Shell安裝的PowserShell是2.0版,而PowerShell還有另一個PowerShell ISE的應用程式,是ISE才有豪華功能唷。

MicroSoft TechNET: PowerShell 整合式指令碼環境 (ISE) 是 Windows PowerShell 的主機應用程式。在 Windows PowerShell ISE 中,您可以在單一 Windows 圖形使用者介面中,利用多行編輯、Tab 鍵完成功能、語法著色、選擇性執行、即時線上說明以及對從右至左語言的支援,執行命令,撰寫、測試並進行指令碼測錯。 使用功能表項目和鍵盤快速鍵可以執行許多與 Windows PowerShell 主控台 所執行的相同的工作。例如,在 Windows PowerShell ISE 中偵錯指令碼時,若要在指令碼中設定行中斷點,請以滑鼠右鍵按一下程式碼行,再按一下 [切換中斷點]。

豆子用的作業系統是Windows 7,預設也只配置PowerShell 2.0,在 Windows Server 2012、 Windows Server 2012 R2、Windows 8 或 Windows 8.1,才會預先配置 PowerShell 3.0。不過Windows 7也還是能裝  PowerShell 3.0唷…直接到官網直接下載 Windows Management Framework 安裝就可以了!!

在 Windows PowerShell 主控台中,輸入下列命令就可以觀看PowerShell的版本:

 powershell

顏色配置

光裝好,顏色還是醜的。所以,接下來就是幫PowerShell客制化主題顏色了,上網找了一下,發現有網友分享Sublime風格的配置腳本檔(參考網站1),因為豆子平時就慣用Sublime,這配置檔實在是令人開心啦!!

下載回來的檔案解開後一共有二個檔,包含一個字型檔和PowerShell的腳本檔(副檔名為ps1),字型檔的部份您可自行斟酌是否要安裝及套用。

powershell3

腳本檔是純文字檔,您可以用PowerShell直接打開並點選上方的「執行指令碼(F5)」功能就可以套用。

powershell5

可是當 PowerShell 執行 script 檔時,卻出現一堆錯誤,並中「檔案無法載入,因為這個系統已停用指令碼執行」的訊息,這是因為作業系統目前的執行原則 ( Excution Policy ) 預設狀態為 Restricted(不允許執行)所造成的,是為了防止有惡意的腳本被執行。

您可以用下面的指令確定目前的執行策略:

所以您必需將執行策略由Restricted改成Unrestricted,不過在更改前您必需先將PowerShell關閉再重新開啟,並指定由「系統管理員執行」,否則是改不成功的唷!!

powershell6

接下來就是用以下的指令更改執行策略:

註:ExecutionPolicy可以設定的策略有:

1. Restricted – 腳本不能運行。
2. RemoteSigned – 本地創建的腳本可以運行,但從網上下載的腳本不能運行(除非它們擁有 由受信任的發佈者簽署的數位簽章)。
3. AllSigned – 僅當腳本由受信任的發佈者簽名才能運行。
4. Unrestricted – 腳本執行不受限制,不管來自哪裡,也不管它們是否有簽名。

更改完成後,您會發現腳本就可以成功執行了,而且執行完佈景就設置完成了,有了美美的顏色,字型也大多了!!

powershell8

 進階用法:

在PowerShell裡除了可以直接用Ctrl+C、Ctrl+V來複制、貼上外,還可以設定Alias讓PowerShell也可以用和Linux相同的指令唷…

 

參考網站:

  1. powershell ise好字库和diy配色文件分享
  2. 在 Lync Online 中下載並安裝 Windows PowerShell 3.0
  3. Windows PowerShell ISE 簡介
  4. PowerShell Tutorial 3: PowerShell Aliases
  5. 有关PowerShell脚本你必须知道的十个基本概念
  6. 淺談Windows PowerShell 管理技術

要從程式寫一堆code去判斷,倒不如在apache中直接導掉
這麼好的功能,怎麼能不用呢!!

< directory “/www/” >
RewriteEngine on
Options +FollowSymLinks
Order allow,deny
Allow from all
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]
< /directory >

為為機房新構置了矩陣式的KVM
因為其中有一個群體廣播的功能
深怕有人不小心開啟了群體廣播功能而不知的情況下按了 [Ctrl]+[Alt]+[Delete]
那後果可是非同小可
所以還是將Linux下的[Ctrl]+[Alt]+[Delete] 重新啟動關閉 可能保險些
具體的作法如下:

1. 開啟 /etc/inittab

2. 找出其中一行:

ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now

3. 將這一行刪除,或者在這一行最開端加上 # 號。

4. 儲存檔案後重新啟動系統便會生效,如果不想重新啟動可以執行以下指令:

# init q

error

最近豆子使用遠端桌面連線到辦公用的電腦時常會跳出”因為通訊協定錯誤,工作階段的連線將被中斷。請嘗試重新連線到遠端電腦。”的錯誤訊息,查了許久才發現原來是這陣子換佈景主題的原因。目前豆子想到的二個方式,其一:換掉現有的佈景主題,其二:在使用遠端桌面連線時先至進階選項勾除佈景的選項,但後者會使用傳統win2000的那種醜醜桌面。所以豆子還是忍痛換掉佈景主題~~~供各位參考!!

其實這故事己經發生半年多了,只是一直到現在還有殘留效應。話說豆子管理的Server群中,其中有一台主機是提供給學生存放網頁用的。但是呢,偏偏裡面就是有學生特別喜歡搞怪,故事是這樣子發生的,無名小站有提供使用者使用javascript語法的,而有位學生在主機上存放了一些滑鼠游標檔(*.ani *.ico),然後還到無名的blog寫了一篇文章告訴全世界說我這裡有滑鼠游標檔,歡迎大家在無名的blog直接加上我的javascript語法(約莫提供了20幾組絕對連結),這樣一來只要任何一位訪客進到該blog滑鼠的游標就會變成可愛的icon。

Continue reading