大纲:
一、概述
二、LAMP环境
三、安装WordPress
注,操作系统: CentOS 6.5 x86_64(64位)。
一、概述
WordPress 是一款非常流行的开源博客应用,用户可以在支持PHP和MySQL数据库的服务器上假设属于自己的站点,也可以把WordPress当做一个内容管理系统(CMS)来使用。它有大量的第三方插件和主题,是当前Internet上最流行的博客平台。
二、LAMP
LAMP(Linux, Apache, MySQL, PHP)是Linux系统下的开源web应用平台。WordPress必须依赖LAMP环境或LEMP。
1、基础设置
## 临时关闭 iptables [root@web ~]# service iptables stop ## 临时关闭 SELinux [root@web ~]# setenforce 0 ## 同步时间 [root@web ~]# ntpdate time.nist.gov
2、安装Apache
## 通过yum安装httpd [root@web ~]# yum -y install httpd ## 开机自启动 [root@web ~]# chkconfig httpd on ## 启动httpd 服务 [root@web ~]# service httpd start
3、安装MySQL
[root@web ~]# yum -y install mysql mysql-server mysql-devel ## 开机启动 [root@web ~]# chkconfig mysqld on ## 启动mysqld服务 [root@web ~]# service mysqld start ## 进行一些安全性配置,根据提示,一步一步设置就好,包括如下设置: 1、是否设定root密码 2、是否移除 anonymous(匿名)账号,为了安全请务必移除,否则不用账号密码就可以登录数据库。 3、是否允许root用户远程登录,根据需求设定 4、是否移除 test 库 5、是否重新载入权限表 [root@web ~]# /usr/bin/mysql_secure_installation
4、安装PHP
[root@web ~]# yum -y install php php-mysql gd php-gd gd-devel php-xml php-common php-mbstring php-ldap php-pear php-xmlrpc php-imap 必须重启httpd服务才会生效,这一步很重要 [root@web ~]# service httpd restart
5、测试LAMP是否正常工作
[root@web ~]# vi /var/www/html/index.php <?php phpinfo(); ?>
然后通过浏览器访问: http://hostname/ 即可。如果没有问题,应该能够看到如下界面:
三、安装WordPress
1、下载WordPress
请访问WordPress 官方网站,自行下载: http://wordpress.org
2、解压缩
[root@web ~]# tar xf wordpress-4.4.2-zh_CN.tar.gz -C /var/www/html/ [root@web ~]# chown -R root:root /var/www/html/wordpress [root@web ~]# chown -R apache:apache /var/www/html/wordpress/wp-content
3、为WordPress 创建数据库
## 连接到 Mysql 服务器 [root@web ~]# mysql -u root -p Enter password: ## 创建一个新的库 mysql> CREATE DATABASE wordpress; Query OK, 1 row affected (0.00 sec) ## 授权给wp_admin mysql> GRANT ALL ON wordpress.* to 'wp_admin'@'localhost' IDENTIFIED BY '123456'; Query OK, 0 rows affected (0.01 sec) ## 刷新权限 mysql> FLUSH PRIVILEGES; Query OK, 0 rows affected (0.01 sec)
4、为WordPress创建虚拟主机
[root@web ~]# vi /etc/httpd/conf.d/wp.conf <VirtualHost *:80> ServerAdmin tecmint@tecmint.com DocumentRoot /var/www/html/wordpress ServerName wordpress ErrorLog /var/log/httpd/wordpress-error-log CustomLog /var/log/httpd/wordpress-acces-log common </VirtualHost> ## 重启 httpd [root@web ~]# service httpd restart
5、配置WordPress
[root@web ~]# cd /var/www/html/wordpress/ [root@web wordpress]# cp wp-config-sample.php wp-config.php [root@web wordpress]# vi wp-config.php // ** MySQL 设置 - 具体信息来自您正在使用的主机 ** // /** WordPress数据库的名称 */ define('DB_NAME', 'database_name_here'); /** MySQL数据库用户名 */ define('DB_USER', 'username_here'); /** MySQL数据库密码 */ define('DB_PASSWORD', 'password_here'); /** MySQL主机 */ define('DB_HOST', 'localhost');
6、通过浏览器访问 http://your-ip
根据系统提示,填写对应的信息即可完成。
四、常见问题
Question: 解决WordPress 安装插件或主题需要输入FTP密码问题?如何解决WordPress安装插件或主题需要输入FTP账号密码呢?
编辑 wp-config.php 文件,在文件的最后插入:
define("FS_METHOD", "direct"); define("FS_CHMOD_DIR", 0777); define("FS_CHMOD_FILE", 0777); 保存退出,注意 wp-content 目录的权限。 # chown apache:apache /var/www/html/wordpress/wp-content/plugins
保存即可。
Question: 注销之后,如何登陆到后台?
在域名之后,加上 wp-login.php。 比如: http://wp.test.com/wp-login.php
Question: WordPress 数据备份与恢复
WordPress 主要包含两部分,网站本身的源文件以及数据库文件。
备份WordPress源文件:
手工备份,恢复的时候全部覆盖即可。或者使用 wp备份数据库插件(Backuper: WordPress Backup Plugin)定期备份
备份数据库文件:
直接备份数据库。可用wp备份数据库插件(Wordpress Database Backup,可以设置定时备份)
备份配置文件:
通过WordPress后台, 工具 - 导出功能, 导出所有内容。会导出一个XML文件,包含所有文章、页面、评论、自定义字段、条目信息(分类和标签等)、顶部菜单以及自定义文章等。
#!/bin/bash #name:wp_backup.sh #This shell script for auto DB backup(wp) and delete old backup source /etc/profile BACKUPDIR="/backup/wp" TIME=$(/bin/date +%Y%m%d) MYSQLDUMP="/usr/bin/mysqldump" GZIP="/bin/gzip" FIND="/bin/find" TAR="/bin/tar" DB_USER="wp" DB_PASSWD="123456" DB_HOST="localhost" DB_NAME="wpdb" OPTION="--default-character-set=utf8 --extended-insert=false --triggers " WPDIR="/var/www/html/wordpress" $MYSQLDUMP -h$DB_HOST -u$DB_USER -p$DB_PASSWD $OPTION $DB_NAME | $GZIP > "${BACKUPDIR}/wp_${TIME}.sql.gz" $TAR zcvpf "${BACKUPDIR}/wordpress_${TIME}.tar.gz" $WPDIR $FIND $BACKUPDIR -name "*.gz" -type f -mtime +60 -exec rm -rf {} \;
添加计划任务, 自动备份:
30 4 * * * /bin/bash /data/wp_backup.sh &> /dev/null
恢复步骤:
1、安装和原来相同的WordPress版本(防止不同版本之间导入数据不兼容的问题),然后把之前备份的WordPress源文件恢复覆盖即可。
2、新创建数据库,把 wp-config.php 的数据库配置根据实际情况配置。
3、恢复数据库数据。
4、还是通过以前的用户名和密码登陆WORDPRESS后台,通过WordPress后台中‘工具’–导入功能 导入XML表,您站点的所有文章、页面、评论、自定义字段、条目信息(分类和标签等)、顶部菜单以及自定义文章都出现。
Question: 安装插件提示 无法复制文件。 /var/www/html/wordpress/wp-content/languages/themes/twentysixteen-zh_CN.po。 翻译升级失败。
该问题一般都是目录权限导致。保持 wp-content 目录 755 权限。
# chown -R apache:apache /var/www/html/wordpress/wp-content/languages # pwd /var/www/html/wordpress/wp-content # ls -l total 24 -rw-r--r-- 1 root root 28 Jan 9 2012 index.php drwxr-xr-x 4 apache apache 4096 Feb 3 08:13 languages drwxr-xr-x 4 apache apache 4096 Apr 1 06:41 plugins drwxr-xr-x 6 apache apache 4096 Mar 29 17:42 themes drwxr-xr-x 2 apache apache 4096 Apr 1 06:41 upgrade drwxr-xr-x 3 apache apache 4096 Mar 29 18:40 uploads
Question: WordPress 代码高亮插件
SyntaxHighlighter Evolved
安装:
在wordpress仪表盘找到插件,搜索关键字“SyntaxHighlighter Evolved”,排在第一个的进行安装。
设置:
安装完插件后,可以对插件的相关选项进行设置,该插件可以实现SyntaxHighlighter的2.x和3.x版本之间进行切换,建议选择2.x版本,因为经试用,发觉只有2.x版本的才支持放鼠标到代码区显示复制、查看、打印代码的按钮。
使用:
在需要插入代码的文章里用与代码相符的标签把代码包起来,例如需要插入css代码,则只需要用[/css]及其闭包把代码包围起来就行,在插件设置页面后面有一些简单的示例可以参考。
Question: WordPress 图片灯箱fancyzoom插件
fancyzoom :参考 http://www.mrju.cn/349.html
http://www.love619.com/6953.html
Fancy zoom是一款优秀的jquery图片灯箱插件,所谓的图片灯箱,就是点击图片,在不跳出新的页面下,生成一个相对较大较清晰的图片。
WordPress下也有对应的插件wp-fancyzoom。安装的时候再后台搜索时,没有搜索到该插件,本文提供该插件的下载。
这个WP FancyZoom插件,直接下载安装就可以了。不需要多余的设置,后台设置可以看一下,如果你的图片保存位置与WP默认的保存位置不一样,改一下就行了。
插入多媒体文件的时候,选择链接到媒体文件:
Question: WordPress WP Attachments插件
WP Attachments
如何在文章底部显示所有上传的附件? 推荐大家试试 WP Attachments插件,只要是在该文章上传的附件(默认情况下是忽略图片类型的文件),都将在文章底部显示出来,包括文件名、下载链接、大小和日期,还可以针对常见文件类型添加小图标,效果很不错。
在后台插件安装界面搜索: WP Attachments 即可在线安装,或者下载 WP Attachments 包进行安装。
修改默认设置
WordPress 权限:
http://codex.wordpress.org/zh-cn:%E6%9B%B4%E6%94%B9%E6%96%87%E4%BB%B6%E6%9D%83%E9%99%90
http://vv15.pbhz.com/2011/08/wordpress-chmod/
WordPress 教程:
http://bo.moioi.com/category/wordpress-tutorials/
http://www.zhihu.com/question/19760722
http://www.zhihu.com/topic/19560416/top-answers