LAMP架构
L-linux,A-apache,M-mysql或mariadb,P-Python、php或perl
当客户端请求静态资源如index.html时,web服务器会到本地磁盘查找相应资源;当客户端请求动态资源如index.php时,web服
务器会将请求交给php模块处理,php模块会进行相应运算,如果过程中还需用到数据库中的数据作为运算参数,php模块还会连接
数据库取得相应数据,进行运算,并将运算的结果转换为静态资源由web服务器返回给客户端。
本文实现了在CentOS6.9操作系统上源码编译安装LAMP,并基于wordpress平台搭建了博客:
环境:
(1)安装有CentOS6.9操作系统的主机
(2)用到的源码包:
apache程序包:httpd-2.4.27.tar.bz2 ,编译 httpd-2.4.27.tar.bz2还需用到apr-1.6.2.tar.gz 、apr-util-1.6.0.tar.gz
数据库程序包:mariadb-5.5.57-linux-x86_64.tar.gz
php程序包:php-5.6.31.tar.xz
wordpress程序包:wordpress-4.8.1-zh_CN.tar.gz
WordPress是一种使用PHP语言开发的博客平台,用户可以在支持PHP和MySQL数据库的服务器上架设属于自己的网站。
首先安装编译httpd2.4时依赖的软件包
创建源码存放目录,将实验中用到的源码都放在该目录下
解压apr-1.6.2.tar.gz
解压apr-util-1.6.0.tar.gz
解压httpd-2.4.27
将解压后apr-1.6.2、apr-util-1.6.0.tar.gz
--prefix=/app/httpd24 httpd程序安装路径(--sysconfdir配置文件安装路径未指定,则放在httpd程序安装路径下)
将处理器数量设置为4个
-j 4 4核编译,提高编译速度
make install安装httpd24
yum安装httpd会在/etc/init.d目录下生成httpd服务脚本,将该脚本改一下就可以作为编译安装httpd的服务脚本
httpd服务脚本名为httpd24,即服务名为httpd24
打开服务脚本
apachetl指定了httpd服务专用的管理工具apachetl的路径
httpd指定了httpd程序的路径
pidfile指定了pid文件的路径
服务脚本中的原设置是针对yum安装httpd程序的情况
编译安装httpd2.4时指定了安装路径为/app/httpd24,所以相关配置文件都在/app/httpd24目录下,需要进行修改
修改好服务脚本,并使用chkconfig --add httpd24将http24服务加入控制列表后,就可以使用service命令控制httpd24服务的启动和停止
service httpd24 start 启动httpd24服务
chkconfig httpd24 onhttpd24服务开机自启动
httpd24服务已经监听在80端口
在浏览器输入http://192.168.25.106测试搭建的apache服务器,如图,显示It works!表明apache服务器已正常工作
源码安装是对源码进行编译,编译时可以自定义安装路径;
二进制安装是安装已经过编译的二进制程序包,在编译时已经指定了安装目录,所以在解压安装时就不能随便找一个目录,必须将其安装在编译时指定的目录下。mariadb源码包编译为二进制包时,指定的目录是/usr/local/mysql,即必须将二进制压缩包解压到/usr/local/mysql目录下,此时也就相当于将mariadb安装到了该目录下。也可以将二进制压缩包解压到其他目录下,然后建立到/usr/local/mysql的软链接,这样当机器上有多个mariadb版本时,方便管理,只需修改软链接,而不用增删程序包了。
-C选项指定解压目录
解压后,建立源码包到/usr/local/mysql的软链接
二进制安装mariadb程序包的/usr/local/mysql/bin下有mysql、mysql_secure_installation等二进制程序
mysql账户对目录/app/mysqld具有rwx权限,可以通过修改目录/app/mysqld的所有者确保mysql账户的权限
(或者通过加ACL权限的方式)
--datadir=/app/mysqldb指定数据库文件的存放路径
--user=mysql指定创建数据库文件的用户
注意:必须在/usr/local/mysql/下执行该脚本,不能进入scripts目录下,否则会报错
/usr/local/mysql/support-files/目录下有服务脚本mysql.server,将服务脚本拷贝到/etc/init.d目录下,就可以用service命令控制这个使用二进制方法安装的mysql
service mysqld start启动mysqld服务
启动报错是因为mysql用户对/var/log目录没有权限,但这个目录是公共日志目录,最好不要对该目录设置权限,可以创建文件,对文件加权限
服务启动成功
mysqld已监听在3306端口
数据库刚装好时,存在安全隐患:root账户无密码即可登录;匿名账户可登录等,可以通过运行/usr/local/mysql/bin下的mysql_secure_installation脚本消除安全隐患,该脚本的功能主要有设置root账户的口令、移除匿名账户、禁止root账户远程连接、删除测试数据库、重载特权表
创建数据库wpdb,并授予wpuser用户对wpdb数据库的所有权限,wpuser用户和wpdb数据库用于WordPress搭建博客管理平台。
grant语句表示授权wpuser用户可以从任何主机登录到本数据库服务器(192.168.25.107),登录密码为centos,并且登录后具有对wpdb数据库的所有权限。
3 源码编译安装php(模块方式)
解压wordpress-4.8.1-zh_CN.tar.gz,需将WordPress解压到httpd的网站根目录下,-C指定安装目录
将wordpress文件夹改名为/blog
在源码包下有wordpress的配置文件模板wp-config-sample.php,将其改名为wp-config.php
在浏览器输入http://192.168.25.106/blog,出现如图页面,进行最后的配置
填写站点标题、用户名、密码、邮箱等,此处设置的用户名和密码是博客后台管理员的用户名和密码
使用刚才设置的用户名、密码登录博客管理后台
博客管理后台如图所示,可以在该界面进行设置:更换博客风格、上传文章等
在浏览器输入http://192.168.25.106即可访问搭建的博客