我正在尝试在 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
- 注意 Apache 的 PHP 模块版本取决于您的PHP 版本。
- PHP配置的更多详细设置:在 Ubuntu 中升级到最新的 PHP 版本。
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
其中
DatabaseName
,DatabaseUser
和DatabaseUserPassword
由您决定。根据示例,用户只被允许从本地主机访问数据库,这就足够了(并且安全) 当 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
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://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>
- 复制以上内容并使用
nano
:Shift+Insert粘贴;Ctrl+O和Enter保存;Ctrl+X退出。
启用配置并重新启动 Apache2:
sudo a2ensite wordpress.conf
sudo systemctl restart apache2.service
3.B. 设置 Apache2:将 WordPress 附加到现有虚拟主机
如果有不是专用域名或子域名,并且 WP 网站可通过 URL 访问:
http://my-domain.com/my-blog
或http://localhost/my-blog
等。
按如下方式编辑现有的虚拟主机配置文件:
<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.com
或http://localhost/my-blog/
您的 Web 浏览器。WordPress 安装程序将显示。必须在此处提供在步骤 1 中创建的有关 MySQL 数据库的数据。
就是这样。
设置另一个实例
要运行 WP 的另一个实例,只需再执行一次这些步骤并根据新实例使用唯一数据:
创建新数据库。您可以创建新的 MySQL 用户。
在 新 目录 中 下载 WP
/var/www
。如果您使用方法 3.A,请创建新的虚拟主机,或者,如果您使用方法 3.B,请设置新
Alias
路径和新<Directory>
定义。继续进行新 WP 的网页安装。
参考
如何在 Ubuntu 16.04 上使用 LAMP 安装 WordPress(DigitalOcean)
WordPress(Ubuntu 文档:社区帮助)
Ubuntu 16.04 + PHP7 + Apache2 + MySQL + WordPress 不到 10 分钟(Rene Fürst:YouTube)
进一步阅读
使用 Subversion 安装/更新 WordPress(codex.WordPress.org)
WordPress 的 Git 镜像(make.WordPress.org)
使用 Git 加速你的 WordPress 开发周期(ClintBerry.com)
使用 Git 和 Composer 管理你的 WordPress 网站(DeliciousBrains.com)