你被黑了还搞不懂怎么创建网站文件夹?保姆级建站教程手把手教你
你被黑了还搞不懂怎么创建网站文件夹?保姆级建站教程手把手教你
网站被黑挂马不知道怎么办?你可能正经历着网站文件夹结构混乱、权限失控、代码漏洞百出等问题,而这些问题的根源往往就藏在你如何创建网站文件夹的细节里。今天这篇保姆级建站教程,就从零开始讲清楚怎么创建网站文件夹,帮你彻底解决网站被黑、文件管理混乱的问题。
项目背景与需求
去年我接手了一个外贸网站项目,客户反馈网站频繁被黑,页面上莫名出现了广告弹窗,搜索引擎也把网站降权了。经过排查,我们发现根源在于网站文件夹结构混乱,权限设置不合理,甚至有些文件夹权限开放给了公网访问,导致黑客有机可乘。
客户的需求非常明确:网站安全加固、结构清晰、易于维护、符合SEO规范。而实现这些目标的第一步,就是规范网站文件夹的创建与管理。
技术选型
在开始创建网站文件夹之前,首先得明确建站的基础技术选型。根据项目需求,我们选择了**LAMP(Linux + Apache + MySQL + PHP)**技术栈,它在外贸网站中应用广泛,兼容性强,安全性也相对较高。
系统与环境
- 操作系统:Ubuntu 20.04 LTS(稳定、安全性高)
- Web服务器:Apache 2.4(支持多虚拟主机、模块化配置)
- 数据库:MySQL 8.0(支持事务、安全性好)
- 编程语言:PHP 7.4(性能优化、兼容性强)
- 前端框架:Bootstrap 5(响应式设计、SEO友好)
- 版本控制:Git(便于团队协作与回滚)
- 部署工具:Ansible(自动化部署,提升效率)
文件夹结构规范
在Linux系统中,网站文件通常放在/var/www/目录下。我们为每个项目单独建立一个文件夹,命名方式为projectname.com,便于区分和管理。
例如:
/var/www/
├── example.com
│ ├── public_html
│ ├── logs
│ ├── config
│ ├── backup
│ └── .htaccess
public_html:存放网站公开访问的文件(HTML、CSS、JS、图片等)logs:记录访问日志、错误日志等config:存放数据库配置、环境变量等backup:备份文件夹,定期备份网站内容.htaccess:Apache配置文件,用于重定向、权限控制等
核心实现:怎么创建网站文件夹
接下来我们一步一步教你怎么创建网站文件夹,并设置权限和配置,确保网站安全。
步骤1:创建主目录
使用mkdir命令创建主目录:
sudo mkdir -p /var/www/example.com
-p参数表示自动创建父级目录,防止报错。
步骤2:设置权限
为了让Web服务器能够读取和写入文件,我们需要设置正确的权限。一般推荐使用www-data用户(Apache默认用户)。
sudo chown -R www-data:www-data /var/www/example.com
sudo find /var/www/example.com -type d -exec chmod 750 {} \;
sudo find /var/www/example.com -type f -exec chmod 640 {} \;
750表示文件夹所有者可读、写、执行,组用户可读、执行,其他用户无权限。640表示文件所有者可读、写,组用户可读,其他用户无权限。
步骤3:配置Apache虚拟主机
编辑Apache配置文件,新增一个虚拟主机配置。配置文件通常在/etc/apache2/sites-available/目录下:
sudo nano /etc/apache2/sites-available/example.com.conf
在文件中添加以下内容:
<VirtualHost *:80>ServerName example.comServerAlias www.example.comDocumentRoot /var/www/example.com/public_html<Directory /var/www/example.com/public_html>Options Indexes FollowSymLinksAllowOverride AllRequire all granted</Directory>ErrorLog ${APACHE_LOG_DIR}/example.com-error.logCustomLog ${APACHE_LOG_DIR}/example.com-access.log combined
</VirtualHost>
保存后,启用配置并重启Apache:
sudo a2ensite example.com
sudo systemctl restart apache2
步骤4:设置.htaccess文件
.htaccess文件可以控制访问权限、重定向、URL美化等。在public_html目录下创建.htaccess文件,并添加以下内容:
RewriteEngine On
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} ^www\.example\.com [NC]
RewriteRule ^(.*)$ https://example.com/$1 [L,R=301]
这段代码的作用是:
- 强制使用HTTPS
- 重定向
www.example.com到example.com
步骤5:配置防火墙
为了进一步提升安全,我们使用ufw(Uncomplicated Firewall)来限制端口访问:
sudo ufw allow OpenSSH
sudo ufw allow 'Apache Full'
sudo ufw enable
这样,只有SSH和Apache端口是开放的,其他端口都默认被阻止。
步骤6:安装安全插件
在PHP项目中,我们推荐安装ModSecurity插件来增强Web应用的安全性。可以通过以下命令安装:
sudo apt install libmodsecurity3 libmodsecurity-dev
sudo apt install modsecurity-crs
安装完成后,确保ModSecurity模块已启用,并加载了OWASP CRS规则集。
上线与优化
网站文件夹创建好后,下一步就是部署上线,并进行一系列优化操作。
域名与SSL证书
在域名提供商处注册域名,选择支持HTTPS的托管服务。推荐使用Let's Encrypt免费SSL证书:
sudo apt install certbot python3-certbot-apache
sudo certbot --apache -d example.com -d www.example.com
这会自动为网站配置SSL证书,并设置重定向规则。
Google Search Console验证
为了让搜索引擎收录网站,我们通过Google Search Console进行验证。访问Google Search Console,添加网站,选择验证方式(推荐使用HTML文件或DNS记录),验证通过后,可以提交站点地图、监控索引状态、分析爬虫抓取情况等。
SEO优化建议
- 确保网站结构清晰,目录层次合理
- 使用
<meta>标签优化页面标题、描述 - 配置
.htaccess文件做301重定向,避免死链 - 使用语义化的HTML标签,比如
<h1>、<h2>等 - 提交站点地图(Sitemap)到Google Search Console
经验总结
创建网站文件夹看似简单,但细节决定成败。一个结构混乱、权限设置不合理的网站,很容易成为黑客的攻击目标。通过本文的保姆级建站教程,我们从零开始讲解了怎么创建网站文件夹,并结合安全加固、权限控制、Apache配置等多个方面,确保网站稳定、安全、可维护。
如果你也遇到了网站被黑、文件夹混乱、权限失控的问题,不妨从头开始,按照本文的方法重新构建你的网站结构。
建站花了多少钱?留言说说真实价格。
