身为运维工程师怎么用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 是网站的配置文件,包括网站名字、主题、语言等配置。

时间: 2024-10-20 12:30:22

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

中高级运维工程师所需要掌握的技能

身为一名中高级运维工程师,需要掌握的技术如下: linux系统的基本操作(ls,mkdir,touch,date,find,-exec,diff等等等等) 至少要awk,seq命令的中级使用(包含太复杂的函数先不说) 具备写shell的能力(掌握for in.case.while语句) 具备部署contab的能力 具备部署iptables的能力 具备能给磁盘扩容的能力 具备raid硬盘多种备份的能力 掌握linux下发送电子邮件的语句 Python/C/Ruby等语言的基本编程能力,会其中一个就

运维工程师该干什么学些什么?[致菜鸟]

很多刚学linux运维的朋友,总是搞不懂,运维工程师工作中干些啥?学的这些东西有什么用?今日我特来总结总结,希望能帮助即将跨入该行的人形成一个整体的思路.下面红色字体代表所要掌握的LInux免费开源工具. 运维工程师干些什么 总结两句话 1.  保障业务长期稳定运行(如网站服务器.游戏服务器等等). 2.  保障数据安全可靠(如用户名密码.游戏数据.博客文章.交易数据等等). 由这两句话推演运维工程师要学些什么 一.保障业务长期稳定运行 出一点点差错,用户就要投诉了. 1.业务跑在什么上面? 网

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

成长一名Linux工程师之后,才知道一路走来,背后的心酸.非常感谢支持我的同伴与老师,是你们鼓励我,坚持到底,才在这个行业立足.如果你在学习Linux,那么强烈推荐你选择RHEL和Centos作为学习的Linux发行版本,在公司及企业当中他们是使用最多的,毕竟学习除了本身是爱好,其次也是为了就业.Centos是RHEL的克隆版本,免费使用,二个发行版没有任何区别.成长为一名Linux工程师,只需要掌握以下方面的技能,那日常工作一点问题都没有. 1.扎实的基础 试想如果没有最扎实的基础,如何去查看

Linux运维工程师的一天是如何度过的

下面先简单介绍一下个人这几年从事运维工作以来得出的感悟与体会 1.操作系统状况检查与告警登录系统或者通过监控报警平台查看系统运转的负载 磁盘空间状态,内存使用状态,有无报错日记, 查看报警记录等. 2.操作系统故障处理   根据检查与监控的情况,对发现的系统故障进行处理,对己知故障进行预防方案部署,在日常运维中,还会有许多其他部分提出的问题返遗,比如客户经验会反应某某地区用户访问网站速度慢 像这种情况要结合南北线路,以及用户的网络环境等综合因素进行处理. 3.服务器性能分析和优化 通过监控平台

【转载】运维职业向!我是怎么入得运维行业?运维工程师入门必备技能以及打怪升级篇

前言:转载 陈浩一个从事安全运维向的前辈文章.写的很好.人非常nice,遇到了问题,qq上很快就回复了我. 大道三千 入门最难,凡事入了行,也就什么都好说了,好的自然不断努力奋斗修行,不好的自然很快就被淘汰.恭谨勤勉,时不我待~ ---------------------------------------------------------------------------------------------------------------------------------------

详解Linux运维工程师打怪升级篇

详解 Linux 运维工程师打怪升级篇 积累经验篇 做运维也快4年多了,就像游戏打怪升级,升级后知识体系和运维体系也相对变化挺大,学习了很多新的知识点. 运维工程师 是从一个呆逼进化为苦逼再成长为牛逼的过程,前提在于你要能忍能干能拼,还要具有敏锐的嗅觉感知前方潮流变化.如:今年大数据,人工智能比较火...(相对表示就是 python 比较火) 前面也讲了运维基础篇,发现对很多人收益挺大,接下来也写下关于这4年多的运维实践经验,从事了2年多游戏运维,1年多安全运维,1年大数据运维,相关行业信息不能

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

我是一名linux运维工程师,确切的说是网站运维工程师,从事linux工作有2年多了,对这方面有一些体会,给新手一点借鉴: 首先说下运维种类:有办公网系统运维(就是网管),有IDC外网运维,外网运维里又分网站运维.游戏运维.IDC运维(装系统排障),监控运维(盯着监控).我强烈建议大家选择linux网站运维路线,这个路线绝对是最好的,会了网站运维了去做别的运维岗位绝对也是信手拈来的,网站运维需要的技术点更多,因此,我以我工作的网站运维岗位说说运维都需要啥. 1.选择linux系统选择linux系

零基础转行Linux云计算运维工程师获得20万年薪的超级学习技巧

云计算概念一旦产生便一发不可收拾,成为移动互联网时代最为火热的行业之一.国内各大互联网公司例如阿里.腾讯.百度.网易等纷纷推出自己的云计算产品,3月10日,腾讯云0.01元投标时间更是让云计算在普罗大众中火热了一把! 随着云计算的产生,运维工程师也迎来了职业的升级.传统的运维工程师散布在各个企业,在可见的将来,运维工程师将会越来越集中于云计算平台.当然,各企业因为对服务器端内容需要维护,也会有运维工程师的需求. 随着云计算被捧上神坛,相应的人才待遇水涨船高.据拉勾统计,云计算相关岗位数量相比前一

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

首先祝贺你选择学习Linux,你可能即将踏上Linux的工作之旅,出发之前,让我带你来看一看关于Linux和Linux运维的一切. Linux因其高效率.易于裁剪.应用广等优势,成为了当今中高端服务器的主要操作系统,并且处于一个不可替代的地位.Linux可安装在各种计算机硬件设备中,比如手机.平板电脑.路由器.视频游戏控制台.台式计算机.大型机和超级计算机.随着Linux在中国市场迅猛发展,国内Linux人才缺口逐渐凸显.Linux人才招聘也成了当前最热门的招聘之一. 首先linux是一个非常非