Ubuntu 16.04 配置 LAMP 环境(Apache + MySQL + PHP)

2017-7-10 11:31 Herald 95 UbuntuApacheLAMPMySQLPHPUbuntu 16.04

Linux + Apache + MySQL + PHP = LAMP 环境是 Linux 系统下托管动态网站的经典组合。本文介绍如何在新创建的 Ubuntu 16.04 LTS 服务器上配置 LAMP 环境。

准备工作

在继续本指南之前,你应该先了解《Ubuntu 16.04 服务器初始化设置指南》。

如果你还没有云服务器,请参考下列指南创建:

第一步 安装 Apache

root 权限使用以下命令安装:

sudo apt-get update
sudo apt-get install apache2

安装完成后,在浏览器输入服务器的公网 IP 地址:

http://your_server_IP_address

如果显示下图所示的页面,代表 Apache 安装成功。

如何找到服务器的公网 IP 地址

服务器的公网 IP 地址通常可以在云计算平台用户中心你的产品列表中找到,你通过 SSH 连接服务器时使用的就是服务器的 IP 地址。

你也可以使用 iproute2 工具查看 IP 地址,使用以下命令:

ip addr show eth0 | grep inet | awk '{ print $2; }' | sed 's/\/.*$//'

输出的第一行即为公网 IP 地址,类似下面这样:

~# ip addr show eth0 | grep inet | awk '{ print $2; }' | sed 's/\/.*$//' 45.55.45.10 10.12.0.5 fe80::4c96:1bff:fef8:40ad

第二步 安装 MySQL

root 权限使用以下命令安装:

sudo apt-get install mysql-server php5-mysql

安装过程会提示你设置 MySQL 数据库 root 用户的密码,它是数据库系统中的超级用户,注意,它与系统的 root 用户不同。

接下来对 MySQL 进行必要的安全初始化设置。

首先,我们需要让 MySQL 创建它自己的数据库目录结构存储它自身相关信息,使用以下命令:

sudo mysql_install_db

接着,我们执行一个简单的安全脚本移除默认的风险设置,使用以下命令:

sudo mysql_secure_installation

此脚本会交互式的向你提问,根据提示反馈即可。

第三步 安装 PHP

root 权限使用以下命令安装:

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

这里我们除了 php 以外,还安装了一些相关的包,使 apache 能够处理 php 脚本。

通常,apache 默认显示网站目录中的 index.html 文件,由于 php 站点的入口文件一般为 index.php,因此我们可以做以下修改,以 root 权限编辑 dir.conf 文件:

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

文件内容类似下面这样:

<IfModule mod_dir.c>
    DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm
</IfModule>

DirectoryIndex 指令部分,将 index.php 修改到最前面:

<IfModule mod_dir.c>
    DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm
</IfModule>

保存退出并重启 apache 服务:

sudo service apache2 restart

安装 PHP 模块

PHP 通过安装额外的模块扩展支持的功能,使用如下命令列出可以安装的 PHP 模块:

apt-cache search php-
php-cgi - server-side, HTML-embedded scripting language (CGI binary)
php-cli - command-line interpreter for the php5 scripting language
php-common - Common files for packages built from the php5 source
php-curl - CURL module for php5
php-dbg - Debug symbols for PHP5
php-dev - Files for PHP5 module development
php-gd - GD module for php5
. . .

使用以下命令可以查看某个模块的详细信息:

apt-cache show package_name

例如,我们要查看 php-cli 模块的详细信息:

apt-cache show php-cli
. . .
SHA256: 91cfdbda65df65c9a4a5bd3478d6e7d3e92c53efcddf3436bbe9bbe27eca409d
Description-en: command-line interpreter for the php5 scripting language
 This package provides the /usr/bin/php5 command interpreter, useful for
 testing PHP scripts from a shell or performing general shell scripting tasks.
 .
 The following extensions are built in: bcmath bz2 calendar Core ctype date
 dba dom ereg exif fileinfo filter ftp gettext hash iconv libxml mbstring
 mhash openssl pcntl pcre Phar posix Reflection session shmop SimpleXML soap
 sockets SPL standard sysvmsg sysvsem sysvshm tokenizer wddx xml xmlreader
 xmlwriter zip zlib.
 .
 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.
Description-md5: f8450d3b28653dcf1a4615f3b1d4e347
Homepage: http://www.php.net/
. . .

使用 apt-get install 命令安装需要的模块。

以安装 php-cli 模块为例:

sudo apt-get install php-cli

同时安装多个模块可以使用以下格式:

sudo apt-get install package1 package2 ...

第四步 测试 PHP

在网站根目录创建名为 info.php 的文件,通常 Apache 的默认根目录为 /var/www/html/,使用如下命令:

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

输入以下代码:

<?php
phpinfo();
?>

保存并退出,在浏览器输入以下格式的地址进行访问:

http://your_server_IP_address/info.php

看到如下所示的页面,代表 LAMP 环境已经配置成功。

测试完毕后,删除 info.php 文件:

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

总结

现在,LAMP 环境就配置完毕了。如果你想在服务器上配置多个网站,可以参考《Ubuntu 16.04 LTS 设置 Apache 虚拟主机》。

{{ headers["x-wp-total"] }} 条评论

{{ post_id = '2406' }}

回复 {{ reply_to }}