设为首页 收藏本站
查看: 1749|回复: 0

CentOS7基于源码编译安装LAMP的wordpress应用的实现

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2017-10-18 10:20:09 | 显示全部楼层 |阅读模式
WordPress应用:
WordPress 是一种基于PHP 语言开发的博客平台,我们可以在支持PHP 和MySQL 数据库的服务器上部署属于自己的博客网站,在上面发布自己的博客文章。同时也可以把WordPress 当作一个内容管理系统(CMS)来使用。
LAMP的简介:
LAMP是在linux下基于Apache、Mysql/Mariadb、PHP软件包下环境下搭建的运行动态网站或者服务器。
事前准备环境:1、软件包准备:
我们可以在相关的软件包官网上下载稳定的版本。
apr-1.6.2.tar.gz                     
apr-util-1.6.0.tar.gz
mariadb-10.2.8-linux-x86_64.tar.gz  
httpd-2.4.27.tar.bz2
php-7.1.10.tar.xz
wordpress-4.8.1-zh_CN.tar.gz
2、准备一台centos7.3的干净系统主机的ip地址为192.168.146.1303、关闭防火墙和selinux防火墙:开机关闭
[iyunv@centos7 ~]# systemctl disablefirewalld
[iyunv@centos7 ~]# systemctl stop  firewalld
关闭Selinux:
#临时关闭
[iyunv@centos7 ~]# setenforce 0  
#永久关闭
sed -i's/^SELINUX=enforcing/SELINUX=permissive/g' /etc/selinux/config
实验步骤:1、源码编译安装Httpd2.41.1安装开发包组
因为我们这个实验是需要通过大量的编译来安装相关的软件,所以需要对实验环境提前安装开发包组
yum -ygroupinstall "development tools"
安装额外需要所依赖的软件包
yum install openssl-devel expat-develpcre-devel
1.2解压源码文件包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
1.3将apr和apr-util复制到httpd-2.4.27目录下[iyunv@centos7 src]# cp -r apr-1.6.2httpd-2.4.27/srclib/apr
[iyunv@centos7 src]# cp -r apr-util-1.6.0httpd-2.4.27/srclib/apr-util
1.4编译httpd#进到httpd-2.4.27目录下
[iyunv@centos7 src]# cd httpd-2.4.27/
./configure --prefix=/app/httpd24--sysconfdir=/etc/httpd24 --enable-so --enable-ssl --enable-rewrite --with-zlib--with-pcre --with-included-apr --enable-modules=most --enable-mpms-shared=all--with-mpm=prefork
#开始安装,用4线程进行安装,比较快,注意处理器要有4个
make -j 4 && make install
#用命令查看一下发现没有报错,如果有报错,缺什么包就安装什么包
[iyunv@centos7 httpd-2.4.27]# echo $?
0
#完成之后测试一下看生成httpd下的相关目录和主页网站有了没,以下可以看到没问题。
cd /app/httpd24
[iyunv@centos7 httpd24]# ls
bin  cgi-bin  htdocs include  logs  manual
build error    icons   lib   man   modules
1.5把主页面的 it works字段改成LAMP;路径是在htdocs目录下[iyunv@centos7 htdocs]# vim index.html
<html><body><h1>LAMP</h1></body></html>
1.6将命令选项添加到环境变量里面#在/etc/profile.d/目录下添加添加lamp.sh脚本将安装好的httpd路径添加到这个环境变量里。
vim /etc/profile.d/lamp.sh
PATH=/app/httpd24/bin/:$PATH
执行下生效命令
. /etc/profile.d/lamp.sh
1.7启动httpd服务apachectl start  #启动httpd服务
在网页上输入主机的地址就可以访问出现上面所填的LAMP字样了。
ss -tnl  #查看一下发现已经出现80端口了。
wKiom1nku7_BIQNCAAB00vsj3l8342.png
2、二进制安装mariadb2.1解压mariadb-10.2.8二进制文件#注意一定要解压到/usr/local/这目录下
tar xvfmariadb-10.2.8-linux-x86_64.tar.gz  -C/usr/local/
2.3创建一个软链接目录mysqlcd /usr/local
ln -s mariadb-10.2.8-linux-x86_64/ mysql
#查看一下本机没有发现mysql账户
getent passwd mysql
2.4创建mysql账户useradd -r -m -d /app/mysqldb -s/sbin/nologin mysql
#注意:-m -d 是强制创建家目录的路径/app/mysqldb,它是用来存放数据库的不是程序,也就是数据库放的路径,-s指定只能是mysql 才能登陆。
#查看家目录已经存在了
[iyunv@centos7 local]# ll /app/mysqldb/ -d
drwx------. 3 mysql mysql 78 Oct 16 14:43/app/mysqldb/
2.5创建数据库文件进入到刚刚创建的mysql 路径,利用mysql自带的脚本文件,创建数据库,数据库的路径是/app/mysqldb,指定用mysql用户创建
cd mysql/   #也就是进入/usr/local/mysql
scripts/mysql_install_db--datadir=/app/mysqldb --user=mysql
2.6创建mysql的配置文件,并且修改其下的文件内容创建mysql文件路径
二进制安装的本身没有带文件路径所以需要创建
[iyunv@centos7 mysql]#mkdir /etc/mysql
[iyunv@centos7 mysql]# cpsupport-files/my-huge.cnf /etc/mysql/my.cnf
配置文件成功后需要对文件进行修改,注意不能写错,否则mysql数据库启动不了。找到mysql数据这一行加上三行选项
[iyunv@centos7 mysql]# vim /etc/mysql/my.cnf
datadir =/app/mysqldb   #这行添加数据库的路径是必须加的
innodb_file_per_table= ON  # 这项和下面这项加不加没事
skip_name_resolve= ON  #禁止主机名解释,这行可以不要
2.7创建mysqld的开启动脚本并添加到开机启动项里面流程和配置文件一样可以根据安装文件提供的脚本复制过来
cp support-files/mysql.server/etc/init.d/mysqld  #启动脚本不需要改
chkconfig --add mysqld    #把mysqld添加到开机启动项里面
chkconfig --list           #查看已经成功加入到开机启动项
service mysqld start   
注意:启动服务发现失败,原因是显示看到日记没有创建,它提示创建日志文件。
2.8创建日志文件mkdir /var/log/mariadb  #创建日志文件
修改日志文件,方便数据库mysqld能够创建日志文件
chown mysql /var/log/mariadb/  #把所有者改成mysql
service mysqld start  #启动服务发现启动成功了。
2.9添加mysqld的环境变量vim /etc/profile.d/lamp.sh
PATH=/app/httpd24/bin/:/usr/local/mysql/bin/:$PATH
#执行生效命令
. /etc/profile.d/lamp.sh
2.10安全数据库初始化,删除测试库和匿名用户初始化设置root密码是centos7
[iyunv@centos7 mysql]#mysql_secure_installation
2.11登录数据库,创建数据库账号,授予权限等信息[iyunv@centos7 mysql]# mysql -uroot-pcentos7
create database wpdb;  #创建数据库为wpdb
grant all on wpdb.* to wpuser@'192.168.146.%'identified by 'centos7';
#授权所有权限给wpuser用户,密码是centos7
grant all on wpdb.* to wpuser@'127.%'identified by 'centos7';
#授权给127主机的用户允许连接
grant all on wpdb.* to wpuser@'localhost'identified by 'centos7';
#授权给本地主机允许连接
3、 源码编译安装PHP3.1解压PHP源文件,安装依赖的软件包cd /src #回到源文件目录下
[iyunv@centos7 src]# tar xvfphp-7.1.7.tar.bz2  #解压
#安装php源码所需要的包
yum -y install libxml2-devel bzip2-devellibmcrypt-devel
3.2配置PHP的编译选项并进行安装cd php-7.1.10/   #进入php-7.1.10/目录
编译PHP选项
[iyunv@centos7 php-7.1.7]# ./configure \
>  --prefix=/app/php \
>  --enable-mysqlnd \
>  --with-mysqli=mysqlnd \
>  --with-openssl \
>  --with-pdo-mysql=mysqlnd \
>  --enable-mbstring \
>  --with-freetype-dir \
>  --with-jpeg-dir \
>  --with-png-dir \
> --with-zlib  \
>  --with-libxml-dir=/usr \
> --enable-xml  \
>  --enable-sockets \
>  --with-apxs2=/app/httpd24/bin/apxs \
>  --with-mcrypt \
>  --with-config-file-path=/etc \
>  --with-config-file-scan-dir=/etc/php.d \
>  --enable-maintainer-zts \
>  --disable-fileinfo

