使用 Ubuntu 终端设置 Web 服务器

2023-12-26 20:03:09 浏览数 (2)

介绍

在 Web 主机领域,Ubuntu 以其流行和用户友好的 Linux 发行版之一而脱颖而出。由于其强大性和社区支持,许多专业人士更喜欢将其作为服务器操作系统。在本指南中,我们将深入探讨如何使用终端在 Ubuntu 上设置基本的Web服务器。

准备工作

在设置服务器之前,请确保你具有:

  • 一个 Ubuntu 服务器或桌面版本。
  • 超级用户(root)访问权限或具有sudo权限的帐户。

更新和升级 Ubuntu

保持系统更新是最佳实践。首先刷新软件包列表并升级系统:

代码语言:bash复制
sudo apt update
sudo apt upgrade -y

安装 Apache

Apache HTTP 服务器,通常称为 Apache,是最广泛使用的 Web 服务器解决方案之一。使用以下命令安装:

代码语言:bash复制
sudo apt install apache2 -y

安装完成后,启动 Apache 服务:

代码语言:bash复制
sudo systemctl start apache2

为确保 Apache 在重新启动后自动启动:

代码语言:bash复制
sudo systemctl enable apache2

你可以通过在 Web 浏览器中导航到服务器的 IP 地址来验证 Apache 是否正在运行。你应该看到默认的 Apache Ubuntu 页面。

安装 MySQL

MySQL 是一种功能强大的数据库管理系统。为了托管需要数据库后端的动态网站,MySQL 是一个受欢迎的选择。

代码语言:bash复制
sudo apt install mysql-server -y

安装完成后,保护你的 MySQL 安装:

代码语言:bash复制
sudo mysql_secure_installation

你将被提示设置 root 密码并回答一系列问题。通常安全的做法是对所有提示都回答“Y”。

安装 PHP

PHP 是一种广泛使用的脚本语言,特别适用于 Web 开发。安装 PHP 以及使其与 Apache 配合使用的模块:

代码语言:bash复制
sudo apt install php libapache2-mod-php php-mysql -y

要确认 PHP 的安装:

代码语言:bash复制
php -v

优先处理 PHP 文件

配置 Apache 以优先处理 PHP 文件

默认情况下,Apache 在任何其他文件之前提供 index.html。为使其首先提供 index.php,编辑 dir.conf:

代码语言:bash复制
sudo nano /etc/apache2/mods-enabled/dir.conf

将 index.php 移到列表的最前面,使其看起来像这样:

代码语言:plaintext复制
<IfModule mod_dir.c>
    DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm
</IfModule>

然后,重新启动 Apache 以应用更改:

代码语言:bash复制
sudo systemctl restart apache2

测试 PHP 处理

在默认的 Web 目录中创建一个测试 PHP 文件:

代码语言:bash复制
echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/phpinfo.php

现在,导航到 http://your_server_ip/phpinfo.php。如果设置正确,这将显示有关服务器上的 PHP 的详细信息。

注意:出于安全原因,建议在确认 PHP 正常工作后删除 phpinfo.php

保护你的 Web 服务器

安装防火墙

UFW(Uncomplicated Firewall)是一个面向 iptables 的界面,旨在简化配置防火墙的过程。

安装并激活 UFW:

代码语言:bash复制
sudo apt install ufw
sudo ufw enable

允许 SSH 和 HTTP 流量:

代码语言:bash复制
sudo ufw allow OpenSSH
sudo ufw allow 'Apache'

启用 SSL

为了保护数据传输,建议使用 SSL。Let's Encrypt 提供免费的 SSL 证书。要使用它,首先安装 Certbot:

代码语言:bash复制
sudo apt install certbot python3-certbot-apache -y

然后,请求证书:

代码语言:bash复制
sudo certbot --apache

按照屏幕上的说明操作。设置完成后,Certbot 将自动更新你的证书。

结论

在 Ubuntu 上设置 Web 服务器是一件简单的事情,特别是当你将该过程分解为可管理的步骤时。使用 Apache、MySQL 和 PHP,你可以托管各种网站。请记住始终优先考虑安全性,定期备份数据并保持软件更新。

0 人点赞