LAMP整体源码部署以及使用wordpress测试篇

11 篇文章 0 订阅

什么是LAMP:

LAMP = Linux Apache Mysql/MariaDB PHP/Perl/Python,这些软件都是开源免费的软件,几个程序各自独立的,经常为了达到我们需要的效果协同工作,组成了我们常见的LAMP架构平台!

Nginx 和Apache 都能处理静态和动态页面,Nginx支持高并发,处理静态性能是Apache 5—6倍,Apache对PHP的运行比较稳定。

常见的网页类型:htm、html、shtml、stm.php、asp、aspx、shtm、jsp等等Apache本身只处理 html 静态页面,处理动态页面需要使用 libphp5.so 这个模块去工作,编译PHP也其实是将一个至关重要的模块打入到apache内部,然后Apache收到PHP请求,将请求交给这个模块处理。

LAMP部署使用到的相关网站:
Apache:http://httpd.apache.org/ httpd主程序包
MySQL:http://dev.mysql.com/downloads/mysql/ Mysql主程序包
PHP:http://php.net/downloads.php/ PHP主程序包
apr :http://apr.apache.org/ apr是httpd的依赖包
apr-util :http://apr.apache.org/ apr-util是httpd的第二个依赖包
pcre : http://pcre.org/ httpd的第三个依赖包
apr 和 apr-util 这个两个软件是对后端服务软件进行优化的。
apr-util 只是在 apr 的基础上提供了更多的数据结构个操作系统封装接口而已。

PCRE(Perl Compatible Regular Expression 中文含义:Perl 语言兼容正则表达式)是一个用C语言编写的正则表达式函数库,PCRE被广泛使用在许多开源软件之中,最著名的莫过于Apache HTTP服务器和 PHP 脚本语言、R脚本语言,此外,正如其名字所能看到的,PCRE也是Perl语言的缺省正则库。

对应我们源码编译的版本:
编译安装LAMP所需要及其所使用的源码版本:
httpd version:httpd-2.4.16
apr version :apr-1.5.2
pcre version :pcre-8.37
apr-util version :apr-util-1.5.4
mysql version : mysql-5.6.26
php version : php-5.6.13

1、LAMP源码编译的基础环境

[root@Lamp ~]# cat /etc/redhat-release 
CentOS Linux release 7.6.1810 (Core) 
[root@Lamp ~]# uname -a
Linux Lamp 3.10.0-957.el7.x86_64 #1 SMP Thu Nov 8 23:39:32 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

2、确保系统的干净,不要和现在源码编译安装的软件冲突。
不要在一个系统上同时存在 RPM-Apache 和 源码-Apache

建议在编译之前,把开发组包安装:

[root@Lamp ~]# yum groupinstall -y "Development Tools" "Development Libraries"
[root@Lamp ~]# yum install -y gcc gcc-c++ openssl-devel

上传软件包:

[root@Lamp ~]# yum insatll -y lrzsz
[root@Lamp ~]# cd /opt/
[root@Lamp opt]# rz

[root@Lamp opt]# ll
total 52588
-rw-r--r-- 1 root root 53846945 Jun  1 23:44 lamp源码编译软件包.7z
[root@Lamp opt]# 

安装7z解压工具,并且解压软件包:
安装7z解压工具,参考文章:
https://blog.csdn.net/u011138447/article/details/52066610

解压软件包:

[root@Lamp opt]# 7za e lamp源码编译软件包.7z -o/opt/

解压后:
在这里插入图片描述

3、安装Apache

提前将Apache的依赖 apr 和 apr-util 安装:

[root@Lamp opt]# tar xf apr-1.5.2.tar.gz -C /usr/local/src/     #将apr解压到/usr/local/src/下面
[root@Lamp opt]# tar xf apr-util-1.5.4.tar.bz2 -C /usr/local/src/  #将apr-util解压到/usr/local/src/下面

编译安装apr:

[root@Lamp src]# cd apr-1.5.2/
[root@Lamp apr-1.5.2]# ./configure --prefix=/usr/local/apr
[root@Lamp apr-1.5.2]# echo $?   #检验预编译是否成功
[root@Lamp apr-1.5.2]# make -j8 && make install -j8  #预编译成功之后,make编译以及make install 安装可以一起进行。

