魔改完整安装教程

文章目录

服务器环境配置

1)安装LNMP

说明:本文LNMP是通过宝塔安装!宝塔安装完成后,登录宝塔后台一键安装LNMP;注意:PHP版本不得小于5.6,推荐7.0,其他随意;安装方式推荐编译安装,如仅做测试,你高兴就好;安装LNMP大概需要半小时,根据你服务器性能而定。

2)建立网站和数据库

待LNMP安装完毕后,点击左边菜单栏 “网站” ,点击添加站点,输入你的域名,并设置好数据库信息。

3)配置nginx

网站建立好了后需要对 nginx 进行细节配置,找到你刚建立好的网站,点击右边设置;找到 root /www/wwwroot/你的域名,域名后加上/public

4)添加伪静态

同上,找到你刚建立好的网站,点击右边设置,在伪静态内容框中填入

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


安装魔改前端

1)下载程序代码

打开网站目录,下载前端程序源码

cd /www/wwwroot/你的域名
yum install git -y
git clone https://github.com/ianeeo/mod-front-end.git tmp && mv tmp/.git . && rm -rf tmp && git reset --hard
chown -R root:root *
chmod -R 755 *
chown -R www:www storage
chattr -i .user.ini
mv .user.ini ./public
cd ./public
chattr +i .user.ini

2)重启nginx

可打开宝塔面板,首页下方软件里找到nginx,打开后点击重启;或直接运行重启命令

service nginx restart

3)下载并导入数据库

首先下载 sql 文件:打开宝塔面板 – 菜单栏网站 – 点击并打开网站目录 – 找到sql目录打开,在此目录下找到 glzjin_all.sql 文件,并下载到本地电脑上;

上传导入数据库文件:打开宝塔面板 – 菜单栏数据库 – 择你添加网站时创建的数据库-导入-上传刚下载的 glzjin_all.sql 文件,导入。

注意:如果你的后端与前端数据库不在同一服务器上,或有多服务器节点,数据库需开启远程访问权限:打开宝塔面板 – 菜单栏数据库 – 择你添加网站时创建的数据库 – 权限 – 选择所有人 – 确定;然后再点击菜单栏安全 – 检查3306端口是否放行,如果没有,添加放行3306端口。

4)配置SS-Panel

回到SSH,打开网站目录后运行

cd /www/wwwroot/默认是你的域名
php composer.phar install
cp config/.config.php.example config/.config.php

编辑 .config.php 文件,文件中都有中文提示;

vi config/.config.php

如果不习惯在线编辑,可FTP或宝塔下载到本地电脑编辑后上传覆盖;.config.php 文件所以在目录为/www/wwwroot/默认你的域名/config/

5)创建管理员

输入命令后有中文提示,按提示设置管理员账号密码

php -n xcat createAdmin

6)设置定时任务

使用SSH命令添加计划任务

或通过宝塔面板(推荐)的计划任务添加(如果通过宝塔添加请跳过下方命令)

yum -y install vixie-cron crontabs
crontab -e

然后添加下方六段(通过宝塔添加命令跳过下方命令)

30 22 * * * php /www/wwwroot/你的网站目录(默认是域名)/xcat sendDiaryMail
*/1 * * * * php /www/wwwroot/你的网站目录(默认是域名)/xcat synclogin
*/1 * * * * php /www/wwwroot/你的网站目录(默认是域名)/xcat syncvpn
0 0 * * * php -n /www/wwwroot/你的网站目录(默认是域名)/xcat dailyjob
*/1 * * * * php /www/wwwroot/你的网站目录(默认是域名)/xcat checkjob
*/1 * * * * php -n /www/wwwroot/你的网站目录(默认是域名)/xcat syncnas

保存并退出编辑;


通过宝塔面板添加计划任务

首先打开宝塔面板的计划任务页面,任务类似选择Shell脚本,任务名称自行设置;需要添加的计划任务有6条,其中每日流量报告和每日流量记录清空需要每天执行一次,另外4条需要每分钟执行一次,最好是每个任务单独添加,如下

//每日邮件,执行周期为每天(推荐22:30),如下图
php /www/wwwroot/你的网站目录(默认是域名)/xcat sendDiaryMail

