安装使用

浏览数 89688 最后修改时间

运行要求

  • PHP 7.0及以上
  • Linux系统
  • Nginx服务器
  • MySQL数据
  • Redis缓存
  • 阿里云短信服务和云片短信至少一项
  • 阿里云邮件服务和支持phpmailer的邮件发送账户至少一项
  • 阿里云OSS对象存储,此项为可选,如果没有OSS则会把图片存储在本地

一、下载

官网下载
或者前往github下载

#进入根目录
cd /
#创建存放安装程序的目录(如果已有此目录则不用创建)
sudo mkdir software
#进入目录
cd software
#下载源码包
sudo wget https://github.com/wujianwu8/YiluPHP_UC/archive/refs/heads/master.zip
或者官网下载
sudo wget https://www.yiluphp.com/download/file/YiluphpUC-v2_0_zip

二、解压到你存放代码的目录

#解压到当前目录
sudo tar -zxvf YiluphpUC-v2.0.zip
#创建存放和运行代码的目录(根据你的需要创建,如果目录已经存在则不做此步)
sudo mkdir -p /data/web
#移动文件到目标目录
sudo mv /software/YiluphpUC-v2.0  /data/web/www.yiluphpuc.com
#修改日志目录的权限,需要允许php读写
sudo chmod -R 777 /data/web/www.yiluphpuc.com/logs
#修改静态文件目录和语言包目录的权限,需要允许php读写
sudo chmod -R 777 /data/web/www.yiluphpuc.com/static
sudo chmod -R 777 /data/web/www.yiluphpuc.com/lang

三、在web服务器中创建虚拟主机

和YiluPHP框架的虚拟主机配置文件一样的,这里以nginx为例,每个人虚拟主机的配置目录位置可能不一样
sudo vim /usr/local/tengine-2.3.2/conf/vhost/www.yiluphpuc.com.conf

将以下内容拷贝到文件里,根据你的项目修改配置信息,然后保存
server {
        #设置监听端口
        listen 80;

        #在这里设置你的访问域名
        server_name www.yiluphpuc.com;

        #设置nginx访问日志的保存地址,需要确保目录和文件具有读写的权限
        access_log /logs/www.yiluphpuc.com.ngx-access.log;

        #设置nginx错误日志的保存地址,需要确保目录和文件具有读写的权限
        error_log  /logs/www.yiluphpuc.com.ngx-error.log;

        #设置根目录,把默认的根目录指向静态文件的目录
        root /data/web/www.yiluphpuc.com/public;

        #设置默认首页,默认首页使用静态文件,提高访问速度
        index index.php;

        location / {
                # 如果在static目录中找不到真实存在的文件,把请求分发至index.php
                try_files $uri $uri/ /index.php?$args;
        }
        # 非PHP文件访问static目录
        location ~ .((?!php).)*$ {
                root /data/web/www.yiluphpuc.com/static;
                index index.shtml;
        }

        # PHP文件访问public目录
        location ~ .php$ {
                root /data/web/www.yiluphpuc.com/public;
                index index.php;

                #nginx与php-fpm的连接方式改成与你的nginx设置的一致
                #fastcgi_pass 127.0.0.1:9001;
                fastcgi_pass unix:/tmp/php-cgi.sock;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                fastcgi_param PATH_INFO $fastcgi_path_info;
                include fastcgi_params;
        }
        fastcgi_intercept_errors on;
        #设置404页面路径
        error_page  404 /error/404.html;
}

四、重启你的web服务 

这里举例是重启Nginx,我的重启命令是
sudo service nginx reload

五、创建数据库

在解压后的文件中有一个目录 document ,里面有一个文件 YiluphpUC.sql ,是创建数据表和初始化数据的SQL,先创建你的数据库,例如库叫是 yiluphp_uc,然后执行 YiluphpUC.sql 里的SQL创建数据表。

六、配置数据库连接

如果不分库分表则将 split_table 配置为false,用户人数少于500万可以不分表,大于500万建议分表,会得到更快的查询速度。
假设数据库名是yiluphp_uc,登录名是 root,登录密码是 123456。
    /**
     * 是否对数据表进行分表分库,true为分表分库,false为不分表分库,默认为false
     * 如果需要分表分库,需要先配置所有分库的Mysql连接,然后确保停止了增加和修改数据,再手工导数据到各分表
     * 分表方式按表中某整数类型的字段的后两位数进行拆分,拆分成100个分表
     * 分表的库连接名称也是在默认的库连接名称(default)后面加下划线加分表的数字后缀,如default_1, default_23
     **/
    'split_table' => false,

    'mysql' => [
            'default' => [
                'dsn'       =>  'mysql:host=127.0.0.1;port=3306;dbname=yiluphp_uc',
                'username'  =>  'root',
                'password'  =>  '123456',
                'charset'   =>  'utf8',
                'option'    =>  [],
            ]
    ],

