2015年3月31日 星期二

Nginx 錯誤訊息 Access to the script has been denied (see security.limit_extensions)

這幾天在嘗試轉換幾個站台到 Nginx 在 Log 看到以下錯誤,紀錄於此

Access to the script has been denied (see security.limit_extensions)

 

這是由於 php-fpm 預設安裝在 security.limit_extensions 是僅有支援 .php 的

 

若是你的 Web site 有執行 .htm .html .pl 等等的副檔名就會被擋下來

若要允許使用可以編輯 php-fpm 設定檔

用 Nginx 取代 Apache 吧 - ownCloud 實務操作

繼上篇 用 Nginx 來安裝 WordPress 把 WordPress 由 Apache 改裝成 Nginx 之後,接下來也要把現有的 Owncloud 改成 Nginx 來跑

 

在本篇不包含 Owncloud 的安裝細項,僅將原本的 Apache 改為 Nginx 來 run

安裝可參考: CentOS6.5 建立自己的私有雲 OwnCloud 6.0 前言與安裝

 

實作的環境是採用 CentOS 6 + ownCloud 6,請記得不要將 ownCloud 升級至 8 ,因為 ownCloud 8 必須採用 php 5.4 later,而 CentOS 6 最高只有 php 5.3 !!

 

本篇範例中會實作 Nginx 以下

  1. SSL

  2. return 轉址 http to https


2015年3月30日 星期一

Nginx 錯誤訊息 FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream,

在建立 Nginx 的時候,發生以下訊息

【 FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream 】

 

訊息中提示 FastCGI 找不到主要 script

 

在 Nginx 安裝好時候,預設在 default.conf 內所設定的路徑是以下
fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;

用 Nginx 來安裝 WordPress - 改用 LNMP 取代 Apache 吧

自從學習 Linux 以來都是使用 Apache 來當 Web Server,Apache 確實非常的方便,也很容易上手運用廣泛

由於新工作採用 Nginx 來部屬大訪問量,以及常常在書籍中看到 Nginx 這款輕量級 Web 的種種好處,花了一些時間研究了 Nginx

在 Linux,Nginx採用異步處理 I/O 的 epoll / Kqueue 在處理大量訪問的時候,Nginx 耗費的資源少而且處理速度快!

而 Apache 適合在處理系統,使用的是 select 機制,屬於比較舊型的處理方式,基於底層目前 Apache 還未針對這個方向做改進

Nginx 還有一個好處就是,大家通常都會拿它來當 Reverse Proxy Server ,簡直就是碰到就蹦得出來的快

目前 Apache 可以佔有的優勢就是用的人多,文件多; 其他 Nginx 還是大勝許多。

在這裡拿 wordpress 當範例,因為他是標準 LNMP 的架構,也適合在多數環境中使用

此篇主要會是將原有的 LAMP 的架構改為 LNMP 為主

詳細的 WordPress 設定可以參考另一篇 WordPress 部落格 架設

2015年3月23日 星期一

CentOS 6.5 資產管理系統 OCSNG + GLPI 整合安裝 三部曲

在前面兩篇安裝好 OCSNG 跟 GLPI 後,再來要將這兩套系統做整合,讓 GLPI 可以使用 OCSNG 所收集到的資料

 

 

step1. 首先你必須確認 OCSNG 有開啟 GLPI 支援

要開啟 GLPI 支援必須開啟 TRACE_DELETED2015-03-22_021111

 

step2. GLPI 下載支援 OCSNG 的 plugin

http://plugins.glpi-project.org/spip.php?article154

CentOS 6.5 資產管理系統 GLPI 安裝 貳部曲

承上篇 CentOS 6.5 資產管理系統 OCSNG 安裝,這篇要進行安裝 GLPI

 

首先先了解一下系統需求

- PHP5.3 or later with the support of the sessions ;
- an access to a MySQL (>4.1.2) database.

 

安裝 GLPI

 

step1. 下載 GLPI

http://www.glpi-project.org/?article41&lang=en

 

step2. 解壓縮並且放到適當的位置
$ tar zxvf glpi-0.85.2.tar.gz 
$ mv glpi /home/

 

step3. 加入 apache 設定
$ vim /etc/httpd/conf.d/glpi.conf 

Alias /glpi /home/glpi

<Directory /home/glpi>
Order deny,allow
Allow from all
Options Indexes FollowSymLinks
DirectoryIndex index.php
</Directory>

$ serivce httpd restart

 

step4. 進入 Web 設定

http://servername/glpi

2015-03-23_030756

嗯~身在台灣還是選一下繁體中文支持一下。

 

step5. 看一下授權聲明

2015-03-23_030850

 

step6. 選擇 install option

這邊可以選擇安裝 / 升級,可見 GLPI 對版本升級也很友善,這邊當然是選安裝進行。

2015-03-23_030931

 

step7. 一連串的檢測環境

2015-03-23_031141

 

 

step8. 資料庫連接

你可以選擇用 root 創建,或是給予已建立好的 user

2015-03-23_031443

 

step9. 資料庫選項

如 step8 我給予 user,並且授予 database glpi 權限,所以在這邊可以選擇現有的 glpi 資料庫亦或是建立另一組資料庫。

2015-03-23_031547

 

初始化資料庫

2015-03-23_031757

 

 

