Rat's

一款开源,美观,带后台管理的网址导航工具:WebStack-Laravel
说明:网址导航之前发过几个,不过大多都没有后台管理,都是通过修改代码来添加相应的网站,用起来不是很方便,这里就介绍...
扫描右侧二维码阅读全文
10
2019/07

一款开源,美观,带后台管理的网址导航工具:WebStack-Laravel

说明:网址导航之前发过几个,不过大多都没有后台管理,都是通过修改代码来添加相应的网站,用起来不是很方便,这里就介绍个开源的网址导航网站项目WebStack-Laravel,具备完整的前后台,管理方便,很适合拿来制作自己的网址导航。

截图

请输入图片描述
请输入图片描述

安装

Github地址:https://github.com/hui-ho/WebStack-Laravel

所需环境:PHP 7.1+MysqlNginx

1、安装宝塔

#CentOS系统
wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh
#Ubuntu系统
wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh
#Debian系统
wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && bash install.sh

安装完成后,进入面板,点击左侧软件商店,然后安装PHP 7.1+MysqlNginx

接下来再找到左侧软件商店-PHP管理-设置-删除禁用的proc_openpassthru函数,并安装Fileinfo扩展。

#如果Fileinfo拓展安装失败,就是内存太小,我们可以添加swap,不适用于ovz
1、脚本添加,脚本地址:https://www.moerats.com/archives/722/。
2、面板添加,找到左侧软件管理-系统工具-安装Linux工具箱,然后进入工具箱添加。

再点击左侧数据库,新建一个数据库。

2、更改composer源
这里避免安装时候出现认证信息,先换个华为源。

composer config -g repo.packagist composer https://mirrors.huaweicloud.com/repository/php

3、安装WebStack-Laravel

#拉取代码
git clone https://github.com/hui-ho/WebStack-Laravel.git
#安装依赖
cd WebStack-Laravel
rm -rf composer.lock
composer install
#编辑环变量
cp .env.example .env
nano .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=moerats
DB_USERNAME=moerats
DB_PASSWORD=moerats

其它的参数自行改吧,或者直接默认,再使用命令:

#生成KEY
php artisan key:generate  
#迁移数据,对于有提示的,输入yes即可
php artisan migrate:refresh --seed

然后新建Systemd配置文件,只适用于CentOS 7Debian 8+Ubuntu 16+等。

#修改下WebStack-Laravel源码路径即可,然后一起复制到SSH运行
cat > /etc/systemd/system/wl.service <<EOF
[Unit]
Description=WebStack-Laravel
After=network.target
Wants=network.target

[Service]
Type=simple
PIDFile=/var/run/wl.pid
WorkingDirectory=/root/WebStack-Laravel
ExecStart=$(command -v php) artisan serve
RestartPreventExitStatus=23
Restart=always

[Install]
WantedBy=multi-user.target
EOF

启动并开机自启:

systemctl start wl
systemctl enable wl

其它系统直接使用命令启动:

nohup php artisan serve &

然后访问地址为http://127.0.0.1:8000,接下来再使用反向代理。

如果你要修改监听地址和端口,进行以下修改:

#以上默认的启动命令为php artisan serve,监听地址为http://127.0.0.1:8000

#监听8888端口,访问地址http://127.0.0.1:8888
php artisan serve --port=8888

#如果你想直接使用ip:8888访问
php artisan serve --host=0.0.0.0 --port=8888

如果要修改的话,记得修改下上面的Systemd配置文件ExecStart参数,或者启动参数。

4、反向代理
点击左侧网站,添加站点,然后再点击添加好了的域名名称,这时候就进入了站点配置,点击反向代理,目标URL填入http://127.0.0.1:8000,再启用反向代理,然后点击SSL,申请免费的Let's Encrypt证书,并强制HTTPS

最后后台地址:http://domain.com/admin用户名和密码均为adminadmin

Vultr新用户注册送100美元/16个机房按小时计费,支持支付宝,【点击查看】。
最后修改:2019 年 07 月 15 日 12 : 57 PM

发表评论 取消回复

