理论+实验·手工编译安装LAMP架构===>Apache,MySQL,PHP,安装论坛

理论+实验·手工编译安装LAMP架构===>Apache,MySQL,PHP

文章目录

  • 理论+实验·手工编译安装LAMP架构===>Apache,MySQL,PHP
    • LAMP平台概述
        • 什么是LAMP
        • 构成组件
        • LAMP的优势
    • Apache简介
        • Apache起源
        • 主要特点
        • 软件版本
    • 编译安装httpd服务器
        • 编译安装的优点
        • 获得Apache服务器的源码包
    • httpd服务的目录结构
        • 主要目录和文件
        • Web站点部署过程
    • httpd.conf配置文件
        • 常见的全局配置参数
    • Apache实验
        • 实验环境
        • 实验步骤
        • 实验结果
    • MySQL实验
        • 实验环境
        • 实验步骤
        • 实验结果
    • PHP实验
        • 实验环境
        • 实验步骤
        • 实验结果
    • 安装论坛
        • 实验环境
        • 实验步骤
        • 实验结果

LAMP平台概述

什么是LAMP

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

构成组件

​ Linux;Apache;MySQL;PHP/Perl/Python

LAMP的优势

​ 成本低廉

​ 可定制,易于开发

​ 方便易用,安全和稳定

Apache简介

Apache起源

​ 源于A Patchy Server,著名的开源Web服务软件

​ 1995年时,发布Apache服务程序的1.0版本

​ 由Apache软件基金会(ASF)负责维护

​ 最新的名称为"Apache HTTP Server"

​ 官方站点: http://httpd.apache.org/

主要特点

​ 开放源代码、跨平台应用

​ 支持种网页编程语言

​ 模块化设计、运行稳定、良好的安全性

软件版本

​ 1.X

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

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

​ 2.X

​ 目前最高版本是2.4

​ 具有更多的功能特性

​ 与1.X相比,配置管理风格存在较大差异

编译安装httpd服务器

编译安装的优点

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

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

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

获得Apache服务器的源码包

​ 参考地址: http://httpd.apache.org/download.cgi

httpd服务的目录结构

主要目录和文件

​ 服务目录: /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

Web站点部署过程

​ 1:确定网站名字,IP地址

​ 2:配置并启动httpd服务

​ 3:部署网页文档

​ 4:在客户机中访问Web站点

​ 5:查看Web站点访问情况

httpd.conf配置文件

常见的全局配置参数

​ ServerRoot:服务目录

​ Listen:监听的IP地址、端口号

​ User:运行服务的用户身份

​ Group:运行服务的组身份

​ ServerAdmin:管理员邮箱

​ ServerName:网站服务器的域名

​ DocumentRoot:网页文档的根目录

​ Directorylndex:默认的索引页 文件

​ ErrorLog:设置错误日志文件的路径

​ LogLevel:记录日志的级别,默认为warn

​ CustomLog:访问日志文件的位置

​ PidFile:保存httpd进程PID号的文件

​ AddDefaultCharset:设置站点中网页默认的字符集编码

​ Timeout:网络连接超时,默认为300秒

​ KeepAlive:是否保持连接,可选On或Off

​ MaxKeepAliveRequests:每次连接最多请求文件数

​ KeepAliveTimeout:保持连接状态时的超时时间

​ Include:需要包含进来的其他配置文件

Apache实验

实验环境

CentOS 7.6

相关源码包

实验步骤

