LAMP编译安装解决方案

目录

一、LAMP源码构建前期环境准备

1. 环境准备

2. 配置系统环境

3. 依赖软件安装

4. AMP软件安装注意事项

二、编译安装MySQL软件

1. 安装需求

2. MySQL安装详解

三、编译安装Apache软件

1. 源码安装依赖软件apr

2. 编译安装Apache软件(重点)

四、源码安装PHP软件

1. 安装说明

​编辑

2. 配置Apache与PHP

3、编写php测试脚本

五、使用LAMP部署Web项目

1. 下载wordpress博客系统

2. 解压

3. 创建一个项目目录

4. 配置虚拟主机(一台服务器多个项目)

5. 在数据库中创建一个blog数据库

6.  在Windows中配置本地DNS

7. 使用Google浏览器或Firefox浏览器安装博客


一、LAMP源码构建前期环境准备


1. 环境准备

系统环境:CentOS7.6

软件环境:AMP(Apache、MySQL、PHP)

2. 配置系统环境

1. 更改主机名称、配置IP地址

2. 关闭防火墙和SELinux               

关闭防火墙:   systemctl stop firewalld

                      systemctl disable firewalld

关闭SUlinux: setenforce 0              

                      vim /etc/selinux/config

                      修改: SELINUX=disabled

3.  配置yum源 

配置外网YUM源 => 阿里云

       第一步:使用cd命令切换到/etc/yum.repos.d目录

              cd /etc/yum.repos.d/

       第二步:对所有的仓库文件进行备份

             tar -zcf repo.tar.gz *.repo

       第三步:删除所有的以.repo结尾的仓库文件

             rm -rf *.repo

       第四步:查询当前服务器有哪些仓库

             yum repolist all


案例:配置阿里云的yum源

​​​​​​阿里巴巴开源镜像站-OPSX镜像站-阿里云开发者社区 (aliyun.com)

       第一步:百度搜索你想要的YUM源,进入官网,找到CentOS

       第二步:根据官网提示,配置阿里云的YUM源

       第三步:配置yum仓库

                     1. 清除 yum 的缓存:# yum clean all
                     2. 重新生成 yum 的缓存: # yum makecache

                     3.查询当前服务器有哪些yum仓库:# yum repolist all

3. 依赖软件安装

      yum install cmake pcre-devel ncurses-devel openssl-devel libcurl-devel  -y

4. AMP软件安装注意事项

          编译安装顺序:

          Apache——>MySQL——>PHP 或者  MySQL——>Apache——>PHP


二、编译安装MySQL软件


1. 安装需求

软件版本安装目录数据目录端口
mysql-5.6.31/usr/local/mysql/usr/local/mysql/data3306

2. MySQL安装详解

        第一步:创建一个mysql系统账号(注意没有这个账号mysql无法运行)

# useradd -r -s /sbin/nologin mysql

        第二步:对软件进行解压

# tar zxf mysql-5.6.31.tar.gz
# cd mysql-5.6.31

        第三步:使用cmake配置MySQL的安装向导

# cd mysql-5.6.31

# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql/ -DMYSQL_DATADIR=/usr/local/mysql/data -DENABLED_LOCAL_INFILE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DMYSQL_TCP_PORT=3306 -DDEFAULT_CHARSET=utf8mb4 -DDEFAULT_COLLATION=utf8mb4_general_ci -DWITH_EXTRA_CHARSETS=all -DMYSQL_USER=mysql

# make
# make install

!!!MySQL的安装成功后记得拍摄快照,以防出现问题后还要重新开始。

        第四步: 更改目录权限以及初始化数据库

# chown -R mysql.mysql /usr/local/mysql

# cd /usr/local/mysql

删除/etc/my.cnf文件,如果不删除此文件,会导致初始化失败
# rm -f /etc/my.cnf

初始化就是给mysql数据库一些初始化的数据(如账号、密码、数据文件,ll data)
# ./scripts/mysql_install_db --user=mysql

# ll data
这个目录如果产生了一个mysql的文件夹就代表初始化成功

       第五步:把mysql的启动脚本copy到/etc/init.d目录下,起一个名称叫做mysql

# cp support-files/mysql.server /etc/init.d/mysql
# service mysql start
env: /etc/init.d/mysql: 权限不够
# chmod +x /etc/init.d/mysql
# service mysql start
Starting MySQL. SUCCESS!

      第六步:设置密码与环境变量

# cd /usr/local/mysql
# bin/mysqladmin -u root password '123456'

      第七步:把/usr/local/mysql/bin目录添加到环境变量

