在Ubuntu 14.04上安装LAMP stack
LAMP stack指的是一组开源程序,用于服务器host动态网页和网页app。具体来说,LAMP使用Linux操作系统和Apache Web服务器,数据存储在MySQL数据库中,动态内容由PHP处理。
0. 更新apt
以下的安装都使用了apt——Ubuntu的package manager来进行,首先需要进行一下updata:
sudo apt-get update
1. 安装Apache
Apache是目前最流行Web服务器,在Ubuntu下可以是同apt来安装Apache:
sudo apt-get install apache2
安装完成后,就可以在浏览器里输入服务器IP地址http://your_server_IP_address ,访问默认Web页面了,如图1所示:
如果不知道IP地址,可以使用如下命令查看:
ip addr show eth0 | grep inet | awk '{ print $2; }' | sed 's/\/.*$//'
2. 安装MySQL
站点的数据存储在数据库中,MySQL是一个数据库管理系统,管理并提供数据库的接入。MySQL同样可以使用apt安装:
sudo apt-get install mysql-server php5-mysql
安装完成后,需要让MySQL建立数据库文件结构:
sudo mysql_install_db
然后,可以运行一个自带的安全配置脚本,移除一些危险的默认设置:
sudo mysql_secure_installation
运行上面脚本的时候,首先会询问是否修改密码,可以根据需要选择;其余选项可以直接按回车接受默认值。
3. 安装PHP
PHP通过处理代码来展示动态内容,它可以运行脚本,连接MySQL数据库并从中获取信息,并将处理后的内容交给Web服务器进行展示。依旧可以使用apt来安装PHP:
sudo apt-get install php5 libapache2-mod-php5 php5-mcrypt
当用户向服务器请求目录时,Apache会首先查找index.html这个文件,我们需要进行额外设置,来让服务器优先选择PHP文件,也就是让Apache优先查找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位于index.html之后,将其修改为:
<IfModule mod_dir.c> DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm </IfModule>
修改完成后,按CTRL-X,再按Y,回车确认保存,然后重启Apache即可:
sudo service apache2 restart
4. 测试PHP
现在通过一个简单的PHP脚本来测试PHP是否已经正常工作。在/var/www/html/路径下新建一个info.php文件:
sudo nano /var/www/html/info.php
在info.php中键入:
<?php phpinfo(); ?>
关闭并保存文件后,使用浏览器访问http://your_server_IP_address/info.php ,应该可以看到如图2所示的页面:
这个页面给出了关于服务器的一些信息,可以用于debug和确认配置,之后可以将info.php文件删除,以免将信息暴露给别人:
sudo rm /var/www/html/info.php