Fresns是一款国产的可跨时区工作的,简约风格的社区管理系统。刚开始安装的时候,实在是找不到门道,因为官方文档太简单了。就几个命令,小白用户安装绝对有很多坑。
好东西,用的人少,那就是暴殄天物,让明珠蒙尘。所以今天,我带大家走一遍完整的安装流程。
一、环境配置
Fresns是一款比较傲娇的管理系统,因为他的环境要求非常高。PHP版本必须8.1或以上,MySQL版本必须是5.7以上。下面我们就一步一步来讲解。
1.1 Linux安装
买一台阿里云服务器,内存必须2G以上,因为后面php需要安装扩展插件fileinfo,必须要有1G以上的内存。
我们选择Linux发行版本是CentOS 7.9。别的版本我不知道行不行,反正这个版本是一定行。
1.2 宝塔面板安装
宝塔大家一定都熟,安装命令
yum install -y wget && wget -O install.sh https://download.bt.cn/install/install_6.0.sh && sh install.sh ed8484bec
这是宝塔 CentOS安装命令,其他发行版本请前往宝塔官网安装。
建议安装纯版本的宝塔,nginx、PHP、MySQL先不安装。
1.3 Nginx 安装
宝塔面板安装完成后,进入宝塔安装Nginx,安装最新的1.22版本问题不大的。
1.4 安装 MySQL
MySQL
5.7 ~ 8.x
MariaDB10.3 ~ 11.x
PostgreSQL11.x ~ 15.x
SQL Server2016(13.x) ~ 2022(16.x)
SQLite3.9
或更高版本
按照Fresns官方文档的说法,Fresns支持MySQL、MariaDB、PostgreSQL、SQL Server以及SQLite。
我们这边就简简单单装一个MySQL 5.7
warming:不要装8.0版本的MySQL,配置起来很麻烦。
1.5 安装PHP
按照官方要求,PHP 8.1走起。
以上安装,我们就不放图片了,宝塔自动安装,自己选一下版本就行了。
1.6 PHP配置
1.6.1 启用禁用函数
启用函数,PHP默认有很多禁用函数,禁用的原因当然是安全问题,不过在安装Fresns过程中,我们需要把一些禁用函数解禁。
symlink | putenv | proc_open | shell_exec |
---|---|---|---|
passthru | pcntl_signal | pcntl_alarm | pcntl_async_signals |
warning:这步一定要在安装完PHP后,第一时间操作,不然后面composer就装不了了。
warning:如果担心安全问题,在安装完成后,symlink可以直接禁用,putenv、proc_open、shell_exec以及passthru可以在升级完成后禁用,也就是说,安装后禁用这四个函数,在未来升级的时候,还需要解禁。pcntl_signal、pcntl_alarm、pcntl_async_signals这三个函数只有在配置队列的情况下才会使用,但是配置队列是必须的,因此不能禁用。
1.6.2 安装PHP扩展
安装fileinfo、opcache、redis、imagemagick以及exif五个插件。
步骤到这里,Nginx、PHP以及MySQL基本都安装好了。
1.7 安装 Composer
1.7.1 Composer 安装的必要性
官方提供了两种主程序的下载方式,直接下载和命令行安装。官方教程只给我们一个安装命令,但是小白用户基本上用不了命令行,因为没有Composer。
如果你选择在官网直接下载,你还是需要安装Composer,因为Fresns是一个前后端分离的开源项目,实测后端安装后,前端后台一键安装失败的概率极高,还是要老老实实用命令行安装,所以composer必不可少。
1.7.2 Composer 安装
进入 usr/local/bin目录
cd /usr/local/bin
下载 Composer
curl -sS https://getcomposer.org/installer | php
重命名 composer.phar,并将Composer移动到全局可访问的目录,这样就可以在任何地方使用Composer。
sudo mv composer.phar /usr/local/bin/composer
修改 Composer 权限
sudo chmod a+x /usr/local/bin/composer
检查 Composer 是否安装成功
在命令行输入命令 composer,如果出现下面的内容,那说明安装成功。
到这里,所有的环境和工具全部配置完成。
二、安装 Fresns
2.1 建立站点
我们在宝塔面板中建立站点
创建好站点之后,我们在宝塔后台点击站点设置
在站点设置中,我们要做两件事,配置伪静态和升级composer
2.1.1 配置伪静态
伪静态在官方文档中就是URL重写,其实是一个东西。
nginx服务器伪静态配置
location / {
try_files $uri $uri/ /index.php?$query_string;
}
2.1.2 升级composer
别问为啥,反正点一下准没错
2.2 下载 Fresns
我们采用的是命令行方式下载Fresns
2.2.1 删除 fresns 内所有文件
我们在建立站点的时候,已经创建了一个根目录 /www/wwwroot/fresns,一般来说这个根目录里面是有几个基础文件的,比方说 404.html。因此,我们要先把这些文件全部删除。
可以在宝塔后台直接删除。
2.2.2 下载 Fresns
当../fresns确认为空的时候,我们才能执行 Fresns 的下载命令,否则必报错。
必须在/www/wwwroot 文件夹下,执行以下命令:
composer create-project fresns/fresns ./fresns
官方命令 composer create-project fresns/fresns本身是没有任何问题的,但是少了一个前提,必须要在网站根目录,也就是/www/wwwroot/fresns下执行composer create-project fresns/fresns
2.2.3 配置站点运行目录
由于Laravel需要指定二级目录作为运行目录,所以在下载完之后,我们需要再次配置一下站点的运行目录。
运行目录设置为 /public目录,同时因为网站目录和运行目录不是同一个,所以我们要把open_basedir打开,取消防跨站攻击。
不要提前配置,如果没有把fresns下载到指定位置,public文件夹是不会出现的。
到这里其实差不多了,可以安装了。
2.3 安装 Fresns
2.3.1 可视化安装
直接访问 域名/install,就能跳出安装向导,一步一步向下安装即可。
2.3.2 命令行安装
在/www/wwwroot/fresns目录下执行安装命令
php artisan fresns:install
只要你的数据库密码没填错,基本上就能顺利安装。
三、安装前端
因为fresns是前后端分离的,后端主程序和前端并不绑定,这就带来了很多可玩性,同时这也增加了安装的复杂度。
3.1 安装前端
fresns提供了几个免费开源的前端,我们这边选用Moments前端。
在/www/wwwroot/fresns文件夹下执行以下命令:
php artisan market:require Moments
稍微等一会儿就能安装完毕。
3.2 启用前端并配置
前端安装后,并不代表能访问。因为fresns是主程序+插件的模式,所以扩展性极强,前端其实也是一种插件,因此,我们必须要在主程序中启用前端。
启用并设置,引擎状态启用,关联密钥启用。
关于密钥,在应用密钥中创建即可,问题不大。一定要注意的是:主程序API密钥,一定要把只读关闭,一旦开启密钥只读,将会影响邮箱发信,也就是用户无法注册了。
另外为了帮助更多开发者快速体验,Fresns团队开放了开源社区的API密钥,只要按照下面的操作,就能在自己的社区里填满内容。
社区API地址:Fresns 官方社区 API 密钥,对外公开,所有人可以直接使用 - Fresns 官方社区
到这里,Fresns就安装完毕了。