# echo 'export PATH=$PATH:/usr/local/mysql/bin' >> /etc/profile
# source /etc/profile

# mysql -u root -p 
Enter password:123456
mysql> exit;


三、编译安装Apache软件


1. 源码安装依赖软件apr

安装apr软件:
# tar jxf apr-1.5.2.tar.bz2
# cd apr-1.5.2
# ./configure && make && make install

安装apr-util软件:
# tar -jxf apr-util-1.5.4.tar.bz2
# cd apr-util-1.5.4/
# ./configure --with-apr=/usr/local/apr/bin/apr-1-config  &&  make && make install  指定软件apr的路径

2. 编译安装Apache软件(重点)

第一步:解压软件

# yum remove httpd -y(检查是否已安装)
已加载插件:fastestmirror, langpacks
参数 httpd 没有匹配
不删除任何软件包

# tar xf httpd-2.4.37.tar.bz2
# cd httpd-2.4.37

第二步:编写apache.sh脚本进行软件安装

# vim apache.sh
./configure \
--enable-modules=all \
--enable-mods-shared=all \
--enable-so \
--enable-rewrite \
--with-pcre \
--enable-ssl \
--with-mpm=prefork \
--with-apr=/usr/local/apr/bin/apr-1-config \
--with-apr-util=/usr/local/apr/bin/apu-1-config

配置参数说明:

apache默认啥功能都没有,必须通过模块的进行添加!

# ./configure                                                      安装
--enable-modules=all                                        加载所有支持模块
--enable-mods-shared=all                                 共享方式加载大部分常用的模块
--enable-so                                                        启动动态模块加载功能
--enable-rewrite                                                 启用url地址重写功能
--enable-ssl                                                       编译ssl模块,支持https
--with-pcre                                                         支持正则表达式
--with-apr=/usr/local/apr/bin/apr-1-config          指定依赖软件apr路径
--with-apr-util=/usr/local/apr/bin/apu-1-config   指定编译时应该使用哪个APR和APR Util库
--with-mpm=prefork                                          插入式并行处理模块,称为多路处理模块,Prefork 是类UNIX平台上默认的MPM
(1)prefork
    多进程模型,每个进程响应一个请求
(2)worker
    多进程多线程模型,每个线程处理一个用户请求 
(3)event(最优)
    事件驱动模型,多进程模型,每个进程响应多个请求

第三步:给予x权限,然后make && make install

# chmod +x apache.sh
# ./apache.sh && make && make install

第四步:运行Apache软件

# cd /usr/local/apache2/
# bin/apachectl

这个错误消息是 Apache HTTP 服务器在启动时发出的一个警告,而不是一个致命错误。它告诉你 Apache 无法可靠地确定服务器的完全限定域名(FQDN),因此它使用了 IPv6 地址 fe80::20c:29ff:fe20:4a8e 作为回退。

要消除这个警告,你需要在 Apache 的配置文件中设置 ServerName 指令。这通常是在 httpd.conf 文件或者某个包含在 httpd.conf 中的其他配置文件中完成的。

重启 /usr/local/apache2/bin/apachectl  restart

重新启动不在出错


四、源码安装PHP软件


1. 安装说明

第一步:对软件进行解压缩

#  tar -Jxf ./php-7.2.17.tar.xz
# cd php-7.2.17

第二步:对php源码进行一个配置

# vim php.sh
./configure \
--with-apxs2=/usr/local/apache2/bin/apxs \
--with-mysqli \
--with-pdo-mysql \
--with-zlib \
--with-curl \
--enable-zip \
--with-gd \
--with-freetype-dir \
--with-jpeg-dir \
--with-png-dir \
--enable-sockets \
--with-xmlrpc \
--enable-soap \
--enable-opcache \
--enable-mbstring \
--enable-mbregex \
--enable-pcntl \
--enable-shmop \
--enable-sysvmsg \
--enable-sysvsem \
--enable-sysvshm \
--enable-calendar \
--enable-bcmath

给php.sh文件执行权限

# chmod +x php.sh
# ./php.sh

配置说明:

--with-apxs2=/usr/local/apache2/bin/apxs
指定apxs路径,apxs是一个为Apache HTTP服务器编译和安装扩展模块的工具
--with-mysql        php7中已被废弃
--with-mysqli    
--with-pdo-mysql
以上三个是php的扩展,用于连接mysql数据库的
--with-iconv-dir
--with-freetype-dir
--with-jpeg-dir
--with-png-dir
--with-gd
--with-zlib
--with-libxml-dir
这些都是在启用对某种文件的支持
--with-curl 和 --with-curlwrappers
用于支持 curl 函数,此函数允许你用不同的协议连接和沟通不同的服务器
--with-openssl,--with-mhash,--with-mcrypt
这都是和加密有关的参数,启用它们是为了让php可以更好的支持各种加密。
--enable-bcmath                            高精度数学运算组件。
--enable-shmop和 --enable-sysvsem        
使得你的PHP系统可以处理相关的IPC函数.IPC是一个Unix标准通讯机制,它提供了使得在同一台主机不同进程之间可以互相通讯的方法。
--enable-inline-optimization        栈堆指针和优化线程。
--enable-pcntl                            多线程优化。

with-apxs2        调用apache加载模块支持PHP
gd                  画图库
libiconv         字符变换转换
libmcrypt         字符加密
mcrypt              字符加密
mhash               哈希运算

第三步:解决PHP依赖关系

configure: error: libxml2 not found. Please check your libxml2 installation.

出现以上提示,代表php与其他软件存在依赖关系:

# yum install libxml2-devel -y

# yum install libjpeg-devel libpng-devel freetype-devel -y

第四步:编译+安装

./php.sh && make && make install

第五步:检查php有没有安装成功

ls /usr/local/apache2/modules/libphp7.so

2. 配置Apache与PHP

第一步:打开Apache的配置文件

# vim /usr/local/apache2/conf/httpd.conf
   207行 ServerName localhost:80     去除#号

第二步:配置Apache语言支持(支持中文)

159行 LoadModule negotiation_module modules/mod_negotiation.so 此模块打开注释
483行 Include conf/extra/httpd-languages.conf  打开此选项,扩展配置文件就生效了
...

第三步:开启对PHP的支持

166行 LoadModule php7_module modules/libphp7.so
AddHandler php7-script .php        
AddType text/html .php

第四步:添加index.php默认首页

//默认主页加上index.php,并放在index.html前,支持php的首页文件
<IfModule dir_module>
267行    DirectoryIndex index.php index.html
</IfModule>

第五步:让Apache优先支持中文

# vim /usr/local/apache2/conf/extra/httpd-languages.conf
19行 DefaultLanguage zh-CN      打开注释,默认语言集改为中文
78行 LanguagePriority zh-CN en ca cs da de el eo es et fr he hr it ja ko ltz nl nn no pl pt pt-BR ru sv tr zh-TW        语言集优先集,把zh-CN 写到前面

第六步:设置完成后,重启Apache软件

# cd /usr/local/apache2
# bin/apachectl -k restart
# bin/apachectl -k restart

备注:如果还不行,直接pkill httpd,然后bin/apachectl启动

3、编写php测试脚本

# cd /usr/local/apache2/htdocs                   htdocs就是apache的默认项目目录
# rm -f index.html
# vim index.php
<?php
        phpinfo();
?>

# cd /usr/local/apache2/
# bin/apachectl -k restart


五、使用LAMP部署Web项目


1. 下载wordpress博客系统

wordpress-4.7.3-zh_CN.tar.gz

2. 解压

# tar zxf wordpress-4.7.3-zh_CN.tar.gz

3. 创建一个项目目录

# mkdir /www
# mv wordpress /www/blog

# chown -R daemon.daemon /www/blog/

4. 配置虚拟主机(一台服务器多个项目)

正常情况下:/usr/local/apache2/htdocs目录下(相当于/var/www/html)

一台服务器多个项目:使用虚拟主机

第一步:在httpd.conf配置文件中开启虚拟主机的配置文件

# vim /usr/local/apache2/conf/httpd.conf
# Virtual hosts
492行 Include conf/extra/httpd-vhosts.conf        //打开加载虚拟主机配置文件

第二步:在/usr/local/apache2/conf/extra/httpd-vhosts.conf定义项目

# vim /usr/local/apache2/conf/extra/httpd-vhosts.conf

第三步:重启Apache

# cd /usr/local/apache2
# bin/apachectl -k stop
# bin/apachectl

5. 在数据库中创建一个blog数据库

# mysql -u root -p
Enter password:123
mysql> create database blog default charset utf8;

mysql> exit

6.  在Windows中配置本地DNS

运行(Windows + R) => drivers + 回车:C:\Windows\System32\drivers\etc\hosts

7. 使用Google浏览器或Firefox浏览器安装博客

第一次访问:报403 Forbidden

原因:默认情况下,httpd不允许其他主机访问项目目录

解决方案:

# vim /usr/local/apache2/conf/httpd.conf

重启   #  ./bin/apachectl -k restart 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值