//每日使用流量凌晨清空,执行周期每天,时间设置23:59
php -n /www/wwwroot/你的网站目录(默认是域名)/xcat dailyjob
//其他任务,执行周期为每分钟一次(选择N分钟-输入1分钟,后面几个一样)
php /www/wwwroot/你的网站目录(默认是域名)/xcat synclogin
//其他任务,执行周期为每分钟一次
php /www/wwwroot/你的网站目录(默认是域名)/xcat syncvpn
//其他任务,执行周期为每分钟一次
php /www/wwwroot/你的网站目录(默认是域名)/xcat checkjob
//其他任务,执行周期为每分钟一次
php -n /www/wwwroot/你的网站目录(默认是域名)/xcat syncnas

全部添加完后,前端安装完毕!


魔改后端安装

1)安装基本组件

yum -y install python-setuptools && easy_install pip && pip install cymysql speedtest-cli && yum install git
yum -y groupinstall "Development Tools"
yum -y install wget
wget https://github.com/jedisct1/libsodium/releases/download/1.0.16/libsodium-1.0.16.tar.gz
tar xf libsodium-1.0.16.tar.gz && cd libsodium-1.0.16
./configure && make -j2 && make install
echo /usr/local/lib > /etc/ld.so.conf.d/usr_local_lib.conf
ldconfig

如果提示cannot import name OrderedDict,可能需要给服务器打补丁:第三方插件ordereddict “install ordereddict”

2)下载程序源码

cd
git clone https://github.com/ianeeo/mod-back-end.git
cd mod-back-end
yum -y install python-devel
yum -y install libffi-devel
yum -y install openssl-devel

Debian 请勿执行下面这个命令,Debian直接 pip install cymysql

pip install -r requirements.txt

如果阿里云机器安装源报错,或提示“fatal: unable to access. Peer reports incompatible or unsupported protocol version.”,运行 yum update 更新一下再运行。

3)配置程序

cp apiconfig.py userapiconfig.py
cp config.json user-config.json

4)编辑userapiconfig.py文件

此处与上方编辑 .config.php 文件同理,推荐通过宝塔或者FTP下载 userapiconfig.py 文件到本地编辑好之后覆盖上传到服务器;userapiconfig.py文件所在目录:/root/mod-back-end/

vi userapiconfig.py

userapiconfig.py文件编辑说明:

  • 没有说明的参数请不要修改,除非你明白修改这个参数带来的后果
  • node_id = 1,把1修改为你的节点编号(提前在网站中添加好节点后可以查看节点 id ,节点编号不带#,#3请填写3
  • Speedtest = 6,把6修改为你在config设置的值
  • Cloudsafe =1,建议不修改,antissattack = 0,如果改为1则启用防攻击模式
  • Autoexec =0,这个选项如果没有部署自动下发请保持为0,否则改为1,前提是你懂得怎么用
  • host填写数据库所在主机IP地址
  • User填写前端数据库用户名
  • Pass填写前端数据库你设置的密码
  • Db填写前端数据库名
  • SSL_Enable,如果没有启用SSL加密数据库与服务端的连接,请保持0

userapiconfig.py文件配置完成。

5)测试运行

在运行之前请再次确认数据库所在服务器3306端口已打开,且允许远程访问,并运行测试命令调错。

cd /root/mod-back-end
chmod -R 755 *
# 测试调错
python server.py
# 如果一切正常,再输入以下命令运行后端

# 无日志后台运行
./run.sh
# 有日志后台运行(与无日志后台运行任选其一)
./logrun.sh

6)安装Supervisord守护SSR进程(可选)

如果后端节点频繁掉线,建议安装Supervisord守护进程,但非必要。

pip install supervisor
rm -rf /etc/supervisord.conf
cd /etc/
wget -N --no-check-certificate https://github.com/ianeeo/Mod-Back-End-Supervisord/raw/master/supervisord.conf

cd
echo "echo ReStart Ing...
supervisord -c /etc/supervisord.conf
echo ok
exit 0;
" >/bin/SSR
chmod 777 /bin/SSR

安装完毕,通过Supervisord运行后端命令

SSR

如果服务器重启,需要从新运行,或自行加入开机自启。


魔改TG机器人设置教程

魔改机器人作用:TG群中(或者单独私聊机器人也可以)查询流量、签到、扫码登陆网站等等,当然最大的作用肯定是“装逼”咯!如图
注意:站点必须启用https

 

1)申请机器人

Telegram中私聊 Botfather创建 bot,输入

/newbot

BotFather会反馈“Alright, a new bot. How are we going to call it? Please choose a name for your bot.”
意思就是输入你要创建的 bot名字,输入例如:xxxxx(xxxxx为你想要创建机器人的名字)

