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
-
其中
DatabaseName
,DatabaseUser
和DatabaseUserPassword
是您决定的主题。根据该示例,将允许用户仅从本地主机访问数据库,当在同一“物理”机器上分配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.com
:http://my-domain.com
或http://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
- 复制以上内容并使用
nano
: Shift + Insert进行粘贴; Ctrl + O和Enter进行保存; 按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-blog
或http://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.com
或http://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)