早就想搭建一个专属于自己的博客了,用来记录自己生活、学习的点点滴滴。之所以选WordPress,主要是因为它可以支持Latex,而且特别喜欢其简约的风格。

WordPress有个the famous 5 minutes installing,无奈我对LAMP(Linux,Apache,MySQL,PHP)几乎一无所知,用了将近两天才把整个博客搭建起来。安装 WordPres很容易,但是把相关的配置好就比较麻烦了。下面是我整个搭建过程的总结。

操作系统:Ubuntu 12.04LTS

首先列出需要的文件:

1.wordpress http://wordpress.org/download/

2.mysql http://www.mysql.com/downloads/mysql/

3.httpd2.4.6 http://httpd.apache.org/download.cgi

4.apr1.4.8 http://apr.apache.org/download.cgi

5.apr-util1.5.2 http://apr.apache.org/download.cgi

6.php5.5.1 http://php.net/downloads.php

7.libxml2.9.1 http://www.xmlsoft.org/downloads.html

8.prce8.33http://www.pcre.org

ubuntu安装ftp服务器(一般配置)

1.安装vsftpd

~$ sudo apt-get install vsftpd

2.配置vsftpd

2.1修改/etc目录下的vsftpd的配置文件

$sudo gedit /etc/vsftpd.conf

源文件中不少命令被注释,根据每条命令的具体说明启用一部分即可,如下所示:

listen=YES # 服务器监听
local_enable=YES # 本地主机访问允许
write_enable=YES # 写允许
dirmessage_enable=YES # 进入文件夹允许
xferlog_enable=YES #激活ftp 上传和下载的日志
connect_from_port_20=YES #允许使用20号端口作为数据传送的端口
chroot_local_user=YES
chroot_list_enable=YES # (default follows)
chroot_list_file=/etc/vsftpd.chroot_list
secure_chroot_dir=/var/run/vsftpd/empty pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/private/vsftpd.pem

2.2设置ftp相关目录

安装完毕后,/srv下会增加一个ftp目录。我们在/srv/ftp目录下创建两个分别名为upload和download的目录,分别用于上传和下载。

~$ mkdir /srv/ftp/download

~$ mkdir /srv/ftp/upload

接下来我们为刚才创建的几个目录设置权限,执行如下命令: ~$ sudo chmod 755 /home/ftp ~$ sudo chmod 777 /home/ftp/upload ~$ sudo chmod 755 /home/ftp/download

3.vsftpd 设置用户目录

3.1增加组~$ sudo groupadd ftpgroup

增加用户ftpuser并设置其目录为/home/nation/ftp/upload ~$ sudo useradd -g ftpgroup -d /home/nation/ftp/upload -M ftpuser

(注:g:用户所在的组 d:表示指定创建用户的目录的位置,M:不建立默认的自家目录,也就是说在/home下没有自己的目录)

3.2设置用户口令~$ passwd ftpuser,然后连续两次输入口令。

3.3编辑chroot_list文件

~$ sudo gedit /etc/vsftpd.chroot_list 内容为ftp用户名,每个用户占一行,如:

ftpuser

4.启动vsftpd

~$ sudo service vsftpd start

查看当前所有进程: ~$ ps -e 至此服务器端vsftp的基本配置已完成,vsftpd已开启。(注意防火墙配置) 关闭vsftpd进程只需要执行~$ sudo service vsftpd stop,重启vsftpd进程执行~$sudo service vsftpd restart

参考:http://blog.csdn.net/nation_chen/article/details/7066277

安装MySQL

1.安装MySQL

$ sudo apt-get install mysql-server

2.配置MySQL

注意,在Ubuntu下MySQL缺省是只允许本地访问的,如果你要其他机器也能够访问的话,那么需要改变/etc/mysql/my.cnf配置文件了!下面我们一步步地来:

默认的MySQL安装之后根用户是没有密码的,所以首先用根用户进入:

$mysql -u root

进入mysql之后,最要紧的就是要设置Mysql中的root用户密码了。

mysql> GRANT ALL PRIVILEGES ON *.* TO root@localhost IDENTIFIED BY “123456″;

注意,我这儿用的是123456做为root用户的密码,请大家最好使用大小写字母与数字混合的密码,且不少于8位。这样的话,就设置好了MySQL中的root用户密码了.

3.root权限创建数据库

mysql>CREATE DATABASE xoops;

