Rat's

一款开源免费且基于Laravel开发的在线点播系统:MeEdu搭建教程
说明:之前看有童鞋需要个点播系统,恰好就看到个不错的MeEdu,一个开源免费的在线点播,电子书和会员收费三大模块为...
扫描右侧二维码阅读全文
13
2019/02

一款开源免费且基于Laravel开发的在线点播系统:MeEdu搭建教程

说明:之前看有童鞋需要个点播系统,恰好就看到个不错的MeEdu,一个开源免费的在线点播,电子书和会员收费三大模块为一的整合系统,该系统主要的目的是让每位身负技能的人都可以通过MeEdu来构建自己的知识付费应用,通过MeEdu将自己的知识进行变现,而且功能也很多,具体的下面会列举出来,这里就发个搭建教程。

截图

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

功能

  • 视频点播板块
  • 手机号注册
  • 视频收费
  • 视频评论互动
  • 课程收费
  • 课程评论互动
  • 会员收费
  • 站内消息
  • 邮件通知
  • 有赞云支付系统
  • 邮件订阅
  • 后台系统
  • 单元测试
  • 系统公告
  • 数据表格导出
  • SEO优化
  • 数据定时备份
  • 电子书板块
  • API接口
  • 微信小程序
  • 广告系统
  • 友情链接

安装

Github地址:https://github.com/Qsnh/meedu

环境要求:PHP >= 7.2MySql >= 5.6Composer

PHP扩展:ZipOpenSSLPDOMbstringTokenizerXMLFileinfo

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.2+(这里先建议使用PHP 7.2)、NginxMysql 5.6+

接下来再找到左侧软件管理-PHP管理-设置-安装Fileinfo扩展。

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

然后同样的在PHP设置里找到禁用函数,删除proc_opensymlink函数,再重启PHP

2、安装Zip扩展

提示:安装PHP 7.2的可以跳过该步骤。

一般安装宝塔的时候,PHP一些常用的扩展都会顺便给你装上,但目前7.3版本的貌似还没zip扩展,以后说不准,所以在安装之前可以使用php -m检查下扩展,然后再确定要不要安装。

这里就选择编译安装该扩展。编译之前需要先安装libzip,考虑到一些版本过低的问题,这里都采用编译安装或升级。

由于这里是编译最新版的libzip,需要CMake 3.0.2+,可以查看下版本,使用命令:

cmake --version

一般情况下是低于这个版本的,这里我们开始升级CMake版本,使用命令:

#CMake下载地址:https://cmake.org/files
cd ~
wget https://cmake.org/files/v3.13/cmake-3.13.4.tar.gz
tar -zxvf cmake-3.13.4.tar.gz && cd cmake-3.13.4
./configure
make && make install

开始安装libzip,使用命令:

#libzip下载地址:https://libzip.org/download/
cd ~
wget https://libzip.org/download/libzip-1.5.1.tar.gz
tar -zxvf libzip-1.5.1.tar.gz && cd libzip-1.5.1
mkdir build && cd build && cmake .. 
make && make install

再安装zip,使用命令:

#zip下载地址:http://pecl.php.net/package/zip,这里以最新版1.15.4为准
cd ~
wget http://pecl.php.net/get/zip-1.15.4.tgz
tar -zxvf zip-1.15.4.tgz && cd zip-1.15.4
phpize
./configure --with-php-config=/www/server/php/73/bin/php-config
make && make install
echo "extension=zip.so;" >> /www/server/php/73/etc/php.ini

3、安装Composer

curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer

4、安装程序
我们先点击左侧网站,添加域名;然后再点击左侧数据库-添加数据库。

运行命令:

#进入网站根目录,将路径修改成自己的再运行
cd /www/wwwroot/www.moerats.com
#安装meedu
composer create-project qsnh/meedu=dev-master
#将源码移动到根目录
mv meedu/{,.}* ./
#编辑环境变量
nano .env

修改相关信息:

#数据库信息
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=moerats
DB_USERNAME=moerats
DB_PASSWORD=moerats

#其它信息
APP_NAME=MeEdu
APP_ENV=local(这里如果正式运行,请修改为:production)
APP_KEY=
APP_DEBUG=true(如果安装没问题,建议改为false)
APP_LOG_LEVEL=debug
APP_URL=http://localhost(这里修改你自己的域名地址)

接着再使用命令:

#创建上传目录软链接
php artisan storage:link
#设置storage目录权限为777
chmod -R  0777 storage
#安装数据表
php artisan migrate
#初始化系统权限
php artisan install role
#初始化管理员,安装提示输入管理员的账号和密码!
php artisan install administrator
#初始化后台菜单
php artisan install backend_menu
#生成安装锁
php artisan install:lock

5、设置伪静态
点击域名设置-网站目录,运行目录选择public,并把防跨站的勾去掉并重启PHP。然后点击伪静态,输入以下代码:

location / {  
    try_files $uri $uri/ /index.php$is_args$query_string;  
}

然后就可以正常访问网站了,后台地址/backend/login

6、设置定时任务
点击宝塔面板左侧计划任务,设置为每1分钟执行一次,执行内容为:

#修改为自己的域名再设置
php /www/wwwroot/www.moerats.com/artisan schedule:run >> /dev/null 2>&1

7、配置队列监听器
安装Supervisor

pip install supervisor
wget -N -P /etc/ --no-check-certificate  https://coding.net/u/cvc/p/supervisor/git/raw/master/supervisord.conf

新增配置代码:

#以下为一整条命令,先修改为自己的域名,再一起复制到SSH运行
echo "[program:meedu]
process_name=%(program_name)s_%(process_num)02d
command=php /www/wwwroot/www.moerats.com/artisan queue:work --sleep=3 --tries=3
autostart=true
autorestart=true
user=root
numprocs=4
redirect_stderr=true
stdout_logfile=/www/wwwroot/www.moerats.com/storage/logs/supervisor.log" >> /etc/supervisord.conf

启动服务:

/usr/bin/supervisord -c /etc/supervisord.conf

如果配置正确,你会看到supervisor的输出日志,日志路径就是上面配置的stdout_logfile的值。

再设置supervisor开机自启,如果你是Debian 9Ubuntu 17+,需要先使用命令:

1、添加rc-local.service,以下为一整条命令,一起复制运行
cat > /etc/systemd/system/rc-local.service <<EOF
[Unit]
Description=/etc/rc.local
ConditionPathExists=/etc/rc.local
 
[Service]
Type=forking
ExecStart=/etc/rc.local start
TimeoutSec=0
StandardOutput=tty
RemainAfterExit=yes
SysVStartPriority=99
 
[Install]
WantedBy=multi-user.target
EOF

2、新建rc-local文件,以下为一整条命令,一起复制运行
cat > /etc/rc.local <<EOF
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.    
EOF

3、添加权限并设置开机自启
chmod +x /etc/rc.local
systemctl start rc-local
systemctl enable rc-local

再将启动命令加入rc.local文件,使用命令:

#CentOS 7系统
echo "/usr/bin/supervisord -c /etc/supervisord.conf" >> /etc/rc.d/rc.local
chmod +x /etc/rc.d/rc.local

#CentOS 6、Debian、Ubuntu系统
echo "/usr/bin/supervisord -c /etc/supervisord.conf" >> /etc/rc.local
chmod +x /etc/rc.local

如果需要开启微信小程序,需要执行命令:

php artisan passport:install

该命令是生成RSA加密密钥和小程序端的IDSecret。注意将输出的idsecret填写到小程序配置文件中。

最后有需求的自行折腾吧,博主也没怎么用过,毕竟不是很需要,如果遇到什么问题可以参考该文章→传送门

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

发表评论

23 条评论

  1. snrsho

    进后台会404

    1. Rat's
      @snrsho

      伪静态做了没?

      1. snrsho
        @Rat's

        做了,首页正常,后台404 找不到/backend 这个文件夹

        1. yu
          @snrsho

          一样的问题,请问你解决了不

  2. 小白站长

    大佬,问一下有没有开源的评价系统?类似豆瓣影评的?

    1. Rat's
      @小白站长

      这个你可以自己到处找找

  3. 小白

    大佬能不能出个KMS的教程,想搭建个跟你一样的

    1. Rat's
      @小白

      我博客发了几个,你找下

  4. Javen73

    安装到第4部,出错了。php artisan storage:link
    PHP Warning: require(/www/wwwroot/website/vendor/autoload.php): failed to open stream: No such file or directory in /www/wwwroot/sevenkt/artisan on line 18

    Warning: require(/www/wwwroot/website/vendor/autoload.php): failed to open stream: No such file or directory in /www/wwwroot/website/artisan on line 18
    PHP Fatal error: require(): Failed opening required '/www/wwwroot/website/vendor/autoload.php' (include_path='.:/www/server/php/72/lib/php') in /www/wwwroot/website/artisan on line 18

    Fatal error: require(): Failed opening required '/www/wwwroot/website/vendor/autoload.php' (include_path='.:/www/server/php/72/lib/php') in /www/wwwroot/website/artisan on line 18

    1. Rat's
      @Javen73

      看下运行目录是不是根目录

      1. YuaN
        @Rat's

        我也是这个问题 ,但是确实是在文件根目录下执行的

        1. Rat's
          @YuaN

          你可以用下这个一键脚本,地址:https://github.com/Baiyuetribe/meedu

          1. YuaN
            @Rat's

            我找到问题了,PHP里删除已经被禁用的proc_open和symlink函数,这里措辞有点容易搞混,然后再安装composer 就可以了

            1. Rat's
              @YuaN

              这个函数禁用我在安装宝塔那一步就写了。

  5. Noob

    博主,你的kms界面可否发一份给我?

    1. Rat's
      @Noob

      可以的,加我下面留的联系方式。

      1. Noob
        @Rat's

        好了,加你了

  6. kiftd

    大佬,下次能不能水一个漫画系统的CMS,系统,期待ing~

    1. Rat's
      @kiftd

      这个等我找下吧,你也可以提供下源码

  7. loop

    占位

  8. 缙哥哥

    大神有演示站吗?

    1. Rat's
      @缙哥哥

      可以直接去github地址,有几个演示站,可以看看

      1. 缙哥哥
        @Rat's

        very nice