编译安装apr-util:

[root@Lamp apr-1.5.2]# cd ../apr-util-1.5.4/
[root@Lamp apr-util-1.5.4]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/    #apr-util的安装是基于apr的,所以要是用--with-apr参数告诉apr-util,apr在那个目录下面。
[root@Lamp apr-util-1.5.4]# echo $?
[root@Lamp apr-util-1.5.4]# make -j8 && make install -j8

编译安装pcre:

[root@Lamp opt]# tar xf pcre-8.37.tar.bz2 -C /usr/local/src/
[root@Lamp opt]# cd /usr/local/src/pcre-8.37/
[root@Lamp pcre-8.37]# ./configure --prefix=/usr/local/pcre
[root@Lamp pcre-8.37]# echo $?
[root@Lamp pcre-8.37]# make -j8 && make install -j8

编译安装http:

[root@Lamp opt]# tar xf httpd-2.4.16.tar.bz2 -C /usr/local/src/
[root@Lamp opt]# cd /usr/local/src/
[root@Lamp src]# cd httpd-2.4.16/
[root@Lamp httpd-2.4.16]# ./configure --prefix=/usr/local/apache2.4 --enable-so --enable-rewrit --enable-ssl --with-apr=/usr/local/apr/ --with-apr-util=/usr/local/apr-util/ --with-pcre=/usr/local/pcre/ --enable-modiles=most --enable-mpms-shared=all --with-mpm=event     #所使用到的参数,具体使用--help去查看。
[root@Lamp httpd-2.4.16]# echo $?
[root@Lamp httpd-2.4.16]# make -j8 && make install -j8

将apache启动脚本放到/etc/init.d/下面。并且赋予可执行权限:

[root@Lamp httpd-2.4.16]# cp -a /usr/local/apache2.4/bin/apachectl /etc/init.d/
[root@Lamp httpd-2.4.16]# chmod +x /etc/init.d/apachectl 

修改启动脚本如下:

[root@Lamp httpd-2.4.16]# vim /etc/init.d/apachectl

添加标红行:
在这里插入图片描述

[root@Lamp httpd-2.4.16]# vim /usr/local/apache2.4/conf/httpd.conf

将域名修改成地址,Apache启动就不会很慢。基础问题,不在赘述为什么

在这里插入图片描述

启动Apache:

[root@Lamp httpd-2.4.16]# /etc/init.d/apachectl start  

设置Apache开机自启动:

[root@Lamp httpd-2.4.16]# chkconfig apachectl on

默认Apache启动用户是daemon的系统用户,不太安全,需要进行修改:
在这里插入图片描述

新增系统用户名为apache,并且设置为apache的启动用户:

[root@Lamp httpd-2.4.16]# useradd -M -s /sbin/nologin apache    #-M表示不创建用户家目录

修改用户:

在这里插入图片描述

重启Apache之后,查看用户:修改成不知名用户,保证安全;

在这里插入图片描述
最后给用户授权:修改属组属主

[root@Lamp httpd-2.4.16]# chown -R apache:apache /usr/local/apache2.4

4、安装Mysql

编译安装Mysql:

[root@Lamp httpd-2.4.16]# cd /opt/
[root@Lamp opt]# tar xf mysql-5.6.26.tar.gz -C /usr/local/src/

Mysql 从5.5版本一会后,使用了cmake的编译方式安装,所以需要安装cmake,而cmake又依赖于ncurses-devel的工具

解决依赖:

[root@Lamp opt]# yum install -y cmake ncurses-devel

编译安装Mysql一定要指明用户的,需要创建新用户:

[root@Lamp opt]# cd /usr/local/src/mysql-5.6.26/
[root@Lamp mysql-5.6.26]# useradd -M -s /sbin/nologin mysql

使用cmake进行编译:

[root@Lamp mysql-5.6.26]# cmake \
> -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \   #安装路径
> -DMYSQL_UNIX_ADDR=/tmp/mysql.sock \    #定义mysql.sock套接字文件放在哪里!
> -DDEFAULT_CHARSET=utf8 \    #默认的字符集uft8
> -DDEFAULT_COLLATION=utf8_general_ci \  #默认的字符集校验
> -DWITH_EXTRA_CHARSETS=all \    #支持所有的其他字符集
> -DWITH_MYISAM_STORAGE_ENGINE=1\   #支持MYISAM引擎
> -DWITH_INNOBASE_STORAGE_ENGINE=1\   #支持INNOBASE引擎
> -DWITH_MEMORY_STORAGE_ENGINE=1\   #支持MEMORY引擎
> -DWITH_READLINE=1\    #支持READLINE库
> -DENABLED_LOCAL_INFILE=1\   #允许本地导入,启用加载本地数据
> -DMYSQL_DATADIR=/usr/local/mysql/data \    #数据文件存放的位置
> -DMYSQL-USER=mysql  #使用的用户是谁

这些编译参数的帮助寻找方法:
http://www.mysql.com > Documentation > 选择对应的版本(5.6) > HTML Online > View > installation & Upgrades > Installing MySQL from Source > MySQL Source > Configuration Options > http://dev.mysql.com/doc/refman/5.6/en/source-configuration-options.html

进行编译安装:

[root@Lamp mysql-5.6.26]# make -j8 && make install -j8

安装过程一般需要10—15分钟,过程如下:
在这里插入图片描述

默认属主属组都是root,需要修改成mysql:

[root@Lamp mysql-5.6.26]# chown -R mysql:mysql /usr/local/mysql/
[root@Lamp mysql-5.6.26]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld   #cp启动脚本到init.d下面
[root@Lamp mysql-5.6.26]# cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf    #移动mysql的配置文件,覆盖掉my.cnf
cp: overwrite ‘/etc/my.cnf’? y
[root@Lamp mysql-5.6.26]# 

修改启动脚本:写明mysql安装的路径,以及数据存放的路径;

[root@Lamp mysql-5.6.26]# vim /etc/init.d/mysqld
在这里插入图片描述
给启动脚本添加可执行权限:

[root@Lamp mysql-5.6.26]# chmod +x /etc/init.d/mysqld

设置开机运行mysql的启动脚本:
[root@Lamp mysql-5.6.26]# chkconfig mysqld on

初始化Mysql数据库:
指明默认的配置文件、安装目录、数据存储的目录、以及用户

[root@Lamp ~]# /usr/local/mysql/scripts/mysql_install_db --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/ --use=mysql

查看mysql中的数据库:
在这里插入图片描述
做个软连接,让系统可以调用mysql:

[root@Lamp ~]# ln -s /usr/local/mysql/bin/* /bin/

启动mysql:

[root@Lamp ~]# /etc/init.d/mysqld start

mysql初始化安全设置:

在之前的文章中有所描述,在此博文中将不做赘述;

[root@Lamp ~]# mysql_secure_installation 

进行了密码设置之后,直接mysql并不能进入到数据库中,需要 mysql -uroot -p062937 才可以进入。
在这里插入图片描述

5、安装PHP

安装PHP的依赖——libxml2-devel lib是功能库,xml是一种语言,大多数用来写模板的,支持PHP的。一般在扩展源里面都是有的;

[root@Lamp opt]# yum install -y libxml2-devel

解压PHP:

[root@Lamp opt]# tar xf php-5.6.13.tar.bz2 -C /usr/local/src/

编译安装:

[root@Lamp src]# cd php-5.6.13/
[root@Lamp php-5.6.13]# ./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql/ --with-apxs2=/usr/local/apache2.4/bin/apxs --with-config-file-path=/usr/local/php
[root@Lamp php-5.6.13]# echo $?
[root@Lamp php-5.6.13]# make -j8 && make install -j8

如下图:
php.ini-development 测试环境PHP配置文件
php.ini-production 生产环境PHP配置文件
在这里插入图片描述
将php.ini-production放置到安装路径,并修改名称为php.ini作为PHP的配置文件如下:

