可能是最全的h5ai搭建教程
1、下载和安装
官方的下载地址是这个 https://larsjung.de/h5ai/
如果使用宝塔的话,一定把【网站目录】里面的“防跨站攻击”关闭
修改配置文件
宝塔【配置文件】,找到index index.php index.html
改为index index.html index.php /_h5ai/public/index.php
修改前
server
{
listen 80;
...
index index.php index.html index.htm default.php default.htm default.html;
...
修改后
server
{
listen 80;
...
index index.html index.php /_h5ai/public/index.php;
...
2、使用指南
把相应的文件上传到网站根目录,和_h5ai同一个目录即可。
3、进阶教程
- 查看全部功能开放情况
访问你的域名xxxx.com/_h5ai/public/index.php(初始密码为空) - Use EXIF thumbs安装
宝塔用户可直接在后台点击php版本,安装扩展 -> exif 一键安装即可 - Movie thumbs (ffmpeg)安装
CentOS 6&7安装ffmpeg
CentOS 6和7安装方法是不一样的,下面分别说明:
安装前都需要先安装epel扩展源
yum -y install epel-release
CentOS 6比较简单,安装yum源之后直接安装即可:
su -c 'yum localinstall --nogpgcheck https://download1.rpmfusion.org/free/el/rpmfusion-free-release-6.noarch.rpm https://download1.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-6.noarch.rpm'
yum -y install ffmpeg ffmpeg-devel
而CentOS 7需额外安装扩展源:
su -c 'yum localinstall --nogpgcheck https://download1.rpmfusion.org/free/el/rpmfusion-free-release-7.noarch.rpm https://download1.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-7.noarch.rpm'
rpm --import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro
rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-1.el7.nux.noarch.rpm
yum -y install ffmpeg ffmpeg-devel
- PDF thumbs安装
yum -y install ImageMagick
- Public Cache directory和Private Cache directory
把h5ai程序_h5ai中private和public两个文件夹中的cache目录权限设置为777,
刷新一下网页可以看到两个no变为yes了。
- Shell tar,Shell zip和Shell du
在php.ini被禁用函数中去掉exec和passthru即可
把scandir函数去掉禁用,不然会出现无非显示目录中文件
4、优化访问速度
h5ai引用了谷歌的字体库,所以访问会很慢
这个文件 /_h5ai/private/conf/options.json
第26行找到下面文件替换如下:
fonts.googleapis.com为fonts.geekzu.org
5、设置用户名和密码
找到 _h5ai/public/index.php 在上方加入下面代码
auth();
function auth ()
{
$valid_passwords = array ("1" => "1");
$valid_users = array_keys($valid_passwords);
$user = $_SERVER['PHP_AUTH_USER'];
$pass = $_SERVER['PHP_AUTH_PW'];
$validated = (in_array($user, $valid_users)) && ($pass == $valid_passwords[$user]);
if (!$validated) {
header('WWW-Authenticate: Basic realm="My Realm"');
header('HTTP/1.0 401 Unauthorized');
die ("Not authorized");
}
}