109 条评论

  1. 云点SEO

    偶尔就来逛逛,学习学习

  2. zmq

    请问博主:启动后访问报错:SymfonyComponentErrorHandlerErrorFatalError
    Trait 'EncoreAdminTraitsModelTree' not found 该怎么做

    1. zmq
      @zmq

      博主有没有更详细一些的文档参考一下呢

      1. zmq
        @zmq

        安装一次:报错
        Generating optimized autoload files
        Class EguliasEmailValidatorExceptionExpectedQPair located in ./vendor/egulias/email-validator/EmailValidator/Exception/ExpectingQPair.php does not comply with psr-4 autoloading standard. Skipping.

        IlluminateFoundationComposerScripts::postAutoloadDump
        @php artisan package:discover

        In PackageManifest.php line 120:

        Undefined index: name

        Script @php artisan package:discover handling the post-autoload-dump event returned with error code 1

        1. Rat's
          @zmq

          这个不太清楚,你可以试试docker,https://hub.docker.com/r/arvon2014/webstack-laravel

  3. zxx

    请问博主这个可以导入书签吗?一个一个添加太麻烦了吧。

    1. 云点
      @zxx

      以前测试过的版本没有

    2. Rat's
      @zxx

      忘了有没有导入

  4. 问问

    博主,请问这个支持前端设置用户名,密码才能登陆显示导航页么?不是后台。

    1. Rat's
      @问问

      忘了,应该不支持

  5. 问问

    请问这个支持前端设置用户名,密码才能登陆显示导航页么?(不是后台)

  6. 一只小物块

    博主求助啊,安装了几次都是这个问题,一访问就混乱了

    1. Rat's
      @一只小物块

      看了下,好像是数据表出了问题,貌似分类,其它不太清楚了

  7. 一只小物块

    博主求助啊,安装了几次都是这个问题,一访问就混乱了

  8. 数聚酷

    这个不能直接下载源码在宝塔安装吗
    或者直接将源码下载了 在宝塔安装是什么流程呢?
    我直接下载安装 很蒙蔽

    1. Rat's
      @数聚酷

      这个就是用宝塔装的,git clone命令也是下载。

      1. 数聚酷
        @Rat's

        不用这种命令 直接通过下载源文件 在宝塔里面如何安装?我把这个源文件下载了,安装的时候都找不到安装入口
        通过ssh的命令去安装失败了,实在不太直观
        如果方便,麻烦楼主指点一下直接下载源文件在宝塔里面上传源码如何进行?

        1. Rat's
          @数聚酷

          上传后,解压出来,然后cd命令进入到源码文件夹,再开始操作。目前只能这么安装

  9. doumi

    还有宝塔反向代理开了之后,无法申请证书!!!

    1. Rat's
      @doumi

      对,申请证书需要关闭反代,可以现申请ssl证书后,再开启反向代理

      1. doumi
        @Rat's

        我总感觉步骤是错的 如果用BT的话 有些改动直接在上面改 比VI界面还好一点。我提前重命名并输入数据库的一些信息,再安装依赖再无报错了。

        1. Rat's
          @doumi

          对,有宝塔还是建议在宝塔上面改,vi编辑器的话,用nano好些。

          1. doumi
            @Rat's

            大佬 我想把它放到80端口运行 并且如果按照php artisan serve运行我没办法打开,php artisan serve --host=0.0.0.0 --port=8888这个的话,每次关闭SSH就掉了 。跪求解决方案,反代试过,自动下载文件。

            1. Rat's
              @doumi

              改下我提供的Systemd配置文件,修改ExecStart=后面的运行参数,照葫芦画瓢就行

              1. doumi
                @Rat's
                该评论仅登录用户及评论双方可见
  10. doumi

    Carbon 1 is deprecated, see how to migrate to Carbon 2.
    https://carbon.nesbot.com/docs/#api-carbon-2

    You can run './vendor/bin/upgrade-carbon' to get help in updating carbon and other frameworks and libraries that depend on it.

    IlluminateFoundationComposerScripts::postAutoloadDump
    @php artisan package:discover

    In Connection.php line 664:

    SQLSTATE[HY000] [1045] Access denied for user 'forge'@'localhost' (using pa
    ssword: NO) (SQL: select * from information_schema.tables where table_schem
    a = forge and table_name = admin_config)

    In PDOConnection.php line 31:

    SQLSTATE[HY000] [1045] Access denied for user 'forge'@'localhost' (using pa
    ssword: NO)

    In PDOConnection.php line 27:

    SQLSTATE[HY000] [1045] Access denied for user 'forge'@'localhost' (using pa
    ssword: NO)

    Script @php artisan package:discover handling the post-autoload-dump event returned with error code 1
    我搭了好多次都是上面的报错 数据库我添加了 都是卡在这一步 composer install

    1. ll
      @doumi

      请问一下最后你解决了吗?是怎么解决的?