简介
LAMP 是一组开源软件(分别是 Linux, Apache, MySQL, PHP),它们通常一起安装,以使服务器能够承载动态网站和 Web 应用程序。站点数据存储在 MySQL 数据库中,动态内容由 PHP 处理。
我们将在树莓派上安装 LAMP,首先安装 Raspbian 操作系统,请参考 安装 Raspberry Pi 操作系统
准备
在开始安装之前,将 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 数据库中。
sudo apt-get install mysql-server mysql-client
or
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;
参考资料
How To Install and Secure phpMyAdmin on Ubuntu 16.04
How To Install Linux, Apache, MySQL, PHP (LAMP) stack on Ubuntu 16.04