CentOS7中部署Showdoc

文:铁乐与猫

前置环境

因为showdoc其实就是可以认为是一个php网站,所以从GitHub上下载整个代码包回来部署在服务器的网站目录上就好了。

但前提是你php和网站环境要先搭建好。

这里实操我使用的是比较熟悉的nginx+PHP

  • 系统是CentOS7.2 64位
  • nginx已编译安装好
  • php环境通过yum安装一下,会比较好解决依赖关系。
yum install php php-gd php-fpm php-mcrypt php-mbstring php-mysql php-pdo

部署

配置文件

安装完后,在你安装的ngix目录下/nginx/conf/nginx.conf中http区块中加入如下配置:

include vhosts/showdoc.conf;

当然你也可以不单独为它列一个配置文件而是直接写进nginx.conf中,而我这里是将接下来的配置写到vhosts目录下的showdoc.conf中:

server {
listen 80;
server_name showdoc.testytowin.com;
#自定义的域名,因为我在内部有自己的DNS服务器
root /var/www/html;
#这个目录看有没有必要再重新指定,默认打算将showdoc代码包解到这里也行
index index.php index.html
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
location ~ \.php$ {
root /var/www/html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.ht {
deny all;
}
}

使用语法检测过也正常。

解压安装包

那么接下来就是下载代码包解压放到服务器上了。

然后进入目录/var/www/html(不存在则新建),将ShowDoc上传并按照部署手册(http://blog.star7th.com/2016/05/2007.html )安装即可。

我之前是在GitHub下载好了代码包,zip格式的,上传后还在服务器上折腾了一下unzip解压。现html文件夹下可以看到如下图:

添加启动服务

准备网页浏览自己服务器上的showdoc安装前先执行命令将nginx和php解析器启动,php-fpm由于是yum安装的可以再将服务添加到开机启动

service nginx start
#nginx如果是yum安装的才可以这样启动,我是编译安装的,所以我会再进nginx目录手动执行nginx脚本启动
service php-fpm start
chkconfig php-fpm on
chkconfig nginx on
#如果是yum安装的nginx可以添加到服务开机启动,因为我是编译安装的,我会用脚本去做成开机启动
  • 启动Nginx
/application/nginx/sbin/nginx
#这是我编译安装nginx的目录
  • 启动php服务
[root@jira sbin]# service php-fpm start
Redirecting to /bin/systemctl start php-fpm.service
[root@jira sbin]# chkconfig php-fpm on
注意:正在将请求转发到“systemctl enable php-fpm.service”。
Created symlink from /etc/systemd/system/multi-user.target.wants/php-fpm.service to /usr/lib/systemd/system/php-fpm.service.

设置权限

  • 文件夹权限

    请确保/Application/Runtime 、 /Public/Uploads 、 /Sqlite 、 /Sqlite/showdoc.db.php 有可写权限

  • Windows服务器

    在php.ini里面把extension=php_sqlite.dll和extension=php_pdo_sqlite.dll启用以便开启对SQlite的支持;也启用php_mbstring.dll;

Linux服务器则不需要此操作。

运行安装

在浏览器访问http://xxxx.com/install/ (请将网址更改为你服务器域名或ip)。

安装完毕后可使用默认账号showdoc(密码:123456)登录,也可以自行注册账户

我还没做给权限的操作,并且也不是访问install,会像如下报错:

浏览器重新访问,后面加上/install (例如我的是172.16.0.111/install或http://showdoc.testytowin.com/install

出现选择语言的界面,证明已经可以正常使用安装了。

下一步提示给权限,进服务器操作chmod,权限给予就不累述了:

但安装php-mcrypt这个倒是有点麻烦,

之前yum 时也敲过安装的,显然是yum源没找着安装不上。

是换源还是直接跑去下载安装好了?

所以后面还是感觉docker容器部署的好处多。这是题外话。

yum  install epel-release  //扩展包更新包
yum update //更新yum源
yum install libmcrypt libmcrypt-devel mcrypt mhash

使用了更新yum源的方法来安装php-mcrypt

我好像搞错了,我现在yum装的是mcrypt并没有装php-mcrypt,难怪还是不成功。

yum install php-mcrypt

这个才是真的安装成功!

重来刷新再进行下去(我甚至还重启过了系统)

sqlite目录这个也要有权限,官网博客说明里有提到了,没仔细留意到,再去赋权,包括它的/Sqlite/showdoc.db.php要有写权限。

刷新页面

安装成功了。

界面

感觉不但install这个目录要删除,之前给得过高的权限也得调整,不过现在先进网站首页看看。

注册了一个用户,然后尝试新建了一个测试项目看

可以看到它和其它富文本编辑器相比,多了一些API接口模板,有JSON工具等,挺适合开发写这种文档的。

后续的使用以后再发博文。

【end】

CentOS7中部署Showdoc的更多相关文章

  1. etcd学习(4)-centos7中部署etcd

    etcd的搭建 前言 单机 集群 创建etcd配置文件 更新etcd系统默认配置 启动 配置ETCD为启动服务 测试下 参考 etcd的搭建 前言 这里记录下如何搭建etcd 单机 在etcd的rel ...

  2. 无网络centos7中部署kubernetes

    本文提供的kubernetes1.1实际为kubernetes0.8,最新kubernetes部署方式见下一篇文章:centos下kubernetes+flannel部署. 一.部署环境信息: 1)m ...

  3. CentOS6.5利用Docker部署ShowDoc

    在Docker中部署ShowDoc 一.安装Docker 1.安装Docker yum install docker 最后出现Complete即可 2.启动服务 # service docker st ...

  4. Centos7中离线安装DockerCE最新版

    一.简述 离线在Centos7中部署DockerCE. 二.步骤 (1)在有外网的计算A上执行: 1.配置安装源存放路径 mkdir -p /root/docker-ce-local &&am ...

  5. 在docker中部署centos7镜像

    本篇文章参考自: https://www.cnblogs.com/linjj/p/5606911.html https://blog.csdn.net/u012767761/article/detai ...

  6. 在阿里云Centos7.6中部署nginx1.16+uwsgi2.0.18+Django2.0.4

    上次在网上找了一个在阿里云Centos7.6中部署nginx1.16+uwsgi2.0.18+Django2.0.4的文档,可能是这个文档不是最新版的,安装的时候遇到了很多问题, 最后跟一个大神要了一 ...

  7. centos7中配置java + mysql +jdk +使用jar部署项目

    centos7中配置java + mysql +jdk  +使用jar部署项目 思维导图 1. 配置JDK環境 1.1下载jdk安装包 Java Downloads | Oracle 1.2 将下载j ...

  8. 在 CentOS7 上部署 MySQL 主从

    在 CentOS7 上部署 MySQL 主从 通过 SecureCRT 连接至 MySQL 主服务器: 找到 my.cnf 文件所在的目录: mysql --help | grep my.cnf 一般 ...

  9. 在 CentOS7 上部署 zookeeper 服务

    在 CentOS7 上部署 zookeeper 服务 1 用 SecureCRT 或 XShell 等 Linux 客户端工具连接至 CentOS7 服务器: 2 进入到 /usr/local/too ...

随机推荐

  1. Java NIO 进程间通信

    转自:http://blog.csdn.net/lingzhm/article/details/45026119 传统的进程间通信的方式有大致如下几种: (1)   管道(PIPE) (2)   命名 ...

  2. 【LeetCode题解】61_旋转链表(Rotate-List)

    目录 描述 解法:双指针 思路 Java 实现 Python 实现 复杂度分析 描述 给定一个链表,旋转链表,将链表每个节点向右移动 k 个位置,其中 k 是非负数. 示例 1: 输入: 1-> ...

  3. UVa 122 Trees on the level(链式二叉树的建立和层次遍历)

    题目链接: https://cn.vjudge.net/problem/UVA-122 /* 问题 给出每个节点的权值和路线,输出该二叉树的层次遍历序列. 解题思路 根据输入构建链式二叉树,再用广度优 ...

  4. jQuery.Ajax()执行WCF Service的方法

    Insus.NET有在上一篇<ASP.NET MVC呼叫WCF Service的方法>http://www.cnblogs.com/insus/p/3720547.html 直接呼叫WCF ...

  5. EF访问数据库报“ExecuteReader 要求已打开且可用的 Connection。连接的当前状态为已关闭。”错误

    我发生这个问题的原因是因为我用EF访问数据库时用的用到了两用方式,如下图 第一种方式访问时不会出现此错误,出现错误的是第二种方式,下图是dal层代码 其中红框中的代码是出现错误之后改正的代码,也就是说 ...

  6. [日常] Go语言圣经-Panic异常,Recover捕获异常习题

    Go语言圣经-Panic异常1.当panic异常发生时,程序会中断运行,并立即执行在该goroutine中被延迟的函数(defer 机制)2.不是所有的panic异常都来自运行时,直接调用内置的pan ...

  7. JavaScriptDay3

    js对标签的操作 创建标签:document.createElement("tag"); 便签添加内容 : document.createElement("tag&quo ...

  8. 使用Spring的AbstractRoutingDataSource类来进行拓展多数据源

    1.继承抽象类AbstractRoutingDataSource 通过重写这个抽象类的determineCurrentLookupKey()方法来决定返回哪个数据库. 2.配置多个数据库 <be ...

  9. 设计模式-原型(prototype)

     一.概念 用原型实例指定创建对象的种类,并通过拷贝这些原型创建新的对象. 二.模式动机 当已有一个对像,暂且称之为原型对象,需要一个新的对像,该对像和已有的原型对像具有相同的类型,且里面的属性大部分 ...

  10. 【17】迭代器模式(Iterator Pattern)

    一.引言 在上篇博文中分享了我对命令模式的理解,命令模式主要是把行为进行抽象成命令,使得请求者的行为和接受者的行为形成低耦合.在这一章中,将介绍一下迭代器模式. 二.迭代器模式的介绍 迭代器是针对集合 ...