WordPress 安装失败

TeK*_*ola 9 mysql php apache2 wordpress

我正在尝试在 Lubuntu 上安装 Wordpress。我按照这里的说明进行操作。包括 PHP Apache 和 MySQL 设置。Apache 和 MySQL 似乎运行良好。

但是,当我转到 时http://localhost/blog/,出现以下错误:

/etc/wordpress/config-localhost.php 和 /etc/wordpress/config-localhost.php 都找不到。确保其中之一存在,可由网络服务器读取并包含正确的密码/用户名。

pa4*_*080 12

我已经逐步播放了该指南。而且我认为在您的情况下出现问题并且文件/etc/wordpress/config-localhost.php实际上丢失了。但这还不是最糟糕的事情。该手册缺少描述如何为 WordPress 创建 MySQL 数据库和用户的步骤——最终结果。在考虑的情况下如何做到这一点,在官方 Ubuntu 文档中的WordPress一文中进行了描述。另一种方法显示在下面的步骤 1 下。

但是,在我看来,上述手册中描述的方法使事情比实际情况更复杂。此外,这两本手册都没有提供足够的解释来了解正在发生的事情。这是一份给你的指南:

如何使用 LAMP 在 Ubuntu 16.04 上安装最新的 WordPress


先决条件

标准的 Ubuntu LAMP 堆栈,这意味着我们可以使用 Apache2、MySQL、PHP。参考:

除了这些额外的 PHP 扩展外,mod_rewrite还必须为 Apache2 启用:

sudo apt update
sudo apt install libapache2-mod-php
sudo apt install php-curl php-gd php-mbstring php-xml php-xmlrpc #php-mcrypt
sudo a2enmod rewrite php7.x
Run Code Online (Sandbox Code Playgroud)

1. 创建 MySQL 数据库

步骤是:

  • 从终端登录到 MySQL 服务器。
  • 创建数据库。
  • 创建用户。
  • 将数据库的所有权限授予用户。
  • 从 mysql 数据库中的授权表重新加载权限。
  • 退出 MySQL。

命令是:

# for MySQL 5 Ubuntu 16.04
$ mysql -u'root' -p  

mysql> CREATE DATABASE DataBaseName;
mysql> CREATE USER 'DataBaseUser'@'localhost' identified by 'DataBaseUserPassword';
mysql> GRANT ALL PRIVILEGES ON DataBaseName.* TO 'DataBaseUser'@'localhost';
mysql> FLUSH PRIVILEGES;
mysql> exit

# for MySQL 8 Ubuntu 20.04
$ sudo mysql  

mysql> CREATE DATABASE DataBaseName;
mysql> CREATE USER 'DataBaseUser'@'localhost' IDENTIFIED WITH mysql_native_password BY 'DataBaseUserPassword';
mysql> GRANT ALL PRIVILEGES ON DataBaseName.* TO 'DataBaseUser'@'localhost' WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;
mysql> exit
Run Code Online (Sandbox Code Playgroud)
  • 在哪里DatabaseNameDatabaseUserDatabaseUserPassword是您决定的主题。

    根据示例,用户将只能从本地主机访问数据库,当 Apache 和 MySQL 服务器分配给同一“物理”机器时,这已经足够(并且安全)。

  • 不要错过;每个句子末尾的分号 ( )。如果您使用的是 Ubuntu 18.04+,其中套接字身份验证是 MySQL 的默认身份验证方法,请使用sudo mysql以 root身份登录。


2.A. 下载最新的 WordPress 版本

步骤是:

  • 转到将存储 WordPress 的目录。

    此处使用的目录是/var/www- 这是当前 Ubuntu 版本中应存储 Web 内容的默认目录。

  • 下载最新版本。

  • 'UnZip' 和 'UnTar' 包,然后将其删除。

  • 重命名文件夹。这一步不是强制性的。

    我通常使用相同的名称为安装目录数据库的名称虚拟主机配置文件的名称。如果有专用域名,这些名称也是基于域名的。

  • 创建upload目录。

  • 创建空.htaccess文件。

    WordPress 会在里面写一些重写规则,这取决于你的喜好。为此,此文件必须由 可写(或拥有)www-data,也mod_rewrite必须启用,并且.htaccess文件的使用必须由虚拟主机配置 - 指令允许AllowOverride All

  • 更改 WordPress 目录所有权。

    WordPress 具有自动更新和自动安装插件的机制,我发现在这里使用权限和所有权是一项复杂的任务。在大多数手册中,WordPress 内容的所有者被建议为www-data.

命令是:

cd /var/www/

