源码编译LAMP及论坛搭建(apache、mysql、php)

前言

什么是LAMP平台

LAMP架构是目前成熟的企业网站应用模式之一,指的是协同工作的一整台系统和相关软件,能够提供动态web站点服务及其应用开发环境

LAMP是一个缩写词,具体包括Linux操作系统,Apache网站服务器,MySQL数据库服务器,PHP(或perl,Python)网页编程语言

LAMP的优势:成本低廉;可定制、易于开发;方便易用、安全和稳定

LAMP平台构建顺序

在构建LAMP平台时,各组件的安装顺序依次为Linux,Apache,MySQL,PHP

其中Apache和MySQL的安装并没有严格的顺序要求,而PHP环境的安装一般放到最后,负责沟通web服务器和数据库系统以协同工作

源代码编译安装的优点

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

一、源码编译安装apache

apache简介
●apache起源
源于A Patchy Server,著名的开源web服务软件
1955年时,发布Apache服务程序的1.0版本
由Apache软件基金会(ASF)负责维护(该基金会还包括了tomcat、kafka)
最新的名称为“Apache HTTP Server”
●apache主要特点
开放源代码,跨平台(由apr软件包支持)应用
支持多种网页编程语言
模块化设计,运行稳定,良好的安全性
●apache编译过程
注意:如果之前使用yum安装过,需要先卸载

 yum -y remove httpd

1.将三个源码文件添加到/opt/apache目录下
[root@chen apache]# ls
apr-1.6.2.tar.gz apr-util-1.6.0.tar.gz httpd-2.4.29.tar.bz2
2.解压apr跨平台组件包和httpd源码包到当前目录下;并将跨平台组件包移动到源码包srclib目录下

[root@chen apache]# tar zxf apr-1.6.2.tar.gz 
[root@chen apache]# tar zxf apr-util-1.6.0.tar.gz 
[root@chen apache]# tar jxf httpd-2.4.29.tar.bz2 
[root@chen apache]# ls
apr-1.6.2         apr-util-1.6.0         httpd-2.4.29
apr-1.6.2.tar.gz  apr-util-1.6.0.tar.gz  httpd-2.4.29.tar.bz2
[root@chen apache]# mv apr-1.6.2 httpd-2.4.29/srclib/apr
[root@chen apache]# mv apr-util-1.6.0 httpd-2.4.29/srclib/apr-util

3.安装编译器和其他工具

[root@chen srclib]# yum -y install \
> gcc \
> gcc-c++ \
> make \                ##gcc、gcc-c++、make为编译工具
> pcre-devel \        ##支持正则表达式的工具
> expat-devel \      ##使网站能解析xml标记语言的工具
> perl                     ##perl语言工具

4.configure配置

[root@localhost apache]# cd httpd-2.4.29/
[root@localhost httpd-2.4.29]# ls
...省略内容
ap.d             configure       include         Makefile.in   
...省略内容
[root@localhost httpd-2.4.29]# ./configure \
> --prefix=/usr/local/httpd \		##指定路径
> --enable-so \					##开启核心功能模块(Web服务)
> --enable-rewrite \			        ##开启重写功能,如防盗链保护
> --enable-charset-lite \			##字符集设定
> --enable-cgi           ##开启通用网关接口,它定义了web服务器运行时外部程序的规范

5.make编译和make install安装

[root@localhost httpd-2.4.29]# make    ##编译,将源码转换成计算机可以识别的二进制文件
...省略内容
[root@localhost httpd-2.4.29]# make install    ##安装

6.配置启动脚本

[root@localhost bin]# cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd	 ##将启动脚本复制到/etc/init.d/初始化脚本文件中,并重命名为httpd
[root@localhost bin]# cd /etc/init.d/
[root@localhost init.d]# ls
functions  httpd  netconsole  network  README
[root@localhost init.d]# vim httpd 
#!/bin/sh	  ##在行首插入下两行内容(前面就是有#的),并保存退出
#chkconfig: 35 85 21 	##3(字符界面)和5(图形化界面)级别自动运行  第85个启动 第21个关闭
#description: Apache is a World Wide Web server  ##描述信息,可不加
#
#...省略内容

[root@localhost init.d]# chkconfig --add httpd    ##将httpd加入到service管理器

7.编辑配置文件

[root@chen bin]# vim /usr/local/httpd/conf/httpd.conf 
...省略内容
Listen 14.0.0.30:80   ##设置ipv4监听地址和端口
#Listen 80                 ##将ipv6格式的监听端口注释掉
#
ServerName www.test.com:80   ##设置域名地址
...省略内容

