LAMP套件是一种流行的开源Web开发平台,可用于运行和部署动态网站和基于Web的应用程序。
LAMP套件是一种流行的开源Web开发平台,可用于运行和部署动态网站和基于Web的应用程序。通常,LAMP套件由ApacheWeb服务器、MariaDB/MySQL数据库、PHP/Python/Perl程序设计(脚本)语言组成。LAMP是Linux,MariaDB/MYSQL,PHP/Python/Perl的缩写。本教程描述了如何在Ubuntu18.04LTS服务器中安装Apache、MySQL、PHP(LAMP套件)。
就本教程而言,我们将使用以下Ubuntu测试。
操作系统:Ubuntu18.04.1LTSServerEdition
IP地址:192.168.225.22/24
1.安装ApacheWeb服务器
首先,利用下面命令更新Ubuntu服务器:
$sudoaptupdate$sudoaptupgrade
然后,安装ApacheWeb服务器(命令如下):
$sudoaptinstallapache2
检查ApacheWeb服务器是否已经运行:
$sudosystemctlstatusapache2
输出结果大概是这样的:
●apache2.service-TheApacheHTTPServerLoaded:loaded(/lib/systemd/system/apache2.service;enabled;vendorpreset:enDrop-In:/lib/systemd/system/apache2.service.d└─apache2-systemd.confActive:active(running)sinceTue2019-02-0510:48:03UTC;1min5sagoMainPID:2025(apache2)Tasks:55(limit:2320)CGroup:/system.slice/apache2.service├─2025/usr/sbin/apache2-kstart├─2027/usr/sbin/apache2-kstart└─2028/usr/sbin/apache2-kstartFeb0510:48:02ubuntuserversystemd[1]:StartingTheApacheHTTPServer...Feb0510:48:03ubuntuserverapachectl[2003]:AH00558:apache2:CouldnotreliablyFeb0510:48:03ubuntuserversystemd[1]:StartedTheApacheHTTPServer.
祝贺你!Apache服务已经启动并运行了!!
1.1调整防火墙允许ApacheWeb服务器
默认情况下,如果你已在Ubuntu中启用UFW防火墙,则无法从远程系统访问ApacheWeb服务器。必须按照以下步骤开启http和https端口。
首先,使用以下命令列出Ubuntu系统上可用的应用程序配置文件:
$sudoufwapplist
输出结果:
Availableapplications:ApacheApacheFullApacheSecureOpenSSH
如你所见,Apache和OpenSSH应用程序已安装UFW配置文件。你可以使用ufwappinfo"ProfileName"命令列出有关每个配置文件及其包含的规则的信息。
让我们研究一下“ApacheFull”配置文件。为此,请运行:
$sudoufwappinfo"ApacheFull"
输出结果:
Profile:ApacheFullTitle:WebServer(HTTP,HTTPS)Description:Apachev2isthenextgenerationoftheomnipresentApachewebserver.Ports:80,443/tcp
如你所见,“ApacheFull”配置文件包含了启用经由端口80和443的传输规则:
现在,运行以下命令配置允许HTTP和HTTPS传入通信:
$sudoufwallowin"ApacheFull"RulesupdatedRulesupdated(v6)
如果你不想允许HTTP通信,而只允许HTTP(80)通信,请运行:
$sudoufwappinfo"Apache"
1.2测试ApacheWeb服务器
现在,打开Web浏览器并导航到http://localhost/或http://IP-Address/来访问Apache测试页。
如果看到上面类似的显示内容,那就成功了。Apache服务器正在工作!
2.安装MySQL
在Ubuntu安装MySQL请运行:
$sudoaptinstallapache20
使用以下命令验证MySQL服务是否正在运行:
$sudoaptinstallapache21
输出结果:
$sudoaptinstallapache22
MySQL正在运行!
2.1配置数据库管理用户(root)密码
默认情况下,MySQLroot用户密码为空。你需要通过运行以下脚本使你的MySQL服务器安全:
$sudoaptinstallapache23
系统将询问你是否要安装“VALIDATEPASSWORDplugin(密码验证插件)”。该插件允许用户为数据库配置强密码凭据。如果启用,它将自动检查密码的强度并强制用户设置足够安全的密码。禁用此插件是安全的。但是,必须为数据库使用唯一的强密码凭据。如果不想启用此插件,只需按任意键即可跳过密码验证部分,然后继续其余步骤。
如果回答是y,则会要求你选择密码验证级别。
$sudoaptinstallapache24
可用的密码验证有“low(低)”、“medium(中)”和“strong(强)”。只需输入适当的数字(0表示低,1表示中,2表示强密码)并按回车键。
$sudoaptinstallapache25
现在,输入MySQLroot用户的密码。请注意,必须根据上一步中选择的密码策略,为MySQLroot用户使用密码。如果你未启用该插件,则只需使用你选择的任意强度且唯一的密码即可。
$sudoaptinstallapache26
两次输入密码后,你将看到密码强度(在此示例情况下为50)。如果你确定可以,请按y继续提供的密码。如果对密码长度不满意,请按其他任意键并设置一个强密码。我现在的密码可以,所以我选择了y。
对于其余的问题,只需键入y并按回车键。这将删除匿名用户、禁止root用户远程登录并删除test(测试)数据库。
$sudoaptinstallapache27
以上就是为MySQLroot用户设置密码。
2.2更改MySQL超级用户的身份验证方法
默认情况下,Ubuntu系统的MySQLroot用户为MySQL5.7版本及更新的版本使用插件auth_socket设置身份验证。尽管它增强了安全性,但是当你使用任何外部程序(例如phpMyAdmin)访问数据库服务器时,也会变得更困难。要解决此问题,你需要将身份验证方法从auth_socket更改为mysql_native_password。为此,请使用以下命令登录到你的MySQL提示符下:
$sudoaptinstallapache28
在MySQL提示符下运行以下命令,找到所有MySQL当前用户帐户的身份验证方法:
$sudoaptinstallapache29
输出结果:
$sudosystemctlstatusapache20
如你所见,Mysqlroot用户使用auth_socket插件进行身份验证。
要将此身份验证更改为mysql_native_password方法,请在MySQL提示符下运行以下命令。别忘了用你选择的强大唯一的密码替换password。如果已启用VALIDATION插件,请确保已根据当前策略要求使用了强密码。
$sudosystemctlstatusapache21
使用以下命令更新数据库:
$sudosystemctlstatusapache22
使用命令再次检查身份验证方法是否已更改:
$sudoaptinstallapache29
输出结果:
好!MySQLroot用户就可以使用密码进行身份验证来访问mysqlshell。
从MySQL提示符下退出:
$sudosystemctlstatusapache24
3.安装PHP
安装PHP请运行:
$sudosystemctlstatusapache25
安装PHP后,在Apache文档根目录中创建info.php文件。通常,在大多数基于Debian的Linux发行版中,Apache文档根目录为/var/www/html/或/var/www/。Ubuntu18.04LTS系统下,文档根目录是/var/www/html/。
在Apache根目录中创建info.php文件:
$sudosystemctlstatusapache26
在此文件中编辑如下内容:
$sudosystemctlstatusapache27
然后按下ESC键并且输入:wq保存并退出此文件。重新启动Apache服务使更改生效。
$sudosystemctlstatusapache28
3.1测试PHP
打开Web浏览器,然后导航到URLhttp://IP地址/info.php。
你就将看到PHP测试页面。
通常,当用户向Web服务器发出请求时,Apache首先会在文档根目录中查找名为index.html的文件。如果你想将Apache更改为php文件提供服务而不是其他文件,请将dir.conf配置文件中的index.php移至第一个位置,如下所示:
$sudosystemctlstatusapache29
上面的配置文件(dir.conf)内容如下:
●apache2.service-TheApacheHTTPServerLoaded:loaded(/lib/systemd/system/apache2.service;enabled;vendorpreset:enDrop-In:/lib/systemd/system/apache2.service.d└─apache2-systemd.confActive:active(running)sinceTue2019-02-0510:48:03UTC;1min5sagoMainPID:2025(apache2)Tasks:55(limit:2320)CGroup:/system.slice/apache2.service├─2025/usr/sbin/apache2-kstart├─2027/usr/sbin/apache2-kstart└─2028/usr/sbin/apache2-kstartFeb0510:48:02ubuntuserversystemd[1]:StartingTheApacheHTTPServer...Feb0510:48:03ubuntuserverapachectl[2003]:AH00558:apache2:CouldnotreliablyFeb0510:48:03ubuntuserversystemd[1]:StartedTheApacheHTTPServer.0
将index.php移动到最前面。更改后,dir.conf文件内容看起来如下所示。
●apache2.service-TheApacheHTTPServerLoaded:loaded(/lib/systemd/system/apache2.service;enabled;vendorpreset:enDrop-In:/lib/systemd/system/apache2.service.d└─apache2-systemd.confActive:active(running)sinceTue2019-02-0510:48:03UTC;1min5sagoMainPID:2025(apache2)Tasks:55(limit:2320)CGroup:/system.slice/apache2.service├─2025/usr/sbin/apache2-kstart├─2027/usr/sbin/apache2-kstart└─2028/usr/sbin/apache2-kstartFeb0510:48:02ubuntuserversystemd[1]:StartingTheApacheHTTPServer...Feb0510:48:03ubuntuserverapachectl[2003]:AH00558:apache2:CouldnotreliablyFeb0510:48:03ubuntuserversystemd[1]:StartedTheApacheHTTPServer.1
然后按下ESC键并且输入:wq保存并关闭此文件。重新启动Apache服务使更改生效。
$sudosystemctlstatusapache28
3.2安装PHP模块
为了增加PHP的功能,可以安装一些其他的PHP模块。
要列出可用的PHP模块,请运行:
●apache2.service-TheApacheHTTPServerLoaded:loaded(/lib/systemd/system/apache2.service;enabled;vendorpreset:enDrop-In:/lib/systemd/system/apache2.service.d└─apache2-systemd.confActive:active(running)sinceTue2019-02-0510:48:03UTC;1min5sagoMainPID:2025(apache2)Tasks:55(limit:2320)CGroup:/system.slice/apache2.service├─2025/usr/sbin/apache2-kstart├─2027/usr/sbin/apache2-kstart└─2028/usr/sbin/apache2-kstartFeb0510:48:02ubuntuserversystemd[1]:StartingTheApacheHTTPServer...Feb0510:48:03ubuntuserverapachectl[2003]:AH00558:apache2:CouldnotreliablyFeb0510:48:03ubuntuserversystemd[1]:StartedTheApacheHTTPServer.3
输出结果:
使用方向键浏览结果。要退出,请输入q并按下回车键。
要查找任意php模块的详细信息,例如php-gd,请运行:
●apache2.service-TheApacheHTTPServerLoaded:loaded(/lib/systemd/system/apache2.service;enabled;vendorpreset:enDrop-In:/lib/systemd/system/apache2.service.d└─apache2-systemd.confActive:active(running)sinceTue2019-02-0510:48:03UTC;1min5sagoMainPID:2025(apache2)Tasks:55(limit:2320)CGroup:/system.slice/apache2.service├─2025/usr/sbin/apache2-kstart├─2027/usr/sbin/apache2-kstart└─2028/usr/sbin/apache2-kstartFeb0510:48:02ubuntuserversystemd[1]:StartingTheApacheHTTPServer...Feb0510:48:03ubuntuserverapachectl[2003]:AH00558:apache2:CouldnotreliablyFeb0510:48:03ubuntuserversystemd[1]:StartedTheApacheHTTPServer.4
安装PHP模块请运行:
●apache2.service-TheApacheHTTPServerLoaded:loaded(/lib/systemd/system/apache2.service;enabled;vendorpreset:enDrop-In:/lib/systemd/system/apache2.service.d└─apache2-systemd.confActive:active(running)sinceTue2019-02-0510:48:03UTC;1min5sagoMainPID:2025(apache2)Tasks:55(limit:2320)CGroup:/system.slice/apache2.service├─2025/usr/sbin/apache2-kstart├─2027/usr/sbin/apache2-kstart└─2028/usr/sbin/apache2-kstartFeb0510:48:02ubuntuserversystemd[1]:StartingTheApacheHTTPServer...Feb0510:48:03ubuntuserverapachectl[2003]:AH00558:apache2:CouldnotreliablyFeb0510:48:03ubuntuserversystemd[1]:StartedTheApacheHTTPServer.5
安装所有的模块(虽然没有必要),请运行:
●apache2.service-TheApacheHTTPServerLoaded:loaded(/lib/systemd/system/apache2.service;enabled;vendorpreset:enDrop-In:/lib/systemd/system/apache2.service.d└─apache2-systemd.confActive:active(running)sinceTue2019-02-0510:48:03UTC;1min5sagoMainPID:2025(apache2)Tasks:55(limit:2320)CGroup:/system.slice/apache2.service├─2025/usr/sbin/apache2-kstart├─2027/usr/sbin/apache2-kstart└─2028/usr/sbin/apache2-kstartFeb0510:48:02ubuntuserversystemd[1]:StartingTheApacheHTTPServer...Feb0510:48:03ubuntuserverapachectl[2003]:AH00558:apache2:CouldnotreliablyFeb0510:48:03ubuntuserversystemd[1]:StartedTheApacheHTTPServer.6
安装任何php模块后,请不要忘记重新启动Apache服务。要检查模块是否已加载,请在浏览器中打开info.php文件并检查是否存在。
接下来,你可能需要安装数据库管理工具,以通过Web浏览器轻松管理数据库。如果是这样,请按照以下链接中的说明安装phpMyAdmin。
祝贺你!我们已经在Ubuntu服务器中成功配置了LAMP套件。