Apache简介

源于A Patchy Server,著名的开源Web服务软件
1995年时,发布Apache服务程序的1.0版本
由Apache软件基金会(ASF)负责维护
最新的名称为“Apache HTTPServer”
官方站点:http://httpd.apache.org/

主要特点
开发源代码、跨平台应用
支持多种网页编程语言
模块化设计、运行稳定、良好的安全性
软件版本
1.X
目前最高版本1.3,运行稳定
向下兼容性较好,但缺乏一些较新的功能
2.X
目前最高版本是2.4
具有更高的功能特性
与1.X相比,配置管理风格存在较大差异

编译安装httpd服务器

编译安装的优点
具有较大的自由度,功能可定制
可及时获得最新的软件版本
普遍适用于大多数Linux版本,便于移植使用
获得Apache服务器的源码包
参考地址:http://httpd.apache.org/download.cgi

http服务的目录和结构

主要目录和文件
服务目录:/usr/local/httpd/
主配置文件:/usr/local/httpd/conf/httpd.conf
网页目录:/usr/local/httpd/htdocs/
服务脚本:/usr/local/httpd/bin/apachectl
执行程序:/usr/local/httpd/bin/httpd
访问日志:/usr/local/httpd/log/access_log
错误日志:/usr/local/httpd/log/error_log

安装httpd服务器基本配置

