WordPress安装失败

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

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

既没有/etc/wordpress/config-localhost.php也没有/etc/wordpress/config-localhost.php。 确保其中一个存在,Web服务器可读并包含正确的密码/用户名。

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

但是,在我看来,在已经提到的手册中描述的方法使事情变得更加复杂。 此外,这两本手册都没有提供足够的解释来理解发生了什么。 这是给你的指南:

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


前要求

标准的Ubuntu LAMP堆栈,意味着我们有Apache2,MySQL,PHP。 参考文献:

  • 设置LAMP堆栈最简单的方法是什么?

  • Ubuntu社区帮助Wiki:Apache MySQL PHP

  • Linode:如何在Ubuntu 16.04上安装LAMP堆栈。

除了下一个额外的PHP扩展,还必须启用Apache2的mod_rewrite

 sudo apt update sudo apt install php-curl php-gd php-mbstring php-mcrypt php-xml php-xmlrpc sudo a2enmod rewrite 

1.创建MySQL数据库

步骤是:

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

命令是:

 $ 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 
  • 其中DatabaseNameDatabaseUserDatabaseUserPassword是您决定的主题。

    根据该示例,将允许用户仅从本地主机访问数据库,当在同一“物理”机器上分配Apache和MySQL服务器时,这足够( 且安全 )。

  • 不要错过每个句子末尾的分号( ; )。


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

步骤是:

  • 转到将存储WordPress的目录。

    这里使用的目录是/var/www – 这是Web内容应该存储在当今Ubuntu版本中的默认目录。

  • 下载最新版本。

  • ‘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 

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://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 

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

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

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

  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 site-admin@email.com 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  Options None FollowSymLinks # Enable .htaccess Overrides: AllowOverride All DirectoryIndex index.php Order allow,deny Allow from all Require all granted   Options FollowSymLinks Order allow,deny Allow from all   
  • 复制以上内容并使用nanoShift + Insert进行粘贴; Ctrl + OEnter进行保存; 按Ctrl + X退出。

启用配置并重启Apache2:

 sudo a2ensite wordpress.conf sudo systemctl restart apache2.service 

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

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

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

以这种方式编辑现有的Virtual Host配置文件:

  ..... Alias /my-blog /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   Options FollowSymLinks Order allow,deny Allow from all   
  • 关于指令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 

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

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

4.继续进行WordPress的Web安装

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

而已。


设置另一个实例

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

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

  • /var/www中的新目录中下载WP。

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

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


参考

  • 如何在Ubuntu 16.04 (DigitalOcean) 上安装带LAMP的WordPress

  • 如何在Ubuntu 16.04 LAMP上安装Wordpress 4.5 (HowtoForge)

  • WordPress (Ubuntu文档:社区帮助)

  • Ubuntu 16.04 + PHP7 + Apache2 + MySQL + WordPress不到10分钟 ( ReneFürst :YouTube)


进一步阅读

  • WP-CLI:WordPress的命令行界面 WordPress.org上的WP-CLI

  • 使用Subversion安装/更新WordPress (codex.WordPress.org)

  • WordPress的Git镜像 (make.WordPress.org)

  • 使用Git加速您的WordPress开发周期 (ClintBerry.com)

  • 使用Git和Composer管理WordPress站点 (DeliciousBrains.com)