ShowDoc是什么
- 每当接手一个他人的模块或者项目,看着那些没有解释说明的资料,我们都无比抓狂。文档呢?!文档呢?!Show me the doc !!
- IT人员都很希望别人能写文档,而自己却很不希望要写文档。因为写文档需要花大量的时间去处理格式排版,想着新建的word文档放在哪个目录等各种非重点细节。
- word格式等文档零零散散地放在团队不同人那里,需要文档的人基本靠吼,吼一声然后上qq或者邮箱接收对方丢过来的文档。这种沟通方式当然可以,只是效率不高。
- ShowDoc就是一个非常适合IT团队的在线文档分享工具,它可以加快团队之间沟通的效率。
它可以用来做什么
- API文档( 查看Demo)
随着移动互联网的发展,BaaS(后端即服务)越来越流行。服务端提供API,APP端或者网页前端便可方便调用数据。用ShowDoc可以非常方便快速地编写出美观的API文档。
- 数据字典( 查看Demo)
一份好的数据字典可以很方便地向别人说明你的数据库结构,如各个字段的释义等。
- 说明文档 ( 查看Demo)
你完全可以使用showdoc来编写一些工具的说明书,也可以编写一些技术规范说明文档以供团队查阅
它都有些什么功能
- 分享与导出
响应式网页设计,可将项目文档分享到电脑或移动设备查看。同时也可以将项目导出成word文件,以便离线浏览。
- 权限管理
- 公开项目与私密项目
ShowDoc上的项目有公开项目和私密项目两种。公开项目可供任何登录与非登录的用户访问,而私密项目则需要输入密码验证访问。密码由项目创建者设置。
- 项目转让
项目创建者可以自由地把项目转让给网站的其他用户。
- 项目成员
你可以很方便地为ShowDoc的项目添加、删除项目成员。项目成员可以对项目进行编辑,但不可转让或删除项目(只有项目创建者才有权限)
- 团队管理
利用showdoc的团队功能你可以更好地进行团队协作
- 编辑功能
markdown编辑
ShowDoc采用markdown编辑器,无论是编辑还是阅读体验都极佳很棒。如果你不了解Markdown,请在搜索引擎搜索”认识与入门 Markdown”
- 模板插入
在ShowDoc的编辑页面,点击编辑器上方的按钮可方便地插入API接口模板和数据字典模板。插入模板后,剩下的就是改动数据了,省去了很多编辑的力气。
- 历史版本
ShowDoc为页面提供历史版本功能,你可以方便地把页面恢复到之前的版本。
- 多平台
showdoc支持网页版、手机app版和电脑客户端版。
搭建
环境:nginx和php
存储:Sqlite
在根目录下面会生成一个showdoc.db.php数据文件
代码下载
https://github.com/star7th/showdoc
帮助手册
https://www.showdoc.com.cn/help?page_id=13732
安装nginx
#!/bin/bash
#for one install nginx
#for wangjiadongge
#Add users running the nginx service process
useradd -s /sbin/nologin nginx
#Installation dependence
yum groupinstall -y "Development tools"
yum install -y gcc wget gcc-c++ automake autoconf libtool libxml2-devel libxslt-devel perl-devel perl-ExtUtils-Embed pcre-devel openssl-devel
#Download source
wget http://nginx.org/download/nginx-1.12.2.tar.gz
tar -xvf nginx-1.12.2.tar.gz
#Compile and install
cd nginx-1.12.2/
./configure \
--prefix=/usr/local/nginx/ \
--user=nginx \
--group=nginx \
--with-pcre \
--with-http_v2_module \
--with-http_ssl_module \
--with-http_realip_module \
--with-http_addition_module \
--with-http_sub_module \
--with-http_dav_module \
--with-http_flv_module \
--with-http_mp4_module \
--with-http_gunzip_module \
--with-http_gzip_static_module \
--with-http_random_index_module \
--with-http_secure_link_module \
--with-http_stub_status_module \
--with-http_auth_request_module \
--with-mail \
--with-mail_ssl_module \
--with-file-aio \
--with-http_v2_module \
--with-threads \
--with-stream \
--with-stream_ssl_module \
make && make install
mkdir -p /usr/local/nginx/tmp/client
ln -s /usr/local/nginx/sbin/nginx /usr/bin/nginx
#Start nginx
cd /usr/local/src/nginx-1.12.2/
nginx
#View port
ps -aux|grep nginx
修改配置文件
user nginx nginx;
worker_processes 1;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log logs/access.log main;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
#gzip on;
server {
listen 80;
server_name localhost;
client_max_body_size 900m;
proxy_buffer_size 512k;
proxy_buffers 4 512k;
proxy_busy_buffers_size 512k;
proxy_temp_file_write_size 512k;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root html;
index index.php index.html index.htm;
}
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /usr/local/nginx/html$fastcgi_script_name;
include fastcgi_params;
}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
location ~ /\.ht {
deny all;
}
}
}
安装php
- 下载PHP源码包
[root@localhost ~]#wget http://am1.php.net/distributions/php-7.2.2.tar.gz
2.解压php7
[root@localhost ~]#tar -zxvf php-7.2.2.tar.gz
- 进入php目录
[root@localhost ~]#cd php-7.2.2
- 安装依赖包
[root@localhost php-7.2.2]#yum install libxml2 libxml2-devel openssl openssl-devel bzip2 bzip2-devel libcurl libcurl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel gmp gmp-devel libmcrypt libmcrypt-devel readline readline-devel libxslt libxslt-devel -y
[root@localhost php-7.2.2]#yum install -y bzip2 bzip2-devel openldap openldap-de
5.编译
[root@localhost php-7.2.2]#./configure \
--prefix=/usr/local/php \
--with-config-file-path=/usr/local/php/etc \
--enable-fpm \
--with-fpm-user=nginx \
--with-fpm-group=nginx \
--enable-inline-optimization \
--disable-rpath \
--enable-shared \
--enable-soap \
--with-libxml-dir \
--with-xmlrpc \
--with-openssl \
--with-mhash \
--with-pcre-regex \
--with-sqlite3 \
--with-zlib \
--enable-bcmath \
--with-iconv \
--with-bz2 \
--enable-calendar \
--with-curl \
--with-cdb \
--enable-dom \
--enable-exif \
--enable-fileinfo \
--enable-filter \
--with-pcre-dir \
--enable-ftp \
--with-gd \
--with-openssl-dir \
--with-jpeg-dir \
--with-png-dir \
--with-zlib-dir \
--with-freetype-dir \
--enable-gd-jis-conv \
--with-gettext \
--with-gmp \
--with-mhash \
--enable-json \
--enable-mbstring \
--enable-mbregex \
--enable-mbregex-backtrack \
--with-libmbfl \
--with-onig \
--enable-pdo \
--with-zlib-dir \
--with-pdo-sqlite \
--with-readline \
--enable-session \
--enable-shmop \
--enable-simplexml \
--enable-sockets \
--enable-sysvmsg \
--enable-sysvsem \
--enable-sysvshm \
--enable-wddx \
--with-libxml-dir \
--with-xsl \
--enable-zip \
--enable-mysqlnd-compression-support \
--with-pear --enable-opcache
6.安装
[root@localhost php-7.2.2]# make && make install
[root@localhost php-7.2.2]# cp php.ini-production /usr/local/php/etc/php.ini
[root@localhost php-7.2.2]# vim /usr/local/php/etc/php.ini
include_path = /usr/local/php/lib/php.ini
[root@localhost php-7.2.2]# /root/php-7.2.2/build/shtool install -c ext/phar/phar.phar /usr/local/php/bin
[root@localhost php-7.2.2]# ln -s -f phar.phar /usr/local/php/bin/phar
[root@localhost php-7.2.2]# cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
7.修改环境变量
[root@localhost php-7.2.2]# vim /etc/profile
export PHP_HOME=/usr/local/php
export PATH=$PATH:$PHP_HOME/bin
[root@localhost php-7.2.2]# source /etc/profile
8.修改配置启动服务
[root@localhost php-7.2.2]# cp php.ini-production /etc/php.ini
[root@localhost php-7.2.2]# cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf
[root@localhost php-7.2.2]# cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
[root@localhost php-7.2.2]# chmod +x /etc/init.d/php-fpm
[root@localhost php-7.2.2]# /etc/init.d/php-fpm start
[root@localhost php-7.2.2]# php -v
PHP 7.2.2 (cli) (built: Dec 3 2020 12:24:50) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologiesopenldap openldap-devel
在根目录写一个php测试页面
<?php
phpinfo();
?>
把工程文件上传至网页根目录
解压
[root@localhost html]# unzip showdoc-master.zip
[root@localhost html]# mv showdoc-master/* ./
修改当前目录的属主
[root@localhost html]# chown -R nginx.nginx ./*
在浏览器上访问输入IP
安装时可以选择中文,英文。这就安装好了
默认用户showdoc 密码123456
登录进去的页面是这样。完成
自动脚本安装
#下载脚本并赋予权限
wget https://www.showdoc.com.cn/script/showdoc;chmod +x showdoc;
#默认安装中文版。如果想安装英文版,请加上en参数,如 ./showdoc en
./showdoc
从手动方式升级到自动脚本方式
如果你之前是手动安装showdoc,可考虑升级到现在这种自动脚本方式。升级到脚本方式后,就可以使用上脚本的自动化功能 ,比如说升级到最新版,重启,卸载等。
升级方法:
1,首先参考前文部分,在服务器全新安装一个showdoc
2,把原来showdoc目录的Sqlite/showdoc.db.php覆盖/showdoc_data/html/Sqlite/showdoc.db.php ,Public/Uploads覆盖 /showdoc_data/html/Public/Uploads
3,执行命令
chmod 777 -R /showdoc_data/html
./showdoc update
其他命令
下面附上脚本其他命令,以便管理showdoc时可以用得上。
#停止
./showdoc stop
#重启
./showdoc restart
#升级showdoc到最新版
./showdoc update
#卸载showdoc
./showdoc uninstall