WordPress是一个流行的,开源的内容管理系统(CMS),用户可以使用它可以在自己的网站上创建,自定义以及管理内容。一个内容管理系统(CMS)提供基本的搭建网站的结构,这样对于没有使用过编程来搭建网站的人来说是很有用的。这个WordPress CMS有着很多自定义的工具,例如有着友好界面的后台管理页面,可以创建新的网页,媒体,或者更多。由于这些原因,WordPress是目前使用最多的CMS之一。
有很多不同的方法来访问WordPress,但是有些设置的过程要比其他的更复杂。这个教程的目的是通过使用命令行的方式在无人管理的与服务器上安装和管理WordPress的实列网站。这个方法虽然需要更多的步骤,但是它比那种一个脚本就能安装的方式有个优势,是它给管理者更多的控制权来操控WordPress的环境。
这个教程使用LAMP(Linux,Apache,MySql,PHP),这个是一种在Linux操作系统上支持WordPress的在服务器架构。Apache Web服务器,Mysql数据库,和PHP变成语言。将会在Ubuntu上通过LAMP安装WordPress。
根据你的需要,你也可以选择其他的选项。WordPress作为开源软件,可以自由的下载和安装。但是要建立网站,你需要购买云服务器和域名。
云服务器推荐使用性价比高的搬瓦工VPS
优惠码:BWHCGLUKKB(购买时输入有折扣)
开始之前
- 为了完成这个教程,你需要一个Ubuntu的服务器,可以通过上面连接购买搬瓦工服务器,之后一键安装Ubuntu。
- 你需要事先安装了LAMP。如果未安装请看下面这个链接
- 你的网站需要安装TLS/SSL认证,TLS/SSL 是一种可以将从你的网站的数据加密,这样你的网站和用户之间的连接就是安全的。
- 如果你有域名,你可以使用自己购买的SSL或者用Let’s Encrypt 免费生成的SSL。使用Let’s Encrypt获取并自动更新SSL证书
- 如果你没有域名,只是作为测试或个人使用,则可以使用自签名生成的SSL认证。
为WordPress创建Mysql数据库和用户
这一步是做准备,WordPress使用Mysql来管理和存储站点和用户信息。你已经安装了Mysql,但是需要创建数据库和用户给WordPress使用
首先以root用户登录Mysql,使用下面命令
sudo mysql
如果你安装教程安装的Mysql,可能你为root用户设置了密码登录的方式,那么使用下面的命令来登录
mysql -u root -p
之后为WordPress创建一个数据库,名字你可以随意起,这里以wordpress名字为例,创建数据库使用下面命令
CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
注意Mysql语句要以;结尾。如果你遇到问题,检查一下是否是这个地方的问题。
下面创建一个单独的Mysql用户,这个用户专门用来操作刚建立的那个新数据库。在这里以wordpressuser作为用户名,你可以根据喜好随意起。
执行下面的命令来创建用户,注意,尽量起一个复杂点的密码
CREATE USER 'wordpressuser'@'%' IDENTIFIED WITH mysql_native_password BY 'password';
下一步,让你的用户拥有全部访问那个新数据库的权限
GRANT ALL ON wordpress.* TO 'wordpressuser'@'%';
你需要Flush 权限,这样当前的Mysql才知道刚刚发送的变化。
FLUSH PRIVILEGES;
退出使用下面的命令
EXIT;
安装额外的PHP扩展软件
当安装LAMP时,只安装了最少的扩展来实现PHP和Mysql的正常通讯。然而,WordPress的运行需要额外的PHP扩展
在安装扩展之前,现更新一下包管理工具
sudo apt update
之后为WordPress安装多个PHP扩展
sudo apt install php-curl php-gd php-mbstring php-xml php-xmlrpc php-soap php-intl php-zip
你需要重启Apache来加载这些新的扩展。在下一步会做一些Apache的配置变更,你可以等到那一步之后,也可以现在重启Apache
sudo systemctl restart apache2
调整Apache的配置来允许.htaccess覆盖和重写
下面你将对Apache的配置做稍微的调整。根据之前的安装LAMP的教程,你应该已经为你的站点建立了一个配置文件在这个目录下 /etc/apache2/sites-available
在这个教程中,使用 /etc/apache2/sites-available/wordpress.conf 作为例子,你应该根据你的配置文件的路径来替换这里的路径。同时用 /var/www/wordpress作为WordPress的安装根目录。你应该使用你配置文件中指定的网站的根目录。如果你按照之前的教程,你应该把例子中的wordpress域名替换为你自己的域名。
启用.htaccess覆盖
当前.htaccess是禁用状态,WordPress和很多WordPress的插件需要使用这些文件来扩展一些网站的功能。
打开Apache配置文件,使用你喜欢的文本编辑器打开,这里用nano
sudo nano /etc/apache2/sites-available/wordpress.conf
为了启用.htaccess,你需要在指向你文档根目录的Directory 块中设置 AllowOveride 指令。把下面的内容加入到你配置文件的VirtualHost 块中,并确保使用正确的网站根目录。如下所示
<VirtualHost *:80>
. . .
<Directory /var/www/wordpress/>
AllowOverride All
</Directory>
. . .
</VirtualHost>
当你完成后保存并关闭文件,在nano中可以使用同时按CTRL和X键,之后输入Y并回车
启用重写功能
你可以启用重写功能 mod_rewrite,这样你可以使用WordPress固定链接特性。
sudo a2enmod rewrite
这样会允许你有类似下面的友好可读的固定链接
http://example.com/2012/post-name/
http://example.com/2012/12/30/post-name
a2enmod命令调用了一个脚本来启用Apache内的这个特有模块
是变更的配置生效
在使新配置生效前,通过下面的命令先检查一下是否有语法错误。
sudo apache2ctl configtest
只要显示Syntax OK就是正确。
重启Apache使配置生效,即使你之前重启过一次,现在也要重启。
下面将下载和按照WordPress
下载WordPress
现在你服务器上的软件已配置好了,你可以下载和配置WordPress。为了安全起见,推荐从WordPress网站获取最新的版本
首先进入一个可写的目录(推荐一个临时目录,例如/tmp)
cd /tmp
然后使用 curl命令下载这个压缩版
curl -O https://wordpress.org/latest.tar.gz
解压来创建WordPress的目录结构
tar xzvf latest.tar.gz
你可以随时把它移动到你的文档根目录中,在做这之前,你可以添加一个空的.htaccess,这样WordPress后面可以用到。
touch /tmp/wordpress/.htaccess
把WordPress样例配置文件拷贝为一个WordPress会读取的文件
cp /tmp/wordpress/wp-config-sample.php /tmp/wordpress/wp-config.php
另外,创建一个更新目录upgrade,这样WordPress在自动更新时不会遇到权限的问题
mkdir /tmp/wordpress/wp-content/upgrade
现在你可以把整个目录中的内容拷贝到你的文档根目录中,在源目录的后面用了.来代表把目录中的所有内容包括隐藏文件。记得用你的服务器上设置的目录来替换这里的目录
sudo cp -a /tmp/wordpress/. /var/www/wordpress
现在你可以配置你的WordPress目录了
配置WordPress目录
在开始这个基于网站的WordPress的配置之前,你需要调整WordPress目录中的一些内容。
调整拥有者和权限
另外重要的一步是为WordPress用到的这些文件和目录设置合理的拥有者和权限
首先将所有文件赋给www-data用户和组,这个用户是Apache运行时所用的,当处理网站和执行自动更新时,Apache能读和些WordPress的文件。
使用chown命令更改拥有者
sudo chown -R www-data:www-data /var/www/wordpress
下面运行两个查找find命令来给WordPress目录和文件设置正确权限
首先设置查找到的每个目录的权限为750
sudo find /var/www/wordpress/ -type d -exec chmod 750 {} \;
下面这个时设置目录中的每个文件的权限为640
sudo find /var/www/wordpress/ -type f -exec chmod 640 {} \;
这些权限应该可以让WordPress很好的运行,但是某些WordPress插件可能需要额外的一些小的调整
设置WordPress配置文件
现在你需要稍微调整一下WordPress的主配置文件
当你打开这个文件时,为了装置时提供一定级别的安全保障,首先要调整一些安全键值 security keys。你不需要自己生成这些security keys,WordPress提供生成器可以生成这些值。这些只是内部使用,所以复杂的值并不会影响使用。
使用下面命令从WordPress得安全键生成器获取值
curl -s https://api.wordpress.org/secret-key/1.1/salt/
你将会收到类似下面得唯一值,注意每次都会生成唯一值,不要复制下面得值。
define('AUTH_KEY', '1jl/vqfs<XhdXoAPz9 DO NOT COPY THESE VALUES c_j{iwqD^<+c9.k<J@4H');
define('SECURE_AUTH_KEY', 'E2N-h2]Dcvp+aS/p7X DO NOT COPY THESE VALUES {Ka(f;rv?Pxf})CgLi-3');
define('LOGGED_IN_KEY', 'W(50,{W^,OPB%PB<JF DO NOT COPY THESE VALUES 2;y&,2m%3]R6DUth[;88');
define('NONCE_KEY', 'll,4UC)7ua+8<!4VM+ DO NOT COPY THESE VALUES #`DXF+[$atzM7 o^-C7g');
define('AUTH_SALT', 'koMrurzOA+|L_lG}kf DO NOT COPY THESE VALUES 07VC*Lj*lD&?3w!BT#-');
define('SECURE_AUTH_SALT', 'p32*p,]z%LZ+pAu:VY DO NOT COPY THESE VALUES C-?y+K0DK_+F|0h{!_xY');
define('LOGGED_IN_SALT', 'i^/G2W7!-1H2OQ+t$3 DO NOT COPY THESE VALUES t6**bRVFSD[Hi])-qS`|');
define('NONCE_SALT', 'Q6]U:K?j4L%Z]}h^q7 DO NOT COPY THESE VALUES 1% ^qUswWgn+6&xqHN&%');
这些可以直接放到配置文件中设置安全值
下面打开WordPress配置文件
sudo nano /var/www/wordpress/wp-config.php
找到包含下面内容得那一部分
define('AUTH_KEY', 'put your unique phrase here');
define('SECURE_AUTH_KEY', 'put your unique phrase here');
define('LOGGED_IN_KEY', 'put your unique phrase here');
define('NONCE_KEY', 'put your unique phrase here');
define('AUTH_SALT', 'put your unique phrase here');
define('SECURE_AUTH_SALT', 'put your unique phrase here');
define('LOGGED_IN_SALT', 'put your unique phrase here');
define('NONCE_SALT', 'put your unique phrase here');
删除这些行,把你命令行上输出的复制粘贴到这里。
define('AUTH_KEY', 'VALUES COPIED FROM THE COMMAND LINE');
define('SECURE_AUTH_KEY', 'VALUES COPIED FROM THE COMMAND LINE');
define('LOGGED_IN_KEY', 'VALUES COPIED FROM THE COMMAND LINE');
define('NONCE_KEY', 'VALUES COPIED FROM THE COMMAND LINE');
define('AUTH_SALT', 'VALUES COPIED FROM THE COMMAND LINE');
define('SECURE_AUTH_SALT', 'VALUES COPIED FROM THE COMMAND LINE');
define('LOGGED_IN_SALT', 'VALUES COPIED FROM THE COMMAND LINE');
define('NONCE_SALT', 'VALUES COPIED FROM THE COMMAND LINE');
下面需要在文件的最开始部分修改数据库连接的设置,需要修改数据库名,数据库用户名以及相应的密码
另外一个调整是需要修改WordPress写文件系统的方式。由于你已经给了web服务器它需要的写权限,你可以明确的指定写文件系统的方式为直接方式 “direct”。在当前配置中如果没有设置这个,WordPress在某些操作时会提示输入FTP密钥方式。
这个配置要添加到文件中的数据库配置下面或者文件中的任意地方
// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define( 'DB_NAME', 'wordpress' );
/** MySQL database username */
define( 'DB_USER', 'wordpressuser' );
/** MySQL database password */
define( 'DB_PASSWORD', 'password' );
/** MySQL hostname */
define( 'DB_HOST', 'localhost' );
/** Database Charset to use in creating database tables. */
define( 'DB_CHARSET', 'utf8' );
/** The Database Collate type. Don't change this if in doubt. */
define( 'DB_COLLATE', '' );
. . .
define('FS_METHOD', 'direct');
保存并关闭文件
通过网页界面完成WordPress的安装
现在你的服务器配置已完成,你可以通过网页界面来完成安装。
打开浏览器,输入你的服务器域名或IP地址
https://server_domain_or_IP
你将会被提示选择需要的语言。
下一步你将会进入主页面。
为你的网站选择一个名字并输入,以及用户名和密码,为了安全,用户名推荐选择唯一的,尽量不要用admin这种常用的用户名。密码会自动生成一个很复制的,你可以保存这个密码或者选择另外一个密码。之后输入你的邮箱,并且选择是否不让搜索引擎搜索到。当你点击安装,你将会被跳转到登录页面让你登录
登录成功后将会进入WordPress后台页面。
到现在你可以开始设计你的WordPress网站了。如果这是你第一次使用WordPress,熟悉一下你的新CMS的界面。
你的WordPress已经安装完成并且可以使用了。
你可以先做下面的
- 为文章选择固定链接的格式,在设置 > 固定链接
- 选择一个新的主题,在外观 > 主题
- 安装一个新的插件来增加你的网站的功能,在 插件 > 安装新插件
- 如果你想和其他人合作,你也可以增加额外的用户 在 用户 > 添加用户
你也可以参照其他资源使用其他方法安装WordPress
发表回复