8.设置配置文件的软链接和httpd命令的软链接

[root@chen bin]# ln -s /usr/local/httpd/conf/httpd.conf /etc/httpd.conf  
                       ##设置配置文件的软链接,便于修改(原文件位置太长了)
[root@chen bin]# httpd -t          ##未设置命令的软链接时
bash: httpd: 未找到命令...
[root@chen bin]# ls /usr/local/httpd/bin/
ab            apxs       envvars-std   htdigest   logresolve
apachectl     checkgid   fcgistarter   htpasswd   rotatelogs
apr-1-config  dbmmanage  htcacheclean  httpd
apu-1-config  envvars    htdbm         httxt2dbm
[root@chen bin]# ln -s /usr/local/httpd/bin/* /usr/local/bin/    ##设置httpd命令的软链接
[root@chen bin]# httpd -t    ##这时可以使用httpd命令了(httpd -t:检查配置文件语法)
Syntax OK
[root@chen bin]# apachectl -t
Syntax OK

9.开启apache服务

[root@chen bin]# iptables -F      ##清空防火墙规则
[root@chen bin]# setenforce 0   ##关闭核心防护
[root@chen bin]# service httpd start   ##利用service启动apache服务
[root@chen bin]# netstat -napt |grep 80  ##查看httpd 80端口,开启成功
tcp        0      0 14.0.0.30:80            0.0.0.0:*               LISTEN      44819/httpd         

10.在浏览器中输入服务器地址验证。
在这里插入图片描述

二、源码编译安装mysql

1.准备安装环境

[root@localhost htdocs]# yum -y install ncurses-devel autoconf cmake 
ncurses-devel  ##字符终端下屏幕控制的基本库
autoconf   ##可以自动配置软件源代码
cmake    ##跨平台编译安装工具
[root@localhost mysql]# tar zxf mysql-5.6.26.tar.gz   ##将mysql源码包解压到当前目录

2.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/mysql/ \	##指定数据文件目录,由mysql用户管理
> -DMYSQL_UNIX_ADDR=/home/mysql/mysql.sock    ##指定通信文件(连接数据库的必要文件)

3.make&&make install 编译并且安装
4.复制配置文件和启动文件

[root@localhost mysql-5.6.26]# cp support-files/my-default.cnf /etc/my.cnf
                                            ##将配置文件复制到/etc目录下my.cnf(原来的覆盖掉)
[root@localhost mysql-5.6.26]# cp support-files/mysql.server /etc/init.d/mysqld
                                  ##将启动文件复制到/etc/init.d/目录下,可以使用service管理

5.配置脚本文件和命令环境

