身為運維工程師怎么用Nginx部署DokuWiki


運維人員按區域組織,人員分散,集中培訓成本比較高; 新入職運維人員除了培訓手冊,沒有其它渠道可以持續深入了解公司產品; 運維人員的知識存在各自腦袋里,缺少有效的渠道來傳播和分享; 運維知識體系需要積累,形成公司資產; 選擇Wiki系統

最初公司遇到的問題是運維人員經常向研發人員或者上級領導咨詢重復回答無數次的問題。我在接手這個需求時,首先想到的是百科系統,類似百度知道。設想是運維人員遇到問題,將問題描述寫出來,由其它能解決問題的人(研發或者經驗豐富的運維人員)來回答。在這個階段,我查找了多個百科系統,並嘗試安裝試用。試用過程中,發現對需求的理解似乎有很大的偏差。運維人員需要的應當是一個運維手冊,像汽車那種維修手冊一樣。百科系統沒有嚴格的目錄組織結構,並不適合查閱。Wiki系統比文檔系統或百科系統更合適。我找了多個Wiki系統,並做了一番對比:

HDWiki 互動百科

這個是國產的Wiki,宣傳做得好,很多文章都推薦他們。但我進入他們官網瀏覽幾個案例后,發現功能復雜花哨,因此直接不予考慮。

MediaWiki

知名大牌Wiki系統。功能很豐富,安裝也比較簡單,需要數據庫服務支持。我不希望Wiki服務跟現在的服務混合在一起。當前服務器環境的mysql數據庫已作它用,備份比較穩定,不希望Wiki這個額外的服務插入。

DokuWiki

也是知名Wiki系統,而且是綠色安裝。不需要數據庫支持是我選擇它的主要原因。

安裝Nginx

這是湊字數的段落。我維護的服務器上運行好幾個服務,Nginx不需要安裝。

sudo apt-get install nginx

php環境

講真,作為個Javaer,PHP這種宇宙第一語言接觸不多。

安裝PHP:

sudo apt-get install php5-fpm

雖然據說現在都PHP7了,但我並不想浪費時間在PHP新版本可能出現的各個坑上。

PHP我知道,PHP5-FPM是個什么東西還真不知道。萬能的Google會給我答案:PHP-FPM 的FPM是 FastCGI Process Manager的縮寫,用於管理PHP-CGI的。

配置PHP參數

網上查閱其它教程,有介紹到修改/etc/php5/fmp/php.ini的設置,可以增加安全性。在Nginx的默認PHP配置部分也提到修改這個參數。

sudo vim /etc/php5/fmp/php.ini

修改 fix_pathinfo 的值為0

cgi.fix_pathinfo=0

新安裝的PHP5-FPM,需要反注釋這行代碼,並修改值為 0

Nginx增加PHP支持

將 /etc/nginx/site-avaliable/default 文件拷貝為 /etc/nginx/site-avaliable/dokuwiki 。

將內容修改為:

server { listen 9002 default_server; listen [::]:9002 default_server ipv6only=on; root /var/www/dokuwiki; index index.php index.html; server_name localhost; location / { # First attempt to serve request as file, then # as directory, then fall back to displaying a 404. try_files $uri $uri/ =404; # Uncomment to enable naxsi on this location # include /etc/nginx/naxsi.rules } location ~ \.php$ { fastcgi_split_path_info^(.+\.php)(/.+)$; # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }

修改的條目包括:

端口號 根目錄位置 PHP配置

重啟nginx就完成PHP環境的配置。

添加一個測試文件 phptest.php :

<%php phpinfo(); ?>

保存到 /var/www/dokuwiki 目錄下,在瀏覽器中打開 http://localhost:9002/phptest.php ,看到PHP信息則說明PHP環境配置成功。

將DokuWiki安裝到目錄中,其它完成配置。

DokuWiki

DokuWiki是一個小型的Wiki系統,采用文本儲存,所有數據都保存到安裝目錄下的data文件夾中。

目錄結構 bin/ DokuWiki的核心代碼 conf/ 配置目錄 data/ 數據目錄 inc/ lib/ vendor/ doku.php index.php install.php data/ 數據目錄

數據目錄中的 data/pages 是保存所有Wiki文檔的目錄,DokuWiki會以txt文本的形式將數據儲存到此目錄中。

conf/ 配置目錄

配置目錄中的 conf/acl.auth.php 是訪問控制的配置文件,哪個組可訪問哪些文檔,哪個用戶不能訪問哪些文檔等都由此文件控制。

配置目錄中的 conf/local.php 是網站的配置文件,包括網站名字、主題、語言等配置。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM