源码编译安装LAMP( Apache+MySQL+PHP手工编译安装全过程)过程步骤详细可做参考

前言

本次主要是介绍LAMP架构及进行手工安装配置全过程,过程尽量都写得详细了一些,提前准备好相关软件包,创建相应的文件夹放入
在这里插入图片描述

[root@localhost opt]# mkdir httpd mysql php

一、Apache网站服务

1.1 Apache起源

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

1.2 主要特点

  • 开放源代码、跨平台应用
  • 支持多种网页编程语言
  • 模块化设计、运行稳定、良好的安全性

1.3 软件版本

1.X

  • 目前最高版本是1.3,运行稳定
  • 向下兼容性较好,但缺乏一些较新的功能

2.X

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

1.4 编译安装Apache服务的优点

  • 具有较大的自由度,功能可定制
  • 可及时获得最新的软件版本
  • 普遍适用于大多数Linux版本,便于移植使用

获得Apache服务器的源码包

  • 参考地址: htp://ttpd.apache.org/download.cgi

1.5 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

1.6 httpd.conf配置文件

常用的全局配置参数

  • ServerRoot:服务目录
  • Listen: 监听的IP地址、端口号
  • User: 运行服务的用户身份
  • Group:运行服务的组身份
  • ServerAdmin:管理员邮箱
  • ServerName:网站服务器的域名
  • DocumentRoot:网页文档的根目录
  • DirectoryIndex:默认的索引页文件
  • ErrorLog: 设置错误日志文件的路径
  • LogLevel: 记录日志的级别,默认为warn

常用的全局配置参数(续)

  • CustomLog:访问日志文件的位置
  • PidFile:保存httpd进程PID号的文件
  • AddDefaultCharset:设置站点中网页默认的字符集编码
  • Timeout:网络连接超时,默认为300秒
  • KeepAlive:是否保持连接,可选On或Off
  • MaxKeepAliveRequests:每次连接最多请求文件数
  • KeepAliveTimeout:保持连接状态时的超时时间
  • Include:需要包含进来的其他配置文件

1.5 编译安装httpd服务器

解压软件包,移动到源码包目录下

[root@localhost opt]# cd httpd
[root@localhost httpd]# tar xjvf httpd-2.4.29.tar.bz2 
[root@localhost httpd]# tar xzvf apr-1.6.2.tar.gz
[root@localhost httpd]# tar xzvf apr-util-1.6.0.tar.gz
[root@localhost httpd]# mv apr-1.6.2 httpd-2.4.29/srclib/apr
[root@localhost httpd]# mv apr-util-1.6.0 httpd-2.4.29/srclib/apr-util

安装编译器和其他工具

[root@localhost httpd]# yum -y install \
> gcc \       '编译器'
> gcc-c++ \   '编译器'
> make \      'make工具'
> pcre-devel \  '支持正则表达式的工具'
> expat-devel \  '使网站能解析标签语言的工具'
> perl        'Perl语言工具'

configure配置

[root@localhost httpd]# cd httpd-2.4.29/
[root@localhost httpd-2.4.29]# ./configure \
> --prefix=/usr/local/httpd \  '指定路径'
> --enable-so \               '开启核心功能模块'
> --enable-rewrite \          '开启重写功能,如防盗链保护'
> --enable-charset-lite \     '开启字符集'
> --enable-cgi                '开启通用网关接口'

make编译安装

[root@localhost httpd-2.4.29]# make
[root@localhost httpd-2.4.29]# make install

配置启动脚本

[root@localhost httpd-2.4.29]# cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd   '将启动脚本复制到/etc/init.d/初始化脚本文件中,并重命名为httpd'
[root@localhost httpd-2.4.29]# vim /etc/init.d/httpd

在这里插入图片描述

[root@localhost httpd-2.4.29]# chkconfig --add httpd   '将httpd加入到SERVICE管理器'

编辑配置文件

[root@localhost httpd-2.4.29]# vim /usr/local/httpd/conf/httpd.conf

在这里插入图片描述
在这里插入图片描述
创建配置文件的软连接

[root@localhost httpd-2.4.29]# ln -s /usr/local/httpd/conf/httpd.conf /etc/  '创建httpd.conf配置文件的软链接到/etc下面'
[root@localhost httpd-2.4.29]# ln -s /usr/local/httpd/bin/* /usr/local/bin/ '将httpd的命令文件创建软链接到/usr/local/bin下'
[root@localhost httpd-2.4.29]# httpd -t
Syntax OK  ’此时可以使用相关命令‘
[root@localhost httpd-2.4.29]# apachectl -t
Syntax OK

关闭防火墙,开启服务

[root@localhost httpd-2.4.29]# systemctl stop firewalld.service
[root@localhost httpd-2.4.29]# setenforce 0
[root@localhost httpd-2.4.29]# service httpd start
[root@localhost httpd-2.4.29]# netstat -anpt | grep 80
tcp        0      0 192.168.179.144:80      0.0.0.0:*               LISTEN      34233/httpd 

在这里插入图片描述

二、MySQL的编译安装

2.1 MySQL简介

  • MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),使用最常用的数据库管理语言–结构化查询语言(SQL)进行数据库管理。
  • MySQL是开放源代码的,因此任何人都可以在General Public License的许可下下载并根据个性化的需要对其进行修改。
  • MySQL是一个真正的多线程,多用户的SQL数据库服务,凭借其速度、可靠性和适应性而备受关注。大多数人都认为在不需要事务化处理的情况下,MySQL是管理内容最好的选择。

2.2 MySQL编译安装

安装相关软件包

[root@localhost mysql]# yum install -y ncurses-devel autoconf cmake
    'ncurses-devel是字符终端下屏幕控制的基本库'
    'autoconf生成可以自动配置软件源代码'
    'cmake跨平台编译安装工具'
[root@localhost mysql]# tar xzvf mysql-5.6.26.tar.gz

cmake配置