[root@localhost mysql-5.6.26]# cd /etc/init.d/
[root@localhost init.d]# ls
functions  httpd  mysqld  netconsole  network  README
[root@localhost init.d]# ls -l
-rw-r--r--. 1 root root 17500 May  3  2017 functions
-rwxr-xr-x. 1 root root  3503 Dec 11 19:01 httpd
-rw-r--r--. 1 root root 10870 Dec 11 20:03 mysqld        ##发现mysqld文件没有执行权限
-rwxr-xr-x. 1 root root  4334 May  3  2017 netconsole
-rwxr-xr-x. 1 root root  7293 May  3  2017 network
-rw-r--r--. 1 root root  1160 Aug  5  2017 README
[root@localhost init.d]# chmod +x mysqld   ##给mysqld添加可执行权限
[root@localhost init.d]# chkconfig --add /etc/init.d/mysqld 	##将mysqld添加到service服务中
[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	##运行脚本,使mysql命令立即生效
[root@localhost init.d]# echo $PATH	##查看环境变量内容,mysql命令已添加成功
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/mysql/bin

6.添加用户mysql,专门用来管理进程(程序型用户,禁止登录shell)

[root@localhost init.d]# useradd -s /sbin/nologin mysql	  ##添加用户mysql,禁止用户登录系统
[root@localhost init.d]# id mysql
uid=1001(mysql) gid=1001(mysql) groups=1001(mysql)
[root@localhost init.d]# chown -R mysql.mysql /usr/local/mysql	##设置属主和数组

7.初始化数据库

[root@localhost mysql]# /usr/local/mysql/scripts/mysql_install_db \
> --user=mysql \
> --ldata=/var/lib/mysql \
> --basedir=/usr/local/mysql \           ##指定管理服务的文件
> --datadir=/home/mysql                  ##数据的存放位置
..省略内容

8.编辑启动文件

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

9.启动服务并设置用户密码

[root@chen scripts]# service mysqld start
Starting MySQL. SUCCESS!
[root@chen scripts]# netstat -napt | grep 3306
tcp6       0      0 :::3306                 :::*                    LISTEN      63274/mysqld
[root@localhost mysql]# mysqladmin -u root -p password "abc123"  ##给mysql的root用户设置密码
Enter password: 	##原本密码为空,直接回车即可
Warning: Using a password on the command line interface can be insecure.

10.登录mysql操作环境
[root@localhost mysql]# mysql -u root -p ##连接并登录到mysql操作环境
Enter password: ##输入刚设置的密码abc123
…省略内容
mysql> show databases; ##查看有哪些数据库结尾有分号!
±-------------------+
| Database |
±-------------------+
| information_schema |
| mysql |
| performance_schema |
| test |
±-------------------+
4 rows in set (0.00 sec)

mysql> exit ##quit或者exit退出
Bye

三、编译安装php

1.配置安装环境

[root@localhost mysql]# yum -y install \
> gd \	                   ##安装gd库环境
> libpng \
> libpng-devel \
> pcre \
> pcre-devel \     
> libxml2-devel \
> libjpeg-devel
...省略内容
[root@localhost php]# tar jxf php-5.6.11.tar.bz2 

2.configure配置

[root@localhost opt]# 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 	##启用多字节字符串功能,以便支持中文等代码
...省略内容

3.make&&make install

[root@localhost php-5.6.11]# make
    ...省略内容
[root@localhost php-5.6.11]# make install
...省略内容

4.编辑httpd的配置文件设置php的默认首页

[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的默认首页
...省略内容	
<IfModule dir_module>	
   DirectoryIndex index.php index.html 		##在index.html前面添加index.php
</IfModule>
...省略内容
##搜索AddType,添加如下两行

在这里插入图片描述

5.编辑php首页内容,重启apache服务

[root@localhost php-5.6.11]# cd /usr/local/httpd/htdocs/
[root@localhost htdocs]# ls
index.html
[root@localhost htdocs]# vim index.html 
##删除原来的内容,添加以下内容
<?php
phpinfo();
?>
[root@localhost htdocs]# mv index.html index.php
[root@localhost htdocs]# ls
index.php
[root@localhost htdocs]# service httpd restart

6.在浏览器中输入14.0.0.30/index.php验证
在这里插入图片描述

四、搭建论坛

1.解压Discuz软件包到指定目录

[root@chen lamp]# unzip /opt/lamp/Discuz_X2.5_SC_UTF8.zip /opt/dis

2.进入解压后的目录,将upload复制到apache服务站点中,命名为bbs

[root@chen lamp]# cd /opt/dis
[root@chen dis]# ls
readme  upload  utility
[root@chen dis]# cp -r upload/ /usr/local/httpd/htdocs/bbs

3.为论坛创建一个数据库,给用户bbquser设置密码admin123并设置所有权限,所有终端都可登录。(%代表任意终端)

[root@localhost htdocs]# mysql -u root -p
...省略内容
mysql> create database bbs;		'//创建数据库'
Query OK, 1 row affected (0.00 sec)
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| bbs                |
| mysql              |
| performance_schema |
| test               |
+--------------------+
5 rows in set (0.00 sec)
mysql> grant all on bbq.* to 'bbquser '@'%' identified by 'admin123';	##给用户bbquser设置密码admin123并设置所有权限、所有终端都可登录
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;	##刷新数据库
Query OK, 0 rows affected (0.00 sec)
mysql> exit
Bye

4.这时在浏览器中输入14.0.0.30/bbs,开始安装论坛
在这里插入图片描述
在这里插入图片描述
5.给安装过程中网页中提示的文件指定属主为daemon

[root@localhost dis]# cd /usr/local/httpd/htdocs/
[root@localhost htdocs]# ls
bbs  index.php
[root@localhost htdocs]# cd bbs
[root@localhost bbq]# ls -l
...省略内容
[root@localhost bbq]# chown -R daemon ./config
[root@localhost bbq]# chown -R daemon ./data
[root@localhost bbq]# chown -R daemon ./uc_client/
[root@localhost bbq]# chown -R daemon ./uc_server/data/

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
最后出现如下界面即安装成功!
在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/chengu04/article/details/107781878