如何在CentOS 7上的单个Wordpress安装中托管多个站点

本文描述如何安装和配置多个WordPress站点与最新的WordPress版本在CentOS 7在一个wordpress inst ...

本文档介绍如何在单个WordPress实例中使用CentOS 7上的最新WordPress版本安装和配置多个WordPress站点。 WordPress于2003年开始使用一点代码来增强日常写作的排版,用户数量少于您的手指和脚趾数量。 从那以后,它已经成长为世界上最大的自主博客工具,用于数百万个网站,每天都有数千万人看到。 本教程将以简单易懂的指南的形式说明在CentOS 7.0上安装WordPress 4.0的过程。

1初步说明

本教程基于CentOS 7.0服务器,因此您应该在继续本教程之前设置基本的CentOS 7.0服务器安装。 系统应该有一个静态IP地址。 我在本教程中使用192.168.0.100作为我的IP地址,将server1.example.com用作主机名。 您必须在本教程中提到的CentOS 7.0中安装LAMP服务器才能继续进行。

2数据库初始化

我将为WordPress 4.0创建数据库,如下所示:

mysql -u root -p

这里我们添加database = wordpressdb user = wordpressuserpassword = wordpresspassword

CREATE DATABASE wordpressdb;
CREATE USER wordpressuser@localhost IDENTIFIED BY 'wordpresspassword';
GRANT ALL PRIVILEGES ON wordpressdb.* TO wordpressuser@localhost;

进一步前进:

FLUSH PRIVILEGES;
exit

重新启动服务

service httpd restart
service mariadb restart

此外,您需要允许Firewall-cmd按如下所示的http和https:

firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --permanent --zone=public --add-service=https
firewall-cmd --reload

3安装WordPress 4.0

我们将首先制作一个目录临时文件 ,其中我将下载最新版本的WordPress,如下所示:

mkdir temp
cd temp
yum install wget unzip net-tools

wget http://wordpress.org/latest.zip

如果您希望使用图像进一步前进,请使用SSH凭据安装插件和站点更新,然后安装:

yum install php-gd
service httpd restart

解压缩文件夹中的Wordpress 4.0 zip文件:

unzip -q latest.zip -d /var/www/html/

现在在目录中给出适当的权限

chown -R apache:apache /var/www/html/wordpress
chmod -R 755 /var/www/html/wordpress

此外,我们需要在文档根目录下的wp-content目录下手动创建uploads目录。 这将是我们内容的父目录:

mkdir -p /var/www/html/wordpress/wp-content/uploads

我们需要允许Web服务器本身写入此目录。 我们可以通过将此目录的组所有权分配给我们的Web服务器来实现。 这将允许Web服务器在此目录下创建文件和目录,这将允许我们将内容上传到服务器。 继续如下:

chown -R :apache /var/www/html/wordpress/wp-content/uploads


现在我们需要示例配置文件,将其复制到默认的配置文件,让WordPress识别该文件。 示例配置文件可从/ var / www / html / wordpress获取

cd /var/www/html/wordpress/

cp wp-config-sample.php wp-config.php

nano wp-config.php

[...]

// ** MySQL settings - You can get this info from your web host ** // /** The name of the database for WordPress */ define('DB_NAME', 'wordpressdb'); /** MySQL database username */ define('DB_USER', 'wordpressuser'); /** MySQL database password */ define('DB_PASSWORD', 'wordpresspassword');

[...]

在数据库初始化时更改值。

3.1多站点配置

现在我们将继续进行多站点配置,为此我们需要将这些行添加到我们的wp-config.php文件,就在/ *这就是所有,停止编辑! 博客快乐 * /行

nano /var/www/html/wordpress/wp-config.php

[...]
/* Multisite */
define('WP_ALLOW_MULTISITE', true);
/* That's all, stop editing! Happy blogging. */

[...]

3.2 Apache Rewrite

我们将修改apache虚拟主机文件为WordPress获得它允许.htaccess覆盖。 为此,我们将编辑虚拟主机文件,并将条目添加为:

nano /etc/httpd/conf/httpd.conf

