源码安装LAMP架构!

Posted 龙少。

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了源码安装LAMP架构!相关的知识,希望对你有一定的参考价值。

一.LAMP架构简介

1.LAMP平台概述

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

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

2.各服务的主要作用

Linux:作为LAMP架构的基础,提供用于支撑Web站点的操作系统,能够与其他三个组件提供更好的稳定性,兼容性。

Apache:作为LAMP架构的前端,是一款功能强大,稳定性好的Web服务器程序,该服务器直接面向用户提供网站访问,发送网页,图片等文件内容;静态页面服务。

MySQL:作为LAMP架构的后端,是一款流行的开源关系数据库系统。在企业网站、业务系统等应用中,各种账户信息、产品信息,客户资料、业务数据等都可以存储到MySQL数据库,其他程序可以通过SQL语句来查询,更改这些信息;数据库。

PHP/Perl/Python:作为三种开发动态网页的编程语言,负责解释动态网页文件,负责沟通Web服务器和数据库系统以协同工作,并提供Web应用程序的开发和运行环境。其中PHP是一种被广泛应用的开放源代码的多用途脚本语言,它可以嵌入到html中,尤其适合于Web应用开发。

二.源码安装httpd服务器

1.下载上传tar安装包解压


[root@localhost ~]# cd /opt
[root@localhost opt]# ls
rh

#这里上传下软件安装包
[root@localhost opt]# ls
apr-1.6.2.tar.gz  apr-util-1.6.0.tar.gz  httpd-2.4.29.tar.bz2  rh
[root@localhost opt]# tar xf apr-1.6.2.tar.gz
[root@localhost opt]# tar xf apr-util-1.6.0.tar.gz
[root@localhost opt]# tar xf httpd-2.4.29.tar.bz2

[root@localhost opt]# ls										#查看解压结果
apr-1.6.2         apr-util-1.6.0         httpd-2.4.29          rh
apr-1.6.2.tar.gz  apr-util-1.6.0.tar.gz  httpd-2.4.29.tar.bz2

[root@localhost opt]# mv apr-1.6.2 httpd-2.4.29/srclib/apr 		#移动两个文件放到httpd-2.4.29/srclib库中并且重命名
[root@localhost opt]# mv apr-util-1.6.0 httpd-2.4.29/srclib/apr-util
[root@localhost opt]# cd httpd-2.4.29/srclib/
[root@localhost srclib]# ls										#查看
apr  apr-util  Makefile.in


2.安装其他依赖环境

[root@localhost opt]# yum -y install \\
> gcc \\
> gcc-c++ \\
> make \\
> pcre \\
> pcre-devel \\
> expat-devel \\
> perl

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

3.编译安装

[root@localhost opt]# cd httpd-2.4.29/

[root@localhost httpd-2.4.29]# ./configure \\
> --prefix=/usr/local/httpd \\		#指定 httpd 服务程序的安装路径
> --enable-so \\						#启用动态加载核心模块支持,使 httpd 具备进一步扩展功能的能力
> --enable-rewrite \\				#启用网页地址重写功能,用于网站优化、防盗链及目录迁移维护
> --enable-charset-lite \\			#启动字符集支持,以便支持使用各种字符集编码的页面
> --enable-cgi						#启用CGI(通用网关接口)脚本程序支持,便于增强网站的外部扩展应用访问能力


在这里插入图片描述

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

4.优化配置文件路径创建软链接

[root@localhost httpd-2.4.29]# ln -s /usr/local/httpd/conf/httpd.conf /etc/
[root@localhost httpd-2.4.29]# ln -s /usr/local/httpd/bin/* /usr/local/bin/

[root@localhost httpd-2.4.29]# cd
[root@localhost ~]# httpd
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain. Set the 'ServerName' directive globally to suppress this message
httpd (pid 122836) already running
[root@localhost ~]#

5.设置便于service管理

[root@localhost ~]# cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd
[root@localhost ~]# vim /etc/init.d/httpd

在这里插入图片描述

添加让系统识别httpd

[root@localhost ~]# chkconfig --add httpd                   #将httpd加入系统管理器
[root@localhost ~]# vim /usr/local/httpd/conf/httpd.conf

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

