源代码编译安装LAMP

Apache简介

        主要特点

                开放源代码,跨平台应用

                支持多种网页编程程序

                模块化设计,运行稳定,良好得安全性

        软件版本

                1.X

                        目前最高版本是1.3,运行稳定

                        向下兼容性较好,但缺乏一些较新得功能

                2.X

                        目前最高版本是2.4
                        具有更多的功能特性
                        与1.x相比,配置管理风格存在较大差异

        编译安装得优点

                具有较大得自由度,功能可定制

                可及时获得最新的软件版本

                普通适用于大多数Linux版本,便于移植使用

编译安装

                1.查询是否具有apache服务,防止包冲突

rpm -qa | grep httpd

                2.准备环境

yum -y install gcc gcc-* make
yum -y install apr-util-devel pcre-devel zlib-devel    //安装apace需要得依赖包

                        由于CentOS7系统不维护了,下载会缓慢,可以更改为国内地址

curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo

                3.上传软件包httpd得软件包并效验其完整性

[root@bogon ~]# ls
anaconda-ks.cfg  httpd-2.4.25.tar.gz
[root@bogon ~]# md5sum httpd-2.4.25.tar.gz //效验完整性
24fb8b9e36cf131d78caae864fea0f6a  httpd-2.4.25.tar.gz
[root@bogon ~]# 

                3.解压软件包,到指定路径并下载所需得模块功能

[root@bogon ~]# tar zxf httpd-2.4.25.tar.gz -C /usr/src/
[root@bogon ~]# ls /usr/src/
debug  httpd-2.4.25  kernels
[root@bogon ~]# cd /usr/src/httpd-2.4.25/
[root@bogon httpd-2.4.25]# ./configure -prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-charset-list --enable-cgi

                4.编译安装

make && makeinstall

                         检测是否成功

                        echo $?   检测返回值是否是0

                        ls /usr/local/httpd/ 路径是否有对应得安装包

[root@bogon httpd-2.4.25]# echo $?
0
[root@bogon httpd-2.4.25]# ls /usr/local/httpd/
bin  build  cgi-bin  conf  error  htdocs  icons  include  logs  man  manual  modules
[root@bogon httpd-2.4.25]# 

                5.启动服务

[root@bogon httpd-2.4.25]# ls /usr/local/httpd/bin/     //启动服务
ab  apachectl  apxs  checkgid  dbmmanage  envvars  envvars-std  fcgistarter  htcacheclean  htdbm  htdigest  htpasswd  httpd  httxt2dbm  logresolve  rotatelogs
[root@bogon httpd-2.4.25]# ln -s /usr/local/httpd/bin/* /usr/local/bin    //由于是源代码包,所以需要把他链接到环境变量中
[root@bogon httpd-2.4.25]# apachectl -t    //检测服务配置文件是否正确
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1. Set the 'ServerName' directive globally to suppress this message
Syntax OK

                6.调用apache http服务得脚本 监听80端口号是否启用

[root@bogon httpd-2.4.25]# apachectl 
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1. Set the 'ServerName' directive globally to suppress this message
[root@bogon httpd-2.4.25]# netstat -nlpt | grep 80
tcp6       0      0 :::80                   :::*                    LISTEN      18378/httpd         
[root@bogon httpd-2.4.25]# 

                7.尝试通过 HTTP 或 HTTPS 协议从 IP 地址 192.168.27.131 的服务器上获取内容

 curl http://192.168.27.131:80

                        1.关闭   : apachectl stop

                8.启动systemctl 管理apache http(因为其缺少services文件,所以配置上)

cat > /lib/systemd/system/httpd.service << 'EOF'
[Unit]
Description=The Apache HTTP Server
After=network.target
[Service]
Type=forking
PIDFile=/usr/local/httpd/logs/httpd.pid
ExecStart= /usr/local/bin/apachectl $OPTIONS
ExecrReload= /bin/kill -HUP $MAINPID
[Install]
WantedBy=multi-user.target
EOF

        1.验证是否是开机自启动(启动服务,设置开机自启动)

[root@bogon ~]# systemctl is-enabled httpd
enabled
[root@bogon ~]# 

虚拟主机

        虚拟web主机

                在同一台服务器中运行多个Web站点,其中每一个站点并不独立占用一台真正得计算机

        httpd支持得虚拟主机类型

                基于域名得虚拟主机

                基于IP地址得虚拟主机

                基于端口得虚拟主机 

        1.基于域名的虚拟主机

                1.