通过xftp将文件httpd-2.4.29.tar apr-1.6.2.tar apr-util-1.6.0.tar传到ip20.0.0.11的/opt目录下
[[email protected] ~]# cd /opt
[[email protected] opt]# ll
总用量 8020
-rw-r–r--. 1 root root 1071074 10月 26 17:24 apr-1.6.2.tar.gz
-rw-r–r--. 1 root root 565507 10月 26 17:24 apr-util-1.6.0.tar.gz
-rw-r–r--. 1 root root 6567926 10月 26 17:24 httpd-2.4.29.tar.bz2
[[email protected] opt]# tar xf apr-1.6.2.tar.gz
[[email protected] opt]# tar xf apr-util-1.6.0.tar.gz
[[email protected] opt]# tar xf httpd-2.4.29.tar.bz2
[[email protected] opt]# yum -y install bzip2
[[email protected] opt]# systemctl status firewalld
[[email protected] opt]# setenforce 0
[[email protected] opt]# cd httpd-2.4.29/
[[email protected] httpd-2.4.29]# ll
drwxr-xr-x. 2 501 games 25 10月 18 2017 srclib
[[email protected] httpd-2.4.29]# cd …
[[email protected] opt]# mv apr-1.6.2 httpd-2.4.29/srclib/apr
[[email protected] opt]# mv apr-util-1.6.0 httpd-2.4.29/srclib/apr-util
[[email protected] opt]#yum -y install
gcc
gcc-c++
make
pcre-devel
expat-devel
perl
[[email protected] opt]# cd httpd-2.4.29/
[[email protected] httpd-2.4.29]# ./configure
–prefix=/usr/local/httpd
–enable-so
–enable-rewrite
–enable-charset-lite
–enable-cgi
[[email protected] httpd-2.4.29]# make && make install
make[1]: 离开目录“/opt/httpd-2.4.29”
[[email protected] httpd-2.4.29]# ln -s /usr/local/httpd/conf/httpd.conf /etc/
[[email protected] httpd-2.4.29]# ln -s /usr/local/httpd/bin/* /usr/local/bin/
[[email protected] httpd-2.4.29]# ls
httpd
[[email protected] httpd-2.4.29]# cd /usr/local/bin/
[[email protected] bin]# ls
httpd
[[email protected] bin]# httpd -v
Server version: Apache/2.4.29 (Unix)
Server built: Oct 26 2020 19:11:10
[[email protected] bin]# cd /lib/systemd/system
[[email protected] system]# vi httpd.service
清空所有添加以下内容
[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
[[email protected] system]# systemctl start httpd
[[email protected] system]# systemctl status httpd
Active: active (running) since 一 2020-10-26 19:31:42 CST; 2min 1s ago
[[email protected] system]# systemctl is-enabled httpd
disabled
[[email protected] system]# systemctl enable httpd
Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.
[[email protected] system]# systemctl is-enabled httpd
enabled
[[email protected] system]# vi /etc/httpd.conf
#ServerName www.example.com:80→ServerName www.51xit.top:80
[[email protected] system]# systemctl restart httpd
[[email protected] system]# httpd -t
Syntax OK
修改hotst c盘文件 以下为效果图
源码编译安装LAMP
源码编译安装LAMP
源码编译安装LAMP

构建虚拟主机

虚拟Web主机
在同一台服务器中运行多个Web站点,其中每一个站点并不独立占用一台真正的计算机
httpd支持的虚拟主机类型
基于域名的虚拟主机
基于IP地址的虚拟主机
基于端口的虚拟主机

实验:基于域名
在hosts文件中最后一行添加成
20.0.0.11 www.51xit.top www.52xit.top
效果图如下:
源码编译安装LAMP
[[email protected] system]# cd /opt
[[email protected] opt]# ll
总用量 8024
-rw-r–r--. 1 root root 1071074 10月 27 10:03 apr-1.6.2.tar.gz
-rw-r–r--. 1 root root 565507 10月 27 10:03 apr-util-1.6.0.tar.gz
drwxr-xr-x. 12 501 games 4096 10月 27 10:21 httpd-2.4.29
-rw-r–r--. 1 root root 6567926 10月 27 10:03 httpd-2.4.29.tar.bz2
[[email protected] opt]# mkdir -p /opt/51xit/
[[email protected] opt]# mkdir -p /opt/52xit/
源码编译安装LAMP
[[email protected] opt]# vi /etc/httpd.conf 修改配置文件
ServerName www.51xit.top:80 →#ServerName www.51xit.top:80
#Include conf/extra/httpd-vhosts.conf→Include conf/extra/httpd-vhosts.conf
[[email protected] opt]# cd /usr/local/httpd/conf/extra/
[[email protected] extra]# vi httpd-vhosts.conf 修改配置
清空所有内容,并添加以下内容
源码编译安装LAMP
源码编译安装LAMP
[[email protected] extra]# systemctl restart httpd
以下为实验效果图
源码编译安装LAMP
源码编译安装LAMP

实验:基于ip地址(还原上个实验的快照)(接第一个实验快照)

添加一块网卡
源码编译安装LAMP
[[email protected] ~]# nmcli connection
名称 UUID 类型 设备
ens33 58b3372f-84f2-4487-be61-854fe1af37ac 802-3-ethernet ens33
virbr0 e22ac657-eb17-4c30-932b-3223b704a4c6 bridge virbr0
有线连接 1 aca4be12-493a-3666-ad85-fbf7076bdf29 802-3-ethernet ens37
[[email protected] network-scripts]# cd /etc/sysconfig/network-scripts/
[[email protected] network-scripts]# cp ifcfg-ens33 ifcfg-ens37
[[email protected] network-scripts]# vi ifcfg-ens37
记得要复制ens37的uuid 修改ens33 uuid ip
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
IPADDR=20.0.0.12
NETMASK=255.255.255.0
GATEWAY=20.0.0.2
DNS=20.0.0.2
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens37
UUID=aca4be12-493a-3666-ad85-fbf7076bdf2
DEVICE=ens37
ONBOOT=yes

测试新加的网卡是否正常上网,以下为效果图
源码编译安装LAMP
若ping不通尝试输入ifup ens36进行测试

再次修改c盘hosts文档为
20.0.0.11 www.51xit.top
20.0.0.12 www.52xit.top
以下为实验效果图
源码编译安装LAMP
[[email protected] network-scripts]# cd /opt
[[email protected] opt]# ll
总用量 0
drwxr-xr-x. 2 root root 6 3月 26 2015 rh
[[email protected] opt]# mkdir -p /opt/51xit
[[email protected] opt]# mkdir -p /opt/52xit
源码编译安装LAMP

[[email protected] opt]# vi /etc/httpd.conf
#ServerName www.51xit.top:80
Include conf/extra/httpd-vhosts.conf
[[email protected] opt]# cd /usr/local/httpd/conf/extra/
[[email protected] extra]# vi httpd-vhosts.conf
清空所有内容,并添加以下内容
源码编译安装LAMP
[[email protected] extra]# systemctl restart httpd
[[email protected] system]# httpd -t
AH00558: httpd: Could not reliably determine the server’s fully qualified domain name, using fe80::dd93:109b:6687:3f08. Set the ‘ServerName’ directive globally to suppress this message
Syntax OK

实验效果图(该实验在配置好Apache的基础上进行操作)
源码编译安装LAMP
源码编译安装LAMP
源码编译安装LAMP

实验:基于端口

hosts改为20.0.0.11 www.51xit.top www.52xit.top
[[email protected] extra]# vi httpd-vhosts.conf
<VirtualHost 20.0.0.12:80>→<VirtualHost 20.0.0.11:8080>
[[email protected] extra]#systemctl restart httpd
[[email protected] extra]#vi /etc/httpd.conf
Listen 80 #Listen 80
Listen 20.0.0.11:80
Listen 20.0.0.11:8080
[[email protected] extra]#systemctl restart httpd
[[email protected] extra]# httpd -t

测试效果
源码编译安装LAMP
源码编译安装LAMP

MySQL的编译安装

源码编译安装LAMP
[[email protected] ~]# useradd -s /sbin/nologin mysql
[[email protected] ~]# cd /opt
[[email protected] opt]# ll
-rw-r–r--. 1 root root 48833145 10月 27 12:23 mysql-boost-5.7.20.tar.gz
[[email protected] mysql-5.7.20]# tar zxvf mysql-boost-5.7.20.tar.gz
[[email protected] mysql-5.7.20]# cd mysql-5.7.20/
[[email protected] mysql-5.7.20]# cmake
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock
-DSYSCONFDIR=/etc
-DSYSTEMD_PID_DIR=/usr/local/mysql
-DDEFAULT_CHARSET=utf8
-DDEFAULT_COLLATION=utf8_general_ci
-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_ARCHIVE_STORAGE_ENGINE=1
-DWITH_BLACKHOLE_STORAGE_ENGINE=1
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1
-DMYSQL_DATADIR=/usr/local/mysql/data
-DWITH_BOOST=boost
-DWITH_SYSTEMD=1
[[email protected] mysql-5.7.20]# make && make install
[email protected] mysql-5.7.20]# cd /usr/local/
[[email protected] local]# chown -R mysql:mysql /usr/local/mysql/
[[email protected] local]# vi /etc/my.cnf
[client]
port = 3306
default-character-set=utf8
socket = /usr/local/mysql/mysql.sock