mysql>GRANT ALL PRIVILEGES ON xoops.* TO xoops_root@localhost IDENTIFIED BY “654321″;

这样就建立了一个xoops_roots的用户,它对数据库xoops有着全部权限。以后就用xoops_root来对xoops数据库进行管理,而无需要再用root用户了,而该用户的权限也只被限定在xoops数据库中。

如果你想进行远程访问或控制,那么你要做两件事:

其一:

mysql>GRANT ALL PRIVILEGES ON xoops.* TO xoops_root@”%” IDENTIFIED BY “654321″;

允许xoops_root用户可以从任意机器上登入MySQL。

其二:

$sudo gedit /etc/mysql/my.cnf

>bind-address=127.0.0.1 => bind-address= 你机器的IP

这样就可以允许其他机器访问MySQL了。

参考:http://wiki.ubuntu.org.cn/MySQL%E5%AE%89%E8%A3%85%E6%8C%87%E5%8D%97

安装PRCE(Perl Compatible Regular Expressions)

在http:www.pcre.org下载pcre8.33.tar.bz2解压,进入目录依次执行./configure;make;sudo make install完成安装,再执行ldconfig。libpcre在后面编译Apache2时会用到。

安装httpd2.4.6

编译httpd时必须保证已经安装了APR、APR-Util,如果没有就下载后分别解压到httpd2.4.6的srclib/apr和/srclib/apr-util下(如过解压后的目录带有版本号,记得将目录重命名)。在执行./configure命令时在后面添加 –with-included-apr选项。

1.解压缩后进入目录

$ bzip2 -d httpd-2.4.3.tar.gz $ tar -xvf httpd-2.4.3.tar $ cd httpd-2.4.3

2.进行配置

$ ./configure --with-included-apr --enable-module=so –prefix=/usr/local/apache2

(如果不指定prefix,会默认安装到/usr/local/apache2;–enable-module=so不能少了,这在后面安装PHP时是必须要的)

3.编译并执行安装

$ make

$ make install

4.测试(开启或终止)

/usr/local/apache2/bin/apachectl -k start/stop

安装libxml2

在安装libxml2之前,需要先安装python-dev,在终端执行:sudo apt-get install python-dev

1.解压libxml2后进入目录

$ tar zxvf libxml2-git-snapshot.tar.gz

$ cd libxml2-2.9.1

2.进行配置

$ ./configure –prefix=/usr/local/libxml2

3.编译并安装

$ make

$ make install

如果安装成功以后,在/usr/local/libxml2 /目录下将生成bin、include、lib、man和share五个目录。在后面安装PHP5源代码包的配置时,可通过在configure命令的选 项中加上“–with-libxml-dir=/usr/local/libxml2″选项,指定安装libxml2库文件的位置。

安装PHP

在安装PHP之前,我们必须安装libpng-dev,否则在执行./configure时会出现找不到png.h的错误。只要安装了libpng-dev后就可以顺利configure过去,我看到后面也找不到jpeg相关的东西,就顺带把libjpeg-dev, libpng-dev, libtiff-dev, libjasper-dev, libavcodec-dev, libavformat-dev, libswscale-dev都一起安装算了,这些在使用OpenCV的时候会用到。在终端执行命令:sudo apt-get install libjpeg-dev libpng-dev libtiff-dev libjasper-dev libavcodec-dev libavformat-dev libswscale-dev

1.解压缩后进入目录

$ bzip2 -d php-5.5.1.tar.bz2

$ tar -xvf php-5.5.1.tar

$ cd php-5.5.1

2.进行配置

$ ./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql --with-libxml-dir=/usr/local/libxml2 --with-gd --with-zlib --enable-mbstring  --enable-zip –with-libxml-dir=/usr/local/libxml2

(注意:不要少了—with-zlib,不然后面在WordPress中安装插件或升级时会出现”Missing zlib extensions”的问题)。

3.编译并安装

$ make

$ make install

4.设置PHP的配置文件php.ini

$ cp php.ini-development /usr/local/lib/php.ini

5.配置Apachehttpd.conf使其能加载PHP模块

$ sudo gedit /usr/local/apache2/conf/httpd.conf

修改httpd.conf的内容,确保下面两条没被注释掉:

LoadModule rewrite_module modules/mod_rewrite.so
LoadModule php5_module modules/libphp5.so

