简介

LAMP 是一组开源开发的软件,其分别是 Linux, Apache, MySQL, PHP。它们通常会一起安装,配合使用。服务器可以承载动态网站和 Web 应用程序。站点的数据存储在 MySQL 数据库中,动态则是由 PHP 处理。

在树莓派上安装 LAMP前,需要先安装 Raspbian 操作系统.

准备

在开始安装之前,将 Raspbian 操作系统的官方源改为国内的镜像源。
国内的镜像站有很多,我们选用 清华大学开源软件镜像站
编辑 /etc/apt/sources.list 文件

pi@raspberrypi ~ $ sudo nano /etc/apt/sources.list

删除原文件所有内容,用以下内容取代:

deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ stretch main non-free contrib
deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ stretch main non-free contrib

安装 Apache

Apache web 服务器是世界上最流行的 web 服务器之一。它有丰富的文档资料,并且被广泛使用,这使得它成为托管网站的一个很好的默认选择。

sudo apt-get update
sudo apt-get install apache2

启用 Apache

sudo systemctl enable apache2
sudo systemctl start apache2

此时,我们可以在浏览器中访问服务器的公共 IP 地址 http://your_server_IP_address 来验证 Apache 安装成功。

站点默认配置文件

sudo vim /etc/apache2/sites-available/000-default.conf

安装 MySQL

现在我们的 Web 服务器已经启动并运行,接下来该是安装 MySQL 的时候了。
MySQL 是一个关系型数据库管理系统,站点的数据将存储在 MySQL 数据库中。
shell命令如下:

sudo apt-get install mysql-server mysql-client
或者
sudo apt-get install mariadb-server

登录MySQL

sudo mysql -h localhost -u root -p

安装 PHP

PHP (Hypertext Preprocessor) 是一种创建动态交互性站点的强有力的服务器端脚本语言。它可以运行脚本,连接到 MySQL 数据库以获取信息,并将处理后的内容交给 Web 服务器显示。

sudo apt-get install php php7.0-mysql

PHP 配置文件

sudo vim /etc/php/7.0/apache2/php.ini 

在 Web 服务器上测试 PHP

编写 PHP 文件

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

在文本编辑器中输入以下程序:

<?php
    phpinfo();
?>

此时,在浏览器中访问 http://your_server_IP_address/info.php

安装 phpMyAdmin

phpMyAdmin 是一个免费的 Web 软件,可以在 Web 上使用 MySQL,它为 MySQL 提供了方便的可视化前端。

sudo apt-get install phpmyadmin

安装过程中,选择 Apache2 ,选择 YES 和输入 MySQL 密码
安装完成后,将 phpmyadmin 添加到 apache 配置中。

sudo vim /etc/apache2/apache2.conf

在文件的最后加上 phpmyadmin 配置。

Include /etc/phpmyadmin/apache.conf

重启 apache

sudo systemctl restart apache2.service

访问 phpMyAdmin

打开浏览器访问 http://your_server_IP_address/phpmyadmin,输入用户名: phpmyadmin 和密码: passwrod
登录成功后,我们发现 phpmyadmin 只能操作自己的数据库,很多操作都没有权限执行,比如创建数据库
当前安装的 MySQL 版本,root 用户只允许本地无密码登录,而 phpMyAdmin 默认配置必须输入密码,除非修改配置允许 root 用户无密码登录,否则登录失败,报如下错误:

Login without a password is forbidden by configuration (see AllowNoPassword)

为了能让 phpmyadmin 用户拥有和 root 一样的权限操作 MySQL,我们可以使用 root 用户通过命令行方式操作 MySQL 来修改 phpmyadmin 的权限。

pi@raspberrypi:~ $ sudo mysql -u root -p
Enter password: <Enter>
MariaDB [(none)]> use mysql;
MariaDB [mysql]> grant all privileges on *.* to 'phpmyadmin'@'localhost' identified by '<password>' with grant option;
MariaDB [mysql]> flush privileges;
Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