如何在Ubuntu上安装LAMP服务器

我刚刚在我的计算机上安装了Ubuntu作为初学者,发现软件中心没有可用的LAMP服务器。 我在某种程度上坚持如何在我的Ubuntu上安装LAMP服务器,因为没有特定的网站可以做到这一点。

请问,哪里可以将LAMP服务器安装到我的计算机中,以及我将遵循的流程来使其工作。

谢谢。

LAMP指的是Linux + Apache + MySQL + PHP,所以安装这些将给你一个LAMP服务器,安装很容易你可以使用tasksel你可以通过打开一个终端( ctrl + alt + t )安装并执行:

 sudo apt-get install tasksel 

完成之后,使用sudo权限调用tasksel

 sudo tasksel 

这将显示一个类似于以下屏幕截图中的窗口:

在此处输入图像描述

将选择器移动到LAMP条目并按空格键以标记它,然后按Tab键突出显示字段并按回车键。 这将开始安装过程。


正如Rinzwind所指出的那样,无需进行灯泡服务器安装,只需输入以下内容即可完成:

 sudo apt-get install lamp-server^ 

^在这里必不可少。

我建议你分别安装LAMP的所有组件。 但这需要一些时间和耐心。 如果您正在寻找“ 一键安装 ”,可以使用许多此类软件包。 以下说明Bitnami LAMPstack的安装。

  • 从此处下载推荐的安装程序: https : //bitnami.com/stack/lamp/installer
  • 为您下载的*.run文件提供执行权限

    chmod +x bitnami-lampstack-xxx-xxx-xxx.run

  • 运行。 (只需双击它或从终端运行: ./binnami-xxx.run

  • 安装过程是不言自明的。

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

推荐方式:分别安装所有组件

来源: digitalocean教程

第1步:在防火墙中安装Apache和允许

 sudo apt-get update sudo apt-get install apache2 

接下来,假设您已按照初始服务器设置说明启用UFW防火墙,请确保您的防火墙允许HTTP和HTTPS流量。 您可以确保UFW具有Apache的应用程序配置文件,如下所示:

 sudo ufw app list Output: Available applications: Apache Apache Full Apache Secure OpenSSH 

如果您查看Apache Full配置文件,它应该显示它启用到端口80和443的流量:

 sudo ufw app info "Apache Full" Output Profile: Apache Full Title: Web Server (HTTP,HTTPS) Description: Apache v2 is the next generation of the omnipresent Apache web server. Ports: 80,443/tcp 

允许此配置文件的传入流量:

 sudo ufw allow in "Apache Full" 

您可以立即通过在Web浏览器中访问服务器的公共IP地址来validation所有内容是否按计划进行检查(如果您没有此信息,请参阅下一个标题下的说明以了解您的公共IP地址是什么已经):

http://your_server_IP_address (或只在URL栏中输入localhost

您将看到默认的Ubuntu 16.04 Apache网页,该网页用于提供信息和测试目的。 它应该看起来像这样:

在此处输入图像描述

如果您看到此页面,那么您的Web服务器现在已正确安装并可通过防火墙访问。 如何查找服务器的公共IP地址

第2步:安装MySQL

运行命令:

 sudo apt-get install mysql-server 

在安装过程中,您的服务器将要求您选择并确认MySQL“ root ”用户的密码。 这是MySQL中的一个管理帐户,具有更高的权限。 可以认为它类似于服务器本身的root帐户(您现在配置的帐户是特定于MySQL的帐户)。 确保这是一个强大的唯一密码, 不要留空

安装完成后,我们希望运行一个简单的安全脚本,它将删除一些危险的默认值并锁定对我们数据库系统的访问。 运行以下命令启动交互式脚本:

 sudo mysql_secure_installation 

系统将要求您输入为MySQL root帐户设置的密码。 接下来,系统将询问您是否要配置VALIDATE PASSWORD PLUGIN。

警告:启用此function是一种判断调用。 如果启用,MySQL将拒绝与指定条件不符的密码并显示错误。 如果您将弱密码与自动配置MySQL用户凭据的软件结合使用,例如phpMyAdmin的Ubuntu软件包,则会导致问题。 保持禁用validation是安全的,但是您应该始终为数据库凭据使用强大的唯一密码。

回答是,或者其他任何事情继续而不启用。

 VALIDATE PASSWORD PLUGIN can be used to test passwords and improve security. It checks the strength of password and allows the users to set only those passwords which are secure enough. Would you like to setup VALIDATE PASSWORD plugin? 

按y | Y表示是,否则为No的任何其他键:

系统会要求您选择密码validation级别。 请记住,如果输入2,对于最强级别,在尝试设置任何不包含数字,大写和小写字母以及特殊字符的密码或基于常用字典单词的密码时,您将收到错误。

密码validation策略有三个级别:

大号

 OW Length >= 8 MEDIUM Length >= 8, numeric, mixed case, and special characters STRONG Length >= 8, numeric, mixed case, special characters and dictionary file Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 1 

如果您启用了密码validation,则会显示现有root密码的密码强度,并询问您是否要更改该密码。 如果您对当前密码感到满意,请在提示符处输入n代表“no”:

 Using existing password for root. Estimated strength of the password: 100 Change the password for root ? ((Press y|Y for Yes, any other key for No) : n 

对于其他问题,您应该按Y并在每个提示符处按Enter键。 这将删除一些匿名用户和测试数据库,禁用远程root登录,并加载这些新规则,以便MySQL立即尊重我们所做的更改。

此时,您的数据库系统现已设置完毕,我们可以继续前进。

第3步:安装PHP

运行命令:

 sudo apt-get install php libapache2-mod-php php-mcrypt php-mysql 

这应该没有任何问题安装PHP。 我们马上就会测试一下。

在大多数情况下,我们要修改Apache在请求目录时提供文件的方式。 目前,如果用户从服务器请求目录,Apache将首先查找名为index.html的文件。 我们想告诉我们的Web服务器更喜欢PHP文件,因此我们首先要让Apache查找index.php文件。

为此,请键入以下命令以在具有root权限的文本编辑器中打开dir.conf文件:

 sudo nano /etc/apache2/mods-enabled/dir.conf 

它看起来像这样:

  DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm  

我们希望将上面突出显示的PHP索引文件移动到DirectoryIndex规范之后的第一个位置,如下所示:

  DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm  

完成后,按Ctrl-X保存并关闭文件。 您必须通过键入Y确认保存,然后按Enter确认文件保存位置。

在此之后,我们需要重新启动Apache Web服务器才能识别我们的更改。 你可以这样输入:

 sudo systemctl restart apache2 

我们还可以使用systemctl检查apache2服务的状态:

 sudo systemctl status apache2 Sample Output ● apache2.service - LSB: Apache2 web server Loaded: loaded (/etc/init.d/apache2; bad; vendor preset: enabled) Drop-In: /lib/systemd/system/apache2.service.d └─apache2-systemd.conf Active: active (running) since Wed 2016-04-13 14:28:43 EDT; 45s ago Docs: man:systemd-sysv-generator(8) Process: 13581 ExecStop=/etc/init.d/apache2 stop (code=exited, status=0/SUCCESS) Process: 13605 ExecStart=/etc/init.d/apache2 start (code=exited, status=0/SUCCESS) Tasks: 6 (limit: 512) CGroup: /system.slice/apache2.service ├─13623 /usr/sbin/apache2 -k start ├─13626 /usr/sbin/apache2 -k start ├─13627 /usr/sbin/apache2 -k start ├─13628 /usr/sbin/apache2 -k start ├─13629 /usr/sbin/apache2 -k start └─13630 /usr/sbin/apache2 -k start Apr 13 14:28:42 ubuntu-16-lamp systemd[1]: Stopped LSB: Apache2 web server. Apr 13 14:28:42 ubuntu-16-lamp systemd[1]: Starting LSB: Apache2 web server... Apr 13 14:28:42 ubuntu-16-lamp apache2[13605]: * Starting Apache httpd web server apache2 Apr 13 14:28:42 ubuntu-16-lamp apache2[13605]: AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerNam Apr 13 14:28:43 ubuntu-16-lamp apache2[13605]: * Apr 13 14:28:43 ubuntu-16-lamp systemd[1]: Started LSB: Apache2 web server. 

安装PHP模块

为了增强PHP的function,我们可以选择安装一些额外的模块。

要查看PHP模块和库的可用选项,可以将apt-cache search的结果传递给less,这是一个可以滚动浏览其他命令输出的分页器:

 apt-cache search php- | less 

使用箭头键向上和向下滚动,然后按q退出。

结果是您可以安装的所有可选组件。 它会给你一个简短的描述:

 libnet-libidn-perl - Perl bindings for GNU Libidn php-all-dev - package depending on all supported PHP development packages php-cgi - server-side, HTML-embedded scripting language (CGI binary) (default) php-cli - command-line interpreter for the PHP scripting language (default) php-common - Common files for PHP packages php-curl - CURL module for PHP [default] php-dev - Files for PHP module development (default) php-gd - GD module for PHP [default] php-gmp - GMP module for PHP [default] … : 

要获得有关每个模块的function的更多信息,您可以搜索互联网,也可以键入以下内容来查看包的详细说明:

 apt-cache show package_name 

将有大量输出,其中一个字段名为Description-en,它将对模块提供的function有更长的解释。

例如,要找出php-cli模块的function,我们可以输入:

 apt-cache show php-cli 

除了大量其他信息外,您还可以找到如下所示的内容:

 Output … Description-en: command-line interpreter for the PHP scripting language (default) This package provides the /usr/bin/php command interpreter, useful for testing PHP scripts from a shell or performing general shell scripting tasks. . PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used open source general-purpose scripting language that is especially suited for web development and can be embedded into HTML. . This package is a dependency package, which depends on Debian's default PHP version (currently 7.0). … 

如果在研究之后,您决定要安装软件包,可以使用apt-get install命令,就像我们为其他软件所做的那样。

如果我们决定php-cli是我们需要的东西,我们可以输入:

 sudo apt-get install php-cli 

第4步:在Web服务器上测试PHP处理

为了测试我们的系统是否为PHP正确配置,我们可以创建一个非常基本的PHP脚本。

我们将这个脚本称为info.php。 为了让Apache找到并正确提供文件,必须将其保存到一个非常特定的目录,称为“web root”。

在Ubuntu 14.04中,该目录位于/var/www/html/ 。 我们可以通过键入以下内容在该位置创建文件:

 sudo nano /var/www/html/info.php 

这将打开一个空白文件。 我们想在文件中放入以下文本,它是有效的PHP代码:

  

完成后,保存并关闭文件。

现在我们可以测试我们的Web服务器是否可以正确显示PHP脚本生成的内容。 要试一试,我们只需在我们的网络浏览器中访问此页面即可。 您将再次需要服务器的公共IP地址。

您要访问的地址将是:

http://your_server_IP_address/info.php (或localhost / info.php)

您访问的页面应如下所示:

在此处输入图像描述

这个页面基本上从PHP的角度为您提供有关您的服务器的信息。 它对于调试很有用,并确保正确应用您的设置。

如果这是成功的,那么您的PHP正在按预期工作。

您可能希望在此测试后删除此文件,因为它实际上可以向未经授权的用户提供有关您的服务器的信息。 为此,您可以输入:

 sudo rm /var/www/html/info.php 

如果您以后需要再次访问该信息,则可以随时重新创建此页面。

有关更详细的说明: https : //www.digitalocean.com/community/tutorials/how-to-install-linux-apache-mysql-php-lamp-stack-on-ubuntu-16-04