本指南基于CentOS 7.9操作系统。请确保服务器为全新或已做好数据备份。
首先以root用户登录服务器,执行以下命令更新系统并安装必要依赖:
``` yum update -y yum install -y wget curl vim unzip git ```执行官方一键安装脚本:
``` curl -sSO http://download.bt.cn/install/install_panel.sh && bash install_panel.sh ```安装过程中,脚本会提示是否同意用户协议,输入y并回车。安装完成后,控制台会显示面板访问地址、用户名及随机生成的密码。请立即记录这些信息。
使用记录的地址、用户名和密码登录宝塔面板。进入面板后,立即执行以下操作:
在「面板设置」页面,绑定一个免费的宝塔账号。随后进入「安全」页面,开启以下选项:
进入宝塔面板的「软件商店」。根据你的网站程序需求,选择对应的运行环境。以下是一个常见的LNMP(Linux, Nginx, MySQL, PHP)环境安装示例:
安装过程耗时较长,请耐心等待。
在面板的「安全」页面,配置系统防火墙(firewalld或iptables)。仅开放以下端口:
删除所有其他非必要的放行规则。
点击面板左侧「网站」->「添加站点」。
站点创建后,点击站点设置中的「SSL」,选择「Let‘s Encrypt」,勾选你的域名并申请免费证书,同时开启强制HTTPS。
点击站点设置中的「配置文件」,在Nginx配置文件中,在server{}块内添加或修改以下内容:
``` 隐藏Nginx版本号 server_tokens off; 安全请求头 add_header X-Frame-Options "SAMEORIGIN" always; add_header X-Content-Type-Options "nosniff" always; add_header X-XSS-Protection "1; mode=block" always; add_header Referrer-Policy "strict-origin-when-cross-origin" always; 文件上传大小限制(根据业务调整) client_max_body_size 20m; 限制请求方法(仅允许常见方法) if ($request_method !~ ^(GET|HEAD|POST)$ ) { return 405; } 禁止访问敏感文件 location ~ ^/(\.git|\.env|\.svn|config\.php|composer\.json|composer\.lock) { deny all; return 404; } ```
在面板的「软件商店」找到已安装的PHP,点击「设置」->「配置文件」。找到并修改以下参数:
``` expose_php = Off display_errors = Off log_errors = On max_execution_time = 30 upload_max_filesize = 20M post_max_size = 22M ```修改后,点击「服务」->「重载配置」。
在面板的「软件商店」找到MySQL,点击「设置」->「配置修改」。在[mysqld]部分添加:
``` 禁用本地文件读取 local-infile=0 禁止符号链接 symbolic-links=0 启用查询日志(审计用,生产环境可选) general_log = 1 general_log_file = /var/log/mysql/query.log ```保存后,在「性能调整」中根据服务器内存设置合理的参数,例如2GB内存的服务器:
``` innodb_buffer_pool_size = 1G key_buffer_size = 256M tmp_table_size = 64M max_heap_table_size = 64M ```通过面板的「数据库」页面,为每个网站创建独立的数据库用户,并遵循最小权限原则:
通过宝塔面板的「终端」或本地SSH连接服务器,编辑SSH配置文件:
``` vim /etc/ssh/sshd_config ```修改以下参数:
``` Port 23456 改为一个非标准端口,如23456 PermitRootLogin no 禁止root直接登录 PasswordAuthentication no 禁用密码登录,仅使用密钥 PubkeyAuthentication yes 启用密钥登录 ```修改前,请确保已将你的公钥(~/.ssh/id_rsa.pub内容)添加到/root/.ssh/authorized_keys文件中。保存后执行systemctl restart sshd重启服务。请务必保持一个当前连接不关闭,用新端口测试连接成功后再关闭旧连接。
在宝塔面板「软件商店」搜索并安装「fail2ban」。安装后,进入其设置界面,在「配置」->「添加监控规则」中,添加对宝塔面板、SSH和Nginx的防护:
对SSH的防护通常已内置,检查/etc/fail2ban/jail.local中[sshd]的enabled是否为true即可。
在宝塔面板「计划任务」中,添加以下任务:
在「监控」页面,开启基础监控,并设置CPU、内存、磁盘使用率的告警阈值(如90%)。
完成以上所有步骤后,请逐一核对:
至此,一个基于宝塔面板、符合基本安全与合规要求的网站服务器已配置完成。后续应定期更新系统软件、宝塔面板及所有已安装的应用程序。
上一篇: 宝塔国内服务器建站规范
易频IT社区是综合性互联网IT技术门户网站,专注分享网络技术、服务器运维、网络安全、编程开发、系统架构、云计算、大数据等行业干货,实时更新IT行业资讯、零基础教程、实战案例,为IT从业者、技术爱好者提供专业的学习交流平台。
Copyright © 2021-2026 易频IT社区. All Rights Reserved. 备案号:闽ICP备2023013482号 网站地图