七、配置Redis连接

假设 redis 就在本机,且不需要密码登录 
    'redis' => [
            'default' => [
                'host'      =>  '127.0.0.1',
                'port'      =>  6379,
                'default_db'    =>  0,
            ]
    ],

八、初始化缓存

在你的服务器上执行这两个脚本,这里的php路径根据你的安装目录进行修改,yilu的访问路径也改成你的路径。

#创建1万个待用id,count参数为需要生成的数量,disuse_old为1表示把旧的ID作废掉,0则是保留
/usr/local/php7.4.16/bin/php /data/web/www.yiluphpuc.com/yilu batch_insert_uuid "count=10000&disuse_old=1"

#初始化一些缓存数据
/usr/local/php7.4.16/bin/php /data/web/www.yiluphpuc.com/yilu build_necessary_redis_data

九、配置发短信的账号

本系统支持阿里云的邮储推送服务和云片的短信服务,至少需要其中一个账号,短信功能可用于用户注册、找回密码。
请前往阿里云云片网 注册申请,申请成功之后根据你的账号信息设置配置。
    /*
     * 发短信和语音的平台列表
     * 键名需与sms.php的方法名对应
     * */
    'sms' => [
        //阿里云短信推送
        'aliyun' => [
            'access_key_id' => 'your_access_key_id',   //在阿里云申请到的accessKeyId
            'access_key_secret' => 'your_access_key_secret',   //在阿里云申请到的accessKeySecret
            'region_id' => 'cn-shengzhen',   //在阿里云申请到的短信使用区域regionId
            'template_code_zh' => 'SMS_176928888',   //短信模板CODE,中文
            'template_code_en' => 'SMS_176946666',   //短信模板CODE,英文
            'sign_name_zh' => 'YiluPHP',   //短信签名,中文
            'sign_name_en' => 'YiluPHP',   //短信签名,英文
        ],
        //云片短信平台,注释了则不会使用
//        'yun_pian' => [
//            'api_key' => '41eb4325daaaaaafeeeee9a98199c888888888',   //在云片申请到的api key
//        ],
    ],

十、配置发邮件的账号

本系统支持阿里云的邮件推送服务和 phpmailer 邮件组件,请前往 阿里云 注册和申请邮件推送服务,阿里云的邮件推广服务按量收费,每个月还有免费的邮件数量赠送。或者网上搜索一下 phpmailer 的配置方式,例如你可以使用QQ邮箱进行邮件发送,使用phpmailer是完全免费的,使用phpmailer的发送速度会更慢,如果你的邮件发送很频繁还是使用阿里去更合适。也可以两种都使用,系统会把发给QQ邮箱的邮件使用phpmailer发送,其它的邮件按你设置的权重 weight 值的比例随机分派到两种邮件发送途径上,weight的值越大,被使用的概率也越大。
    /*
     * 邮件系统相关配置,目前支持使用PHPmailer组件和阿里云邮件推送产品进行邮件送送
     * 阿里云邮件推送产品按量收费,没有最低消费要求,且每天有200条的免费邮件可以使用
     * */
    'mailer' =>[
        //在此使用可使用的发邮件方式,可配置多个,phpmailer或aliyun
//        'usable' => ['aliyun', 'phpmailer'],
        'usable' => ['aliyun'],
        //是否强制使用phpmailer给QQ邮箱发邮件
        //设置为true则一定使用phpmailer给QQ邮箱发邮件,这样做是因为使用阿里云的邮件推送容易进QQ邮箱的垃圾桶里
        'qq_email_use_phpmailer' => true,
        //使用阿里云邮件推送产品的相关配置
        'aliyun' => [
            'weight' => 1, //使用的权重,0-100的整数,数值越大使用的概率就越大,不设置默认为1
            'access_key_id' => 'your_access_key_id',
            'access_key_secret' => 'your_access_key_secret',
            //用于发送找回密码的邮件的地址
            'from_email' => 'notice@yiluphp.cn',
            //用于发件人名称
            'from_name' => 'YiluPHP邮件通知系统',
        ],
        //使用PHPmailer组件的相关配置
        'phpmailer' => [
            'weight' => 10, //使用的权重,0-100的整数,数值越大使用的概率就越大,不设置默认为1
            //用于发送邮件的地址
            'from_email' => '888888@qq.com',
            //用于发件人名称
            'from_name' => 'YiluPHP邮件通知系统',
            'host' => 'smtp.qq.com',    //指定发邮件的主服务器和备份SMTP服务器
            'mailer_type' => 'smtp',    //邮箱服务器类型:smtp, mail, sendmail, qmail,
            'username' => '888888@qq.com',    //SMTP用户名
            'password' => 'your_smtp_password',   //SMTP密码
            'port' => 465,
            'SMTP_secure' => 'ssl', //启用TLS加密,也接受'ssl'
            'reply_to_email' => '666666@qq.com', //接收回信的邮箱地址
            //设置错误信息的语言,默认为zh_cn
            'language' => 'zh_cn',
            //启用详细调试输出,`0` No output,`1` Commands,`2` Data and commands,`3` As 2 plus connection status,`4` Low-level data output.
            'debug' => 0,
        ],
    ],

