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

理论+实验·手工编译安装LAMP架构===>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"测试

image-20200804095347290

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 
<?php
phpinfo();
?>
#进入网页的目录下
[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"

image-20200803192224078

安装论坛

实验环境

论坛软件包

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"

image-20200803193202744

猜你喜欢

转载自blog.csdn.net/weixin_47153668/article/details/107782219