[root@localhost ~]# httpd -t       #检查语法
Syntax OK

6.启动服务并查看服务状态

[root@localhost ~]# service httpd start
httpd (pid 122836) already running
[root@localhost ~]# netstat -antp | grep 80
tcp6       0      0 :::80                   :::*                    LISTEN      122836/httpd

7.查看网页

[root@localhost ~]# curl 192.168.206.7
<html><body><h1>It works!</h1></body></html>
[root@localhost ~]#

在这里插入图片描述

三.源码安装MySQL数据库

1.安装依赖环境

[root@localhost ~]# yum -y install \\
> gcc \\                             #编译语言,翻译官
> gcc-c++ \\
> ncurses \\       					#字符终端下图形互动功能的动态库	
> ncurses-devel \\					#ncurses开发包
> bison \\							#语法分析器
> cmake \\							#mysql需要用cmake编译安装
> autoconf							#是一个用于生成可以自动配置软件源代码包以适应多种unix类系统的shell脚本工具。

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

2.下载解压安装包

[root@localhost opt]# ls
apr-1.6.2.tar.gz       httpd-2.4.29          rh
apr-util-1.6.0.tar.gz  httpd-2.4.29.tar.bz2
[root@localhost opt]# ls
apr-1.6.2.tar.gz       httpd-2.4.29          mysql-5.6.26.tar.gz
apr-util-1.6.0.tar.gz  httpd-2.4.29.tar.bz2  rh
[root@localhost opt]# tar xzvf mysql-5.6.26.tar.gz

3.cmake配置

[root@localhost mysql-5.6.26]# cmake  \\
> -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \\		#指定文件路径
> -DDEFAULT_CHARSET=utf8 \\						#指定默认使用的字符集编码,如 utf-8
> -DDEFAULT_COLLATION=utf8_general_ci \\			#指定默认使用的字符集校对规则
> -DEXTRA_CHARSETS=all \\						#指定支持其他字符集编码
> -DSYSCONFIDIR=/etc \\							#/etc/mysql --->系统中有一个默认的配置/etc/my.cnf
> -DMYSQL_DATADIR=/home/mysql/ \\				#数据文件
> -DMYSQL_UNIX_ADDR=/home/mysql/mysql.sock		#指定连接数据库的通讯文件(启动数据库的时候会生成)

4.make && make install安装

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

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

5.复制配置文件模板

[root@localhost mysql-5.6.26]# cp support-files/my-default.cnf /etc/my.cnf
cp:是否覆盖"/etc/my.cnf"? y
[root@localhost mysql-5.6.26]#

6.复制启动脚本并给权限

[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]# ll /etc/init.d/mysqld 							 #查看权限
-rwxr-xr-x. 1 root root 10870 72 17:41 /etc/init.d/mysqld
[root@localhost mysql-5.6.26]# chkconfig --add /etc/init.d/mysqld
[root@localhost mysql-5.6.26]# chkconfig  mysqld --level 35 on					 #设置开机自启

7.创建管理用户并给相应权限

[root@localhost mysql-5.6.26]# useradd -s /sbin/nologin mysql					#创建管理用户
[root@localhost mysql-5.6.26]# chown -R mysql:mysql /usr/local/mysql/			#给管理权限
[root@localhost mysql-5.6.26]# chown mysql:mysql /etc/my.cnf					#更改管理和组
[root@localhost mysql-5.6.26]#

8.设置环境变量,使得mysql命令能够被系统识别

[root@localhost mysql-5.6.26]# echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
[root@localhost mysql-5.6.26]# source /etc/profile
[root@localhost mysql-5.6.26]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/mysql/bin
[root@localhost mysql-5.6.26]#

9.初始化数据库

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


[root@localhost mysql-5.6.26]# vim /etc/init.d/mysqld

在这里插入图片描述

10.启动服务

[root@localhost mysql-5.6.26]# service mysqld start
Starting MySQL.. SUCCESS!
[root@localhost mysql-5.6.26]# netstat -anpt | grep 3306
tcp6       0      0 :::3306                 :::*                    LISTEN      16431/mysqld

11.给root账号设置密码

