如何在 Ubuntu 22.04 LTS 上安装 LAMP 堆栈

LAMP 是 Linux、Apache、MariaDB 和 PHP 的首字母缩写词。它是一个开源平台,适用于 Linux 操作系统。LAMP 堆栈使用 Apache Web 服务器、MariaDB 关系数据库管理系统和 PHP 面向对象的脚本语言。lamp-logo

Ubuntu 22.04 LTS Jammy Jellyfish 上安装 LAMP 堆栈

apt步骤 1. 首先,通过在终端中运行以下命令,确保所有系统包都是最新的。

sudo apt update
sudo apt upgrade
sudo apt install lsb-release ca-certificates apt-transport-https software-properties-common

步骤 2. 在 Ubuntu 22.04 上安装 Apache HTTP 服务器。

默认情况下,Apache 在 Ubuntu 22.04 基础存储库中可用。现在运行以下命令将最新版本的 Apache 安装到您的 Ubuntu 系统:

sudo apt install apache2 apache2-utils

成功安装后,启用 Apache(系统启动时自动启动),启动,并使用以下命令验证状态:

sudo systemctl enable apache2
sudo systemctl start apache2
sudo systemctl status apache2

您可以使用以下命令确认 Apache2 版本:

apache2 -v

步骤 3. 配置防火墙。

现在,我们使用 Apache 设置了一个简单防火墙 (UFW),以允许对 HTTP 和 HTTPS 的默认 Web 端口进行公共访问:

sudo ufw allow OpenSSH
sudo ufw allow 'Apache Full'
sudo ufw enable

步骤 4. 访问 Apache Web 服务器。

成功安装后,打开系统上的 Web 浏览器并在地址栏中输入服务器的 IP。您将获得默认的 Apache 服务器页面:

apache2-welcome-page

步骤 5. 在 Ubuntu 22.04 上安装 MariaDB。

默认情况下,MariaDB 在 Ubuntu 22.04 基础存储库中可用。现在运行以下命令将最新版本的 MariaDB 安装到您的 Ubuntu 系统:

sudo apt install mariadb-server

成功安装后,启用 MariaDB(系统启动时自动启动),启动并使用以下命令验证状态:

sudo systemctl enable mariadb
sudo systemctl start mariadb
sudo systemctl status mariadb

确认安装并检查已安装的 MariaDB 构建版本:

mariadb --version

步骤 6. 安全 MariaDB 安装。

默认情况下,MariaDB 未加固。mysql_secure_installation您可以使用脚本保护 MariaDB 。您应该仔细阅读下面的每个步骤,这些步骤将设置 root 密码、删除匿名用户、禁止远程 root 登录、删除测试数据库和访问安全 MariaDB:

mysql_secure_installation

像这样配置它:

- Set root password? [Y/n] y
- Remove anonymous users? [Y/n] y
- Disallow root login remotely? [Y/n] y
- Remove test database and access to it? [Y/n] y
- Reload privilege tables now? [Y/n] y

您现在可以使用新密码连接到 MariaDB 服务器:

mysql -u root -p

输出:

Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 46
Server version: 10.6.7-MariaDB-2ubuntu1 Ubuntu 22.04

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]>

步骤 7. 在 Ubuntu 22.04 上安装 PHP。

默认情况下,PHP 在 Ubuntu 22.04 基础存储库中不可用。现在运行以下命令将 Ondrej PPA 添加到您的系统:

sudo add-apt-repository ppa:ondrej/php

添加存储库后,更新 APT 索引,然后使用以下命令安装 PHP 8.1:

sudo apt update
sudo apt install php8.1 php8.1-common libapache2-mod-php8.1 php8.1-cli php8.1-fpm php8.1-xml

查看PHP版本信息:

php --version

输出:

PHP 8.1.5 (cli) (built: May  20 2022 17:46:36) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.5, Copyright (c) Zend Technologies
    with Zend OPcache v8.1.5, Copyright (c), by Zend Technologies

步骤 8. 创建 Apache 虚拟主机。

首先,创建一个根目录来保存您网站的文件:

sudo mkdir -p /var/www/html/domain.com/

然后,更改目录的所有权和组:

sudo chown -R www-data:www-data /var/www/html/domain.com/

之后,我们创建一个 Apache 虚拟主机来为网站的 HTTP 版本提供服务:

sudo nano /etc/apache2/sites-available/www.domain.com.conf

添加以下文件:

<VirtualHost *:80>

   ServerName domain.com
   ServerAlias www.domain.com
   ServerAdmin admin@domain.com
   DocumentRoot /var/www/html/www.domain.com

   ErrorLog ${APACHE_LOG_DIR}/www.domain.com_error.log
   CustomLog ${APACHE_LOG_DIR}/www.domain.com_access.log combined

   <Directory /var/www/html/www.domain.com>
      Options FollowSymlinks
      AllowOverride All
      Require all granted
   </Directory>

</VirtualHost>

保存并关闭文件,然后重新启动 Apache 网络服务器以进行更改:

sudo a2ensite www.domain.com.conf
sudo a2enmod ssl rewrite
sudo systemctl restart apache2

步骤 9. 在 Ubuntu 22.04 上使用 Let’s Encrypt 保护 Apache。

首先,您需要安装 Certbot 以使用 Let’s Encrypt 获取 SSL 证书:

sudo apt install certbot python3-certbot-apache

接下来,按照以下步骤使用 Let’s Encrypt 获取您的 SSL 证书:

sudo certbot --apache

您将需要按照交互式提示安装证书。由于我有两个域,我将为这两个域安装 SSL 证书:

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Enter email address (used for urgent renewal and security notices)
 (Enter 'c' to cancel): admin@domain.com

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server. Do you agree?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing, once your first certificate is successfully issued, to
share your email address with the Electronic Frontier Foundation, a founding
partner of the Let's Encrypt project and the non-profit organization that
develops Certbot? We'd like to send you email about our work encrypting the web,
EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: N
Account registered.

Which names would you like to activate HTTPS for?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: domain.com
2: www.domain.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate numbers separated by commas and/or spaces, or leave input
blank to select all options shown (Enter 'c' to cancel): 1,2
Requesting a certificate for domain.com and www.domain.com
Successfully received certificate.
Certificate is saved at: /etc/letsencrypt/live/domain.com/fullchain.pem
Key is saved at:         /etc/letsencrypt/live/domain.com/privkey.pem
This certificate expires on 2022-12-10.
These files will be updated when the certificate renews.
Certbot has set up a scheduled task to automatically renew this certificate in the background.

Deploying certificate
Successfully deployed certificate for domain.com to /etc/apache2/sites-available/www.domain.com-le-ssl.conf
Successfully deployed certificate for www.domain.com to /etc/apache2/sites-available/www.domain.com-le-ssl.conf
Congratulations! You have successfully enabled HTTPS on https://domain.com and https://www.domain.com

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
If you like Certbot, please consider supporting our work by:
 * Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
 * Donating to EFF:                    https://eff.org/donate-le
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

步骤 10. 自动续订 SSL。

Let’s Encrypt 证书的有效期为 90 天,强烈建议在证书到期前更新证书。您可以通过运行以下命令来测试证书的自动续订:

sudo certbot renew --dry-run

输出:

Saving debug log to /var/log/letsencrypt/letsencrypt.log

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Processing /etc/letsencrypt/renewal/domain.com.conf
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Account registered.
Simulating renewal of an existing certificate for domain.com and www.domain.com

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations, all simulated renewals succeeded: 
  /etc/letsencrypt/live/domain.com/fullchain.pem (success)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

步骤 11. 测试 PHP。

要测试 PHP 脚本,我们需要在文档中添加文件:info.php

nano /var/www/html/www.domain.com/info.php

将以下内容添加到文件中:

<?php phpinfo(); ?>

让我们通过在浏览器中打开此页面来确保服务器正确显示 PHP 脚本生成的内容:https://www.domain.com/info.php

php-8-ubuntu-22.04

感谢您使用本教程在Ubuntu 22.04 LTS Jammy Jellyfish 系统上安装 LEMP 堆栈。如需更多帮助或有用信息,我们建议您查看官方 LAMP 网站。

原创文章,作者:校长,如若转载,请注明出处:https://www.yundongfang.com/Yun224299.html

(0)
打赏 微信扫一扫不于多少! 微信扫一扫不于多少! 支付宝扫一扫礼轻情意重 支付宝扫一扫礼轻情意重
上一篇 2022年5月30日
下一篇 2022年5月31日

