自豪的使用 LNMP 部署 SSPanel 魔改版
文章目录
- —— SSPanel 魔改版 LEMP/LNMP 安装教程 本文全文禁止转载。 本文将介绍如何使用第三方源在 Debian Buster 发行版安装最新版 LEMP 并部署 SSPanel 魔改版。 宝塔是什么辣鸡? (本文 LNMP 安装过程严重参考兽兽大佬的这篇博客。Debian 8 请点进去自己举一反三。) 首先我们需要一台运行 Debian 10 发行版的服务器,请尽量选择内存大于 2G 性能充足的机器(放面板还舍不得用好机器?)如果你非要选国内机器的话,我代国家安全局祝您身体健康。 我们需要依次安装 Nginx + PHP + Percona Server(MySQL 的开源替代品)。 一般来讲大部分 IDC 会直接提供 root 帐号。如果不是请先执行 sudo -i 切换至 root 权限,再运行以下命令。
-
- apt update && apt upgrade -y apt install -y curl vim wget unzip apt-transport-https lsb-release ca-certificates git gnupg2
- cat >> /etc/apt/sources.list.d/backports.list << EOF deb http://deb.debian.org/debian $(lsb_release -sc)-backports main deb-src http://deb.debian.org/debian $(lsb_release -sc)-backports main EOF apt -t $(lsb_release -sc)-backports update && apt -y -t $(lsb_release -sc)-backports upgrade
- timedatectl set-timezone Asia/Shanghai
- 由于涉及到了 kernel 更新,我们需要重启才能用上新的内核。 reboot
- 我们使用 Ondřej Surý 大神打包好的 Nginx 源,附带了常用的各种工具。
- wget -O /etc/apt/trusted.gpg.d/nginx-mainline.gpg https://packages.sury.org/nginx-mainline/apt.gpg cat >> /etc/apt/sources.list.d/nginx.list << EOF deb https://packages.sury.org/nginx-mainline/ $(lsb_release -sc) main EOF
- cat >> /etc/apt/preferences << EOF Package: nginx* Pin: release a=buster-backports Pin-Priority: 499 EOF
- apt update apt install -y nginx-extras systemctl enable nginx
- 无错误执行完毕之后,我们使用 nginx -v 命令检查 nginx 版本 root@ank:~# nginx -v nginx version: nginx/1.17.10 至此 Nginx 安装完成。
- 同样使用 Ondřej Surý 大神打包的 PHP 源,我们选择最新的 PHP 7.4 安装。
Ondřej Surý 大佬打包的 PHP 源更是好用,Ubuntu 的 PPA for PHP 就是这位大佬做的,当然少不了 Debian 的源了。
- wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg sh -c 'echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'
- apt update apt install -y php7.4-fpm php7.4-mysql php7.4-curl php7.4-gd php7.4-mbstring php7.4-xml php7.4-xmlrpc php7.4-opcache php7.4-zip php7.4 php7.4-json php7.4-bz2 php7.4-bcmath apt upgrade -y 提示:这里安装的 php-fpm 的重启命令为 systemctl restart php7.4-fpm 至此 PHP 7.4 安装完成。
- “Percona Server 是由 Oracle 发布的最接近官方 MySQL Enterprise 发行版的版本。”
Percona Server 与 MySQL 完全兼容,不必担心对接问题。
- wget https://repo.percona.com/apt/percona-release_latest.$(lsb_release -sc)_all.deb dpkg -i percona-release_latest.$(lsb_release -sc)_all.deb percona-release setup ps80
- apt install -y percona-server-server 安装过程中会弹出设置密码界面,自行设置即可。 接下来会弹出加密方法选择界面。由于 MySQL 8 的最新加密方法大多数客户端不支持,所以我们这里选择第二种也就是传统加密方法。
- 无错误执行完毕之后,我们使用 mysql -V 命令检查 Percona Server 版本 root@ank:~# mysql -V mysql Ver 8.0.19-10 for debian-linux-gnu on x86_64 (Percona Server (GPL), Release '10', Revision 'f446c04') 至此 LNMP 就安装完成了。
-
请自行将以下所有的 sspanel 替换为你想要的文件夹名称。
- cd /var/www/ mkdir sspanel cd sspanel git clone -b dev https://github.com/Anankke/SSPanel-Uim.git ${PWD} git config core.filemode false wget https://getcomposer.org/installer -O composer.phar php composer.phar php composer.phar install chmod -R 755 ${PWD} chown -R www-data:www-data ${PWD}
- 需要配置的伪静态代码: location / { try_files $uri /index.php$is_args$args; } 在 /etc/nginx/sites-enabled/sspanel.conf 中可以写入以下参考配置文件: server { listen 80; listen [::]:80; root /var/www/sspanel/public; # 改成你自己的路径 index index.php index.html; server_name sspanel.host; # 改成你自己的域名 location / { try_files $uri /index.php$is_args$args; } location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php7.4-fpm.sock; } } 添加完成后使用命令 systemctl restart nginx 重启 Nginx。 至此 Nginx 配置完成。
- mysql -u root -p mysql>CREATE DATABASE sspanel; mysql>use sspanel; mysql>source /var/www/sspanel/sql/glzjin_all.sql; mysql>exit
- cd /var/www/sspanel/ cp config/.config.example.php config/.config.php cp config/appprofile.example.php config/appprofile.php nano config/.config.php 请按照自己的需求修改 config/.config.php,配置项比较多可以以后再改。为了下一步的正确执行请先务必确保数据库连接信息正确。 虽然并未完成所有配置,但是这个时候网站就可以打开了。
- 依次执行以下命令: php xcat User createAdmin php xcat User resetTraffic php xcat Tool initQQWry php xcat Tool initdownload 如果创建管理员出错请检查 config/.config.php 中的数据库连接信息。
- 执行 crontab -e 命令,添加以下四条: 30 22 * * * php /var/www/sspanel/xcat SendDiaryMail 0 0 * * * php -n /var/www/sspanel/xcat Job DailyJob */1 * * * * php /var/www/sspanel/xcat Job CheckJob 如果需要自动备份,可模仿以下两例,自行添加一条。 每 20 分钟备份 1 次(若间隔大于 60 分钟看下个例子): */20 * * * * php -n /var/www/sspanel/xcat Backup simple 每 20 小时备份 1 次(若间隔大于 24 小时请学会熟练使用搜索引擎): 0 */20 * * * php -n /var/www/sspanel/xcat Backup simple 如果需要财务报表,可选添加以下三条: 5 0 * * * php /var/www/sspanel/xcat FinanceMail day 6 0 * * 0 php /var/www/sspanel/xcat FinanceMail week 7 0 1 * * php /var/www/sspanel/xcat FinanceMail month 如果需要检测被墙,需要添加: */1 * * * * php /var/www/sspanel/xcat DetectGFW 如果要用到 radius,需要添加下面这三条: */1 * * * * php /var/www/sspanel/xcat SyncRadius synclogin */1 * * * * php /var/www/sspanel/xcat SyncRadius syncvpn */1 * * * * php -n /var/www/sspanel/xcat SyncRadius syncnas 至此面板全部安装完成,又一个万人机场就此诞生。
—— SSPanel 魔改版 LEMP/LNMP 安装教程
本文将介绍如何使用第三方源在 Debian Buster 发行版安装最新版 LEMP 并部署 SSPanel 魔改版。
宝塔是什么辣鸡?
(本文 LNMP 安装过程严重参考兽兽大佬的这篇博客。Debian 8 请点进去自己举一反三。)
首先我们需要一台运行 Debian 10 发行版的服务器,请尽量选择内存大于 2G 性能充足的机器(放面板还舍不得用好机器?)如果你非要选国内机器的话,我代国家安全局祝您身体健康。
我们需要依次安装 Nginx + PHP + Percona Server(MySQL 的开源替代品)。
apt update && apt upgrade -y
apt install -y curl vim wget unzip apt-transport-https lsb-release ca-certificates git gnupg2
apt update && apt upgrade -y
apt install -y curl vim wget unzip apt-transport-https lsb-release ca-certificates git gnupg2
cat >> /etc/apt/sources.list.d/backports.list << EOF
deb http://deb.debian.org/debian $(lsb_release -sc)-backports main
deb-src http://deb.debian.org/debian $(lsb_release -sc)-backports main
EOF
apt -t $(lsb_release -sc)-backports update && apt -y -t $(lsb_release -sc)-backports upgrade
cat >> /etc/apt/sources.list.d/backports.list << EOF
deb http://deb.debian.org/debian $(lsb_release -sc)-backports main
deb-src http://deb.debian.org/debian $(lsb_release -sc)-backports main
EOF
apt -t $(lsb_release -sc)-backports update && apt -y -t $(lsb_release -sc)-backports upgrade
timedatectl set-timezone Asia/Shanghai
timedatectl set-timezone Asia/Shanghai由于涉及到了 kernel 更新,我们需要重启才能用上新的内核。
reboot
我们使用 Ondřej Surý 大神打包好的 Nginx 源,附带了常用的各种工具。
wget -O /etc/apt/trusted.gpg.d/nginx-mainline.gpg https://packages.sury.org/nginx-mainline/apt.gpg
cat >> /etc/apt/sources.list.d/nginx.list << EOF
deb https://packages.sury.org/nginx-mainline/ $(lsb_release -sc) main
EOF
wget -O /etc/apt/trusted.gpg.d/nginx-mainline.gpg https://packages.sury.org/nginx-mainline/apt.gpg
cat >> /etc/apt/sources.list.d/nginx.list << EOF
deb https://packages.sury.org/nginx-mainline/ $(lsb_release -sc) main
EOF
cat >> /etc/apt/preferences << EOF
Package: nginx*
Pin: release a=buster-backports
Pin-Priority: 499
EOF
cat >> /etc/apt/preferences << EOF
Package: nginx*
Pin: release a=buster-backports
Pin-Priority: 499
EOF
apt update
apt install -y nginx-extras
systemctl enable nginx
apt update
apt install -y nginx-extras
systemctl enable nginx无错误执行完毕之后,我们使用 nginx -v 命令检查 nginx 版本
root@ank:~# nginx -v
nginx version: nginx/1.17.10
同样使用 Ondřej Surý 大神打包的 PHP 源,我们选择最新的 PHP 7.4 安装。
Ondřej Surý 大佬打包的 PHP 源更是好用,Ubuntu 的 PPA for PHP 就是这位大佬做的,当然少不了 Debian 的源了。
wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
sh -c 'echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'
wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
sh -c 'echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'
apt update
apt install -y php7.4-fpm php7.4-mysql php7.4-curl php7.4-gd php7.4-mbstring php7.4-xml php7.4-xmlrpc php7.4-opcache php7.4-zip php7.4 php7.4-json php7.4-bz2 php7.4-bcmath
apt upgrade -y
apt update
apt install -y php7.4-fpm php7.4-mysql php7.4-curl php7.4-gd php7.4-mbstring php7.4-xml php7.4-xmlrpc php7.4-opcache php7.4-zip php7.4 php7.4-json php7.4-bz2 php7.4-bcmath
apt upgrade -y
systemctl restart php7.4-fpm
“Percona Server 是由 Oracle 发布的最接近官方 MySQL Enterprise 发行版的版本。”
“Percona Server 是由 Oracle 发布的最接近官方 MySQL Enterprise 发行版的版本。”
Percona Server 与 MySQL 完全兼容,不必担心对接问题。
wget https://repo.percona.com/apt/percona-release_latest.$(lsb_release -sc)_all.deb
dpkg -i percona-release_latest.$(lsb_release -sc)_all.deb
percona-release setup ps80
wget https://repo.percona.com/apt/percona-release_latest.$(lsb_release -sc)_all.deb
dpkg -i percona-release_latest.$(lsb_release -sc)_all.deb
percona-release setup ps80
apt install -y percona-server-server
apt install -y percona-server-server安装过程中会弹出设置密码界面,自行设置即可。
接下来会弹出加密方法选择界面。由于 MySQL 8 的最新加密方法大多数客户端不支持,所以我们这里选择第二种也就是传统加密方法。
无错误执行完毕之后,我们使用 mysql -V 命令检查 Percona Server 版本
root@ank:~# mysql -V
mysql Ver 8.0.19-10 for debian-linux-gnu on x86_64 (Percona Server (GPL), Release '10', Revision 'f446c04')
sspanel 替换为你想要的文件夹名称。
cd /var/www/
mkdir sspanel
cd sspanel
git clone -b dev https://github.com/Anankke/SSPanel-Uim.git ${PWD}
git config core.filemode false
wget https://getcomposer.org/installer -O composer.phar
php composer.phar
php composer.phar install
chmod -R 755 ${PWD}
chown -R www-data:www-data ${PWD}
cd /var/www/
mkdir sspanel
cd sspanel
git clone -b dev https://github.com/Anankke/SSPanel-Uim.git ${PWD}
git config core.filemode false
wget https://getcomposer.org/installer -O composer.phar
php composer.phar
php composer.phar install
chmod -R 755 ${PWD}
chown -R www-data:www-data ${PWD}需要配置的伪静态代码:
location / {
try_files $uri /index.php$is_args$args;
}
在 /etc/nginx/sites-enabled/sspanel.conf 中可以写入以下参考配置文件:
server {
listen 80;
listen [::]:80;
root /var/www/sspanel/public; # 改成你自己的路径
index index.php index.html;
server_name sspanel.host; # 改成你自己的域名
location / {
try_files $uri /index.php$is_args$args;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
}
}
添加完成后使用命令 systemctl restart nginx 重启 Nginx。
mysql -u root -p
mysql>CREATE DATABASE sspanel;
mysql>use sspanel;
mysql>source /var/www/sspanel/sql/glzjin_all.sql;
mysql>exit
mysql -u root -p
mysql>CREATE DATABASE sspanel;
mysql>use sspanel;
mysql>source /var/www/sspanel/sql/glzjin_all.sql;
mysql>exit
cd /var/www/sspanel/
cp config/.config.example.php config/.config.php
cp config/appprofile.example.php config/appprofile.php
nano config/.config.php
cd /var/www/sspanel/
cp config/.config.example.php config/.config.php
cp config/appprofile.example.php config/appprofile.php
nano config/.config.php
虽然并未完成所有配置,但是这个时候网站就可以打开了。
依次执行以下命令:
php xcat User createAdmin
php xcat User resetTraffic
php xcat Tool initQQWry
php xcat Tool initdownload
config/.config.php 中的数据库连接信息。
执行 crontab -e 命令,添加以下四条:
30 22 * * * php /var/www/sspanel/xcat SendDiaryMail
0 0 * * * php -n /var/www/sspanel/xcat Job DailyJob
*/1 * * * * php /var/www/sspanel/xcat Job CheckJob
如果需要自动备份,可模仿以下两例,自行添加一条。
每 20 分钟备份 1 次(若间隔大于 60 分钟看下个例子):
*/20 * * * * php -n /var/www/sspanel/xcat Backup simple
每 20 小时备份 1 次(若间隔大于 24 小时请学会熟练使用搜索引擎):
0 */20 * * * php -n /var/www/sspanel/xcat Backup simple
如果需要财务报表,可选添加以下三条:
5 0 * * * php /var/www/sspanel/xcat FinanceMail day
6 0 * * 0 php /var/www/sspanel/xcat FinanceMail week
7 0 1 * * php /var/www/sspanel/xcat FinanceMail month
如果需要检测被墙,需要添加:
*/1 * * * * php /var/www/sspanel/xcat DetectGFW
如果要用到 radius,需要添加下面这三条:
*/1 * * * * php /var/www/sspanel/xcat SyncRadius synclogin
*/1 * * * * php /var/www/sspanel/xcat SyncRadius syncvpn
*/1 * * * * php -n /var/www/sspanel/xcat SyncRadius syncnas
