运维人员按区域组织,人员分散,集中培训成本比较高; 新入职运维人员除了培训手册,没有其它渠道可以持续深入了解公司产品; 运维人员的知识存在各自脑袋里,缺少有效的渠道来传播和分享; 运维知识体系需要积累,形成公司资产; 选择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 是网站的配置文件,包括网站名字、主题、语言等配置。

身为运维工程师怎么用Nginx部署DokuWiki的更多相关文章

  1. Linux运维工程师成长必经之路

    本路线图是从0基础开始,全方位由浅入深,按照多年Linux培训经验和优秀教学方法制定的学习思路和学习方法,路线图包括初级入门.中级进阶.高级提升和资深冲刺四个阶段,每阶段对应着不同优秀的课程和学习方法 ...

  2. linux运维工程师面试题收集

    面试必考 mysql5和mysql6 有什么区别 mysql-server-5.5:默认引擎改为Innodb,提高了性能和扩展性,提高实用性(中继日志自动恢复) mysql-server-5.6:In ...

  3. Linux运维工程师必学必备的8项IT技能

    如果你在学习Linux,那么强烈推荐你选择RHEL和Centos作为学习的Linux发行版本,在公司及企业当中他们是使用最多的,毕竟学习除了本身是爱好,其次也是为了就业.Centos是RHEL的克隆版 ...

  4. 从苦逼到牛逼,详解Linux运维工程师的打怪升级之路

    做运维也快四年多了,就像游戏打怪升级,升级后知识体系和运维体系也相对变化挺大,学习了很多新的知识点. 运维工程师是从一个呆逼进化为苦逼再成长为牛逼的过程,前提在于你要能忍能干能拼,还要具有敏锐的嗅觉感 ...

  5. 要成为linux网站运维工程师必须要掌握的技能

    要成为linux网站运维工程师必须要掌握的技能 2015-07-27 发表 老男孩点评:感谢此文的作者,写的非常到位,值得入门的初学者认真看看 我是一名linux运维工程师,确切的说是网站运维工程师, ...

  6. linux运维工程师成长过程

    原文地址:https://blog.csdn.net/kwame211/article/details/78059331 初级篇 linux运维人员常用工具拓扑详见: 1rsync工具 很多地方经常会 ...

  7. 详解Linux运维工程师

    运维工程师是从一个呆逼进化为苦逼再成长为牛逼的过程,前提在于你要能忍能干能拼,还要具有敏锐的嗅觉感知前方潮流变化.如:今年大数据,人工智能比较火……(相对表示就是 Python 比较火) 之前写过运维 ...

  8. Linux运维工程师是什么鬼?

    第一部分:定义 运维工程师,字面理解运行维护. linux运维即linux运维工程师,集合网络.系统.数据库.开发.安全工作于一身的“复合性人才”.   除了传统IT运维部分,运维人员还是管理制度.规 ...

  9. 运维是做什么的?史上最全互联网Linux工作规划!十分钟找到linux运维工程师职业方向!

    首先祝贺你选择学习Linux,你可能即将踏上Linux的工作之旅,出发之前,让我带你来看一看关于Linux和Linux运维的一切. Linux因其高效率.易于裁剪.应用广等优势,成为了当今中高端服务器 ...

随机推荐

  1. Java多线程 wait, notify 和 notifyAll

    Java的Object类 public class Object { public final native void notify(); public final native void notif ...

  2. Java基础之创建窗口——使用SpringLayout管理器(TrySpringLayout)

    控制台程序. 可以把JFrame对象aWindow的内容面板的布局管理器设置为javax.swing.SpringLayout管理器. SpringLayout类定义的布局管理器根据javax.swi ...

  3. Java基础之写文件——缓冲区中的多条记录(PrimesToFile3)

    控制台程序,上一条博文(PrimesToFile2)每次将一个素数写入到文件中,所以效率不是很高.最好是使用更大的缓冲区并加载多个素数. 本例重复使用三个不同的视图缓冲区加载字节缓冲区并尽可能加入更多 ...

  4. Beyond Compare

    Beyond Compare是一个比较文件和文件夹的工具.  它可以帮助你找到并协调源代码.文件夹.图像和数据间的差异,即使包括zip文档中或者FTP站点上的文件.  另外它还可以同步化文件夹并验证不 ...

  5. gcc 错误:Fatal error error writing to tmp No space left on device

    在使用gcc make时报错:Fatal error error writing to tmp No space left on device finiteVolume/ddtSchemes/Eule ...

  6. Swift游戏实战-跑酷熊猫 03 熊猫跑动动画

    这节内容,我们一起来利用SKAction的来为熊猫创建动画,我们将学会通过纹理组产生动画,使用永远循环的SKAction让熊猫不停的跑动. 要点: 枚举的使用:用来记录熊猫的动作状态 enum Sta ...

  7. Leetcode: Frog Jump

    A frog is crossing a river. The river is divided into x units and at each unit there may or may not ...

  8. [转]java工程师成神之路

    转载http://www.hollischuang.com/archives/489https://linux.cn/article-6739-1.html 一.基础篇 1.1 JVM 1.1.1. ...

  9. poj: 1207

    好吧这题竟然还有先大后小的可能,能不这么恶心下吗.. #include <iostream> #include <stdio.h> #include <string.h& ...

  10. linux for java programer

    http://www.kancloud.cn/digest/javaxviii/126781 .查找文件 find / -name filename.txt根据名称查找/目录下的filename.tx ...