• 树莓派/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博客(二)

  • 相关阅读:
    跳跃表原理
    ThreadLocal
    Innodb中的事务隔离级别和锁的关系
    线程池拒绝策略
    vue 的 nextTick 原理
    Git 的基本操作
    JavaScript 的运行机制
    实现一个react系列三:生命周期
    实现一个react系列二:渲染组件
    实现一个react系列一:JSX和虚拟DOM
  • 原文地址:https://www.cnblogs.com/Yogile/p/12484023.html
Copyright © 2020-2023  润新知