树莓派/Debian 构建LAMP Web服务器并搭建WordPress博客

Posted Yogile

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了树莓派/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 是 DebianMySQL 的默认替换方案。
    • 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

即可看到成功与否。

五、搭建 WordPress 博客

请看下一篇 树莓派/Debian 构建LAMP Web服务器并搭建WordPress博客(二)

以上是关于树莓派/Debian 构建LAMP Web服务器并搭建WordPress博客的主要内容,如果未能解决你的问题,请参考以下文章

树莓派/Debian WordPress 更新并安装插件

树莓派/Debian 服务器IP变化后 WordPress 配置

转用树莓派搭建web服务器

debian 部署wordpress

debian 部署wordpress

树莓派/Debian 配置 OMV 搭建 NAS