[root@localhost mysql-5.6.26]# mysqladmin -u root -p password "qwer1234"
Enter password:
Warning: Using a password on the command line interface can be insecure.
[root@localhost mysql-5.6.26]# mysql -uroot -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \\g.
Your MySQL connection id is 2
Server version: 5.6.26 Source distribution

Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\\h' for help. Type '\\c' to clear the current input statement.

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| test               |
+--------------------+
4 rows in set (0.01 sec)

mysql> use mysql
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> show tables;
+---------------------------+
| Tables_in_mysql           |
+---------------------------+
| columns_priv              |
| db                        |
| event                     |
| func                      |
| general_log               |
| help_category             |
| help_keyword              |
| help_relation             |
| help_topic                |
| innodb_index_stats        |
| innodb_table_stats        |
| ndb_binlog_index          |
| plugin                    |
| proc                      |
| procs_priv                |
| proxies_priv              |
| servers                   |
| slave_master_info         |
| slave_relay_log_info      |
| slave_worker_info         |
| slow_log                  |
| tables_priv               |
| time_zone                 |
| time_zone_leap_second     |
| time_zone_name            |
| time_zone_transition      |
| time_zone_transition_type |
| user                      |
+---------------------------+
28 rows in set (0.00 sec)

mysql> quit
Bye
[root@localhost mysql-5.6.26]#

四.安装PHP

1.安装依赖环境

[root@localhost mysql-5.6.26]# yum -y install \\
> gd \\										#图像化处理的库
> libpng \\									#png格式图片的库
> libpng-devel \\
> pcre \\									#PCRE库支持正则表达式
> pcre-devel \\								#pcre-devel是使用PCRE做二次开发时所需要的开发库,也是编译安装需要的
> libxml2-devel \\							#解析xml标记语言的库
> libjpeg-devel								#jpeg格式图片的库

在这里插入图片描述

2.上传软件包解压

[root@localhost ~]# cd /opt
[root@localhost opt]# ls
apr-1.6.2.tar.gz       httpd-2.4.29.tar.bz2  php-5.6.11.tar.bz2
apr-util-1.6.0.tar.gz  mysql-5.6.26          rh
httpd-2.4.29           mysql-5.6.26.tar.gz
[root@localhost opt]# tar xjvf php-5.6.11.tar.bz2

3.configure配置

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

在这里插入图片描述

4.make && make install 安装

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

5.优化路径创建软链接

[root@localhost php-5.6.11]# ln -s /usr/local/php5/bin/* /usr/local/bin/

6.修改Apache配置文件让Apache支持PHP

[root@localhost php-5.6.11]# vim /etc/httpd.conf

网站首页支持格式
在这里插入图片描述

让Apache可以支持php的网页文件

在这里插入图片描述
查看确认php5模块是否存在
在这里插入图片描述

7.创建、编辑php页面文件

[root@localhost php-5.6.11]# vim /usr/local/httpd/htdocs/index.php

在这里插入图片描述

8.重新启动服务

[root@localhost php-5.6.11]# service httpd stop
[root@localhost php-5.6.11]# service httpd start

9.网页测试

在这里插入图片描述

五.安装论坛Discuz!

1.新建数据库

[root@localhost php-5.6.11]# mysql -uroot -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \\g.
Your MySQL connection id is 4
Server version: 5.6.26 Source distribution

Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\\h' for help. Type '\\c' to clear the current input statement.

mysql> create database bbs;					#新建一个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.01 sec)

mysql> grant all on bbs.* to 'bbsuser'@'%' identified by 'qwer1234'; 
Query OK, 0 rows affected (0.00 sec)        #把bbs数据库里面所有表的权限授予给bbsuser,并设置密码 #所有访问来源/渠道

mysql> grant all on bbs.* to 'bbsuser'@'localhost' identified by 'qwer1234';
Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges以上是关于源码安装LAMP架构!的主要内容,如果未能解决你的问题,请参考以下文章

LAMP架构介绍以及Apache源码安装

Lamp架构nginxphpmysql源码编译安装

Lamp架构nginxphpmysql源码编译安装

源码安装LAMP架构

lamp源码搭建详解及wordpress搭建

lamp源码搭建详解及wordpress搭建