十一、配置文件存储账号(此步骤非必须)

这里用到的是阿里云的OSS对象存储,如果你不配置OSS的账号则文件会存储在本机,访问文件使用和网站一样的域名。
请前往 阿里云 注册申请,申请成功之后根据你的账号信息修改配置,如果不使用OSS对象存储,请将OSS的配置项注释掉。

    /*
     * 文件上传OSS配置
     * 根据你申请的阿里云OSS信息进行修改
     */
    'oss' => [
        'aliyun' => [
            'accessKeyId' => 'LTAI4FsKnMaaccessKeyId88888',
            'accessKeySecret' => 'aEnXeIxUEaccessKeySecret88888',
            'endpoint' => 'http://oss-cn-shenzhen.aliyuncs.com',
            'bucketName' => 'your_bucketName',
            'visit_host' => 'https://yiluphp.oss-cn-shenzhen.aliyuncs.com/',
        ]
    ],

十二、重新生成RAS加解密用的公钥和私钥

系统自带的公钥和私钥是所有人都知晓的,并且密码长度不够,极为不安全,请务必重新生成一对公私钥,替换掉原来的文件   document/rsa_private_key.pem   和   document/rsa_public_key.pem   ,系统提供了生成RAS公私钥的方法,文件在   document/生成RAS公钥和私钥的方法.txt   ,你也可以网上搜索 RAS的公钥和密钥的生成方法。

警告:
私钥用于服务器端解密,不能对外泄露。

十三、申请第三方登录的账号(非必须)

YiluphpUC使用手机号注册,登录后可以管理后设置登录邮件和登录名。同时本系统支持微信授权登录、QQ授权登录、支付宝授权登录,你可以前往这三个平台申请相关账号,申请成功给予相应配置,如果不使用第三方授权登录,请将相应的配置信息注释掉。
微信公众平台(服务号才有授权登录功能)  https://mp.weixin.qq.com/
微信开放平台  https://open.weixin.qq.com/
QQ开放平台  https://open.tencent.com/

    /**
     * 第三方授权登录的相关配置
     **/
    'oauth_plat' => [
        'qq' => [
            'usable' => true,   //true为可登录,false为不可登录
            'app_key' => '101888888',   //appid
            'app_secret' => '88your_app_secret_888',
            'callback' => 'https://www.yiluphpuc.com/sign/qq_callback',
            'authorize' => '',
        ],

        //微信公众平台的
        'wechat' => [
            'usable' => true,   //true为可登录,false为不可登录
            'app_key' => 'wx888your_app_key_888',   //appid
            'app_secret' => '88your_app_secret_888',
            'callback' => 'https://www.yiluphpuc.com/sign/wechat_callback',
        ],
        //微信开放平台的
        'wechat_open' => [
            'usable' => true,   //true为可登录,false为不可登录
            'app_key' => 'wx888your_app_key_888',   //appid
            'app_secret' => '88your_app_secret_888',
            'callback' => 'https://www.yiluphpuc.com/sign/wechat_callback/open/1',
        ],

        'alipay' => [
            'usable' => true,   //true为可登录,false为不可登录
            'app_id' => '20191016666688888',   //appid
            //请填写开发者私钥去头去尾去回车,一行字符串
            'rsa_private_key' => 'MIIEvg...这中间有很长的一段字符串...BBB',
            //请填写开发者公钥,一行字符串
            'rsa_public_key' => 'MIIBI...这中间有很长的一段字符串...ABC',
            //请填写支付宝公钥
            'alipay_rsa_public_key' => 'MIIBI...这中间有很长的一段字符串...ABC',
            'sign_type' => 'RSA2',
            //接口内容加密方式:AES密钥
            'encrypt_key' => 'OpM888your_encrypt_key==',

            'callback' => 'https://www.yiluphpuc.com/sign/alipay_callback',
        ],
    ],

十四、配置hosts,让你的本机可以访问第三步创建的虚拟主机

请百度搜索配置hosts的方法,配置过程中若遇到问题也请百度。

十五、在浏览器中输入域名访问

如果浏览器中出现以下中文界面或英文界面之一,则表示已经安装成功。
默认已有一个管理员账号,登录名:admin,登录密码是:YiluPHP@2019




我来说说