# 为虚拟主机准备网页文档
mkdir -p /var/www/html/kgccom
mkdir -p /var/www/html/kccecom
echo "<h1>www.kgc.com</h1>"> /var/www/html/kgccom/index.html
echo "<h1>www.kcce.com</h1>"> /var/www/html/kccecom/index.html

                2.修改文件

<VirtualHost *:80>
    DocumentRoot "/var/www/html/kgccom"
    ServerName www.kgc.com
    ErrorLog "logs/www.kgc.com.error_log"
    CustomLog "logs/www.kgc.com.access_log" common
<Directory "/var/www/html">
    Require all granted
</Directory>
</VirtualHost>


<VirtualHost *:80>
    DocumentRoot "/var/www/html/kccecom"
    ServerName www.kcce.com
    ErrorLog "logs/www.kcce.com.error_log"
    CustomLog "logs/www.kcce.com.access_log" common
<Directory "/var/www/html">
    Require all granted
</Directory>
</VirtualHost>

                3.                

                4.检测上一步配置是否正确  apachectl -t

                5.重启服务   systemctl restart httpd

                6.开启一台桌面版验证

                        1.修改/etc/hosts文件

                        2.修改为对应自己得配置                        3.在桌面版浏览器输入配置得地址查看验证

        2.基于端口的虚拟主机

                修改配置

<VirtualHost 192.168.27.131:81>
    DocumentRoot "/var/www/html/kgccom"
    ServerName www.kgc.com
    ErrorLog "logs/www.kgc.com.error_log"
    CustomLog "logs/www.kgc.com.access_log" common
<Directory "/var/www/html">
    Require all granted
</Directory>
</VirtualHost>

<VirtualHost 192.168.27.131:82>
    DocumentRoot "/var/www/html/kccecom"
    ServerName www.kcce.com
    ErrorLog "logs/www.kcce.com.error_log"
    CustomLog "logs/www.kcce.com.access_log" common
<Directory "/var/www/html">
    Require all granted
</Directory>
</VirtualHost>

        修改主配置在53行左右,添加如图信息

                重启httpd服务,验证

[root@bogon ~]# curl 192.168.27.131:81
<h1>www.kgc.com</h1>
[root@bogon ~]# curl 192.168.27.131:82
<h1>www.kcce.com</h1>
[root@bogon ~]# 

LAMP平台

        什么是LAMP

                目前最为成熟的一种企业网站应用模式,可提供动态Web站点应用及开发环境

        构成组件

                Linux、apache、MySQL、PHP/Perl/python

        LAMP的优势

                成本低廉

                可定制、易于开发

                方便易用,安全和稳定

配置LAMP

