用宝塔面板搭建 WebStack-Laravel 踩坑小记

2022.03.29 22:19

前阵子看到个不错的导航模板 WebStack ,于是想把之前收集的一些有关游戏开发尤其是 GameMaker 相关的教学资源整理一个导航页出来,看了一下似乎 WebStack-Laravel 带个后台管理起来似乎会稍微方便一些,于是弄了两天,照搬网上的一些教程操作,发现过程中有一些小坑,记录一下,也许会对后来者有所帮助吧,我会尽量使用面板进行操作而非命令行。

我的安装环境
Oracle 的羊毛免费主机
宝塔面板 7.9
CentOS 7
PHP 7.3
Mysql 5.7
Nginx 1.18

先在面板里新建一个网站,可以同时把数据库一起创建了

然后把 WebStack-Laravel 的资源整个放到上面新创建的网站目录中,会的朋友可以用 git clone,不会的话自己去仓库下个 zip 包然后通过宝塔面板的文件管理器传上去解压缩也可以。
在上面的文件准备工作完成以后,打开刚刚新建的网站设置页面选择左侧的 Composer

此处首先记得按照图中的提示删除 composer.lock 文件,其次尽量确保 Composer 版本最新吧(我也没试过别的版本),然后这里的执行用户推荐用 www 但务必使用 root ,用 www 后面会报错提示缺少 Fileinfo 扩展,但我明明是装了的,各种修改配制反复重装扩展都不行,最后发现是执行用户权限的问题导致的,吐血。

如果是第一次用 Composer 也许还会遇到一些函数报错,记得去 PHP 的管理设置里删除被禁用的 proc_openpassthru 函数,Fileinfo 的扩展也可以在 PHP 管理设置里直接安装

当执行完 Composer install 后就是修改网站数据库配置了,在面板的文件管理器中回到网站目录文件夹,在里面找到一个 .env.example的文件复制一份改名为.env然后打开编辑其中的内容即可

APP_NAME=WebStack        #站名,自己看着改
APP_ENV=local            #正式上线改为 production
APP_KEY=                 #不填后续会自动生成填入
APP_DEBUG=true           #上线后可设为 false
APP_LOG_LEVEL=debug
APP_URL=http://localhost #填域名(不改也不影响)

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=homestead    #刚才建站时生成的数据库
DB_USERNAME=homestead    #刚才建站时生成的数据库用户
DB_PASSWORD=secret       #刚才建站时生成的数据库密码

#以下可不改,根据自己实际情况看着办吧
BROADCAST_DRIVER=log
CACHE_DRIVER=file
SESSION_DRIVER=file
SESSION_LIFETIME=120
QUEUE_DRIVER=sync

REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379


MAIL_DRIVER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null

PUSHER_APP_ID=
PUSHER_APP_KEY=
PUSHER_APP_SECRET=
PUSHER_APP_CLUSTER=mt1

改好配置以后启动终端输入生成 key 的命令行

#生成KEY
php artisan key:generate  
#初始化网站数据,对于有提示的,输入yes即可
php artisan migrate:refresh --seed

然后回网站设置里把运行目录改为/public

至此,理论上如果你设置的域名已经在 DNS 服务商那里配置过 A 记录,此时已经可以访问了,不过打开以后会看到一大堆报错和 debug 信息,大概是这个样子

需要回文件管理器把网站目录加上写入权限设为 777 再次访问就没有问题了,实测成功访问后这里可以改回 755 也不影响。

最后是访问管理后台,后台地址就是在域名后加上/admin访问即可,不过直接打开会提示重定向次数过多,需要去修改一下 admin.php,在大概 110 行左右auth下增加以下内容即可

       'excepts'=>[
       'auth/login',
        ],

进入后台修改管理员帐号密码,然后把.env配置文件中的配置改为上线版即可。

如果在网上搜索教程基本也都大同小异,有一些还有修改systemd和反代操作的,但在我实际操作过程中似乎并务必要,至少目前没发现有什么使用上的差异,后续观察如果发现问题再来更新吧

Comments
Write a Comment
  • 这么低的配置能跑动吗

  • 居然还有免费的羊毛主机

  • Lucifiel reply

    你好,我在最后更改为Public之前提示403,然后更改为Public之后,就成了该网页无法正常运作了,所有步骤都是按照文中的教程来的