本文记录一下在CentOS7以及lnmp和nginx环境下搭建h5ai服务,可以做一个下载站,但功能远不止于下载站。。。
演示环境
- CentOS 7.6
- PHP 7.2.17 (cli)
- 本文操作以假设域名为
dl.zkk.me作基础
搭建步骤
- 添加虚拟机 首先添加一个虚拟机,关于如何添加虚拟机,在搭建WordPress博客一文中有讲到
- 下载程序
进入到刚创建的虚拟机目录下
cd /home/wwwroot/dl.zkk.me下载h5ai程序,你可以去官方网站查看最新版本
wget https://release.larsjung.de/h5ai/h5ai-0.29.0.zip解压下载的文件
unzip h5ai-0.29.0.zip - 修改nginx配置
vi /usr/local/nginx/conf/vhost/dl.zkk.me.conf找到开头是 index.html index.php的这一行,改为
index index.html index.php /_h5ai/public/index.php; - 解禁php函数
需要解禁的函数有三个scandir、exec、passthru
sed -i 's/,scandir//g' /usr/local/php/etc/php.ini sed -i 's/,exec//g' /usr/local/php/etc/php.ini sed -i 's/,passthru//g' /usr/local/php/etc/php.ini - 重启以生效
service php-fpm restart service nginx reload到此为止,h5ai已经搭建完成,下面添加一些非必要功能
添加文件搜索功能
编辑网站配置文件
vim /home/wwwroot/dl.zkk.me/_h5ai/private/conf/options.json
找到以下代码
"search": {
"enabled": false,
"advanced": true,
"debounceTime": 300,
"ignorecase": true
},
把以上代码中的false改为true,保存退出。然后你就会在网站的左上角发现一个放大镜。
加密目录
加密目录后,被加密的目录需要输入用户名和密码才能访问
- 安装htpasswd工具
yum -y install httpd-tools - 设置用户名和密码
htpasswd -c /usr/local/nginx/htpasswd player New password: Re-type new password: Adding password for user player以上代码中
player为用户名。 - 修改nginx配置
vi /usr/local/nginx/conf/vhost/dl.zkk.me.conf
把以下代码添加到上图中红框的位置,代码第一行中的temp为被加密的目录location ~ ^/temp/.* { auth_basic "please login!"; auth_basic_user_file /usr/local/nginx/htpasswd; autoindex on; }修改完nginx保存退出,然后重新载入nginx
service nginx reload访问被加密的目录需要输入用户名和密码
隐藏文件夹
此功能可以在目录中隐藏文件夹,但是通过链接仍然可以访问