sudo wget https://wordpress.org/latest.tar.gz
sudo tar xvfz latest.tar.gz && sudo rm ./latest.tar.gz*
sudo mv wordpress wordpress-custom-folder
sudo mkdir -p /var/www/wordpress-custom-folder/wp-content/uploads
sudo touch /var/www/wordpress-custom-folder/.htaccess

sudo chown -R www-data:www-data /var/www/wordpress-custom-folder
Run Code Online (Sandbox Code Playgroud)

2.B. 从 Ubuntu 存储库安装 WordPress

安装WordPress的另一种方式是通过Ubuntu软件仓库,就像是描述在这里这里。但是(在Ubuntu 16.04 中)命令apt show wordpress显示 repo 的版本是 4.4.2,而当前版本是 4.8.1。因为WP有自动更新的机制,它会强制你把这个过时的版本更新到最新的。所以你最终会得到 4.8,但经过几步更新后可能会出现问题。

这种方法的主要优点是 WordPress 的安装过程将包含一些依赖项,正如本文开头提到的。


3.A. 设置 Apache2:创建虚拟主机,专用于特定的 WordPress

  • 如果有专用域名或子域名,并且 WordPress 站点可通过以下 URL 访问,请按照本节操作:http://my-domain.comhttp://someprefix.my-domain.com

  • 如果您不打算在不久的将来运行其他站点,只需编辑000-default.conf而不是创建新的虚拟主机。

  • 如果您没有注册域名,但想通过域名而不是 IP 地址(或 localhost)访问您的 WP 站点,则可以在/etc/hosts文件中的某处添加以下行(此答案中提供了更多详细信息) :

      127.0.0.1    my-domain.com someprefix.my-domain.com
    
    Run Code Online (Sandbox Code Playgroud)

创建并编辑新的虚拟主机配置文件:

sudo nano /etc/apache2/sites-available/wordpress.conf
Run Code Online (Sandbox Code Playgroud)
  • 配置文件的第一部分名称wordpress.——由您决定。

该文件的内容应如下所示:

cd /var/www/

sudo wget https://wordpress.org/latest.tar.gz
sudo tar xvfz latest.tar.gz && sudo rm ./latest.tar.gz*
sudo mv wordpress wordpress-custom-folder
sudo mkdir -p /var/www/wordpress-custom-folder/wp-content/uploads
sudo touch /var/www/wordpress-custom-folder/.htaccess

sudo chown -R www-data:www-data /var/www/wordpress-custom-folder
Run Code Online (Sandbox Code Playgroud)
  • 复制上面的内容并在nanoShift+中Insert用于粘贴;Ctrl+OEnter保存;Ctrl+X退出。

启用配置并重启Apache2:

sudo a2ensite wordpress.conf
sudo systemctl restart apache2.service
Run Code Online (Sandbox Code Playgroud)

3.B. 设置 Apache2:将 WordPress 附加到现有的虚拟主机

  • 如果没有专用域或子域名,并且可以通过 URL 访问 WP 站点,请遵循此部分:http://my-domain.com/my-bloghttp://localhost/my-blog等。

  • 在提到的两本手册()中,WP 附加到所有启用的虚拟主机。

以这种方式编辑现有的虚拟主机配置文件:

  127.0.0.1    my-domain.com someprefix.my-domain.com
Run Code Online (Sandbox Code Playgroud)
  • 关于指令Alias 的说明。让我们假设DocumentRoot/var/www/html。在这种情况下,该指令Alias /my-blog /var/www/wordpress-custom-folder将用作此符号链接:

       ln -s /var/www/wordpress-custom-folder /var/www/html/my-blog
    
    Run Code Online (Sandbox Code Playgroud)

启用配置(如果没有启用)并重启Apache2:

sudo a2ensite 000-default.conf         # or type the name of your configuration file
sudo systemctl restart apache2.service
Run Code Online (Sandbox Code Playgroud)

4. 进行WordPress的网络安装

转到 URLhttp://someprefix.my-domain.comhttp://localhost/my-blog/在您的网络浏览器中。WordPress 安装程序将出现。必须在此处提供有关在步骤 1 中创建的 MySQL 数据库的数据。

就是这样。


设置另一个实例

要运行另一个 WP 实例,只需再执行一次步骤并根据新实例使用唯一数据:

  • 创建新数据库。您可以创建和新 MySQL 用户。

  • 将 WP 下载到/var/www.

  • 如果您使用方法 3.A,则创建新的虚拟主机,或者,如果您使用 3.B,则设置新Alias路径和新<Directory>定义。

  • 继续进行新 WP 的 Web 安装。


参考


进一步阅读