[root@localhost mysql]# cd mysql-5.6.26/
[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/mysqI/ \  '指定数据文件目录,由mysql用户管理'
> -DMYSQL_UNIX_ADDR=/home/mysql/mysql.sock  '指定通信文件,连接数据库的必要文件'

make编译安装

[root@localhost mysql-5.6.26]# make
[root@localhost mysql-5.6.26]# make install

复制配置文件和脚本文件

[root@localhost mysql-5.6.26]# cp support-files/my-default.cnf /etc/my.cnf
[root@localhost mysql-5.6.26]# cp support-files/mysql.server /etc/init.d/mysqld

配置脚本文件和命令环境

[root@localhost mysql-5.6.26]# chmod 755 /etc/init.d/mysqld  '增加执行权限'
[root@localhost mysql-5.6.26]# chkconfig --add /etc/init.d/mysqld  '将mysqld添加到service服务器中'
[root@localhost mysql-5.6.26]# cd /etc/init.d/
[root@localhost init.d]# chkconfig --level 35 mysqld on  '设置mysqld在运行级别3和5都是开启的'
[root@localhost init.d]# echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile  '设置mysql命令到/etc/profile中寻找'
[root@localhost init.d]# source /etc/profile  '使命令不需重启立即生效'
[root@localhost init.d]# echo $PATH  '查看环境'
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/mysql/bin

添加用户

[root@localhost init.d]# useradd -s /sbin/nologin mysql  '添加用户,指定shell,禁止用户登录系统'
[root@localhost init.d]# chown -R mysql.mysql /usr/local/mysql/  '设置属主和属组'

初始化数据库

[root@localhost init.d]# cd /usr/local/mysql/scripts/
[root@localhost scripts]# /usr/local/mysql/scripts/mysql_install_db \
> --user=mysql \
> --ldata=/var/lib/mysql \
> --basedir=/usr/local/mysql/ \
> --datadir=/home/mysql/

编辑启动脚本

[root@localhost scripts]# vim /etc/init.d/mysqld 
basedir=/usr/local/mysql	'添加工作路径'
datadir=/home/mysql			'添加数据路径'

在这里插入图片描述
启动服务并设置用户密码

[root@localhost scripts]# service mysqld start
[root@localhost scripts]# netstat -anpt | grep 3306
tcp6       0      0 :::3306                 :::*                    LISTEN      64078/mysqld 
[root@localhost scripts]# mysqladmin -u root -p password "abc123"  '给root用户设置密码'
[root@localhost scripts]# mysql -u root -p
Enter password: 
......
mysql> show databases; '查看或显示当前用户权限范围以内的数据库'
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| test               |
+--------------------+
4 rows in set (0.00 sec)

三、PHP源码编译安装

3.1 PHP简介

  • PHP即“超文本预处理器”,是一种通用开源脚本语言。PHP是在服务器端执行的脚本语言,与C语言类似,是常用的网站编程语言。PHP独特的语法混合了C、Java、Perl以及 PHP 自创的语法。利于学习,使用广泛,主要适用于Web开发领域
  • PHP支持绝大多数流行的数据库,在数据库层面的操作功能十分强大,而且能够支持Unix,Windows,Linux等多种操作系统

3.2 PHP编译安装

安装相关软件包

[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

configure配置

[root@localhost php]# cd php-5.6.11/
[root@localhost php-5.6.11]# ./configure \
> --prefix=/usr/local/php5 \  '指定安装路径'
> --with-gd \         '指定GD库'
> --with-zlib \       '支持数据压缩函数库'
> --with-apxs2=/usr/local/httpd/bin/apxs \  '设置Apache服务提供的apxs模块支持程序的文件位置'
> --with-mysql=/usr/local/mysql \  '设置MySQL数据库服务程序的安装位置'
> --with-config-file-path=/usr/local/php5 \  '设置PHP配置文件存放的位置'
> --enable-mbstring  '启用多字节字符串功能,以便支持中文等代码'

make编译安装

[root@localhost php-5.6.11]# make
[root@localhost php-5.6.11]# make install

编辑配置文件

[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   '编辑php的默认首页'

在这里插入图片描述
在这里插入图片描述
重启Apache服务,配置PHP首页

[root@localhost php-5.6.11]# service httpd stop
[root@localhost php-5.6.11]# service httpd start
[root@localhost php-5.6.11]# vim /usr/local/httpd/htdocs/index.html
<?php
phpinfo();
?>
[root@localhost php-5.6.11]# cd /usr/local/httpd/htdocs/
[root@localhost htdocs]# mv index.html index.php

在这里插入图片描述
测试PHP网页能否访问MySQL数据库
在这里插入图片描述

四、LAMP架构搭建论坛

4.1 什么是LAMP

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

4.2 构建组成

  • Linux
  • Apache
  • MySQL
  • PHP/Perl/Python

4.3 LAMP的优势

  • 成本低廉
  • 可定制、易于开发
  • 方便易用、安全和稳定

4.4 LAMP架构搭建论坛

MySQL数据库中添加bbs数据库

[root@localhost opt]# unzip Discuz_X2.5_SC_UTF8.zip
[root@localhost opt]# cp -r upload/ /usr/local/httpd/htdocs/bbs
[root@localhost opt]# cd /usr/local/httpd/htdocs/bbs
[root@localhost bbs]# mysql -u root -p
Enter password: 
......
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| test               |
+--------------------+
4 rows in set (0.01 sec)

mysql> create database bbs; '创建数据库'
Query OK, 1 row affected (0.01 sec)

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| bbs                |
| mysql              |
| performance_schema |
| test               |
+--------------------+
5 rows in set (0.00 sec)
mysql> use bbs;
Database changed
mysql> show tables;
Empty set (0.01 sec)

mysql> grant all on bbs.* to 'bbsuser'@'%' identified by 'admin123';
 '给用户bbsuser设置密码admin123并设置所有权限,所有终端都可登录'
Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;  '刷新数据库'
Query OK, 0 rows affected (0.00 sec)

mysql> exit
Bye

在这里插入图片描述
在这里插入图片描述
添加权限

[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

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值