刘明帅
热爱生活!
刘明帅
使用h5ai搭建自己的文件分享私有云
使用h5ai搭建自己的文件分享私有云

最近挑选服务器目录共享的引擎,在诸如seafile、ownCloud、FileRun、Directory Lister、h5ai之间几经挑选后选择了h5ai。

因为没有文件web上传需求,也没有多用户需求,仅仅是自己做个路径web浏览而已。因此最终选择了美观轻量的h5ai;同时为了控制访问权限,选择了较为轻量的Apache Basic身份验证。

实验环境

  • Ubuntu 20.04
  • /mnt/download为需要在web展示的路径

实验步骤

一、更新apt源、安装所需软件

ubuntu@ubuntu:~$ sudo apt update && sudo apt install apache2 php php-gd imagemagick zip ffmpeg

二、下载h5ai

ubuntu@ubuntu:~$ sudo wget https://github.com/lrsjng/h5ai/archive/v0.29.2.tar.gz && sudo tar -xzvf v0.29.2.tar.gz
ubuntu@ubuntu:~$ sudo mv h5ai-0.29.2/src/_h5ai/ /mnt/download/
ubuntu@ubuntu:~$ sudo chown -R www-data:www-data /mnt/download/_h5ai/

三、调整配置文件

ubuntu@ubuntu:~$ sudo vi /etc/php/7.*/apache2/php.ini

将其中的disable_functions选项中去掉pcntl_exec

ubuntu@ubuntu:~$ sudo vi /etc/apache2/sites-available/000-default.conf
<VirtualHost *:80>
DirectoryIndex   /_h5ai/public/index.php
   <Directory "/mnt/download/">
      AuthType Basic
      AuthName "Restricted Content"
      AuthUserFile /mnt/download/.htpasswd
      Require valid-user
   </Directory>
</VirtualHost>

如果要想启用https链接,则要改成如下配置同时使用命令sudo a2enmod ssl开启apache2的ssl加密功能,同时修改配置文件中的服务器名称和key路径。

<IfModule mod_ssl.c>
<VirtualHost>
DirectoryIndex   /_h5ai/public/index.php
   <Directory "/mnt/download/">
      AuthType Basic
      AuthName "Restricted Content"
      AuthUserFile /mnt/download/.htpasswd
      Require valid-user
   </Directory>

ServerName Your@Domain.Name
SSLCertificateFile key.crt
SSLCertificateKeyFile key.key
</VirtualHost>
</IfModule>

四、创建密码文件

ubuntu@ubuntu:~$ sudo htpasswd -cm /mnt/download/.htpasswd User1

五、启动服务并检查插件状态

ubuntu@ubuntu:~$ sudo systemctl restart apache2

服务启动后访问管理界面,查看插件是否均正常运行。

  • http://YourIP/_h5ai/public/index.php

管理界面默认密码为空,需要更改默认密码可以在服务器_h5ai/private/conf/options.json中更改。

常见故障

如果直接从GitHub上下载,则会报如下错误。出现这个错误的原因是GitHub上的是未经过npm编译过的原始代码,下载主页编译好的即可解决。

[ERR] h5ai sources must be preprocessed to work correctly

文章链接: https://lmshuai.com/archives/433
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!

推荐文章

发表评论

textsms
account_circle
email

刘明帅

使用h5ai搭建自己的文件分享私有云
序 最近挑选服务器目录共享的引擎,在诸如seafile、ownCloud、FileRun、Directory Lister、h5ai之间几经挑选后选择了h5ai。 因为没有文件web上传需求,也没有多用户需求,仅仅是自…
扫描二维码继续阅读
2020-09-27