Centos 6中基於LAMP實現WordPress博客搭建

本來打算買臺服務器,搭建個人博客的,可這馬上就到雙十一了,也不知道阿里雲會不會有優惠,所以就簡單的模擬搭建一下練練手,等買到服務器再自己搭建一個*-*

一:實驗準備;                                                                      

1、這次試驗都用源碼編譯安裝,所以需要二進制安裝包,而且在Centos 6上安裝最新版的http2.4,所以,也需要將apr更新一下;故需要的安裝包幾版本有:apr-1.6.2.tar.gz      apr-util-1.6.0.tar.gz  ;httpd-2.4.28.tar.bz2 ;mariadb-5.5.57-linux-x86_64.tar.gz  ;php-5.6.31.tar.xz;wordpress-4.8.1-zh_CN.tar.gz;xcache-3.2.0.tar.gz(加速器)

2、另外需要開發包組“development tools”和六個devel包:openssl-devel ;expat-devel ;pcre-devel ;bzip2-devel ;libxml2-devel ;libmcrypt-devel;其中前三個是編譯安裝http-2.4.28時所依賴的基於base源的包,後三個是編譯安裝php-fpm時所依賴的基於epel源的包;不事先安裝的話,在編譯http和php時會報錯,也可以在報錯提示時在安裝,但是就是稍微有點麻煩,所以我這裏事先準備好

3、本次實驗在一臺機器上進行,也可以選擇多臺,因爲我們用的是php獨立服務方式的php-fpm,所以,他們都可以單獨分開放;

4、WordPress是一種使用PHP語言開發的博客平臺,用戶可以在支持PHPMySQL數據庫的服務器上架設屬於自己的網站。也可把WordPress當作一個內容管理系統(CMS)來使用 ;是一個完整的程序,我們直接拿來用就可以了;

二:實驗步驟;                                                                      

1、編譯安裝http2.4;

先將apr、apr-util和http分別解壓縮,然後按照規定,將apr和apr-util放到http的srclib下並改名爲apr和apr-util

[root@Centos6 ~]# tar xvf apr-1.6.2.tar.gz                
[root@Centos6 ~]# tar xvf apr-util-1.6.0.tar.gz 
[root@Centos6 ~]# tar xvf httpd-2.4.28.tar.bz2 
[root@Centos6 ~]# mv httpd-2.4.28/apr-1.6.2/ httpd-2.4.28/srclib/apr
[root@Centos6 ~]# mv apr-util-1.6.0 httpd-2.4.28/srclib/apr-util
[root@Centos6 ~]# ls httpd-2.4.28/srclib/
apr  apr-util  Makefile.in
[root@Centos6 ~]# 

[root@Centos6 ~]# cd httpd-2.4.28           #進到http目錄下,一起編譯(http、apr、apr-util)
[root@Centos6 ~/httpd-2.4.28]# ./configure --prefix=/app/httpd24 --enable-so --enable-ssl --enable-cgi --enable-rewrite --with-zlib --with-pcre --with-included-apr --enable-modules=most --enable-mpms-shared=all --with-mpm=prefork
[root@Centos6 ~/httpd-2.4.28]# make -j 4 && make install          #編譯安裝 ;-j 4:用兩顆CPU併發執行編譯
然後我們將httpd24加到服務裏;

[root@Centos6 ~/httpd-2.4.28]# cp /etc/init.d/httpd /etc/init.d/httpd24         #複製httpd放服務腳本成httpd24
[root@Centos6 ~/httpd-2.4.28]# vim /etc/init.d/httpd24                       #然後改以下四行,將httpd相關的改爲httpd24相關的
	apachectl=/app/httpd24/bin/apachectl 
	httpd=${HTTPD-/app/httpd24/bin/httpd}
	pidfile=${PIDFILE-/app/httpd24/logs/httpd.pid}
	lockfile=${LOCKFILE-/var/lock/subsys/httpd24}
[root@Centos6 ~/httpd-2.4.28]# chkconfig --add httpd24                     #將httpd24加到服務裏,並設置開機自啓動
[root@Centos6 ~/httpd-2.4.28]# chkconfig httpd24 on
2、二進制安裝mariadb-5.5.57;(可以參考;也可以)

