突然,想搭建一个个人博客,所以就在网上搜了搜相关内容,好多人推荐wordpress,那么就打算光荣地采用wordpress了。以下是安装过程中遇到的所有的坑,现在总结如下,希望给安装wordpress的人一点参考。
推荐阿里云的建站步骤详解:
1. 安装步骤详解
环境
- 服务器操作系统:CentOS 6.4
- 博客部署服务器:Apache httpd
- 后台语言:PHP
- 数据库:MySql
- 前端框架:WordPress
步骤
一、安装Apache
安装 Apache 很简单,只需要在终端输入以下命令就可以了:
sudo yum install httpd
sudo 的意思是用 root 用户做什么操作,yum install 是在线安装;然后输入 yes 就确认下载安装了。
安装完毕之后我们需要启动服务:sudo service httpd start
当启动服务器完成之后,先别着急往下弄,可以直接在浏览器中输入服务器的 ip 地址,应该就可以看到 Apache 的欢迎页面了。
This page is used to test the operation of the Apache HTTP server after it has been installed………等等如果你的 ip 地址已经和域名绑定了,那么在浏览器中输入你的域名也可以访问了,是不是很酷,就是这么简单,咱们继续。二、安装 MySql安装 MySql,并启动 MySqlsudo yum install mysql-serversudo service mysqld start
通过上面的命令就可以安装并启动了 mysql,安装 mysql 的时候会询问你一些简单的配置,输入 enter 和 yes 一路下来就 OK 了。
三、安装 PHP 以及相关 PHP 组件先安装 PHPsudo yum install php php-mysql
安装 PHP 相关组件
yum install php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc
我先安装了这几个组件,为以后使用,你要想了解所有的 PHP 组件的话,可以使用如下命令搜索:
yum search php-
四、开机默认启动 Apache 和 Mysql 服务使用如下命令即可选择开机启动 Apache 和 Mysql:
sudo chkconfig httpd onsudo chkconfig mysqld on
可以用 service --status-all 来查看这两个进程是否启动。
五、测试 PHP 是否安装成功建立一个 info.php 文件:
sudo vim /var/www/html/info.php
然后输入 i 进入编辑模式,在文件中写入下面的 PHP 命令:
然后按 esc 键进入命令模式, 按下 Shift 键和两次 z 键,就退出保存文件。
在浏览器中输入 IP地址/info.php,例如:119.29.165.134/info.php 回车,就可以看到 PHP 的信息了。六、下载 WordPress中文官方网站是cn.wordpress.org通过下面的命令下载:wget http://cn.wordpress.org/wordpress-3.9-zh_CN.zip
七、解压使用 unzip 来解压文件:
unzip wordpress-3.8-zh_CN.zip
八、在 Mysql 中新建数据库
mysql -u root -p
通过上面的命令进入数据库,然后输入密码:password
然后创建一个叫 wordpress 的数据库create database wordpress;
九、修改 wp-config.php 文件按照下面的形式修改 wp-config.php 文件,
/** MySQL数据库名:wordpress */define(‘DB_NAME', ‘wordpress'); /** MySQL数据库用户名 :root*/define(‘DB_USER', ‘root'); /** MySQL数据库密码 :password*/define(‘DB_PASSWORD', ‘123456');/** MySQL主机(不用修改) */define(‘DB_HOST', ‘localhost');
十、把文件复制到 /var/www/html 目录下
cp -rf wordpress/* /var/www/html/
十一、测试在浏览器中输入服务器的 ip (http://119.29.165.134/wordpress)即可查看到自己主页。
不出意外的话,应该显示如下所示:
2. 遇到的各种坑
1. 执行sudo service mysqld start时,报如下错误:
httpd: apr_sockaddr_info_get() failed for hadoop
httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName原因:这个问题应该是没有在 /etc/httpd/conf/httpd.conf 中设定 ServerName。所以apache会用主机上的名称来取代,首先会去找 /etc/hosts 中有没有主机的定义。
解决办法:
(1)可以设定httpd.conf文件中的 ServerName,如下:ServerName localhost:80
(2)在 /etc/hosts 中填入自己的主机名称 weekend110,如下:127.0.0.1 weekend110 (主机名称)
2. 安装完成后,发现PHP不能解析
应该返回php信息页面,但是只返回了源代码,排查信息如下:
1.apache没有添加对应的php类型,所以不支持php的脚本解析
解决办法:在配置文件中添加对应类型
找到apache配置文件:知道位置的自己去找,不知道位置的试试使用find命令
在根目录下执行:#find / -name "httpd.conf"
修改httpd.conf在文件中添加一行内容:AddType application/x-httpd-php .php
2.没有加上针对php的索引,如果没有该索引的支持,则无法解析用php编写的网页
解决办法:在配置文件中添加对应索引
找到配置文件方法同上,找到DirectoryIndex index.html
改为DirectoryIndex index.html index.htm index.php 即可
3.开启了防火墙
用命令:#getenforce
来查看防火墙的状态,若是Enforcing,说明是打开的,请在配置文件中关闭
在/etc/selinu目录下,修改config中的enforcing为disabled
4.未加载php5_module模块
解决办法:添加模块
在配置文件中添加:LoadModule php5_module modules/libphp5.so
最后重新启动机器。
3. httpd启动不正常
安装完成后,启动一切显示正常,但查看httpd状态时:
service httpd statushttpd dead but subsys locked
尝试删除锁:
sudo rm -f /var/lock/subsys/httpd
没有起作用,这时重新启动httpd,报错:
service httpd restartStopping httpd: [FAILED]Starting httpd: (98)Address already in use: make_sock: could not bind to address 10.10.26.11:80no listening sockets available, shutting downUnable to open logs[FAILED]
于是,网上各种Google找方法,都没解决。
然后检查httpd.conf发现 PidFile变量默认被设置为run/httpd.pid,把它变成指向/var/run:
PidFile /var/run/httpd.pid
同时在/etc/sysconfig/httpd修改:
PIDFILE=/var/run/httpd.pid
kill掉httpd 进程(或是通过端口查找再kill掉):
killall -9 httpd
删除锁:
sudo rm -f /var/lock/subsys/httpd
重新启动httpd:
sudo service httpd restart
这时问题解决:
service httpd statushttpd (pid 14331) is running...