[root@Lamp php-5.6.13]# cp php.ini-production /usr/local/php/php.ini

查看apache控制php所使用的模块文件:
在这里插入图片描述

在PHP中添加时区:

[root@Lamp php-5.6.13]# vim /usr/local/php/php.ini

在这里插入图片描述

查看apache源码安装,默认页面的目录内容:

在这里插入图片描述

修改apache配置文件:
[root@Lamp htdocs]# vim /usr/local/apache2.4/conf/httpd.conf
修改内容如下:

在这里插入图片描述
在这里插入图片描述

增加index.php的文件:

[root@Lamp htdocs]# pwd
/usr/local/apache2.4/htdocs
[root@Lamp htdocs]# vim index.php

index.php内容如下:

<?php
        phpinfo();
 ?>   

重启apache:

[root@Lamp htdocs]# /etc/init.d/apachectl restart

关闭firewalld iptables Selinux,并用curl进行测试:

使用浏览器进行访问:
发现curl访问不到,查到最后是权限问题,如下:

在这里插入图片描述

需要修改index.php文件属主属组为apache用户,并重启Apache:
![在这里插入图片描述](https://img-blog.csdnimg.cn/2020092717282738.png#pic_cente

使用浏览器访问,可以看到PHP测试页面:

在这里插入图片描述

此时PHP只是一个测试页面,可以使用wordpress进行测试,如下:

上传wordpress:
在这里插入图片描述

由于是以 .zip 结尾,所以需要安装unzip:

[root@Lamp opt]# yum install -y unzip

解压wordpress:

[root@Lamp opt]# unzip wordpress-4.8.zip 

将解压的wordpress文件,全部cp到Apache中的htdocs目录下,并重启Apache:

[root@Lamp opt]# ll
total 115732
-rw-r--r-- 1 root root  1031613 May 30  2016 apr-1.5.2.tar.gz
-rw-r--r-- 1 root root   694427 May 30  2016 apr-util-1.5.4.tar.bz2
-rw-r--r-- 1 root root  5101005 May 30  2016 httpd-2.4.16.tar.bz2
drwx------ 2 root root        6 Jul  7  2016 lamp源码编译软件包
-rw-r--r-- 1 root root 53846945 Jun  1 23:44 lamp源码编译软件包.7z
-rw-r--r-- 1 root root 33278710 May 30  2016 mysql-5.6.26.tar.gz
-rw-r--r-- 1 root root  1557603 May 30  2016 pcre-8.37.tar.bz2
-rw-r--r-- 1 root root 14077633 May 30  2016 php-5.6.13.tar.bz2
drwxr-xr-x 5 root root     4096 Jun  8  2017 wordpress
-rw-r--r-- 1 root root  8901913 Jun  1 23:44 wordpress-4.8.zip
[root@Lamp opt]# cp -a wordpress/* /usr/local/apache2.4/htdocs/
[root@Lamp opt]# /etc/init.d/apachectl restart
[root@Lamp opt]# 

使用本地浏览器去访问业务:

在这里插入图片描述

定义数据库的名称、用户名、密码都为zhanggeng:
需要提前在mysql中进行创建
在这里插入图片描述

在Mysql中创建databases:内容如下,之前博文中有相关内容,不在赘述;

[root@Lamp ~]# mysql -uroot -p062937
Warning: Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 15
Server version: 5.6.26 Source distribution

Copyright (c) 2000, 2015, 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> create database zhanggeng;
Query OK, 1 row affected (0.01 sec)

mysql> grant all on zhanggeng.* to 'zhanggeng'@'localhost' identified by 'zhanggeng';
Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

mysql> 

创建好之后,在浏览器中的wordpress就可以进行下一步了;

在这里插入图片描述

点击Run the install 进行安装:

安装之后,进行Username 和 Password 的注册,以及site标题的设定,如下:
在这里插入图片描述

之后会注册成功,如下:
在这里插入图片描述

输入用户名和密码进入:
在这里插入图片描述

成功进入到博客页面,Site名称 执笔、画江山,进入之后可以进行更多的设置:
在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值