因为WordPress用到了Apache的mod_rewrite模块,故这里的第一条也不能被注释掉。

6.配置Apachehttpd.conf使其支持PHP相关的扩展名文件

添加如下代码

 <FilesMatch \.php$>
  SetHandler application/x-httpd-php
</FilesMatch> #仅支持.php

或者

 <FilesMatch "\.ph(p[2-6]?|tml)$">
SetHandler application/x-httpd-php
</FilesMatch> #支持.php,.php2,.php3,.php4,.php5,.php5和phtml

允许.php文件被php源码过滤器处理并以高亮模式显示源码,添加如下代码:

 <FilesMatch "\.phps$">
SetHandler application/x-httpd-php-source
</FilesMatch> RewriteEngine On
RewriteRule (.*\.php)s$ $1 [H=application/x-httpd-php-source]

7.重启Apache

/usr/local/apache2/bin/apachectl restart

在浏览器中输入本机IP地址,可以看到页面显示“It works!"。

安装WordPress

第一步:下载WordPress安装包并解压

从此处下载WordPress压缩包并解压缩 http://wordpress.org/download/

  • 如果你想将WordPress上传至一个远程服务器,先下载WordPress压缩包至你的电脑,接着解压缩
  • 如果你使用shell来访问你的服务器,而且你可以很轻松地使用console工具,你可以使用wget (或者 lynx再或者其他的console命令)来直接下载WordPress至你的web server,这样就可以避免使用FTPing(该方法适用于Linux系统):
  • $wget http://wordpress.org/latest.tar.gz
  • 接着使用一下命令解压缩: $tar -xzvf latest.tar.gz

这样WordPress压缩包将会解压缩至文件夹wordpress,这个文件夹与你下载的latest.tar.gz压缩包处于同一个目录下.

  • 如果你没有shell来访问你的服务器,或者你不方便使用 console工具,你可以使用ZipDeploy上传WordPress至你的web server

第二步:创建WordPress数据库和一个用户

你可以利用shell运行mysql语句,快速而方便地创建MySQL用户和数据库。下面给出创建语句,其中美元符号表示命令提示符:

$ mysql -u adminusername -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 5340 to server version: 3.23.54
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> CREATE DATABASE databasename;
Query OK, 1 row affected (0.00 sec)
mysql> GRANT ALL PRIVILEGES ON databasename.* TO "wordpressusername"@"hostname"
    -> IDENTIFIED BY "password";
Query OK, 0 rows affected (0.00 sec)
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.01 sec)
mysql> EXIT
Bye
$

从这个例子中可以看出:

  • 根用户名(root)也是管理员用户名 (adminusername)。用看似“普通“的名称作为mysql管理员名称更加安全,这样就不会把“mysql”命令作为系统根用户输入了。(尽量 避免以根用户的身份工作,降低被发现的可能性)。数据库管理员使用mysqladmin时的用户名可以作为mysql用户名。
  • wordpress或blog都是数据库名称的理想选择。
  • 可以用wordpress作为wordpress用户名,但需要注意,如果在这里使用wordpress,所有人都能猜出你的 wordpress用户名。
  • hostname通常是localhost。如果不知道将hostname设为什么并且自己不是WordPress虚拟主机的管理员,请查看系统管理员信息。系统管理员可以考虑使用非根用户账号来管理数据库。
  • 应选择保密性较高的密码,最好是大小写字母、数字及符号的组合。避免使用字典中的某个单词,可以选择自己能够记住的一个词组中每个单词的首字母作为密码。

如果想把这些用户名和密码记下来,避免在用户名和密码保护范围内做记录。需要记住的包括数据库名称、wordpress用户名、hostname以及密码。当然,这些信息已经在(或者会暂时在)wp-config.php文件中,也没有必要在别的地方重复记录了。

第三步:设置wp-config.php文件

用户可以亲自创建并编辑wp-config.php文件,也可以在运行安装脚本(第五步)时让WordPress帮助用户编辑wp-config.php(不过仍然需要告诉WordPress我们的数据库信息)。

(更多细节以及创建wp-config.php配置文件和密码密钥的信息请点击编辑wp-config.php文件。)

返回第一步中解压WordPress压缩包的位置,将wp-config-sample.php重命名为wp-config.php,之后在文本编辑器中打开该文件。

在标有

// ** MySQL settings - You can get this info from your web host ** //