#解压缩源码包
[root@hostname apache]# tar jxvf httpd-2.4.29.tar.bz2
[root@hostname apache]# tar zxvf apr-1.6.2.tar.gz 
[root@hostname apache]# tar zxvf apr-util-1.6.0.tar.gz 
#将解压后的源码包放入apr与apr-util
[root@hostname apache]# mv apr-1.6.2 httpd-2.4.29/srclib/apr
[root@hostname apache]# mv apr-util-1.6.0 httpd-2.4.29/srclib/apr-util
#切换目录后进行后续操作
[root@hostname apache]# cd httpd-2.4.29/
#安装一些必需的工具
[root@hostname httpd-2.4.29]# yum -y install \
gcc \
gсc-c++ \
make \
pcre-devel \
expat-devel \
perl
#设置安装路径等相关配置信息
[root@hostname httpd-2.4.29]# ./configure \
--prefix=/usr/local/httpd \
--enable-so \
--enable-rewrite \
--enable-charset-lite \
--enable-cg
#编译安装
[root@hostname httpd-2.4.29]# make && make install
#将apachectl拷贝到init.d目录下方便后续直接使用service调用
[root@hostname httpd-2.4.29]# cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd
#修改配置文件信息
[root@hostname httpd-2.4.29]# vim /etc/init.d/httpd
#!/bin/sh
#chkconfig: 35 85 21								===>自行添加
#description: Apache is a World Wide Web server		===>自行添加
......
#修改配置文件信息
[root@hostname httpd-2.4.29]# vim /usr/local/httpd/conf/httpd.conf 
......
ServerName www.test.com:80
......
Listen 20.0.0.10:80
#Listen 80
......
#建立软链接方便后续操作
[root@hostname httpd-2.4.29]# ln -s /usr/local/httpd/conf/httpd.conf /etc/
[root@hostname httpd-2.4.29]# ln -s /usr/local/httpd/bin/* /usr/local/bin/
#关闭防火墙跟核心防护
[root@hostname httpd-2.4.29]# systemctl stop firewalld
[root@hostname httpd-2.4.29]# setenforce 0
#开启服务
[root@hostname httpd-2.4.29]# service httpd start

实验结果

在网页上面输入"20.0.0.10"测试

理论+实验·手工编译安装LAMP架构===>Apache,MySQL,PHP,安装论坛_第1张图片

MySQL实验

实验环境

CentOS 7.6

相关源码包

实验步骤

#解压缩源码包
[root@hostname mysql]# tar zxvf mysql-5.6.26.tar.gz 
#进入该目录进行后续操作
[root@hostname mysql]# cd mysql-5.6.26/
#安装相关的软件
[root@hostname mysql-5.6.26]# yum -y install ncurses-devel autoconf cmake git
#设置安装路径及相关配置信息
[root@localhost mysql-5.6.26]#cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DEXTRA_CHARSETS=all \
-DSYSCONFIDIR=/etc \
-DMYSQL_DATADIR=/home/mysql/\
-DMYSQL_UNIX_ADDR=/home/mysql/mysql.sock
#编译安装
[root@localhost mysql-5.6.26]# make && make install
#将文件my-default.xnf拷贝到/etc/my.cnf
[root@localhost mysql-5.6.26]# cp support-files/my-default.cnf /etc/my.cnf	
cp:是否覆盖"/etc/my.cnf"? yes
#将mysql.server拷贝到/etc/init.d/mysqld
[root@localhost mysql-5.6.26]# cp support-files//mysql.server /etc/init.d/mysqld
#进入到目录进行后续操作
[root@localhost mysql-5.6.26]# cd /etc/init.d/	
#添加执行权限
[root@localhost init.d]# chmod +x mysqld 
#增加mysqld服务
[root@localhost init.d]# chkconfig --add mysqld
#把mysqld在运行级别为3,5的情况下都是on(开启)的状态。
[root@localhost init.d]# chkconfig mysqld --level 35 on
#添加进环境变量方便直接调用
[root@localhost init.d]# echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
#重新加载
[root@localhost init.d]# source /etc/profile
#创建不能登录的mysql用户
[root@localhost init.d]# useradd -s /sbin/nologin mysql
#修改属主属组
[root@localhost init.d]# chown -R mysql.mysql /usr/local/mysql/
#指定数据库的文件存放位置
/usr/local/mysql/scripts/mysql_install_db \
--user=mysql \
--data=/var/lib/mysql \
--basedir=/usr/local/mysql \
--datadir=/home/mysql
#修改配置文件
[root@localhost init.d]# vim /etc/init.d/mysqld 
......
basedir=/usr/local/mysql
datadir=/home/mysql
......
#开启mysqld服务
[root@localhost home]# service mysqld start
#创建数据库的密码
[root@localhost home]# mysqladmin -u root -p password "abc123"

