WordPress 安装失败

WordPress 安装失败

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

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

找不到 /etc/wordpress/config-localhost.php 或 /etc/wordpress/config-localhost.php。请确保其中一个存在、可被 Web 服务器读取且包含正确的密码/用户名。

答案1

我玩过该指南一步一步。我认为你的情况出了问题,文件/etc/wordpress/config-localhost.php确实丢失了。但这还不是最糟糕的。手册中缺少一个描述如何为 WordPress 创建 MySQL 数据库和用户的步骤 -最终结果。文章中描述了在考虑场景下如何做到这一点来自 Ubuntu 官方文档的 WordPress。另一种方法如下面步骤 1 所示。

然而,在我看来,上述手册中描述的方法使事情变得比实际更复杂。此外,两本手册都没有提供足够的解释来理解正在发生的事情。以下是指南:

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

我会不时更新这个简短的手册,因此 - 下面列出的步骤是在 Ubuntu 16.04、20.04、22.04 中通过 MySQL 和/或 MariaDB 的本地安装进行测试的。


先决条件

标准的 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

1.创建 MySQL/MariaDB 数据库

步骤如下:

  • 从终端登录到 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/22.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

# for MariaDB 10 Ubuntu 22.04
$ sudo mysql 

MariaDB> CREATE DATABASE DataBaseName;
MariaDB> CREATE USER 'DataBaseUser'@'localhost' IDENTIFIED BY 'DataBaseUserPassword';
MariaDB> GRANT ALL PRIVILEGES ON DataBaseName.* TO 'DataBaseUser'@'localhost' WITH GRANT OPTION;
MariaDB> FLUSH PRIVILEGES;
MariaDB> exit

  • 其中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使用此文件。.htaccessAllowOverride 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

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

  • 如果有专门的域名或子域名并且可以通过以下 URL 访问 WordPress 网站:http://my-domain.comhttp://someprefix.my-domain.com

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

  • 如果你没有注册域名,但想通过域名而不是 IP 地址(或本地主机)访问你的 WP 网站,你可以在文件中的某个位置添加以下行/etc/hosts(更多详细信息请参阅这个答案):

      127.0.0.1    my-domain.com someprefix.my-domain.com
    

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

sudo nano /etc/apache2/sites-available/wordpress.conf
  • 配置文件名称的第一部分- wordpress.-由您决定。

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

<VirtualHost *:80>

    ServerName someprefix.my-domain.com
    ServerAlias my-domain.com 
    
    # If this is the default configuration file we can use: 'ServerName localhost' or also 'ServerAlias localhost'.

    ServerAdmin [email protected]

    ErrorLog ${APACHE_LOG_DIR}/someprefix.my-domain.com.error.log
    CustomLog ${APACHE_LOG_DIR}/someprefix.my-domain.com.access.log combined

    DocumentRoot /var/www/wordpress-custom-folder
    
    <Directory /var/www/wordpress-custom-folder>
        Options None FollowSymLinks
        # Enable .htaccess Overrides:
        AllowOverride All
        DirectoryIndex index.php
        Order allow,deny
        Allow from all
        Require all granted
    </Directory>

    <Directory /var/www/wordpress-custom-folder/wp-content>
        Options FollowSymLinks
        Order allow,deny
        Allow from all
    </Directory>

</VirtualHost>
  • 复制以上内容并使用nanoShift+Insert粘贴;Ctrl+OEnter保存;Ctrl+X退出。

启用配置并重新启动 Apache2:

sudo a2ensite wordpress.conf
sudo systemctl restart apache2.service

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

  • 如果有不是专用域名或子域名,并且 WP 网站可通过 URL 访问:http://my-domain.com/my-bloghttp://localhost/my-blog等。

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

按如下方式编辑现有的虚拟主机配置文件:

<VirtualHost ...>
.....

    Alias /my-blog /var/www/wordpress-custom-folder

    <Directory /var/www/wordpress-custom-folder>
        Options None FollowSymLinks
        # Enable .htaccess Overrides:
        AllowOverride All
        DirectoryIndex index.php
        Order allow,deny
        Allow from all
        Require all granted
    </Directory>

    <Directory /var/www/wordpress-custom-folder/wp-content>
        Options FollowSymLinks
        Order allow,deny
        Allow from all
    </Directory>

</VirtualHost>
  • 关于该指令的解释别名。我们假设是DocumentRoot/var/www/html在这种情况下,该指令Alias /my-blog /var/www/wordpress-custom-folder将充当此符号链接:

       ln -s /var/www/wordpress-custom-folder /var/www/html/my-blog
    

启用配置(如果未启用)并重新启动 Apache2:

sudo a2ensite 000-default.conf         # or type the name of your configuration file
sudo systemctl restart apache2.service

4. 继续进行 WordPress 网页安装

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

就是这样。


设置另一个实例

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

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

  • 在 新 目录 中 下载 WP /var/www

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

  • 继续进行新 WP 的网页安装。


参考


进一步阅读

相关内容