[mysql]
port = 3306
default-character-set=utf8
socket = /usr/local/mysql/mysql.sock

[mysqld]
user = mysql
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
port = 3306
character_set_server=utf8
pid-file = /usr/local/mysql/mysqld.pid
socket = /usr/local/mysql/mysql.sock
server-id = 1

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,PIPES_AS_CONCAT,ANSI_QUOTES

[[email protected] local]# cd /etc
[[email protected] etc]# chown mysql:mysql /etc/my.cnf
echo ‘PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH’ >> /etc/profile
echo ‘export PATH’ >> /etc/profile
source /etc/profile
[[email protected] etc]# cd /usr/local/mysql/
[[email protected] mysql]# cd bin/
[[email protected] bin]# mysqld
–initialize-insecure
–user=mysql \
–basedir=/usr/local/mysql
–datadir=/usr/local/mysql/data
[[email protected] bin]# cd …
[[email protected] bin]#cp usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/
[[email protected] mysql]# systemctl enable mysqld
[[email protected] mysql]# systemctl start mysqld.service
[[email protected] mysql]# systemctl status mysqld.service
[[email protected] mysql]# netstat -anpt | grep 3306
[[email protected] mysql]#
Enter password:
附加:初始化密码[[email protected] mysql]# mysqladmin -u root -p password 先回车 再输入密码