相关推荐

  • 如何在 Ubuntu 22.04 LTS 上安装 CockroachDB

    CockroachDB因其弹性而受到青睐,因为它提供了强大的一致性,并且可以在硬件或网络故障中幸存下来。它特别适合需要高可用性和低延迟数据访问的应用程序。 在 Ubuntu 22.…

    Linux命令 2023年10月14日
  • 如何在 Ubuntu 22.04 LTS 上安装 Streama

    在不断发展的媒体流世界中,Streama 作为托管您自己的媒体库的多功能开源解决方案脱颖而出。通过自托管 Streama,您可以完全控制您的内容,并可以在自己的服务器上舒适地欣赏流…

    Linux命令 2023年10月8日
  • 如何在 Ubuntu 22.04 LTS 上安装 Apache Kafka

    Apache Kafka以其有效处理实时数据流的能力而闻名。它是日志聚合、数据管道和事件驱动应用程序等方案的完美选择。 在 Ubuntu 22.04 LTS Jammy Jelly…

    Linux命令 2023年9月27日
  • 如何在 Ubuntu 22.04 LTS 上安装 GlusterFS

    GlusterFS是一个分布式文件系统,旨在高效可靠地处理大量数据。它通过在多个存储服务器上分布数据来实现这一目标,从而创建一个统一且可扩展的存储池。无论您需要高可用性解决方案、分…

    Linux命令 2023年9月22日
  • 如何在 Ubuntu 22.04 LTS 上安装 Lazygit

    在快节奏的软件开发世界中,高效的版本控制至关重要。Git 凭借其强大的功能,已成为跟踪项目更改的事实标准。但对于寻求一种更加用户友好的方式来与 Git 存储库交互的新手甚至经验丰富…

    Linux命令 2023年9月20日
  • 如何在 Ubuntu 22.04 LTS 上安装 WebERP

    WebERP是一个强大的开源基于Web的会计和业务管理系统,可以为各种规模的企业简化财务和运营流程。 在 Ubuntu 22.04 LTS Jammy Jellyfish 上安装 …

    Linux命令 2023年9月18日
  • 如何在 Ubuntu 22.04 LTS 上安装 Vtiger CRM

    客户关系管理 (CRM) 系统是各种规模企业必不可少的工具。Vtiger CRM作为一种多功能的开源CRM解决方案脱颖而出,可以帮助您简化运营,增强沟通并最终提高利润。 在 Ubu…

    Linux命令 2023年9月18日
  • 如何在 Ubuntu 22.04 LTS 上安装 WezTerm

    在 Linux 世界中,拥有一个功能强大且用途广泛的终端仿真器可以极大地增强您的工作流程和生产力。一个这样杰出的终端模拟器是WezTerm。它为您的命令行任务提供了一个功能丰富的现…

    Linux命令 2023年9月14日
  • 如何在 Ubuntu 22.04 LTS 上安装 Certbot

    在当今的数字时代,确保网站的安全性至关重要。网络安全的一个基本方面是使用SSL / TLS证书来加密您的网站与其访问者之间传输的数据。Certbot是一个免费的开源工具,简化了获取…

    Linux命令 2023年9月7日
  • 如何在 Ubuntu 22.04 LTS 上安装 CyberPanel

    在不断发展的SEO环境中,网站性能在决定搜索引擎排名方面起着关键作用。CyberPanel 是一个尖端的控制面板,提供了一套全面的工具来优化您的网站在 Ubuntu 22.04 L…

    Linux命令 2023年9月6日
  • 如何在 Ubuntu 22.04 LTS 上安装 Bauh

    Bauh 是一个适用于 Linux 的多功能应用程序管理器,它弥合了多个包管理器之间的差距,使其成为管理软件的强大而高效的工具。在本指南结束时,您将掌握利用 Bauh 的潜力满足您…

    Linux命令 2023年9月6日
  • 如何在 Ubuntu 22.04 LTS 上安装 Kotlin

    Kotlin 作为一种现代编程语言迅速崛起,它提供了增强的表现力、简洁性和安全性,使其成为各种软件项目的热门选择。作为使用 Ubuntu 22.04 的开发人员,将 Kotlin …

    Linux命令 2023年9月6日
  • 如何在 Ubuntu 22.04 LTS 上安装 FreeIPA

    FreeIPA 是一个开源身份管理系统,为 Linux/UNIX 系统、服务和应用程序提供集中的身份验证、授权和帐户信息。它建立在众所周知的开源组件之上,如LDAP,Kerbero…

    2023年4月1日
  • 如何在 Ubuntu 22.04 LTS 上安装 Tasksel

    Tasksel是一个功能强大的实用程序,可以简化Ubuntu系统管理员的软件包管理。使用Tasksel,用户可以轻松地将多个相关软件包安装为一个单元。Tasksel 按功能对软件包…

    2023年3月31日
  • 如何在 Ubuntu 22.04 LTS 上安装 Pi-Hole

    Pi-hole是一个强大的工具,它提供了一种简单有效的方法来阻止网络级别的广告和互联网跟踪器,从而带来更快,更干净,更私密的互联网浏览体验。 在 Ubuntu 22.04 LTS …

    2023年3月30日
  • 如何在 Ubuntu 22.04 LTS 上安装 Rancher

    Rancher是一个流行的开源容器管理平台,用于部署和管理Kubernetes集群,Docker容器和其他容器化技术。它提供了一个集中式用户界面,用于管理容器化应用程序、扩展资源和…

    Linux命令 2023年3月28日
  • 如何在 Ubuntu 22.04 LTS 上安装 MyPaint

    MyPaint是一款免费的开源图形应用程序,专为数字绘画和绘图而设计。它提供了各种画笔和工具来创建复杂的设计和插图,并以其用户友好的界面和可自定义的功能而闻名。MyPaint最初是…

    Linux命令 2023年3月27日
  • 如何在 Ubuntu 22.04 LTS 上安装 ProcessWire

    ProcessWire是一个免费的开源内容管理系统(CMS),以其灵活性,可扩展性和安全性而闻名。它旨在使开发人员能够轻松构建和管理任何复杂的网站,从小型个人博客到大型企业网站。它…

    Linux命令 2023年3月27日
  • 如何在 Ubuntu 22.04 LTS 上安装 Mixxx

    Mixxx 是一款免费的开源 DJ 软件,可让您混合音乐曲目并创建专业品质的 DJ 集。它支持各种音频格式,包括 MP3、OGG、FLAC 和 WAV。Mixxx DJ具有用户友好…

    Linux命令 2023年3月26日
  • 如何在 Ubuntu 22.04 LTS 上安装 KubeSphere

    KubeSphere 是一个企业级容器平台,使用户能够在 Kubernetes 上部署、管理和扩展容器化应用程序。它为管理 Kubernetes 集群提供了统一的界面,并简化了开发…

    2023年3月24日
  • 如何在 Ubuntu 22.04 LTS 上安装 Geeqie

    Geeqie是一个快速,轻量级,功能丰富的Linux系统图像查看器和组织者。它对各种图像格式和元数据的支持使其成为需要快速轻松地查看和组织图像的摄影师和其他用户的绝佳工具。易于安装…

    2023年3月24日
  • 如何在 Ubuntu 22.04 LTS 上安装 Avidemux

    Avidemux 是一款免费的开源视频编辑软件,可用于 Windows、macOS 和 Linux 操作系统。它专为简单的视频编辑任务而设计,例如剪切、过滤和编码。该软件以其用户友…

    Linux命令 2023年3月22日
  • 如何在 Ubuntu 22.04 LTS 上安装 YOURLS

    YOURLS代表您自己的URL缩短器,这是一个免费的开源PHP脚本,可让您创建自定义URL缩短服务。它允许您创建简短和自定义的URL,跟踪点击统计信息并控制您的数据。 在 Ubun…

    2023年3月22日
  • 如何在 Ubuntu 22.04 LTS 上安装 Smartctl

    Smartctl 是一个命令行工具,允许用户监控存储设备(如硬盘驱动器、固态驱动器和 USB 驱动器)的运行状况和性能。该工具的开发是为了与内置于许多存储设备中的自我监控、分析和报…

    2023年3月20日
  • 如何在 Ubuntu 22.04 LTS 上安装 Xfce 桌面

    Xfce 是一个基于 GTK+ 工具包的轻量级开源桌面环境。它被设计为快速、稳定且易于使用,使其成为 Linux 用户的热门选择。虽然 Ubuntu 的默认桌面环境是 GNOME,…

    2023年3月18日