实验结果

#登录数据库
[root@hostname ~]# mysql -u root -p
Enter password: 								输入密码abc123
mysql> 											进入数据库成功

PHP实验

实验环境

CentOS 7.6

相关源码包

实验步骤

#安装相关的软件
[root@localhost php]# yum -y install \
gd \
libpng \
libpng-devel \
pcre \
pcre-devel \
libxml2-devel \
libjpeg-devel
#解压源码包
[root@localhost php]# tar jxvf php-5.6.11.tar.bz2
#进入该目录进行后续的操作
[root@localhost php]# cd php-5.6.11/
#设置安装目录及相关配置信息
[root@localhost php-5.6.11]# ./configure \
--prefix=/usr/local/php5 \
--with-gd \
--with-zlib \
--with-apxs2=/usr/local/httpd/bin/apxs \
--with-mysql=/usr/local/mysql \
--with-config-file-path=/usr/local/php5 \
--enable-mbstring
#编译安装
[root@localhost php-5.6.11]# make && make install
#将php.ini-development拷贝到/usr/local/php5/php.ini
[root@localhost php-5.6.11]# cp php.ini-development /usr/local/php5/php.ini
#建立软链接方便后续操作
[root@localhost php-5.6.11]# ln -s /usr/local/php5/bin/* /usr/local/bin/
#修改配置文件
[root@localhost php-5.6.11]# vim /etc/httpd.conf 
......
AddType application/x-httpd-php	.php				===>追加到通用的语句后面就可以
AddType application/x-httpd-php-source	.phps		===>追加到通用的语句后面就可以
......
DirectoryIndex index.php index.html
#修改网页信息
[root@localhost php-5.6.11]# vim /usr/local/httpd/htdocs/index.html 

#进入网页的目录下
[root@hostname php-5.6.11]# cd /usr/local/httpd/htdocs/
#重命名文件名
[root@hostname htdocs]# mv index.html index.php
#关闭核心防护跟防火墙
[root@localhost php-5.6.11]# setenforce 0
[root@localhost php-5.6.11]# systemctl stop firewalld
#开启服务
[root@localhost php-5.6.11]# service httpd restart
[root@localhost php-5.6.11]# service mysqld restart

实验结果

在网页上面测试"20.0.0.10/index.php"

理论+实验·手工编译安装LAMP架构===>Apache,MySQL,PHP,安装论坛_第2张图片

安装论坛

实验环境

论坛软件包

CentOS 7.6

实验步骤

#登录mysql数据库
[root@localhost bbs]# mysql -u root -p
Enter password:
#创建一个数据库
mysql> CREATE DATABASE bbs;
#未数据库bbsuser创建密码
mysql> GRANT all ON bbs.* To 'bbsuser'@'%' IDENTIFIED BY 'admin123';
#刷新数据库
mysql>flush privileges;
#退出数据库
mysql>exit
#解压压缩包
unzip Discuz X2.5 SC UTF8.zip -d /opt/dis
#进入当前目录进行后续操作
[root@localhost opt]# cd /opt/dis
#复制文件
[root@localhost dis]# cp -r upload/ /usr/local/httpd/htdocs/bbs
#进入该目录进行后续操作
[root@localhost dis]# cd /usr/local/httpd/htdocs/bbs
#添加权限
[root@localhost bbs]# chown -R daemon ./config
[root@localhost bbs]# chown -R daemon ./data
[root@localhost bbs]# chown -R daemon ./uc_client
[root@localhost bbs]# chown -R daemon ./uc_server/data

实验结果

浏览器上面输入"20.0.0.10/bbs"

理论+实验·手工编译安装LAMP架构===>Apache,MySQL,PHP,安装论坛_第3张图片

你可能感兴趣的:(企业平台架构,云计算,论坛,LAMP)