您的位置:首页 > 运维架构 > Linux

在centos6.9上编译安装LAMP并搭建个人博客

2017-10-13 16:35 573 查看
准备阶段:
1、两台安装了centos6.9的机器,A和B;
A:192.168.1.100
B:192.168.1.102
其中A机器上跑http和php,B机器是mysql服务器
2、准备软件包
apr-1.6.2.tar.gz
apr-util-1.6.0.tar.gz

#Apache可移植运行库,为上层应用程序提供一个可以跨越多操作系统平台的底层支持接口库
httpd-2.4.27.tar.bz2 #6.9上默认http是2.2版本,本次编译2.4版本

php-5.6.31.tar.bz2
mariadb-5.5.57-linux-x86_64.tar.gz #即mysql数据库

wordpress-4.8.1-zh_CN.zip #用PHP语言开发的博客平台

实验目标:

搭建个人博客,并能够正常访问

步骤1、
在B机器上以二进制方式安装mariadb

cd /usr/local/src
tar xvf mariadb-5.5.57-linux-x86_64.tar.gz -C /usr/local/
#二进制安装事前已经编译好规则,所以必须指定目录

cd /usr/local/
ln -vs mariadb-5.5.57-linux-x86_64/ mysql
#根据编译规则必须命名为mysql,本处使用符号连接,也可以直接重命名为mysql,一样效果

useradd -r -m -d /app/mysqldb -s /sbin/nologin mysql

#对数据库的操作,我们指定专门用户

cd mysql/
scripts/mysql_install_db --datadir=/app/mysqldb --user=mysql
#datadir指定数据库存放数据的位置

mkdir /etc/mysql
cp support-files/my-large.cnf /etc/mysql/my.cnf
#模板,修改作为mysql的配置文件,修改内容如下

vim /etc/mysql/my.cnf
[mysqld]
datadir = /app/mysqldb
#在配置文件中指定数据存放的目录

innodb_file_per_table = ON
#数据库中单独使用一份文件记录一个表

cp support-files/mysql.server /etc/init.d/mysqld
chkconfig --add mysqld
chkconfig --list

#为了省事将之前安装的mysql服务配置文件复制一份,并加入服务列表

service mysqld start
#此时开启我们二进制安装的mysql会失败,原因是缺少文件,如下

touch /var/log/mysqld.log
chown mysql /var/log/mysqld.log
#由于缺少日志文件导致服务启动失败
#还得修改日志文件所有者,保证mysql用户有权限访问此文件

service mysqld start
#此时启动数据库就会会成功

vim /etc/profile.d/mysql.sh
export PATH=/usr/local/mysql/bin/:$PATH
. /etc/profile.d/mysql.sh
#添加PATH环境变量,并使之生效

mysql_secure_installation
#初始化数据库,设置root密码等信息
#mysql的root与linux的root没有任何关系

mysql -uroot -pcentos
#root的登陆信息

create datebase wpdb;
#创建数据库wpdb,其作用是为以后搭建的博客提供数据库存储
grant all on wpdb.* to wpuser@'192.168.1.%' identified by '123456';
#创建用户并授权,用户名与主机构成整个用户信息,%表示所有

步骤2、

在A机器上编译安装http

cd /usr/local/src
yum groupinstall "development tools"
yum install openssl-devel pcre-devel expat-devel
#为了编译安装顺利进行,提前把开发包安装好

tar xvf apr-1.6.2.tar.gz
tar xvf apr-util-1.6.0.tar.gz
tar xvf httpd-2.4.27.tar.bz2
cp -r apr-1.6.2 httpd-2.4.27/srclib/apr
cp -r apr-util-1.6.0 httpd-2.4.27/srclib/apr-util
#将apr整合到http中

cd /usr/local/src/httpd-2.4.27/
./configure --prefix=/app/httpd24 \ #http的安装目录

--enable-so \ #启动模块动态装卸载

--enable-ssl \ #启动ssl功能

--enable-rewrite \ #启动url重写功能

--with-zlib \ #支持数据包压缩

--with-pcre \ #支持正则表达式

--with-included-apr \

--enable-modules=most \ #启用的模块

--enable-mpms-shared=all \ #以共享方式编译的模块

--with-mpm=prefork #指定http的工作模式为prefork
#编译前制定一些配置规则

#以上选项可以使用./configure --help来获得更多帮助信息

make -j 4 && make install
#编译安装

vim /etc/profile.d/lamp.sh
PATH=/app/httpd24/bin/:$PATH
. /etc/profile.d/lamp.sh
cp /etc/init.d/httpd /etc/init.d/httpd24
#复制http的配置文件,并在此基础上修改为我们需要的