[...]
# Further relax access to the default document root: <Directory "/var/www/html"> # # Possible values for the Options directive are "None", "All", # or any combination of: # Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews # # Note that "MultiViews" must be named *explicitly* --- "Options All" # doesn't give it to you. # # The Options directive is both complicated and important. Please see # http://httpd.apache.org/docs/2.4/mod/core.html#options # for more information. # Options Indexes FollowSymLinks # # AllowOverride controls what directives may be placed in .htaccess files. # It can be "All", "None", or any combination of the keywords: # Options FileInfo AuthConfig Limit # AllowOverride All
[...]

将值从AllowOverride None更改为AllowOverride All ,接着重新启动服务:

service httpd restart

3.3创建一个.htaccess文件

现在我们将在文档root中创建.htaccess文件,它将允许Apache重写:

touch /var/www/html/wordpress/.htaccess

我们需要网络服务器作为组所有者,所以我们应该调整所有权如下:

chown apache /var/www/html/wordpress/.htaccess

如果您希望WordPress使用重写规则自动更新此文件,则可以使用以下命令确保其具有正确的权限:

chmod 664 /var/www/html/wordpress/.htaccess

如果要手动更新此文件以获取较小的安全性增益,则可以通过键入以下方式允许Web服务器只读取权限:

chmod 644 /var/www/html/wordpress/.htaccess

在我的情况下,我使用权限644。

3.4 Web安装

现在进入WordPress 4.0的Web安装。 转到URL http://192.168.0.100/wordpress/wp-admin/install.php

选择语言,然后按继续

下一个

现在给我在我的情况下给出的价值观

Site Title = Wordpress-testsite
Admin Email = admin@example.com
Username = admin
Admin password = howtoing
Confirm Admin Password = howtoing

上述值在您的情况下会有所不同,您可以给出您选择的任何值。 给出值后,按InstallWordpress


现在我们将通过按登录进入登录页面:

提供您在Web WordPress安装时所选择的凭据:



这将是您WordPress的默认欢迎窗口。 我们可以在浏览器中检查WordPress版本为:


3.5多站点配置

现在goto 工具 - >网络设置

给出条目如下

网络标题= Wordpress-testsite多站点
网络管理员email = admin@example.com

并按安装

它将产生以下窗口:

将以下内容添加到/ var / www / html / wordpress /中的wp-config.php文件/读取/ *这一切,停止编辑! 博客快乐 * /:

nano /var/www/html/wordpress/wp-config.php

在多站点安装后,根据您的输出提供条目。 在我的情况是:

[...]
/* Multisite */ define('WP_ALLOW_MULTISITE', true); define('MULTISITE', true); define('SUBDOMAIN_INSTALL', false); define('DOMAIN_CURRENT_SITE', '192.168.0.100'); define('PATH_CURRENT_SITE', '/wordpress/'); define('SITE_ID_CURRENT_SITE', 1); define('BLOG_ID_CURRENT_SITE', 1);
 /* That's all, stop editing! Happy blogging. */
[...]

注意:在我的情况下,我使用的是192.168.0.100,这在你的情况下会有所不同

将以下条目添加到/ var / www / html / wordpress /中的.htaccess文件中,替换其他WordPress规则:

nano /var/www/html/wordpress/.htaccess

RewriteEngine On
RewriteBase /wordpress/
RewriteRule ^index\.php$ - [L]

# add a trailing slash to /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
RewriteRule . index.php [L]

Apache重启后

systemctl restart httpd.service

现在重新登录到WordPress。 成功设置多站点网络后,您需要切换到网络仪表板来配置网络设置,添加新站点,并做许多其他事情。 将鼠标悬停在管理工具栏中的“我的网站”菜单中,将出现一个弹出式窗口。 点击网络管理 - >仪表板



它将引导您到WordPress多站点的仪表板。




现在,您可以通过单击站点 - >添加新建来创建新站点



只需根据您的要求添加值。




恭喜! 您现在拥有一个功能齐全的WordPress 4.0实例,您的CentOS 7.0上有多个站点网络:)