介绍
SSPanel UIM是一款专为 Shadowsocks/ShadowsocksR/V2Ray/Trojan 设计的多用户管理面板,基于ss-panel-v3-mod开发。
准备
一台装有debian10的vps、一个能够正常解析的域名
部署LNMP环境
以下步骤为手动搭建lnmp环境,若使用lnmp一键包、oneinstack等可适当跳过
安装必要软件包
sudo apt update && apt upgrade -y
sudo apt install -y curl vim wget unzip apt-transport-https lsb-release ca-certificates git gnupg2
安装nginx
sudo apt update
sudo apt install -y nginx
安装PHP
#添加软件源
sudo wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
sudo sh -c 'echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'
#安装php7.4
sudo apt update
sudo 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
安装Mysql
wget https://dev.mysql.com/get/mysql-apt-config_0.8.13-1_all.deb
sudo dpkg -i mysql-apt-config*
sudo apt install mysql-server
#根据提示设置密码
创建网站目录并安装SSPanel
sudo -i
mkdir -p /var/www/sspanel
cd /var/www/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}
配置nginx及ssl
安装acme.sh
wget -O - https://get.acme.sh | sh
source ~/.bashrc
创建目录并删除nginx默认文件
rm -rf /etc/nginx/sites-enabled/default
mkdir -p /var/www/letsencrypt
在/etc/nginx/sites-enabled/acme中填写以下内容并执行systemctl restart nginx
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name _;
location /.well-known/acme-challenge {
root /var/www/letsencrypt;
}
location / {
return 301 https://$host$request_uri;
}
}
将域名解析到vps并执行
#example.com替换成你的域名
acme.sh --issue -d example.com -w /var/www/letsencrypt
mkdir -p /etc/nginx/ssl
acme.sh --install-cert -d example.com \
--key-file /etc/nginx/ssl/example.com.key \
--fullchain-file /etc/nginx/ssl/example.com.crt \
--reloadcmd "service nginx force-reload"
openssl dhparam -out /etc/nginx/ssl/dhparam.pem 2048
在/etc/nginx/sites-enabled/sspanel.conf中填入以下内容,并执行systemctl restart nginx
#example.com替换成你的域名
server {
listen 443 ssl http2 default_server;
listen [::]:443 ssl http2 default_server;
root /var/www/sspanel/public;
index index.php index.html;
server_name example.com;
ssl_dhparam /etc/nginx/ssl/dhparam.pem;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers 'ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS';
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:50m;
ssl_session_timeout 1d;
ssl_certificate /etc/nginx/ssl/example.com.crt;
ssl_certificate_key /etc/nginx/ssl/example.com.key;
add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload";
add_header X-Frame-Options SAMEORIGIN;
add_header X-Content-Type-Options nosniff;
add_header X-XSS-Protection "1; mode=block";
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;
}
}
创建并导入数据库
mysql -u root -p
mysql>CREATE DATABASE sspanel;
mysql>use sspanel;
mysql>source /var/www/sspanel/sql/glzjin_all.sql;
mysql>exit
配置SSPanel
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
配置定时任务
在corntab中添加以下内容
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