安装Apache难不难?

准备工作

  1. 选择Linux发行版
    推荐Ubuntu Server LTS(长期支持版)或CentOS Stream,两者拥有完善的文档和社区支持,本文以Ubuntu 22.04 LTS为例。

  2. 服务器基础配置

    • 通过SSH连接服务器:ssh username@server_ip
    • 更新系统:
      sudo apt update && sudo apt upgrade -y
    • 创建非root用户(提升安全性):
      sudo adduser deploy
      sudo usermod -aG sudo deploy

核心组件安装

LAMP 栈(Apache)

sudo systemctl enable --now apache2
# 安装MySQL
sudo apt install mysql-server -y
sudo mysql_secure_installation  # 按提示设置root密码
# 安装PHP
sudo apt install php libapache2-mod-php php-mysql -y
sudo systemctl restart apache2

LEMP 栈(Nginx)

# 安装Nginx
sudo apt install nginx -y
sudo systemctl enable --now nginx
# 安装MySQL(同上)
sudo apt install mysql-server -y
# 安装PHP-FPM
sudo apt install php-fpm php-mysql -y
sudo systemctl enable --now php8.1-fpm  # 版本号需匹配

关键配置步骤

防火墙设置

sudo ufw allow OpenSSH
sudo ufw allow http
sudo ufw allow https
sudo ufw enable

虚拟主机配置(以Nginx为例)

sudo nano /etc/nginx/sites-available/yourdomain.com
server {
    listen 80;
    server_name yourdomain.com www.yourdomain.com;
    root /var/www/yourdomain.com/html;
    index index.php index.html;
    location / {
        try_files $uri $uri/ =404;
    }
    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php8.1-fpm.sock;
    }
}
sudo ln -s /etc/nginx/sites-available/yourdomain.com /etc/nginx/sites-enabled/
sudo nginx -t  # 测试配置
sudo systemctl reload nginx

文件权限管理

sudo chown -R www-data:www-data /var/www/yourdomain.com/html
sudo chmod -R 755 /var/www

安全加固措施

  1. SSH安全

    • 修改默认端口:sudo nano /etc/ssh/sshd_config → 修改Port
    • 禁用root登录:PermitRootLogin no
    • 重启服务:sudo systemctl restart sshd
  2. 安装Fail2Ban

    sudo apt install fail2ban -y
    sudo systemctl enable fail2ban
  3. 配置SSL证书(Let’s Encrypt)

    sudo apt install certbot python3-certbot-nginx -y
    sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com
    # 自动续期验证
    sudo certbot renew --dry-run

验证与测试

  1. 创建测试页面:
    echo "<?php phpinfo(); ?>" | sudo tee /var/www/yourdomain.com/html/info.php
  2. 访问测试:
    • HTTP:http://server_ip
    • PHP:http://yourdomain.com/info.php
    • HTTPS:https://yourdomain.com(证书生效后)

后期维护建议

  1. 定期更新
    sudo apt update && sudo apt upgrade -y
    sudo apt autoremove
  2. 日志监控
    • Apache日志:/var/log/apache2/access.log
    • Nginx日志:/var/log/nginx/access.log
  3. 备份策略
    • 数据库备份:mysqldump -u user -p database > backup.sql
    • 网站文件备份:tar -czvf website_backup.tar.gz /var/www/

故障排查命令

# 检查服务状态
systemctl status apache2/nginx/mysql
# 查看错误日志
tail -f /var/log/nginx/error.log
journalctl -xe -u nginx --since "5 minutes ago"
# 测试端口连通性
sudo lsof -i :80
curl -I http://localhost

引用说明
本文操作基于Ubuntu官方文档(https://ubuntu.com/server/docs)及Nginx/Apache社区最佳实践,安全配置参考Linux基金会安全指南(https://training.linuxfoundation.org),Let’s Encrypt证书部署遵循EFF官方教程(https://certbot.eff.org)。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/9746.html

(0)
酷番叔酷番叔
上一篇 2025年8月5日 13:37
下一篇 2025年8月5日 13:58

相关推荐

  • 为何找不到指定主机名的服务器?

    在使用网络服务时,经常会遇到“找不到使用指定主机名的服务器”的提示,这通常意味着客户端无法通过主机名定位到目标服务器,导致访问失败,这种情况可能由多种因素引起,涉及DNS解析、网络配置、服务器状态等多个环节,下面将详细分析常见原因及解决方法,DNS配置问题DNS(域名系统)是主机名与IP地址之间的翻译桥梁,若D……

    2025年10月14日
    4200
  • 服务器新玩法,具体指什么创新模式?

    随着数字化转型的深入,服务器作为企业数字化基础设施的核心,其应用场景和技术形态正在发生深刻变化,传统的服务器部署模式已难以满足现代业务对灵活性、效率和成本控制的需求,”服务器新玩法”应运而生,通过技术创新和模式重构,为服务器行业注入新的活力,云原生与容器化:重塑服务器部署模式云原生技术的普及彻底改变了服务器的使……

    2025年11月27日
    2000
  • 小型机与服务器是一回事吗?它们的技术特点和应用场景有何差异?

    小型机和服务器是计算领域的两类核心设备,虽然都属于提供计算、存储、网络服务的硬件载体,但在设计理念、技术架构、应用场景上存在显著差异,随着数字化转型的深入,两者在金融、电信、云计算等关键领域扮演着不可替代的角色,同时也面临着技术演进与市场需求的双重挑战,小型机:高性能与高可靠性的“核心枢纽”小型机(Minico……

    2025年9月10日
    5300
  • 模拟城市5服务器

    城市5服务器承载游戏数据交互,关乎玩家城市建设体验,稳定与否影响着游戏进程与乐趣

    2025年8月14日
    6700
  • 如何查看服务器端口?端口开放状态确认方法有哪些?

    端口是服务器与外部网络通信的逻辑接口,每个端口对应一个特定的服务或进程,查看服务器端口状态是系统管理和网络运维的基础操作,能帮助确认服务是否正常运行、排查网络连接问题、发现未授权访问风险等,本文将详细介绍在不同操作系统下查看服务器端口的方法、端口状态解读及常见问题排查,端口的基础概念服务器通过IP地址在网络中被……

    2025年9月20日
    5800

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信