1. 安装配置apache
#!/bin/bash
#编译安装基础环境
yum -y install gcc gcc-* make
yum -y install apr-util-devel pcre-devel zlib-devel apr
#效验完整性
md5sum httpd-2.4.25.tar.gz
#解析包到指定位置
tar zxf httpd-2.4.25.tar.gz -C /usr/src/
#切换到该目录
cd /usr/src/httpd-2.4.25/
#查看一下,设置安装目录
ls
./configure --prefix=/usr/local/httpd
#检测上一步的安装是否正确
echo $?
#make编译生成可执行的二进制文件
make
#复制二进制文件到系统,配置应用环境
make install
#软连接到服务上,可以使用systemctl 管理服务
ln -s /usr/local/httpd/bin/* /usr/local/bin
cat > /lib/systemd/system/httpd.service << 'EOF'
[Unit]
Description=The Apache HTTP Server
After=network.target
[Service]
Type=forking
PIDFile=/usr/local/httpd/logs/httpd.pid
ExecStart= /usr/local/bin/apachectl $OPTIONS
ExecrReload= /bin/kill -HUP $MAINPID
[Install]
WantedBy=multi-user.target
EOF
systemctl enable httpd.service
systemctl start httpd.service
2.优化路径
# 优化执行路径
ln -s /usr/local/httpd/bin/* /usr/local/bin
ls -l /usr/local/bin/httpd /usr/local/bin/apachectl

# 添加为系统服务
cat > /lib/systemd/system/httpd.service << 'EOF'
[Unit]
Description=The Apache HTTP Server
After=network.target
[Service]
Type=forking
PIDFile=/usr/local/httpd/logs/httpd.pid
ExecStart= /usr/local/bin/apachectl $OPTIONS
ExecrReload= /bin/kill -HUP $MAINPID
[Install]
WantedBy=multi-user.target
EOF
systemctl enable httpd.service
3.更换yum源
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
 4。安装MySQL
5.数据库验证 
6. 安装PHP的依赖与安装(上传包libmcrypt-2.5.8.tar.gz)
# 卸载相关包,避免冲突
rpm -e php php-cli php-ldap php-common php-mysql --nodeps

# 安装依赖
yum -y install zlib-devel libxml2-devel xz-devel
        1.解压配置,编译,软连接
tar zxf libmcrypt-2.5.8.tar.gz -C /usr/src/
cd /usr/src/libmcrypt-2.5.8/
./configure
make && make install
ln -s /usr/local/lib/libmcrypt.* /usr/lib/
cd
        2.上传包( mhash-0.9.9.9.tar.gz)编译安装
# 安装 mhash
tar zxf mhash-0.9.9.9.tar.gz -C /usr/src/
cd /usr/src/mhash-0.9.9.9/
./configure
make && make install
ln -s /usr/local/lib/libmhash* /usr/lib/
cd
        3.上传编译(mcrypt-2.6.8.tar.gz)
# 安装 mcrypt
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH    //声明环境变量,避免报错
tar zxf mcrypt-2.6.8.tar.gz -C /usr/src/
cd /usr/src/mcrypt-2.6.8/
./configure
make && make install
        4.上传php包(php-5.5.38.tar.gz)
tar zxf php-5.5.38.tar.gz -C /usr/src
cd /usr/src/php-5.5.38
./configure --prefix=/usr/local/php5 \
--with-mcrypt \
--with-apxs2=/usr/local/httpd/bin/apxs \
--with-mysql=/usr/local/mysql \
--with-mysqli=/usr/local/mysql/bin/mysql_config \
--with-config-file-path=/usr/local/php5 \
--enable-mbstring

# --prefix:指定将 PHP 程序安装到哪个目录下,如/usr/local/php5
# --with-mcrypt:加载数据加密等扩展工具支持
# --with-apxs2:设置 Apache HTTP Server 提供的 apxs 模块支持程序的文件位置
# --with-mysql:设置 MySQL 数据库服务程序的安装位置
# --with-mysqli:添加 MySQL 扩展支持
# --with-config-file-path:设置 PHP 的配置文件 php.ini 将要存放的位置
# --enable-mbstring:启用多字节字符串功能,以便支持中文等代码

                1.如果报错                2.复制修改配置文件vi /usr/local/httpd/bin/apxs

                3.修改声明解释器                4.重新执行

./configure --prefix=/usr/local/php5 \
--with-mcrypt \
--with-apxs2=/usr/local/httpd/bin/apxs \
--with-mysql=/usr/local/mysql \
--with-mysqli=/usr/local/mysql/bin/mysql_config \
--with-config-file-path=/usr/local/php5 \
--enable-mbstring

#执行成功后,make && make install
cd
cp /usr/src/php-5.5.38/php.ini-development /usr/local/php5/php.ini
vi /usr/local/php5/php.ini


#在680行左右修改

 

改完之后保存退出

上传 包(zend-loader-php5.5-linux-x86_64_update1.tar.gz)

tar zxf zend-loader-php5.5-linux-x86_64_update1.tar.gz -C /usr/src
cd /usr/src/zend-loader-php5.5-linux-x86_64/
cp ZendGuardLoader.so /usr/local/php5/lib/php

zend_extension=/usr/local/php5/lib/php/ZendGuardLoader.so
zend_loader.enable=1

 检测是否有这行,不存在说明上诉操作有误

AddType application/x-httpd-php .php

 

 配置完后,重启服务 systemctl restart httpd

 编辑测试文件

vi /usr/local/httpd/htdocs/test1.php


<?php
phpinfo( );
?>

vi /usr/local/httpd/htdocs/test2.php

<?php
$link=mysqli_connect('localhost','root','123.com');
if($link) echo "MySQL is OK !!";
mysqli_close($link);
?>

在自带浏览器中输入服务的IP地址跟路径,查看是否有页面

 解压配置用于管理 MySQL 或 MariaDB 数据库的工具包(phpMyAdmin-4.7.2-all-languages.tar.gz)

tar zxvf phpMyAdmin-4.7.2-all-languages.tar.gz
mv phpMyAdmin-4.7.2-all-languages/ /usr/local/httpd/htdocs/phpMyAdmin
cd /usr/local/httpd/htdocs/phpMyAdmin
cp config.sample.inc.php config.inc.php
cd ..
ls

  • 27
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值