如何在 Ubuntu 22.04 中安装 LAMP Apache、MySQL、PHP。在本指南中,您将学习如何安装 Apache2、MySQL 和 PHP 8.1。
您还将安装一些常见的 PHP 扩展并调整 PHP 配置。安装 PhpMyAdmin,最后您将使用 Let’s Encrypt SSL 保护您的设置并配置 HTTPS 重定向。
此设置在 Google 云上进行了测试,因此它适用于所有云托管服务,例如 AWS、Azure 或任何 VPS 或任何运行 Ubuntu 22.04 的专用服务器。
先决条件
- 对服务器的 root 访问权限或 sudo 用户。
第 1 步:设置初始化
首先使用以下命令将软件包更新到可用的最新版本。
sudo apt update
sudo apt upgrade
更新设置后,您就可以开始设置。
第 2 步:安装 Apache
使用以下命令安装 Apache。
sudo apt install apache2
这将安装apache2
所有必需的依赖项。
第 3 步:设置防火墙
现在,您可以使用 Apache 设置简单防火墙 (UFW),以允许默认 Web 端口上的公共HTTP
访问HTTPS
sudo ufw app list
您将看到所有列出的应用程序。
OutputAvailable applications: Apache Apache Full Apache Secure OpenSSH
- Apache:此配置文件打开端口
80
(正常、未加密的网络流量) - Apache Full:此配置文件打开端口
80
(正常、未加密的 Web 流量)和端口443
(TLS/SSL 加密流量) - Apache Secure:此配置文件仅打开端口
443
(TLS/SSL 加密流量) - OpenSSH:此配置文件打开
22
用于 SSH 访问的端口。
如果您不打算使用 SSL,则只需启用 Apache 配置文件。
现在我们将启用 Apache Full。
sudo ufw allow OpenSSH
sudo ufw allow 'Apache Full'
sudo ufw enable
使用此命令可以查看UFW的状态。
sudo ufw status
您将看到如下输出。
OutputStatus: active To Action From -- ------ ---- Apache Full ALLOW Anywhere OpenSSH ALLOW Anywhere Apache Full (v6) ALLOW Anywhere (v6) OpenSSH (v6) ALLOW Anywhere (v6)
步骤:4 检查 Apache 安装
由于我们已经在步骤 2 中安装了 Apache,因此它应该会自动启动并且已经启动并运行。
使用以下命令检查 Apache 版本
sudo apachectl -v
Output
Server version: Apache/2.4.52 (Ubuntu)
Server built: 2022-03-25T00:35:40
Apache 中的每个进程都是通过该systemctl
命令进行管理的。使用以下命令检查 Apache 的状态。
sudo systemctl status apache2
Output
● apache2.service - The Apache HTTP Server
Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2022-04-29 00:34:49 UTC; 2min 52s ago
Docs: https://httpd.apache.org/docs/2.4/
Main PID: 12782 (apache2)
Tasks: 55 (limit: 1151)
Memory: 5.1M
CPU: 52ms
CGroup: /system.slice/apache2.service
├─12782 /usr/sbin/apache2 -k start
├─12784 /usr/sbin/apache2 -k start
└─12785 /usr/sbin/apache2 -k start
现在我们已经安装了 Apache 并配置了防火墙。
第5步:安装MySQL
在 Ubuntu 22.04 中,Jammy Jellyfish 存储库默认包含 MySQL 8,因此您可以使用命令轻松安装它apt install
。
sudo apt install mysql-server
安装完成后,MySQL服务将自动启动。要验证 MySQL 服务器是否正在运行,请键入:
sudo service mysql status
输出应显示该服务已启用并正在运行:
● mysql.service - MySQL Community Server
Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2022-04-29 00:38:45 UTC; 11s ago
Process: 13836 ExecStartPre=/usr/share/mysql/mysql-systemd-start pre (code=exited, statu>
Main PID: 13844 (mysqld)
Status: "Server is operational"
Tasks: 38 (limit: 1151)
Memory: 351.4M
CPU: 1.043s
CGroup: /system.slice/mysql.service
└─13844 /usr/sbin/mysqld
使用以下命令检查 MySQL 版本。
sudo mysql -V
Output
mysql Ver 8.0.28-0ubuntu4 for Linux on x86_64 ((Ubuntu))
第 6 步:保护 MySQL
MySQL安装附带一个名为的脚本 mysql_secure_installation
,可以让您轻松提高MySQL服务器的安全性。
sudo mysql_secure_installation
系统会要求您配置 VALIDATE PASSWORD PLUGIN
用于测试MySQL用户密码的强度并提高安全性。
如果您想设置验证密码插件,请按此键 y
或按任何其他键进入下一步。
密码验证策略分为低、中、强三个级别。
输入 2 进行强密码验证。
在下一个提示中,系统将要求您为 MySQL root 用户设置密码。
如果您设置了验证密码插件,脚本将显示新密码的强度。类型 y
以确认密码。
接下来,系统会要求您删除匿名用户、限制 root 用户对本地计算机的访问、删除测试数据库并重新加载权限表。您应该回答 y
所有问题。
第7步:安装PHP
默认情况下,Ubuntu 22.04 添加了最新的 PHP 8.1 存储库。因此,您可以使用以下命令安装 PHP。
sudo apt install php8.1-fpm php8.1 libapache2-mod-php8.1 php8.1-common php8.1-mysql php8.1-xml php8.1-xmlrpc php8.1-curl php8.1-gd php8.1-imagick php8.1-cli php8.1-imap php8.1-mbstring php8.1-opcache php8.1-soap php8.1-zip php8.1-intl php8.1-bcmath unzip -y
安装 PHP 后,您可以使用以下命令检查版本。
php -v
Output
PHP 8.1.5 (cli) (built: Apr 7 2022 17:46:26) (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步:配置PHP
现在我们通过更改php.ini
文件中的一些值来为 Web 应用程序配置 PHP。
对于带有 Apache 的 PHP 7.4,该php.ini
位置将位于以下目录中。
sudo nano /etc/php/8.1/apache2/php.ini
在编辑器内点击F6
搜索并更新以下值以获得更好的性能。
upload_max_filesize = 32M post_max_size = 48M memory_limit = 256M max_execution_time = 600 max_input_vars = 3000 max_input_time = 1000
修改 PHP 设置后,您需要重新启动 Apache 才能使更改生效。
第9步:配置Apache
禁用默认 Apache 配置。
sudo a2dissite 000-default
创建网站目录。
sudo mkdir -p /var/www/html/domainname/public
设置正确的权限。
sudo chmod -R 755 /var/www/html/domainname
sudo chown -R www-data:www-data /var/www/html/domainname
创建新的虚拟主机配置。
sudo nano /etc/apache2/sites-available/domainname.conf
将以下配置粘贴到新文件中。
<VirtualHost *:80>
ServerAdmin admin@domainname.com
ServerName domainname.com
ServerAlias www.domainname.com
DocumentRoot /var/www/html/domainname/public
<Directory /var/www/html/domainname/public>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
启用新配置。
sudo a2ensite domainname.conf
第10步:安装PhpMyAdmin
PhpMyAdmin是一个轻松管理MySQL数据库的工具。您可以使用以下命令安装它。
sudo apt install phpmyadmin
复制 Apache 的 PhpMyAdmin 配置。
sudo cp /etc/phpmyadmin/apache.conf /etc/apache2/conf-available/phpmyadmin.conf
启用配置。
sudo a2enconf phpmyadmin.conf
重新启动阿帕奇。
sudo service apache2 restart
现在您已经安装了 PhpMyAdmin,可以通过此路线访问它yourdomain.com/phpmyadmin
。
第 11 步:安装 Let’s Encrypt SSL
HTTPS 是一种用于服务器(实例)和客户端(Web 浏览器)之间安全通信的协议。由于提供免费 SSL 证书的 Let’s Encrypt 的推出,HTTPS 被所有人采用,也为您的受众提供了信任。
sudo apt install python3-certbot-apache
现在我们已经安装了 Let’s Encrypt for Ubuntu 22.04 的 Certbot,运行此命令来接收您的证书。
sudo certbot --apache --agree-tos --redirect -m youremail@email.com -d domainname.com -d www.domainname.com
此命令将安装免费 SSL、配置重定向到 HTTPS 并重新启动 Apache 服务器。
第12步:更新SSL证书
Let’s Encrypt 提供的证书有效期仅为 90 天,因此您需要经常更新它们。因此,让我们使用以下命令测试续订功能。
sudo certbot renew --dry-run
此命令将测试证书到期时间并配置自动更新功能。
步骤:13:测试设置
完成可行的步骤后,您可以在 Web 目录中创建一个新的测试 PHP 文件。
sudo nano /var/www/html/domainname/public/info.php
将以下代码粘贴到文件中。
<?php phpinfo();
保存文件。
现在继续使用info.php
url ( domainname.com/info.php
) 检查您的域名。
您将看到您的域已重定向到 HTTPS,并查看 PHP 信息详细信息。
结论
现在您已经了解了如何安装 LAMP 堆栈 Ubuntu 22.04。您还学习了如何安装和配置 PhpMyAdmin 以及使用 Let’s Encrypt SSL 保护您的安装。
谢谢你的时间。如果您遇到任何问题或任何反馈,请在下面发表评论。
原创文章,作者:主机说,如若转载,请注明出处:https://www.hostingtalk.cn/how-to-install-lamp-apache-mysql-php-in-ubuntu/