WordPress搭建Personal Blog【转】

时间:2022-02-09 23:03:01

早就想搭建一个专属于自己的博客了,用来记录自己生活、学习的点点滴滴。之所以选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

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

WordPress搭建Personal Blog【转】
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
WordPress搭建Personal Blog【转】

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相关的扩展名文件

添加如下代码

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

或者

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

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

1 <FilesMatch "\.phps$">
2 SetHandler application/x-httpd-php-source
3 </FilesMatch>
4
5 RewriteEngine On
6 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 这一段,即可

WordPress搭建Personal Blog【转】
 1 function mkdir($path, $chmod = false, $chown = false, $chgrp = false) {
2 // safe mode fails with a trailing slash under certain PHP versions.
3 $path = untrailingslashit($path);
4 if ( empty($path) )
5 return false;
6
7 if ( ! $chmod )
8 $chmod = FS_CHMOD_DIR;
9
10 if ( ! @mkdir($path) )
11 return false;
12 $this-&gt;chmod($path, $chmod);
13 if ( $chown )
14 $this-&gt;chown($path, $chown);
15 if ( $chgrp )
16 $this-&gt;chgrp($path, $chgrp);
17 return true;
18 }
WordPress搭建Personal Blog【转】

结果还是不行。

猜测是权限的问题,执行$ 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.

WordPress搭建Personal Blog【转】
//===================
; 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
//================
WordPress搭建Personal Blog【转】

重启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 &plus; WordPress搭建个人博客

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

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

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

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

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

随机推荐

  1. &lbrack;LeetCode&rsqb; Nth Digit 第N位

    Find the nth digit of the infinite integer sequence 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, ... Note: n i ...

  2. java连接mysql

    Java 连接 MySQL 需要驱动包,最新版下载地址为:http://dev.mysql.com/downloads/connector/j/,解压后得到jar库文件,然后在对应的项目中导入该库文件 ...

  3. debian支持ll命令

    debian支持ll命令 $ ll -bash: ll: command not found 没有ll这个命令.尽管也知道ll事实上 是ls -l 这个命令的别名,可是总感觉不是非常习惯.由于之前一直 ...

  4. 4&period; leetcode 461&period; Hamming Distance

    The Hamming distance between two integers is the number of positions at which the corresponding bits ...

  5. Maven pom&period;xml详解(转)

    pom文件总体结构 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www ...

  6. [Node&period;js与数据库]node-mysql 模块介绍

    [Node.js与数据库]node-mysql 模块介绍   转载至:https://itbilu.com/nodejs/npm/NyPG8LhlW.html#multiple-statement-q ...

  7. 织梦dedeCMS数据库结构字段说明-简略说明

    dede_addonarticle 附加文章表 aid int(11) 文章编号typeid int(11) 分类栏目编号body mediumtext 文章内容dede_addonflash 附加F ...

  8. &lbrack;LeetCode&rsqb; 反转整数

    题目: 给定一个 32 位有符号整数,将整数中的数字进行反转. 示例 1: 输入: 123 输出: 321 示例 2: 输入: -123 输出: -321 示例 3: 输入: 120 输出: 21 注 ...

  9. Scrum Meeting day 1

    第一次会议,在这一次的会议中,明确了任务目标,并将任务进行合理分配,并且规划了整个任务的初步计划. No_00:分工情况 姓名 分工   崔强      PM 杜正远 主力工程师 王嘉豪 主力工程师 ...

  10. Jq复选框选择(取复选框被选中的值)

      <input type="button" id="btn5" value="获得选中的所有值"> <input typ ...