Featured image of post 搭建LNMP环境并安装SSPanel-UIM

搭建LNMP环境并安装SSPanel-UIM

SSPanel安装教程

介绍

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
Built with Hugo
Theme Stack designed by Jimmy