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.1LTS服务器版IP地址:192.168.225.22/241。安装ApacheWeb服务器首先,使用以下命令更新Ubuntu服务器:$sudoaptupdate$sudoaptupgrade然后,安装ApacheWeb服务器(以下命令):$sudoaptinstallapache2检查ApacheWeb服务器是否已在运行:$sudosystemctlstatusapache2输出可能是这样的:●apache2.service-ApacheHTTPServerLoaded:loaded(/lib/systemd/system/apache2.service;enabled;vendorpreset:enDrop-In:/lib/systemd/system/apache2.service.d└─apache2-systemd.conf活动:活动(运行)自2019-02-05星期二10:48:03UTC;1分钟5秒前主要PID:2025(apache2)任务:55(限制):2320)CGroup:/system.slice/apache2.service├─2025/usr/sbin/apache2-kstart├─2027/usr/sbin/apache2-kstart└─2028/usr/sbin/apache2-kstartFeb0510:48:02ubuntuserversystemd[1]:启动ApacheHTTP服务器...Feb0510:48:03ubuntuserverapachectl[2003]:AH00558:apache2:无法可靠Feb0510:48:03ubuntuserversystemd[1]:启动ApacheHTTP服务器。恭喜!阿帕奇该服务已启动并正在运行!!1.1调整防火墙以允许Apacheweb服务器默认情况下,如果您在Ubuntu中启用了UFW防火墙,则您无法从远程系统访问Apacheweb服务器,必须按照以下步骤打开http和https端口。首先,使用以下命令列出Ubuntu系统上可用的应用程序配置文件:$sudoufwapplist输出:可用应用程序:ApacheApacheFullApacheSecureOpenSSH如您所见,Apache和OpenSSH应用程序安装了UFW配置文件。您可以使用ufwappinfo“配置文件名称”命令列出有关每个配置文件及其包含的规则的信息。让我们检查一下“ApacheFull”配置文件。为此,请运行:$sudoufwappinfo"ApacheFull"输出:配置文件:ApacheFullTitle:Web服务器(HTTP、HTTPS)描述:Apachev2是无所不在的Apache网络服务器的下一代。端口:80,443/tcp作为As您可以看到,“ApacheFull”配置文件包含通过端口80和443启用传输的规则:现在,运行以下命令以允许HTTP和HTTPS传入流量:$sudoufwallowin“ApacheFull”RulesupdatedRulesupdated(v6)如果您不想允许HTTP流量,而只允许HTTP(80)流量,请运行:$sudoufwappinfo"Apache"1.2测试ApacheWeb服务器现在,打开Web浏览器并导航到http://localhost/或http://localhost/://IP-Address/访问Apache测试页面。如果看到类似上面的显示,就成功了。Apache服务器正在运行!2.安装MySQL要在Ubuntu上安装MySQL,请运行:$sudoaptinstallmysql-server使用以下命令验证MySQL服务是否正在运行:$sudosystemctlstatusmysql输出:mysql.service-MySQLCommunityServerLoaded:loaded(/lib/systemd/system/mysql.service;已启用;供应商预设:enabActive:自2019年2月5日星期二11:07:50UTC起处于活动状态(正在运行);17秒前主PID:3423(mysqld)任务:27(限制:2320)CGroup:/system.slice/mysql.service└─3423/usr/sbin/mysqld--daemonize--pid-file=/run/mysqld/mysqld.pidFeb0511:07:49ubuntuserversystemd[1]:StartingMySQLCommunityServer...Feb0511:07:50ubuntuserversystemd[1]:StartedMySQLCommunityServer.MySQLisrunning!2.1配置数据库管理用户(root)密码默认情况下,MySQLroot用户密码为空。您需要运行以下脚本来保护您的MySQL服务器:$sudomysql_secure_installation您将被询问是否要安装“VALIDATEPASSWORD插件”。这个插件允许我们ers为数据库配置强密码凭据。如果启用,它将自动检查密码的强度并强制用户设置足够安全的密码。禁用此插件是安全的。但是,数据库必须使用唯一的强密码凭据。如果您不想启用此插件,只需按任意键跳过密码验证部分并继续其余步骤。如果答案为y,您将被要求选择一个密码验证级别。保护MySQL服务器部署。使用空白密码连接到MySQL。VALIDATEPASSWORDPLUGIN可用于测试密码并提高安全性。它检查密码的强度并允许用户只设置那些足够安全的密码。您想要ATE设置VALIDPASSWORD插件吗?按y|Y表示是,任何其他键表示否y可用的密码验证是“低”、“中”和“强”。只需输入适当的数字(0为低密码,1为中等密码,2为强密码)并按回车键。密码验证策略分为三级:LOWLength>=8MEDIUMLength>=8,numeric,mixedcase,andspecialcharactersSTRONGLength>=8,numeric,mixedcase,specialcharactersanddictionaryfilePleaseenter0=LOW,1=MEDIUM和2=STRONG:现在,输入MySQLroot用户的密码。注意MySQLroot用户必须根据上一步选择的密码策略使用密码。如果您没有启用该插件,只需使用您选择的任何强而独特的密码即可。请在此处设置root密码。新密码:重新输入新密码:估计密码强度:50是否要继续使用提供的密码?(按y|Y表示是,任何其他键表示否):y两第一次输入密码后,您将看到密码强度(在本例中为50)。如果您确定可以,请按y以使用提供的密码继续。如果您对密码长度不满意,请按任何其他键并设置一个强密码。我现在的密码没问题,所以我选择了y。对于其余问题,只需键入y并按回车键。这将删除匿名用户,禁用root远程登录,并删除测试(测试)数据库。删除匿名用户?(按y|Y表示是,任何其他键表示否):ySuccess。通常情况下,只应允许root从“localhost”连接。这可确保有人无法从网络中猜出root密码。是否允许远程root登录?(按y|Y表示是,任何其他键表示否):ySuccess。默认情况下,MySQL带有一个名为“test”的数据库,任何人都可以访问该数据库。这也仅用于测试,应该在进入生产环境之前删除。删除测试数据库并访问它?(按y|Y表示是,任何其他键表示否):y-删除测试数据库...成功。-删除测试数据库的权限...成功。重新加载权限表将确保到目前为止所做的所有更改都将生效立即。现在重新加载权限表?(Pressy|YforYes,anyotherkeyforNo):ySuccess.Alldone!以上就是为MySQLroot用户设置密码。2.2更改MySQL超级用户的身份验证方法默认情况下,Ubuntu系统的MySQLroot为用户5.7版本及更新的版本使用插件auth_socket设置身份验证。虽然它增加了安全性,但当您使用任何外部程序(例如phpMyAdmin)访问数据库服务器时,它也会变得更加困难。要解决此问题,您需要将身份验证方法从auth_socket更改为mysql_native_password。为此,请使用以下命令登录到MySQL提示符:$sudomysql在MySQL提示符处运行以下命令以查找所有MySQL当前用户帐户的身份验证方法:SELECTuser,authentication_string,plugin,hostFROMmysql。用户;输出:+----------------|-----------------------------------------|------------------------|------------+|用户|身份验证字符串|插件|主机|+----------------|----------------------------------------|-------------------------|-----------+|根||auth_socket|本地主机||mysql.会话|*此密码无效,可在此处使用|mysql_native_password|本地主机||mysql.sys|-维护|*F126737722832701DD3979741508F05FA71E5BA0|mysql_native_password|本地主机|+----------------|------------------------------------------|------------------------|------------+4rowsinset(0.00sec)如您所见,Mysqlroot用户使用auth_socket插件进行身份验证。要将此身份验证更改为mysql_native_password方法,请在MySQL提示符下运行以下命令。不要忘记用您选择的强而独特的密码替换密码。如果您启用了VALIDATION插件,请确保您使用的是符合当前政策要求的强密码。更改用户'root'@'localhost'通过'密码'识别mysql_native_password;使用以下命令更新数据库:FLUSHPRIVILEGES;使用以下命令再次检查身份验证方法是否已更改:SELECTuser,authentication_string,plugin,hostFROMmysql.user;输出结果:OK!然后MySQLroot用户可以使用密码进行身份验证以访问mysqlshell。从MySQL提示符退出:exit3。安装PHP要安装PHP,请运行:$sudoaptinstallphplibapache2-mod-phpphp-mysql安装PHP后,在Apache文档根目录中创建info.php文件。通常,在大多数基于Debian的Linux发行版中,Apache文档根目录是/var/www/html/或/var/www/。Ubuntu18.04LTS系统下,文档根目录为/var/www/html/。在Apache根目录下创建info.php文件:$sudovi/var/www/html/info.php在此文件中编辑以下内容:然后按ESC键输入:wq保存并退出该文件。重新启动Apache服务以使更改生效。$sudosystemctlrestartapache23.1testPHP打开Web浏览器并导航到URLhttp://IP地址/info.php。您将看到PHP测试页面。通常,当用户向Web服务器发出请求时,Apache首先在文档根目录中查找名为index.html的文件。如果你想改变Apache为php文件而不是其他文件提供服务,将dir.conf配置文件中的index.php移动到第一个位置,像这样:$sudovi/etc/apache2/mods-enabled配置文件的内容/dir.conf上面的(dir.conf)如下:=4sw=4sts=4srnoet将index.php移到前面。更改后,dir.conf文件内容如下所示。