這裏我只寫步驟,詳細的請參考http://blog.csdn.net/oh_on/article/details/78368597中用邏輯卷做數據庫;http://blog.csdn.net/oh_on/article/details/78326030專門編譯安裝數據庫博客;

[root@Centos6 ~]# tar xvf mariadb-5.5.57-linux-x86_64.tar.gz -C /usr/local/
[root@Centos6 ~]# cd /usr/local/
[root@Centos6 /usr/local]# mv mariadb-5.5.57-linux-x86_64 mysql            
[root@Centos6 /usr/local]# cd mysql/
[root@Centos6 /usr/local/mysql]# ls
bin      data               include         lib  mysql-test  scripts  sql-bench
COPYING  EXCEPTIONS-CLIENT  INSTALL-BINARY  man  README      share    support-files
[root@Centos6 /usr/local/mysql]# ./scripts/mysql_install_db --datadir=/app/mysqldb/ --user=mysql  #生成數據庫
[root@Centos6 /usr/local/mysql]# mkdir /etc/mysql/
[root@Centos6 /usr/local/mysql]# cp support-files/my-huge.cnf /etc/mysql/my.cnf            #定義配置文件
[root@Centos6 /usr/local/mysql]# vim /etc/mysql/my.cnf    #加入如下三行
		[mysqld]				
		datadir = /data/mysqldb          #數據庫路徑
		innodb_file_per_table = on     #每個表單獨一個文件,innodb是數據庫引擎
		skip_name_resolve = on         #不用名字解析
[root@Centos6 /usr/local/mysql]# cp support-files/mysql.server /etc/init.d/mysqld          #服務腳本
[root@Centos6 /usr/local/mysql]# chkconfig --list mysqld                                   #查一下是否有mysqld服務,若有下面的步驟不用做,若沒有執行添加進去
[root@Centos6 /usr/local/mysql]# chkconfig --add mysqld
[root@Centos6 /usr/local/mysql]# service mysqld start                                     #啓動mysqld服務,但是有報錯
Starting MySQL.171104 13:53:39 mysqld_safe Logging to '/var/log/mysqld.log'.
171104 13:53:39 mysqld_safe Starting mysqld daemon with databases from /data/mysql
                                                           [FAILED]
[root@Centos6 /usr/local/mysql]#                     我這裏報錯是因爲我馬虎,將/etc/mysql/my.cnf裏的datadir = /data/mysql寫錯了,與生成數據庫時--datadir=/app/mysqldb/指定不一致
[root@Centos6 /usr/local/mysql]# touch /var/log/mysqld.log              #若是在啓動服務時報錯,沒有日誌文件時,就創建,我的之前有,所有沒有報錯
[root@Centos6 /usr/local/mysql]# chown mysql /var/log/mysqld.log           #給mysql對日誌文件有讀寫的操作權限
[root@Centos6 /usr/local/mysql]# ll /var/log/mysqld.log
-rw-r--r--. 1 mysql root 9772 Nov  4 13:56 /var/log/mysqld.log
[root@Centos6 /usr/local/mysql]#
[root@Centos6 /usr/local/mysql]# mysql_secure_installation                 #跑安全腳本,設口令密碼                   
[root@Centos6 /usr/local/mysql]# mysql -uroot -pcentos                    #登錄數據庫,創建數據庫並授權
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 17
Server version: 5.5.57-MariaDB MariaDB Server

Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
+--------------------+
3 rows in set (0.00 sec)

mysql> create database blogdb;                  #創建數據庫
Query OK, 1 row affected (0.00 sec)

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| blogdb             |
| mysql              |
| performance_schema |
+--------------------+
4 rows in set (0.01 sec)

mysql> grant all on blogdb.* to 'wpadm'@'localhost' identified by 'centos'; #授權給本機(localhost),使其用wpadm的身份及centos口令操作數據庫blogdb
Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;                                                 #刷新數據庫
Query OK, 0 rows affected (0.00 sec)

mysql> quit
Bye
[root@Centos6 /usr/local/mysql]#

3、編譯安裝php-5.6.31 ;

[root@Centos6 /usr/local/mysql]# cd
[root@Centos6 ~]# tar xvf php-5.6.31.tar.xz
[root@Centos6 ~]# cd php-5.6.31
[root@Centos6 ~/php-5.6.31]# ./configure --prefix=/app/php --with-mysql=/usr/local/mysql --with-openssl  --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-mbstring --with-freetype-dir --with-jpeg-dir  --with-png-dir  --with-zlib  --with-libxml-dir=/usr --enable-xml --enable-sockets --enable-fpm --with-mcrypt  --with-config-file-path=/etc/php/  --with-config-file-scan-dir=/etc/php.d  --with-bz2
[root@Centos6 ~/php-5.6.31]# make && make install
[root@Centos6 ~/php-5.6.31]# mkdir /etc/php
[root@Centos6 ~/php-5.6.31]# cp php.ini-production /etc/php/php.ini                           #定義配置文件
[root@Centos6 ~/php-5.6.31]# cp sapi/fpm/init.d.php-fpm  /etc/init.d/php-fpm                  #拷貝服務腳本
[root@Centos6 ~/php-5.6.31]# chmod +x /etc/init.d/php-fpm                      
[root@Centos6 ~/php-5.6.31]# chkconfig --add php-fpm                                          #將php-fpm增加到服務中
[root@Centos6 ~/php-5.6.31]# cp /app/php/etc/php-fpm.conf.default  /app/php/etc/php-fpm.conf   #default裏的內容比較詳細,可以採用
[root@Centos6 ~/php-5.6.31]# service php-fpm start                                             #啓動服務                                      
4、配置httpd配置文件使其支持php

[root@Centos6 ~/php-5.6.31]# vim /app/httpd24/conf/httpd.conf
去掉下面兩行註釋
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so

修改下面行,加上index.php
<IfModule dir_module>
    DirectoryIndex index.php index.html
</IfModule>

加下面兩行
ProxyRequests Off
ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/app/httpd24/htdocs/$1
5、佈署wordpress;

[root@Centos6 ~/php-5.6.31]# cd 
[root@Centos6 ~]# tar xvf wordpress-4.8.1-zh_CN.tar.gz
[root@Centos6 ~]# cp -r wordpress /app/httpd24/htdocs/wps                                  #將解壓後的wordpress內容複製到編譯的httpd24下的htdocs主站點目錄下
[root@Centos6 ~]# cd /app/httpd24/htdocs/wps
[root@Centos6 /app/httpd24/htdocs/wps]# ls                                                  #裏面基本上都是些php程序腳本
index.php        wp-admin              wp-content         wp-load.php      wp-signup.php
license.txt      wp-blog-header.php    wp-cron.php        wp-login.php     wp-trackback.php
readme.html      wp-comments-post.php  wp-includes        wp-mail.php      xmlrpc.php
wp-activate.php  wp-config-sample.php  wp-links-opml.php  wp-settings.php
[root@Centos6 /app/httpd24/htdocs/wps]# mv wp-config-sample.php wp-config.php             #將例子的數據庫文件,改爲正式的,不然後來操作中會報錯:讀取數據庫路徑出錯,找不到wp-config.php這個文件
[root@Centos6 /app/httpd24/htdocs/wps]# vim wp-config.php                                #修改下面三行,創建的數據庫名、用戶名、密碼相對應的填上
	/** WordPress數據庫的名稱 */
	define('DB_NAME', 'blogdb');

	/** MySQL數據庫用戶名 */
	define('DB_USER', 'wpadm');

	/** MySQL數據庫密碼 */
	define('DB_PASSWORD', 'centos');

三:實驗測試;

在瀏覽器上輸入:172.17.253.35/wps (配置的虛擬機的ip) 然後出現如下界面;




然後填寫相應內容;



然後使用剛設定的用戶名和密碼登陸上去就可以了;

OK,博客就這樣搭建好了,是不是很簡單呀!*-*






發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章