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,博客就这样搭建好了,是不是很简单呀!*-*






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值