在Debian 10 Server/Desktop上,如何安装LAMP

・8 分钟阅读

本教程将向您展示如何在Debian 10 Buster上安装Apache,MariaDB和PHP7.3(LAMP)。

步骤1:更新软件包

在安装LAMP堆栈之前,最好更新存储库和软件包,在Debian 10 OS上运行以下命令。

sudo apt update
sudo apt upgrade

步骤2:在Debian 10上安装Apache Web服务器

输入以下命令安装Apache Web服务器,apache2-utils软件包将安装一些有用的实用工具,例如Apache HTTP服务器基准测试工具ab和用户身份验证管理工具htpasswd

sudo apt install apache2 apache2-utils

安装后,Apache应该自动启动,用systemctl检查它状态。

systemctl status apache2

示例输出:

● apache2.service - The Apache HTTP Server
 Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
 Active: active (running) since Thu 2019-07-11 13:30:35 UTC; 4min 31s ago
 Docs: https://httpd.apache.org/docs/2.4/
 Process: 17962 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
 Main PID: 17966 (apache2)
 Tasks: 55 (limit: 545)
 Memory: 4.8M
 CGroup: /system.slice/apache2.service
 ├─17966 /usr/sbin/apache2 -k start
 ├─17967 /usr/sbin/apache2 -k start
 └─17968 /usr/sbin/apache2 -k start

如果它没有运行,使用systemctl启动它。

sudo systemctl start apache2

让Apache在启动时自动启动也是一个好主意。

sudo systemctl enable apache2

检查Apache版本:

sudo apache2 -v

输出:

Server version: Apache/2.4.38 (Debian)
Server built: 2019-04-07T18:15:40

现在在浏览器地址栏中输入Debian 10服务器的外部IP地址,如果在本地Debian 10计算机上安装LAMP,那么你应该在浏览器地址栏中输入127.0.0.1localhost

如果连接被拒绝或无法完成,就可能有防火墙阻止对TCP端口80的传入请求。如果使用的是iptables firewall,那么你需要运行以下命令来打开TCP端口80.

sudo iptables -I INPUT -p tcp --dport 80 -j ACCEPT

如果使用UFW firewall,就运行此命令打开TCP端口80.

sudo ufw allow http
sudo chown www-data:www-data /var/www/html/ -R

如果在DNS中无法解析系统主机名,那么在运行sudo apache2ctl -t命令后看到以下错误。

AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1. Set the 'ServerName' directive globally to suppress this message

为了解决这个问题,我们可以在Apache中设置全局ServerName,使用Nano命令行文本编辑器创建新的配置文件。

sudo nano /etc/apache2/conf-available/servername.conf

在这个文件中添加以下行。

ServerName localhost

保存,并管理文件,要在Nano text编辑器中保存文件,请按Ctrl+O,然后按Enter确认,要退出,请按,然后启用这个配置文件。

sudo a2enconf servername.conf

重新加载Apache以便让更改生效。

sudo systemctl reload apache2

现在,如果再次运行sudo apache2ctl -t命令,你将看不到上面的错误消息。

步骤3:在Debian 10上安装MariaDB数据库服务器

MariaDB是MySQL的替代品,输入以下命令在Debian 10上安装它。

sudo apt install mariadb-server mariadb-client

安装后,MariaDB服务器应该自动启动,使用systemctl检查它状态。

systemctl status mariadb

输出:

● mariadb.service - MariaDB 10.3.15 database server
 Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
 Active: active (running) since Thu 2019-07-11 13:57:03 UTC; 16s ago
 Docs: man:mysqld(8)
 https://mariadb.com/kb/en/library/systemd/
 Main PID: 18566 (mysqld)
 Status:"Taking your SQL requests now..."
 Tasks: 31 (limit: 545)
 Memory: 73.9M
 CGroup: /system.slice/mariadb.service
 └─18566 /usr/sbin/mysqld

如果它没有运行,请使用以下命令启动它:

sudo systemctl start mariadb

要使MariaDB在引导时自动启动,请运行

sudo systemctl enable mariadb

现在运行安装后安全脚本。

sudo mysql_secure_installation

默认情况下,Debian上的MaraiDB包使用unix_套接字来验证用户登录,这意味着你可以使用操作系统的用户名和密码登录到MariaDB控制台,

sudo mariadb -u root

或者

sudo mysql -u root

要退出,运行

exit;

检查MariaDB服务器版本信息。

mariadb --version

输出:

mariadb Ver 15.1 Distrib 10.3.15-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2

步骤4: 在debian 10上安装PHP7.3

输入以下命令从Debian 10存储库安装PHP7.3.

sudo apt install php7.3 libapache2-mod-php7.3 php7.3-mysql php-common php7.3-cli php7.3-common php7.3-json php7.3-opcache php7.3-readline

启用Apache php7.3模块,然后重新启动Apache Web服务器。

sudo a2enmod php7.3
sudo systemctl restart apache2

检查PHP版本信息。

php --version

输出:

PHP 7.3.4-2 (cli) (built: Apr 13 2019 19:05:48) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.4, Copyright (c) 1998-2018 Zend Technologies
 with Zend OPcache v7.3.4-2, Copyright (c) 1999-2018, by Zend Technologies
sudo nano /var/www/html/info.php

将以下PHP代码粘贴到文件中。

<?php phpinfo(); ?>

保存,并管理文件,要在Nano text编辑器中保存文件,请按Ctrl+O,然后按Enter确认,要退出,请按Ctrl+X

现在在浏览器地址栏中,输入server-ip-address/info.php,用你的实际IP替换sever-ip-address,如果在本地计算机上,请键入127.0.0.1/info.phplocalhost/info.php

应该可以看到服务器的PHP信息。

杨和超 profile image