LAMP平台概述

什么是LAMP
目前最为成熟的一种企业网站应用模式,可提供动态web站点应用及开发环境
构成组件
Linux、Apache、MySQL、PHP等
LAMP优势
成本低廉
可定制、易于开发
方便易用、安全和稳定

安装PHP软件包

准备工作
确认没有使用RPM方式安装php及相关依赖包
安装扩展工具库
数据库加密工具libmcrypt、mhash、mcrypt

源码编译安装LAMP

将通过xftp 将php-7.1.10.tar传给ip为20.0.0.11的opt目录下
[[email protected] ~]# cd /opt/
[[email protected] opt]# tar xjvf php-7.1.10.tar.bz2
[[email protected] opt]# cd /proc/
[[email protected] proc]# cd /opt
[[email protected] opt]# cd php-7.1.10
源码编译安装LAMP
源码编译安装LAMP
[[email protected] php-7.1.10]# make && make install
[[email protected] php-7.1.10]# cp php.ini-development /usr/local/php/lib/php.ini
[[email protected] php-7.1.10]# cd /usr/local/php/lib/
[[email protected] lib]# vi php.ini
mysqli.default_socket = /usr/local/mysql/mysql.sock
date.timezone = Asia/Shanghai
[[email protected] lib]# /usr/local/php/bin/php -m
[[email protected] lib]# vi /etc/httpd.conf
AddType application/x-gzip .gz .tgz //下面添加如下两行
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

DirectoryIndex index.php index.html

Virtual hosts
#Include conf/extra/httpd-vhosts.conf
[[email protected] lib]# cd /usr/local/httpd/htdocs/
[[email protected] htdocs]# rm -rf index.html
[[email protected] htdocs]#vi /usr/local/httpd/htdocs/index.php

<?php phpinfo(); ?>

[[email protected] htdocs]# systemctl restart httpd
实验效果
源码编译安装LAMP
下面测试数据库工作是否正常
[[email protected] htdocs]#vi /usr/local/httpd/htdocs/index.php

<?php $link=mysqli_connect('20.0.0.11','myadm','admin123'); if($link) echo "

Success!!

"; else echo "Fail!!"; ?>

验证成功效果图
源码编译安装LAMP

部署phpMyAdmin系统

PhpMyadmin数据库管理套件
使用PHP语言编写
通过Web界面对MySQL数据库进行管理
官方网站:http://www.phpmyadmin.net

解包并复制到网站目录
建立配置文件config.inc.php
访问phpMyAdmin的Web管理界面
在浏览器中访问http://www.kgc.com/phpMyAdmin/

使用phpMyAdmin系统
创建新的库、新的表
表及数据记录的管理
直接执行MySQL查询语句

安装phpMyAdmin

将 phpMyAdmin-4.7.6-all-languages 通过xft传输到ip为20.0.0.11的目录下
[[email protected] htdocs]# cd /opt
[[email protected] opt]# yum -y install unzip
[[email protected] opt]# unzip phpMyAdmin-4.7.6-all-languages.zip
[[email protected] opt]# mv phpMyAdmin-4.7.6-all-languages /usr/local/httpd/htdocs/myadm
[[email protected] opt]# cd /usr/local/httpd/htdocs/myadm
[[email protected] myadm]# cp config.sample.inc.php config.inc.php
[[email protected] myadm]# vi config.inc.php
源码编译安装LAMP
效果图
源码编译安装LAMP

相关文章: