突然,想搭建一個個人博客,所以就在網上搜了搜相關內容,好多人推薦wordpress,那么就打算光榮地采用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,並啟動 MySql
sudo yum install mysql-server sudo service mysqld start
通過上面的命令就可以安裝並啟動了 mysql,安裝 mysql 的時候會詢問你一些簡單的配置,輸入 enter 和 yes 一路下來就 OK 了。
三、安裝 PHP 以及相關 PHP 組件
先安裝 PHP
sudo 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 on sudo chkconfig mysqld on
可以用 service --status-all 來查看這兩個進程是否啟動。
五、測試 PHP 是否安裝成功
建立一個 info.php 文件:
sudo vim /var/www/html/info.php
然后輸入 i 進入編輯模式,在文件中寫入下面的 PHP 命令:
<?php phpinfo(); ?>
然后按 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 status
httpd dead but subsys locked
嘗試刪除鎖:
sudo rm -f /var/lock/subsys/httpd
沒有起作用,這時重新啟動httpd,報錯:
service httpd restart Stopping httpd: [FAILED] Starting httpd: (98)Address already in use: make_sock: could not bind to address 10.10.26.11:80 no listening sockets available, shutting down Unable 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 status
httpd (pid 14331) is running...