vim /etc/init.d/httpd24
apachectl=/app/httpd24/bin/apachectl #apachectl生效的目录,配置的时候就已经指定好了,下同

httpd=${HTTPD-/app/httpd24/bin/httpd}

prog=httpd
pidfile=${PIDFILE-/app/httpd24/logs/httpd.pid} #http的进程id存放目录

lockfile=${LOCKFILE-/var/lock/subsys/httpd24} #锁文件指定的目录

chkconfig --add httpd24
chkconfig --list httpd24
#将我们编译的httpd24添加到服务集中,以后就可以使用service开启或者关闭

service httpd24 start
步骤3、
在A机器上编译安装php
yum install libxml2-devel bzip2-devel libmcrypt-devel
tar xvf php-5.6.31.tar.xz
cd /usr/local/php-5.6.31
./configure --prefix=/app/php \ #php安装目录

--with-mysql=/usr/local/mysql \ #php安装目录,对mysql的支持

--with-mysqli=/usr/local/mysql/bin/mysql_config \

#mysqli扩展技术不仅可以调用MySQL的存储过程、处理MySQL事务,而且还可以使访问数据库工作变得更加稳定
--with-openssl \ #支持ssl

--enable-mbstring \ #支持多字节、字符串

--with-png-dir \ #支持png格式的图片

--with-jpeg-dir \ #支持jpeg格式的图片

--with-freetype-dir \ #支持freetype字体库

--with-zlib \ #支持压缩

--with-libxml-dir=/usr \ #支持libxml

--enable-xml \ #支持xml

--enable-sockets \ #支持套接字

--with-apxs2=/app/httpd24/bin/apxs \

#整合 apache,apxs功能是使用mod_so中的LoadModule指令,加载指定模块到 apache,要求 apache 要打开SO模块
--with-mcrypt \ #mcrypt算法扩展

--with-config-file-path=/etc \ #配置文件路径,即php.ini路径

--with-config-file-scan-dir=/etc/php.d \ #

--with-bz2 #支持压缩

make -j 4 && make install
#此过程与http编译安装类似,具体参数可以用 ./configure --help来获得帮助信息
vi /etc/profile.d/lamp.sh
PATH=/app/php/bin:/app/httpd24/bin/:/usr/local/mysql/bin/:$PATH
. /etc/profile.d/lamp.sh
cp php.ini-production /etc/php.ini#复制模板,php.ini即php的主配置文件,不用修改

vim /app/httpd24/conf/httpd.conf
#在文件尾部加两行
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
#凡是以php、phps结尾的文件就会调用php程序
#修改下面行
<IfModule dir_module>
DirectoryIndex index.php index.html
</IfModule>
#http的主页面是index.php,谁在前谁优先

service httpd24 restart
步骤4、
测试数据库连接

vim /app/httpd24/htdocs/index.php
<html><body><h1>It works!</h1></body></html>
<?php
$mysqli=new mysqli("192.168.1.102","wpuser","123456");
if(mysqli_connect_errno()){
echo "连接数据库失败!";
$mysqli=null;
exit;
}
echo "连接数据库成功!";
$mysqli->close();
phpinfo();

?>
#以上php程序仅作为测试连接数据库用,没别的含义

步骤5、
配置wordpress
tar xvf /usr/local/src/wordpress-4.8.1-zh_CN.tar.gz -C /app/httpd24/htdocs
#wordpress目录必须放在http的主目录下

cd /app/httpd24/htdocs
mv wordpress/ blog/
#为了方便记忆,将wordpress重命名为blog,以后在浏览器访问的话直接使用blog即可

cd /app/httpd24/htdocs/blog/
cp wp-config-sample.php wp-config.php
vim wp-config.php
#编辑wordpress的配置文件,主要修改与数据库连接信息

define('DB_NAME', 'wpdb');

/** MySQL数据库用户名 */
define('DB_USER', 'wpuser');
#为wordpress设置的数据库账户

/** MySQL数据库密码 */
define('DB_PASSWORD', '123456');
#为wordpress账户设置的密码

/** MySQL主机 */
define('DB_HOST', '192.168.1.102');
#数据库主机地址

步骤6、
测试



在浏览器输入 http://192.168.1.100/blog/完成上述注册信息后就可以使用和管理个人博客了



个人博客http://192.168.1.100/blog/



博客管理界面http://192.168.1.100/blog/wp-admin/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux lamp