Wordpress
WordPress 是一个免费开源的内容管理系统(CMS),由 Matt Mullenweg 创建,并于 2003 年首次发布。WordPress 拥有庞大而活跃的社区,提供数以万计的免费插件和主题,使用户可以轻松自定义其 WordPress CMS 的外观和功能。WordPress 在 GPLv2 许可下发布。
WordPress 最大的特点是易于配置和管理。 搭建一个 WordPress 站点只需五分钟。WordPress 管理面板允许用户轻松配置网站的几乎每个方面,包括获取和安装插件和主题。WordPress 提供轻松的自动更新。
安装
WordPress 需要安装和配置 Apache HTTP 服务器、 PHP 和 MariaDB。有关信息,请参阅各自的页面。在 PHP 配置期间,请注意某些 WordPress 功能需要 PHP 扩展,这些扩展可能默认未启用。
配置
此处使用的配置方法假定您在本地网络上使用 WordPress。
主机配置
确保您的 /etc/hosts
文件设置正确。从本地网络访问您的 WordPress CMS 时,这将非常重要。您的 /etc/hosts
文件应如下所示:
#<ip-address> <hostname.domain.org> <hostname> 127.0.0.1 lithium.kaboodle.net localhost lithium ::1 lithium.kaboodle.net localhost lithium
配置 Apache
mod_rewrite
模块,方法是取消注释 /etc/httpd/conf/httpd.conf
中的 LoadModule rewrite_module modules/mod_rewrite.so
。您需要为 Apache 创建一个配置文件,以便找到您的 WordPress 安装。创建以下文件并使用您喜欢的文本编辑器进行编辑
# /etc/httpd/conf/extra/httpd-wordpress.conf
Alias /wordpress "/usr/share/webapps/wordpress" <Directory "/usr/share/webapps/wordpress"> AllowOverride All Options FollowSymlinks Require all granted </Directory>
将第一行中的 /wordpress
更改为您想要的任何内容。例如,/myblog
将要求您导航到 http://hostname/myblog
以查看您的 WordPress 网站。
如果您手动安装,还请更改 WordPress 安装文件夹的路径。不要忘记将父目录附加到 php_admin_value
变量,如下所示。
# /etc/httpd/conf/extra/httpd-wordpress.conf
Alias /myblog "/mnt/data/srv/wordpress" <Directory "/mnt/data/srv/wordpress"> AllowOverride All Options FollowSymlinks Require all granted </Directory>
接下来,编辑 Apache HTTP 服务器 配置文件并添加以下内容
# /etc/httpd/conf/httpd.conf
Include conf/extra/httpd-wordpress.conf
由于 WordPress 索引是用 PHP 编写的,因此在 <IfModule dir_module>
块中添加以下行
# /etc/httpd/conf/httpd.conf
<IfModule dir_module> DirectoryIndex index.php </IfModule>
现在重启 httpd.service
(Apache)。
配置 Nginx
来自 https://www.nginx.com/resources/wiki/start/topics/recipes/wordpress/ 的服务器块配置示例
# Upstream to abstract backend connection(s) for php upstream php { server unix:/tmp/php-cgi.socket; server 127.0.0.1:9000; } server { ## Your website name goes here. server_name domain.tld; ## Your only path reference. root /var/www/wordpress; ## This should be in your http block and if it is, it's not needed here. index index.php; location = /favicon.ico { log_not_found off; access_log off; } location = /robots.txt { allow all; log_not_found off; access_log off; } location / { # This is cool because no php is touched for static content. # include the "?$args" part so non-default permalinks doesn't break when using query string try_files $uri $uri/ /index.php?$args; } location ~ \.php$ { #NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini include fastcgi_params; fastcgi_intercept_errors on; fastcgi_pass php; #The following parameter can be also included in fastcgi_params file fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ { expires max; log_not_found off; } }
配置 MariaDB
可以使用多种工具配置 MariaDB,但最常见的是命令行或 phpMyAdmin。
使用 MariaDB 命令行工具
首先,以 root 身份登录。系统将要求您输入 MariaDB root 密码
$ mysql -u root -p
然后创建用户和数据库
wordpress
是您的数据库名称,wp-user
是您的用户名。您可以根据需要更改它们。同时将 choose_db_password
替换为您为此数据库设置的新密码。在下一节中,系统将要求您输入这些值以及 localhost
。MariaDB> CREATE DATABASE wordpress; MariaDB> GRANT ALL PRIVILEGES ON wordpress.* TO "wp-user"@"localhost" IDENTIFIED BY "choose_db_password"; MariaDB> FLUSH PRIVILEGES; MariaDB> EXIT
有关详细信息,请参阅 WordPress.org [1]。
使用 phpMyAdmin
有关安装和配置 phpMyAdmin 的信息,请参阅 phpMyAdmin。
在您的 Web 浏览器中,导航到您的 phpMyAdmin 主机并执行以下步骤
- 登录 phpMyAdmin。
- 单击“用户”,然后单击“添加用户”。
- 在弹出的窗口中,输入用户名和密码。
- 选择“创建同名数据库并授予所有权限”。
- 单击“添加用户”按钮以创建用户。
WordPress 安装
设置好 http 服务器、php 和 mariadb 后,就可以安装和配置 WordPress 本身了。
WordPress 安装程序将使用 Web 浏览器地址栏中的 URL 作为默认网站 URL。如果您已导航到 https://127.0.0.1/wordpress,您的网站将可以从本地网络访问,但其外观和功能将出现错乱。
- 导航到
http://hostname/wordpress
。 - 单击“创建配置文件”按钮。
- 单击“现在就开始!”按钮。
- 填写您在上节中创建的数据库信息
- 单击“提交”。
如果您安装了 wordpress,则此设置程序将没有正确的权限来创建 WordPress 使用的 wp-config.php
文件。您将必须使用 WordPress 提供的信息以 root 身份自行完成此步骤。
将出现一个页面,提示 WordPress 无法写入 wp-config.php
文件。复制编辑框中的文本,并在您的文本编辑器中以 root
身份打开 /usr/share/webapps/wordpress/wp-config.php
。将复制的文本粘贴到编辑器中并保存文件。
之后,您将必须使用 chown 将 /usr/share/webapps/wordpress/
及其内部所有文件的权限更改为用户 http
和组 http
,以便 Web 服务器可以访问它
# chown http:http -R /usr/share/webapps/wordpress/
最后,单击“运行安装”,WordPress 将使用您的信息填充数据库。完成后,您将看到“成功!”页面。单击登录按钮以完成安装。
现在是时候从您的所有设备访问您的网站,以确保您的 WordPress 安装设置正确。
使用
安装主题
查找新主题
WordPress 有数以万计的主题可用。在 Google 上搜索好的主题可能就像在垃圾遍地的河流中跋涉。查找主题的好去处包括
使用管理面板安装
在使用管理面板安装主题之前,您需要在您的 WordPress 主机上设置 FTP 服务器。为了保持高水平的保护,您可以专门为 WordPress 在您的系统上设置一个用户,将其主目录设置为 <WordPress 安装路径>/wp-content
,禁止匿名登录,并允许登录的用户数量不超过 WordPress 所需的数量(以及您的设置所需的其他用户)。
设置好 FTP 服务器后,登录您的 WordPress 安装,然后单击“外观->安装主题->上传”。从那里选择包含您主题的 zip 文件,然后单击“立即安装”。您将看到一个要求输入 FTP 信息的框,输入信息并单击“继续”。如果 WordPress 报告无法写入目录,您可能需要更新文件所有权和权限。如果您一直在密切关注,那么您现在应该已经安装了一个主题。如果您愿意,可以激活它。
手动安装
下载存档并解压到 wp-content/themes
文件夹
$ cd /path/to/wordpress/root/directory $ cd wp-content/themes
获取主题存档并解压
$ wget http://www.example.com/MyTheme.zip $ unzip MyTheme.zip
删除存档(可选)
$ rm MyTheme.zip
请务必遵循主题作者提供的任何其他说明。
从主题选择器中选择您的新主题(外观 > 主题)。
安装插件
安装插件的步骤与安装主题的步骤相同。只需单击左侧导航栏中的“插件”链接,然后按照步骤操作即可。
更新
有时当您登录WordPress时,会收到通知,告知您有可用更新。如果您已正确安装并配置了FTP客户端,并且拥有在WordPress安装路径中写入的正确文件系统权限,那么您应该能够通过单击按钮执行更新。只需按照步骤操作即可。
或者,您可以使用SSH和SSH SFTP Updater Support 插件来更新您的安装。
故障排除
外观错乱(没有样式)
当您在Web浏览器(桌面或移动设备)中查看您的WordPress网站时,如果该浏览器没有将其主机名正确映射到IP地址,则该网站将显示为没有样式。
发生这种情况是因为您在初始设置时使用了带有服务器主机名的URL,而不是IP地址,并且WordPress已将其用作默认网站URL。
要解决此问题,您需要编辑您的/etc/hosts文件或设置代理服务器。请参阅Squid。
另一种选择是更改WordPress数据库表中的一个值,特别是wp_options表。解决方法是将siteurl选项更改为直接指向域名,而不是“localhost”。
插件无法安装:无法创建目录
您的WordPress站点需要对其本地文件具有适当的权限。它没有创建文件/目录的权限。使用Arch的Apache使用用户`http`。
要授予适当的权限,请运行以下命令
# chown -R http:http your-wordpress-directory/wp-content
此外,如果您使用php-fpm(版本7.4及更高版本)的设置,则需要覆盖php-fpm systemd单元文件,因为php-fpm已加固,使/usr为只读。编辑 php-fpm.service
并在文件中添加以下行
override.conf
[Service] ReadWritePaths=/usr/share/webapps/wordpress
无法将插件保存到localhost
WordPress默认仅使用FTP服务器下载插件。为了也在本地下载它们,请附加以下配置
# wordpress_root_location/wp-config.php
define('FS_METHOD', 'direct');
裁剪您的图像时出错。
Wordpress需要`php-gd`来修改图像。安装 php-gd,然后通过取消注释/etc/php/php.ini
中的以下行来启用扩展。
extension=gd
调用未定义的函数 mysql_connect()
如果您在使用php>=7.0.0的mysql/mariadb,并在wordpress配置中启用了调试,通常会看到此错误。
可以通过取消注释/etc/php/php.ini
中的以下行来解决此问题
extension=mysqli
启动nginx后出现 502 Gateway Error
这可能是由于nginx配置文件中定义的php上游server 127.0.0.1:9000;
未安装和配置引起的。
# /etc/php/php-fpm.d/www.conf
listen = /run/php-fpm/php-fpm.sock
将其更改为
# /etc/php/php-fpm.d/www.conf
listen = '127.0.0.1:9000'
技巧和窍门
WP-CLI
WP-CLI 是 WordPress 的命令行界面。您无需使用Web浏览器即可更新插件、配置多站点安装等等。