#注意这里需要一定要注意PHP5.x的版本是不存在—enable-mysql
#这个版本的选项相反,使用了mysql路径来指定
开始安装
make -j 2 && make install
3.3编写PHP的配置文件#在解压的目录下就有php配置文件的模板,直接复制过来
wKiom1nkvMGh6OJIAABei1-8F6s170.png
#直接复制PHP的文件
[root@centos7php-7.1.7]# cpphp.ini-production /etc/php.ini
3.4配置Httpd文件添加支持PHP的MIME类型#因为是自己编译的所以路径是在/etc/httpd24/httpd.conf主配置文件,让httpd知道php
vim /etc/httpd24/httpd.conf
#搜索/AddType在文件尾部加两行
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source.phps
wKiom1nkvQ2BoAgbAAC5yvbevB4688.png
#搜索DirectorI在DirectoryIndex这行里添加index.php 让我们访问本机的主页面默认是php的。
<IfModule dir_module>
   DirectoryIndex index.php index.html
</IfModule>
wKiom1nkvU3TIsPpAACfDQQrUf0115.png
apachectl stop  #关闭httpd服务
apachectl start  #启动httpd服务
4 测试php和mariadb连接4.1 配置结束后重新启动httpd服务,同时在主页面所在的目录下添加一个index.php文件。#由于我们是自己编译安装的所以httpd主页目录下在我们指定的httpd安装路径下。
[iyunv@centos7 htdocs]# pwd
/app/httpd24/htdocs
#下面代码是用来测试PHP是否能够成功连接数据库的。
[iyunv@centos7 htdocs]# vim index.php  
wKioL1nkuuyimj_pAAC7entOBYg092.png
连接成功的界面图所下面所示
wKiom1nkveDBBp0nAAFPrCusvJc339.png
5.1解压wordpress到/app/httpd24/htdocs/目录下tar xvf wordpress-4.8-zh_CN.tar.gz -C/app/httpd24/htdocs/
#进入到主页面下
cd /app/httpd24/htdocs
#把wordpress/改成blog/
mv wordpress/ blog/
5.2在blog/目录下修改配置文件中的mysql相关设置信息
cd /app/httpd24/htdocs/blog/
#参考WordPress官方提供的配置文件,创建一个配置文件,并修其中对mysql数据库的相关配置。
#直接复制参考脚本,然后在文件修改相关的数据参数就可以了。
cd /app/httpd24/htdocs/blog/
cp wp-config-sample.php  wp-config.php
vim wp-config.php
define('DB_NAME', 'wpdb');  #用户名
/** MySQL数据库用户名 */
define('DB_USER', 'wpuser');
/** MySQL数据库密码 */
define('DB_PASSWORD', 'centos7');
/** MySQL主机 */
define('DB_HOST', 'localhost');
6、初始化和登录测试6.1通过浏览器访问http://websrv/blogwebsrv就是安装httpd服务点的主机ip,我是用192.168.146.100主机安装的,所以就是http://192.168.146.100/blog
#下面就是WordPress的初始化配置
wKioL1nku5Lwu6yGAAFJE4ET0sc896.png

6.2初始化成功之后,再回去访问http://192.168.146.130/blog/就看到博客的注意了。 wKioL1nku83j7-M_AAJvYz3WkQo736.png

经过以上的步奏我们实现了从无到有安装了LAMP+ wordpress应用,
我们也可以根据生产中的实际需求吧wordpress应用换成其他应用;LAMP也有可能是Linux+Nginx+MariaDB+Python这形式,根据需求不同进行调用做出自己的选择,做到灵活的使用。
注意事项1、注意编译安装的时候,PHP是最后编译的,因为要调用到mariadb和访问httpd的相关内容。2、在开始编译安装PHP的时候,PHP-5.X 和PHP-7.X 版本不一样,编译选项也有一些不一致。3、在做实验的时候最好是使用干净的centos7.3系统;这里最好准备两台centos7主机,一台实现LAP(linux、apache、php) ,一台实现M(mariadb)数据库。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-405579-1-1.html 上篇帖子: lamp(apache2.2mysql5.0php5.3) 下篇帖子: Yum安装LAMP(Centos7.2+Apache2.4+Mariadb5.5.56+PHP7.0.24)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表