树莓派/Debian 构建LAMP Web服务器并搭建WordPress博客(一)
一、前言
学习在您的Raspberry Pi上设置LAMP(Linux,Apache,MariaDB,PHP)堆栈,并将其配置为 Web 服务器。您将下载并安装 WordPress 并设置一个基本网站,您可以在与Pi相同的网络上的任何设备上访问该网站。
- 注意:本文发布于 Debian 10.3 发行版刚出不久,它的系统更新相对于其他 Linux 发行版更加激进,一些软件的配置非常迷,我也没搞动是怎么回事,所以请 **系统镜像为 Debian 10.3 ** 的伙伴们注意。
二、安装 LAMP
1. 安装 Apache2
-
下载 Apache2
sudo apt-get install apache2
-
测试Web服务器
默认情况下,Apache2 将测试HTML文件放在
/var/www/html
文件夹中。当您从网络上的另一台计算机浏览 Raspberry Pi IP 或在Raspberry Pi 本机访问http://localhost
时,将提供此默认网页。【图】
-
更改默认网页,详见后文。
2. 安装 PHP
-
下载 PHP
sudo apt-get install php
-
这里注意你下载的 PHP 版本。
3. 安装 MariaDB
-
下载 mariadb-server
sudo apt-get install mariadb-server
-
为什么这里不下更常用的 MySQL 呢?
- MySQL 的确是世界上最流行的开源关系数据库管理系统,但 MariaDB 是 Debian 10 中的默认数据库系统, Mysql 并不包含在 Debian 的默认软件存储库。MariaDB 是 Debian 中 MySQL 的默认替换方案。
- PHP 7 正式移除了 MySQL 扩展。这就是我们为什么要注意安装 PHP 版本的原因。所以相比于去折腾这些,对于普通的学习者而言,并没有什么太大的用处。
当然,你也可以通过其他方法下载 MySQL 。
-
登录 MariaDB root 账户需要输入 树莓派 root 账户 密码
sudo mysql -u root -p
输入 密码:
yogile@debyogile:~$ sudo mysql -u root -p Enter password:
-
设置 MariaDB 数据库 root 账户 密码,注意这个 root 账户与 树莓派 root 账户 完全不同。
set password for 'root'@'localhost' =password('数据库root用户密码');
-
再输入命令以更新权限:
FLUSH PRIVILEGES;
-
quit
退出 MariaDB 。
三、 安装 phpMyAdmin
(一) 树莓派
1. 下载
sudo apt install phpmyadmin
2. 执行途中询问事项
-
提示选择服务器 :选择 "apache2" 。
-
提示是否确定来配置 phpMyAdmin 管理的数据库。
这里我们前面已经配置过了,选择 "No" 。
-
如果之前没配置,点 "Yes" ,将会询问你:
-
设定 phpmyadmin 数据库密码:
-
重输 phpmyadmin 数据库密码:
-
-
3. 创建软链接
sudo ln -s /usr/share/phpmyadmin/ /var/www/html/
(二)Debian 10.3
1. 下载
-
由于以下原因:
没有可用的软件包 phpmyadmin,但是它被其它的软件包引用了。 这可能意味着这个缺失的软件包可能已被废弃, 或者只能在其他发布源中找到
我们在 Debian10.3 中无法直接通过命令行下载,可以通过软件包下载。
-
以下有两种方式下载软件包:
-
wget 命令
wget https://files.phpmyadmin.net/phpMyAdmin/5.0.1/phpMyAdmin-5.0.1-all-languages.zip
-
另一电脑在 phpMyAdmin 官网 下载,再通过 WinSCP 传输。
-
2. unzip 解压
sudo unzip phpMyAdmin-5.0.1-all-languages.zip
3. 移动, 并将Web服务器用户(www-data)作为此目录的所有者
sudo mv phpMyAdmin-5.0.1-all-languages/ phpMyAdmin
sudo mv phpMyAdmin/ /usr/share/
sudo chown -R www-data:www-data /usr/share/phpmyadmin/
4. 建立软连接
sudo ln -s /usr/share/phpmyadmin/ /var/www/html/
-
实现配置完成后,可以:
-
在本机通过
http://localhost/phpmyadmin
,访问 phpMyAdmin。 -
在同网段内其他机器上通过
http://<debian IP>/phpmyadmin
访问。
-
5. 加装依赖
运行以下命令以安装phpMyAdmin所需或推荐的PHP模块:
sudo apt install php-imagick php-phpseclib php-php-gettext php7.3-common php7.3-gd php7.3-imap php7.3-json php7.3-curl php7.3-zip php7.3-xml php7.3-mbstring php7.3-bz2 php7.3-intl php7.3-gmp
以便后面操作无误。
6. 重启 Apache
输入信息重启 Apache 服务。
sudo /etc/init.d/apache2 restart
7. phpMyAdmin创建Apache配置
sudo vim /etc/apache2/conf-available/phpmyadmin.conf
-
如果要从子目录访问phpMyAdmin Web界面,请在
/etc/apache2/conf-avaiable/phpmyadmin.conf
中输入如下信息:# phpMyAdmin default Apache configuration Alias /phpmyadmin /usr/share/phpmyadmin <Directory /usr/share/phpmyadmin> Options SymLinksIfOwnerMatch DirectoryIndex index.php <IfModule mod_php5.c> <IfModule mod_mime.c> AddType application/x-httpd-php .php </IfModule> <FilesMatch ".+\.php$"> SetHandler application/x-httpd-php </FilesMatch> php_value include_path . php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp php_admin_value open_basedir /usr/share/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/:/usr/share/php/php-gettext/:/usr/share/php/php-php-gettext/:/usr/share/javascript/:/usr/share/php/tcpdf/:/usr/share/doc/phpmyadmin/:/usr/share/php/phpseclib/ php_admin_value mbstring.func_overload 0 </IfModule> <IfModule mod_php.c> <IfModule mod_mime.c> AddType application/x-httpd-php .php </IfModule> <FilesMatch ".+\.php$"> SetHandler application/x-httpd-php </FilesMatch> php_value include_path . php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp php_admin_value open_basedir /usr/share/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/:/usr/share/php/php-gettext/:/usr/share/php/php-php-gettext/:/usr/share/javascript/:/usr/share/php/tcpdf/:/usr/share/doc/phpmyadmin/:/usr/share/php/phpseclib/ php_admin_value mbstring.func_overload 0 </IfModule> </Directory> # Authorize for setup <Directory /usr/share/phpmyadmin/setup> <IfModule mod_authz_core.c> <IfModule mod_authn_file.c> AuthType Basic AuthName "phpMyAdmin Setup" AuthUserFile /etc/phpmyadmin/htpasswd.setup </IfModule> Require valid-user </IfModule> </Directory> # Disallow web access to directories that don't need it <Directory /usr/share/phpmyadmin/templates> Require all denied </Directory> <Directory /usr/share/phpmyadmin/libraries> Require all denied </Directory> <Directory /usr/share/phpmyadmin/setup/lib> Require all denied </Directory>
-
:wq
保存退出。
8. 启用此配置文件
sudo a2enconf phpmyadmin.conf
-
这时,它提醒你:
Enabling conf phpmyadmin. To activate the new configuration, you need to run: systemctl reload apache2
9. 加载配置文件
sudo systemctl reload apache2
10. 重启Apache
sudo /etc/init.d/apache2 restart
11. 防止出错,更新数据库 root 密码
-
sudo mysql -u root -p
-
设置 MariaDB 数据库 root 账户 密码,注意这个 root 账户与 树莓派 root 账户 完全不同。
set password for 'root'@'localhost' =password('数据库root用户密码');
-
再输入命令以更新权限:
FLUSH PRIVILEGES;
-
quit
退出 MariaDB 。
四、网页测试
在浏览其中,访问 http://<Debian IP>/phpmyadmin
。
即可看到成功与否。