step10. setup finish !!

安裝完成,並且會替你建立四種權限的使用者。

2015-03-23_031844

 

 

step11. 初試 GLPI 登入

用 glpi / glpi 登入後,可看到 GLPI 介面

2015-03-23_032015

 

這邊一樣也有一些資安項目要先改,例如刪除 install.php、更改預設管理員密碼等,這就不贅述。

 

 

資產管理系統篇

首部曲: OCSNG 安裝

貳部曲: GLPI 安裝

Orignal From: CentOS 6.5 資產管理系統 GLPI 安裝 貳部曲

2015年3月22日 星期日

CentOS 6.5 資產管理系統 OCSNG 安裝

最近想找一款資產管理系統來整理公司的資產,在不使用太多資源的情況下還是以開源軟體為主,在 Linux 上可以採用 GLPI + OCSNG 來建置

 

首先先了解 GLPI 跟 OCSNG 這兩套的用途,以及為何要整合的理由

 

其實 GLPI + OCSNG 就像是 Nagios + Cacti 有相輔相成的功效

 

GLPI 是一套較多數台灣人使用的資產管理系統,其原因是他有完整的中文化界面,以及詳細的管理介面,但無法主動收集到 Client 的 PC 資料。

而 OCSNG 就是彌補 GLPI 無法收集使用者端資料的缺憾,OCSNG 可以透過 OCSNG agent 將資料主動拋給 OCSNG Server

 

而 OCSNG & GLPI 互相也有 Plugin Module 可以將 OCSNG 所收集的資料交給 GLPI 去統整

 

簡單的介紹大概對 OCSNG 跟 GLPI 也有相當程度的了解,這樣在設定上也會比較有邏輯上的概念

2015年3月14日 星期六

快速分析 Apache 的 access log,抓出前十大網站流量兇手

說到 Log 分析大家都會先想到用 AWStats 來分析,沒錯這絕對是一個最好的解決方式,但如果你只是要簡單的分析一些資訊,就可以利用一些簡單的 shell 組合來撈出你要的資料

 

這篇主要是針對 Apache 的 access log 來進行分析,並提供以下範例給大家參考

 

取得前十名 access 最多的 IP 位址
cat access_log|awk '{print $1}'|sort|uniq -c|sort -nr|head -10

2015年3月8日 星期日

MSSQL 2008 錯誤訊息 14420、14421 Logshipping 備份還原超時

最近某一台 DB Server 在事件檢視器出現一連串的錯誤訊息,是由 MSSQL 吐出來的 error code 分別是 14420、14421

 

錯誤: 14420,高的嚴重性等級: 16,狀態: 1
記錄傳送主要資料庫 %s.%s 有 %d 分鐘備份臨界值時,無法執行 %d 分鐘備份記錄作業。檢查代理程式記錄檔和 logshipping 監視器資訊。

錯誤: 14421,高的嚴重性等級: 16,狀態: 1
記錄傳送次要資料庫 %s.%s 有 %d 分鐘還原臨界值,並不同步。%D 分鐘執行,沒有還原。已還原的延遲時間是 %d 分鐘。檢查代理程式記錄檔和 logshipping 監視器資訊。

 

小弟已經習以為常的判斷微軟的怪怪錯誤訊息,從訊息看到有主要資料庫備份、次要資料庫還原,才想到這台有做 Log shipping。

 

回想之前在進行 Log shipping 設定的時候,其中 Log shipping 有提供警示的功能來判斷是否 Log shipping 有正常在運作

經查發現 Log shipping 運作正常,也有還原成功,但那為什麼還是會有警示訊息呢!?

2015年3月7日 星期六

Roundcube 整合 LDAP Addressbook 通訊錄,增加 LINE、Wechat schema

由上次已經有發表一篇 CentOS 6.5 安裝 Roundcube WebMail ,最近開始有時間在著墨在這一塊,並且將 LDAP 也加入整合

 

首先了解 Roundcube Addressbook 支援的類型有 LDAP、SQL、CardDAV

 

此篇主要記錄的是將 Roundcube 加入 LDAP Addressbook

 

 

準備

1. LDAP Server (這邊使用 OpenLDAP)

2. LDAP search user

3. 對 ldap 要有相當理解程度

2015年3月6日 星期五

MSSQL 2008 使用者群組或角色在 Database 的目前資料庫中已經存在

這個問題是在今天要還原一個新的資料庫的過程中,建立 Login & User 對應的時候出現的問題

使用者、群組或角色 'DB_USER' 在目前的資料庫中已經存在。

 

在實際要還原的資料庫名稱 DB 內並無 DB_USER 的任何資料,所以不會有已存在 USER 的狀況

 

在 MSSQL 遇上這樣類似的狀況的時候,我都會習慣用 TSQL 一步一步執行來將問題點切割開來看

在 SSMS 建立 User Login 的這段其實就是在執行以下指令
USE [master] 
GO
CREATE LOGIN [DB_USER] WITH PASSWORD=N'密碼', DEFAULT_DATABASE=[master], CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF
GO
USE [DB]
GO
CREATE USER [DB_USER] FOR LOGIN [DB_USER]
GO
USE [DB]
GO
ALTER USER [DB_USER] WITH DEFAULT_SCHEMA=[dbo]
GO