xxxxx

如果机器人名字没有重复的,Botfather会反馈“Good. Now let’s choose a username for your bot. It must end in `bot`. Like this, for example: TetrisBot or tetris_bot.”
意思就是为刚才创建的 bot创建用户名,并且必须以bot或_bot结尾,输入例如:xxxxx_bot

xxxxx_bot

如果用户名没有重复,Botfather会提示成功!并反馈一组 APi 代码如下图

将反馈的 HTTP API复制下来,后面需要使用,Telegram机器人申请就完成了!

2)修改魔改配置文件

修改魔改前端目录下 .config.php文件

#telegram bot,是否启用
$System_Config['enable_telegram']='true';

#telegram bot,bot 的 token ,跟 father bot 申请
$System_Config['telegram_token']='这里输入刚才申请机器人的HTTP API';

#telegram bot,群组会话 ID,把机器人拉进群里之后跟他 /ping 一下即可得到。
$System_Config['telegram_chatid']='';

#Telegram 机器人账号
$System_Config['telegram_bot']='aneeo_bot';

暂时先修改两个位置,enable_telegram设置为truetelegram_token填刚才复制的HTTP API
修改并保存后,SSH登陆前端服务器,打开魔改网站根目录,运行命令

php xcat setTelegram

如果没有错误,稍等几秒会提示中文“设置成功!”

3)设置TG机器人

首先创建一个Telegram群组(注:创建群组至少需要1个好友,类似微信拉群聊,如果你一个好友也没有,去网上找个机器人拉它进群组也可以);群组创建好之后,将你刚才申请的机器人拉进你的群组,然后在群组中 Ping一下,查看群组的 iD,例如/[email protected]_bot(xxxxx为你刚才创建的机器人名字)

/[email protected]_bot

机器人会反馈:Pong!这个群组的 ID 是 -10011039xxxxx!,将 ID复制下来,添加到魔改前端目录下 .config.php文件

$System_Config['telegram_chatid']='-10011039xxxxx';

接下来设置快捷命令:
继续私聊 Botfather,设置快捷命令

/setcommands

输入刚才申请 bot的名字

@xxxxx_bot

输入快捷回复内容

ping - 获取群组ID
chat - 唠嗑
traffic - 查询流量
checkin - 签到续命
help - 获取帮助信息

OK,教程完毕,现在你可以在群组使用快捷功能了!

2 Comments

  1. [[email protected] appso.xyz]# chown -R www:www storage
    chown: cannot access ‘storage’: No such file or directory

    [[email protected] appso.xyz]# php -n xcat createAdmin

    Warning: require(/www/wwwroot/appso.xyz/vendor/autoload.php): failed to open stream: No such file or directory in /www/wwwroot/appso.xyz/bootstrap.php on line 17

    Fatal error: require(): Failed opening required ‘/www/wwwroot/appso.xyz/vendor/autoload.php’ (include_path=’.:/www/server/php/70/lib/php’) in /www/wwwroot/appso.xyz/bootstrap.php on line 17
    You have new mail in /var/spool/mail/root

    建前端的时候就报错,一直按教程来的,不知道什么原因

    用烟头取暖
    1. Sorry,上传GitHub的时候遗漏了部分文件,已经从新上传,并已经测试完整性;


      [[email protected] temp.com]# git clone https://github.com/ianeeo/mod-front-end.git tmp && mv tmp/.git . && rm -rf tmp && git reset –hard
      Cloning into ‘tmp’…
      remote: Counting objects: 1150, done.
      remote: Compressing objects: 100% (958/958), done.
      remote: Total 1150 (delta 161), reused 1147 (delta 161), pack-reused 0
      Receiving objects: 100% (1150/1150), 11.36 MiB | 8.09 MiB/s, done.
      Resolving deltas: 100% (161/161), done.
      HEAD is now at 4a36139 Personal Backup
      [[email protected] temp.com]# chown -R root:root *
      [[email protected] temp.com]# chmod -R 755 *
      [[email protected] temp.com]# chown -R www:www storage
      [[email protected] temp.com]# chattr -i .user.ini
      [[email protected] temp.com]# mv .user.ini ./public
      [[email protected] temp.com]# cd ./public
      [[email protected] public]# chattr +i .user.ini
      [[email protected] public]#

      小孩分对错の大人只蹭蹭不进去

发表评论

电子邮件地址不会被公开。 必填项已用*标注