输入你的数据库相关信息

DB_NAME

在第二步中为WordPress创建的数据库名称

DB_USER

在第二步中创建的WordPress用户名

DB_PASSWORD

第二步中为WordPress用户名设定的密码

DB_HOST

第二步中设定的hostname(通常是localhost,但总有例外;参见编辑wp-config.php文件中的“可能的DB_HOST值)。

DB_CHARSET

数据库字符串,通常不可更改(参见zh-cn:编辑wp-config.php)。

DB_COLLATE

留为空白的数据库排序(参见zh-cn:编辑wp-config.php)。

在标有

* Authentication Unique Keys.

的版块下输入密钥的值(在线密钥生产器https://api.wordpress.org/secret-key/1.1/salt/),保存wp-config.php文件。

第四步:上传文件

接下来需要决定将博客放在网站的什么位置上:

  • 网站根目录下(如:http://example.com/)
  • 网站子目录下(如:http://example.com/blog/)

Note: 我们的网页根目录在web服务器文件流中的位置会随虚拟主机商和操作系统而发生变化。具体情况请咨询虚拟主机商或系统管理员。

根目录

  • 如果需要将文件上传到web服务器,可用FTP客户端将wordpress目录下所有内容(无需上传目录本身)上传至网站根目录
  • 如果文件已经在web服务器中且希望通过shell访问来安装wordpress,可将wordpress目录下所有内容(无需转移目录本身)转移到网站根目录

子目录

  • 如果需要将文件上传到web服务器,需将wordpress目录重命名,之后用FTP客户端将重命名后的目录上传到网站根目录下某一位置
  • 如果文件已经在web服务器中且希望通过shell访问来安装wordpress,可将wordpress目录转移到网站根目录下某一位置,之后重命名 wordpress目录

第五步:运行安装脚本

在常用的web浏览器中运行安装脚本。

  • 将WordPress文件放在根目录下的用户请访问:http://example.com/wp-admin/install.php
  • 将WordPress文件放在子目录(假设子目录名为blog)下的用户请访问:http://example.com/blog/wp-admin/install.php

安装配置文件

WordPress无法查找到wp-config.php文件时会通知用户并试图自动创建并编辑wp-config.php文件。(用户可以在web浏览器中加载wp-admin/setup-config.php以新建wp-config.php文件。)WordPress询问用户数据库的具体情况并将之写入新的wp-config.php文件。如果新文件创建成功,用户可以继续安装;否则需返回第三步:设置wp-config.php文件

第六步:修改Apachehttpd.conf

$ sudo gedit /usr/local/apache2/conf/httpd.conf

将Apache绑定到制定的IP和/或端口上

Listen 192.168.0.155:80

指定服务器出现的问题应该被发送到的邮箱地址

ServerAdmin yunfeiwang@hust.edu.cn

指定服务器的域名和端口,如果没有注册域名,可以填IP地址

ServerName 192.168.0.155:80

指定wordpress所在的绝对路径

DocumentRoot "/srv/upload/wordpress"
<Directory "/srv/upload/wordpress">

指定Wordpress进行读写文件操作的user和group

group groupname
user username

切换语言/语言包(这步我没做,就用英文的算了)

若您是初次安装 WordPress,请点击这里

下面步骤指导您将现有的英文 WordPress 站点切换为中文。

  1. 通过 FTP、SSH 等方式打开并编辑站点根目录下的 wp-config.php文件。
  2. 查找 define('WPLANG', '');一行,在第二个参数处填入 zh_CN,变成 define('WPLANG', 'zh_CN');并保存文件。
  3. 进入站点控制板(dashboard),看到更新提示后进行升级即可。WordPress 会自动从官方网站下载中文语言包并安装。

若 您当前正在使用非官方的中文语言包,请您注意:非官方语言包通常会替换 WordPress 程序本身的升级部分,使 WordPress 通过第三方服务器升级,这可能有一定风险。若您不愿使用官方版本的语言包,请务必选择您信任的语言包。至于使用何种中文支持,完全由您自主选择。 WordPress 并不会禁止您使用非官方语言包。当然,我们会认真处理您的批评和建议,欢迎联系我们

如下是卸载非官方语言包、安装官方中文版本的通用步骤。请注意,如果您没有使用非官方版本的语言包,请不要进行下列操作。我们在这里假设您使用的非官方中文版本没有改动您的数据库:

  1. 备份数据库。
  2. 备份所有文件,并删除博客根目录下 wp-config.php之外的所有文件。请注意保留 wp-config.php。
  3. cn.wordpress.org下载最新官方中文版本。解压缩并上传至站点根目录。
  4. (选做)比对 wp-config-sample.php和留下的 wp-config.php:若 wp-config-sample.php有新增的内容,请复制并按照说明填写;若留下的 wp-config.php比 wp-config-sample.php中的设置项还要多,请删除那些多余的项目。

参考:http://codex.wordpress.org/zh-cn:%E5%AE%89%E8%A3%85_WordPress

其他问题

1.安装插件Latex Everyting时出现了“Could not create directory”的问题,"Could not create directory./youdir/wp-content/upgrade:

解决方法如下: 1. 找到这个文件: /wp_admin/includes/class-wp-filesystem-direct.php  2. 查找 “function mkdir” 3. 修改这个函数至如下的代码,至插件 Fix “Cound not create directory” problem 这一段,即可

 function mkdir($path, $chmod = false, $chown = false, $chgrp = false) {
// safe mode fails with a trailing slash under certain PHP versions.
$path = untrailingslashit($path);
if ( empty($path) )
return false; if ( ! $chmod )
$chmod = FS_CHMOD_DIR; if ( ! @mkdir($path) )
return false;
$this-&gt;chmod($path, $chmod);
if ( $chown )
$this-&gt;chown($path, $chown);
if ( $chgrp )
$this-&gt;chgrp($path, $chgrp);
return true;
}

结果还是不行。

猜测是权限的问题,执行$ chmod 777 wp-content,还是出现类似的错误,但是我们发现不能创建的目录变了,“Could not create directory./yourdir/wp-content/plugins/latex-everyting。

这时我们应该检查一下wp-content文件夹下的的权限问题,更改wp-content目录及其子目录的权限,执行$chmod -R 777 wp-content后问题解决。

2.激活Latex Everyting时出现问题

Fatal error:Call-time pass-by-reference has been removed in /yourdir/latex-single-posts.php on line 7

解决方法:这里出现问题的原因都是一样的,及参数的传递错误。我们可以根据提示的代码错误行数找到错误并修改。

激活插件

修改latex-single-posts.php第7行,

将latex_everything->add_controller(‘single_post’,&$latex_single_post_controller);

修改为latex_everything->add_controller(‘single_post’,$latex_single_post_controller);

继续激活,又出现了问题

Fatal error:Call-time pass-by-reference has been removed in /yourdir/latex-post-types.php on line 8

修改latex-post-types.php第8行,

将latex_everything->add_controller(‘post_type’,&$latex_post_type_controller);

修改为latex_everything->add_controller(‘post_type’,$latex_post_type_controller);

继续激活,还是出现了问题:

Fatal error:Call-time pass-by-reference has been removed in /yourdir/latex-terms.php on line 7

修改latex-terms.php第7行,

将latex_everything->add_controller(‘term’,&$latex_term_controller);

修改为latex_everything->add_controller(‘term’,$latex_term_controller);

3.WordPress提示:执行请求动作,连接信息必需提供

在 wordpress后台自动升级以及更新删除主题或者插件的时候,需要输入FTP账户信息。据说这个填写FTP信息界面,只会出现在PHP进程不是以用户 身份来运行的主机上,也就是网站服务器运行PHP的用户和 wordpress文件夹的所有者不一样,目的就是为了安全,wordpress在升级时会创建一个临时文件看看owner是不是和当前运行的php是否 一样,如果不一样,就会出现这个界面。

遇到这种情况的解决办法:

在wp-config.php中填写连接信息。

如果为了以后更新方便的话可以在 wp-config.php 中加入一下代码:

// ** FTP SETTINGS FOR AUTO-UPDATE ** // define(‘FTP_HOST’, ‘localhost’); define(‘FTP_USER’, ‘ftp帐号’); define(‘FTP_PASS’, ‘ftp密码’);

这样无论升级 wordpress 或者插件的时候就都不会有那个FTP提示了。

4.修改wordpress上传文件2M限制

编辑php.ini文件:

#vim /usr/local/lib/php.ini

大概在591行处有一个参数:upload_max_filesize = 10M,默认为2M,将其中的2M改为你想要限制的大小,如下所示。然后我顺手把每次可上传的最大文件数由20改为了30.

//===================
; Maximum allowed size for uploaded files.
; http://php.net/upload-max-filesize upload_max_filesize = 20M
; Maximum number of files that can be uploaded via a single request
max_file_uploads = 30
//================

重启apache服务器

#/usr/local/apache2/bin/apachectl restart

不知道为什么我修改了之后总是8M。继续找资料,后来发现原来这个大小是取post_max_size和upload_max_filesize中的最小值,继续修改如下:

//=====================================
; Maximum size of POST data that PHP will accept.
; http://php.net/post-max-size
post_max_size = 30M
//=======================================

重启apache服务器

#/usr/local/apache2/bin/apachectl restart

OK~

参考:http://naonao.blog.51cto.com/1135983/827973

http://ar.newsmth.net/thread-add920665842c4.html

5.当想使用个性化的Permalink时,出现.htaccess不能写的问题

在WordPress的根目录下新建一个名为.htaccess的文件,然后修改其权限

$touch .htaccess

$chmod 666 .htaccess

你可以用下面这些标签来定制“美观”或者“接近美观”的固定链接,这里有一些注意事项:

  • 确保用 %post_id% 或%postname% 结束结固定链接结构(如/%year%/%monthnum%/%day%/%postname%/)),这样每个固定链接都会指向一篇独立的日志。
  • 考虑到运行上的问题,最好不要以分类、标签、作者或是日志名字段作为固定链接结构的开始。这是因为这些都是文本字段,如果以文本字段作为固定链接结构的起始 部分,WordPress需要花更多时间来判断这是一个日志的URL还是页面的URL(页面URL总是使用“页面别名”作为URL),为了作为补 偿,WordPress在数据库中存储了大量额外信息(信息数量之庞大直接影响到了具有多个页面的网站的运行)。因此,最好以年份或日志ID等数值型字段 开始你的固定链接结构。参见WordPress测试者对这个问题的讨论。参考:http://www.cnblogs.com/lhb25/archive/2010/07/23/1783381.html

6.使用XML-Sitemap时出现文件不能写的问题

先打开博客页面的Settings下面XML-Sitemap选项,取消Basic Options下面的Sitemap files下的两个选项。

然后在博客的根目录下新建名为sitemap.xml和sitemap.xml.gz的文件

$touch sitemap.xml sitemap.xml.gz

修改这两个文件的权限

$chmod 755 sitemap.xml sitemap.xml.gz

参考:http://www.arnebrachhold.de/2006/04/07/google-sitemaps-faq-sitemap-issues-errors-and-problems/?utm_source=wp-wm&utm_medium=install&utm_content=help-files#P28_gen_files

7. 403 forbidden you don’t have permission to access / on this server

这类问题只可能出现在Apache Server上面。如果出现这种问题,请打开Apache的配置文件httpd.conf,查看DocumentRoot指定的整个网站的文件夹是否正确,如果正确的话就检测改文件夹对应的读写权限。一般就是这两个方面的问题引起的。可以参加博文http://www.lost-in-code.com/server-management/403-forbidden-you-dont-have-permission-to-access-on-this-server/。这篇文章里面的DirectoryIndex不是这次引发403 forbidden问题的原因,而是DocumentRoot指定文件夹权限的问题。httpd.conf文件的DirectorIndex只有一项index.html,而我们的WordPress都是PHP的网页,如果不加上一项index.php的话,我们的网站只会显示一个目录的Index。

8.网页的标题出现乱码

因为我启用了All In One Seo Pack插件,导致网页的标题出现乱码。点击网页地址栏下的SEO字样进行插件设置,取消Rewrite titles,即可解决问题。

最后,经过第一次安装WordPress的经历,再加上第二次重装系统后再利用之前WordPress的数据备份还原我的整个WordPress的痛苦经历。我总结出了一个小经验:一定要注意WordPress文件夹和文件的属性!文件夹都设置成755或者更高的权限,文件都可以设置成644。如果文件夹的属性不是755,那么会出现各种意想不到的问题!

WordPress搭建Personal Blog的更多相关文章

  1. WordPress搭建Personal Blog 个人博客

    早就想搭建一个专属于自己的博客了,用来记录自己生活.学习的点点滴滴.之所以选WordPress,主要是因为它可以支持Latex,而且特别喜欢其简约的风格. WordPress有个the famous ...

  2. WordPress搭建Personal Blog【转】

    早就想搭建一个专属于自己的博客了,用来记录自己生活.学习的点点滴滴.之所以选WordPress,主要是因为它可以支持Latex,而且特别喜欢其简约的风格. WordPress有个the famous ...

  3. wordpress搭建博客上传begin主题The themes is locked to another domain

    如题, 在使用wordpress搭建个人博客过程中, 上传begin主题, 出现如下弹框的错误, 而且样式有误. 环境: Los Angeles CentOS 7 x64 nginx+mysql 解决 ...

  4. wordpress 搭建

    wordpress 搭建: 公司要使用自建地图.选用了国外的Mapplic .但是Mapplic不支持直接编辑地图,需要用json的格式定义.但是wordpress版本的就有这个鬼东西,所以搞了一个这 ...

  5. 採用Hexo 搭建Team Blog

    採用Hexo 搭建Team Blog 首先你要会使用Git 已经GitHub,然后让我们了解下什么是静态Blog 静态博客是指 不须要数据库驱动,拥有丰富模板,通过模板标记语言生成简单html css ...

  6. 如何使用WordPress搭建个人博客

    目录 如何使用WordPress搭建个人博客 一.在安装Linux服务器管理工具WDCP面板 二.在WDCP面板创建一个站点 二.上传博客程序到服务器 @(如何使用WordPress搭建个人博客) 如 ...

  7. Docker + WordPress搭建个人博客

    WordPress是目前非常受欢迎的开源博客系统,今天使用Docker + WordPress搭建个人博客,整个过程非常丝滑. 搭博客先要准备域名和服务器,昨天在阿里云买了个.top的域名花了5块钱( ...

  8. WordPress搭建教程---购买域名+购买VPS主机+域名DNS解析+网站环境+上传网站程序

    WordPress搭建教程 购买域名---NameSilo 购买VPS主机---Vultr 域名DNS解析 网站环境 上传网站程序 参考文章: 1. WordPress搭建教程 https://zhu ...

  9. 关于JS对象原型prototype与继承,ES6的class和extends · kesheng's personal blog

    传统方式:通过function关键字来定义一个对象类型 1234567891011 function People(name) { this.name = name}People.prototype. ...

随机推荐

  1. linux shell if 参数

    shell 编程中使用到得if语句内判断参数 –b 当file存在并且是块文件时返回真 -c 当file存在并且是字符文件时返回真 -d 当pathname存在并且是一个目录时返回真 -e 当path ...

  2. 14、AppWidget及Launcher

    一.Launcher的简单研究 1 什么是Launcher Android系统启动后加载的第一个程序 . 这个程序是其他应用程序的入口 . Launcher构成: HomeScreen : (Work ...

  3. 【JMeter】Jmeter引入第三方jar包

    Jmeter做remoteService,里面用到一个实体:clickEntity,是在一个第三方jar包定义的:com.bj58.opt.ad_logparser-0.0.18-SNAPSHOT.j ...

  4. Failed to lunch test error when run with Appium (已解决)

    [2015-08-10 15:09:07 - androidtest1] Performing android.test.InstrumentationTestRunner JUnit launch[ ...

  5. 关于hibernate映射过程中的笔记

    MySQL遇到check the manual that corresponds to your MySQL server version for the right syntax错误 You hav ...

  6. HDU 1029 Ignatius and the Princess IV DP

    kuangbin 专题 这题,有很多种解法. 第一种: 直接比较每个数出现次数. #include<iostream> #include<string> #include< ...

  7. 2.1CUDA-Thread

    在HOST端我们会分配block的dimension, grid的dimension.但是对应到实际的硬件是如何执行这些硬件的呢? 如下图: lanuch kernel 执行一个grid. 一个Gri ...

  8. return遇到finally

    public class Test { public static void main(String[] args) { System.out.println("=============t ...

  9. Handlebar

    1.Handlebar中文网: http://www.ghostchina.com/introducing-the-handlebars-js-templating-engine/ 2.http:// ...

  10. 【WIN32进阶之路】:线程同步技术纲要

    前面博客讲了互斥量(MUTEX)和关键段(CRITICAL SECTION)的使用,想来总觉不妥,就如盲人摸象一般,窥其一脚而言象,难免以偏概全,追加一篇博客查遗补漏. win32下的线程同步技术分为 ...