源码编译安装部署LAMP架构 (Apache、MYSQL、PHP+论坛)

1. LAMP概述

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

L:Linux 提供操作系统支持,提供一个环境支持
A:Apache 提供静态页面请求
M:MySQL 持久化保存数据/状态信息
P:PHP 处理动态页面请求

搭建顺序依次为:Linux,Apache,MySQL,PHP

2. 源码安装步骤

开源软件的源代码包一般为TarBall形式,扩展名为“.tar.gz”或“.tar.bz2”,都可以使用tar命令进行解压。

在编译应用程序之前,需要进入源代码目录,对软件的安装目录,功能选择等参数进行配置。

编译的过程主要是根据Makefile文件内的配置信息,将源代码文件进行编译而生成二进制的程序模块,动态链接库,可执行文件等。
配置完成后,只需要在源代码目录中执行“make”命令即可执行编译操作

编译完成后,就可以执行“make install”命令将软件的执行程序,配置文件,帮助文档等相关文件复制到Linux系统中了,也就是应用程序的最后“安装”过程。同样是在源代码目录中执行命令。

3. Apache

3.1 概述

1955年时,发布Apache服务程序的1.0版本
源于A Patchy Server,著名的开源web服务软件
由Apache软件基金会(ASF)负责维护
最新的名称为“Apache HTTP Server”

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

3.2 源码安装步骤

[root@server opt]# tar xf apr-1.6.2.tar.gz //解压缩
[root@server opt]# tar xf apr-util-1.6.0.tar.gz 
[root@server opt]# tar xf httpd-2.4.29.tar.bz2
[root@server 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@server opt]# cd httpd-2.4.29/
[root@server httpd-2.4.29]# cd srclib/
[root@server opt]# mv apr-1.6.2 httpd-2.4.29/srclib/apr
[root@server opt]# mv apr-util-1.6.0 httpd-2.4.29/srclib/apr-util
[root@server opt]# cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 114.114.114.114

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

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

[root@localhost httpd-2.4.29]# make && make install
[root@server httpd-2.4.29]# cd srclib/
[root@server srclib]# ls
apr  apr-util  Makefile  Makefile.in
[root@server httpd-2.4.29]# cd /usr/local/httpd/
[root@server httpd]# cd bin
[root@server bin]# cp apachectl /etc/init.d/httpd
[root@server bin]# cd /etc/init.d/
[root@server init.d]# vim httpd

#!/bin/sh	'//在行首插入下两行内容,并保存退出'
# chkconfig: 35 85 21 	 '//35级别自动运行  第85个启动 第21个关闭'
# description: Apache is a World Wide Web server
#
[root@server init.d]# chkconfig --add httpd
[root@server init.d]# vim /usr/local/httpd/conf/httpd.conf

197 ServerName www.abc.com:80
51 Listen 192.168.197.139:80	'//开启IPv4并监听自己的IP地址'
52 #Listen 80		'//关闭IPv6监听'

[root@server init.d]# ln -s /usr/local/httpd/conf/httpd.conf /etc
[root@server init.d]# ln -s /usr/local/httpd/bin/* /usr/local/bin
[root@server init.d]# httpd -t
Syntax OK
[root@server init.d]# systemctl stop firewalld.service 
[root@server init.d]# setenforce 0
[root@server init.d]# systemctl start httpd
[root@server init.d]# netstat -ntap | grep 80
tcp        0      0 192.168.152.130:80      0.0.0.0:*               LISTEN      47986/httpd       

4. MySQL

4.1 概述

MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),使用最常用的数据库管理语言–结构化查询语言(SQL)进行数据库管理。
MySQL是开放源代码的,是一个真正的多线程,多用户的SQL数据库服务,凭借其速度、可靠性和适应性而备受关注。

4.2 源码安装步骤

[root@server ~]#yum -y install gcc gcc-c++ ncurses ncurses-devel bison cmake autoconf
'//ncurses-devel是字符终端下屏幕控制的基本库'
'//autoconf生成可以自动配置软件源代码'
'//cmake跨平台编译安装工具'
[root@server ~]# cd /opt
[root@server opt]#tar xzvf mysql-5.6.26.tar.gz -C /opt
[root@server opt]# ls
apr-1.6.2.tar.gz       httpd-2.4.29          mysql-5.6.26         rh
apr-util-1.6.0.tar.gz  httpd-2.4.29.tar.bz2  mysql-5.6.26.tar.gz
[root@server opt]#cd mysql-5.6.26
[root@server mysql-5.6.26]# cd /opt/mysql-5.6.26/
[root@server 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 --->系统中有一个默认的配置
-DMYSQL_DATADIR=/home/mysql/ \  数据文件
-DMYSQL_UNIX_ADDR=/home/mysql/mysql.sock 指定连接数据库的通讯文件(启动数据库的时候会生成)

[root@server mysql-5.6.26]#make  && make install
此处差不多持续半个小时
[root@localhost mysql-5.6.26]# cp support-files/my-default.cnf /etc/my.cnf
cp: overwrite ‘/etc/my.cnf’? y
[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 
[root@localhost mysql-5.6.26]#chkconfig  mysqld --level 35 on
[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]#useradd -s /sbin/nologin mysql
[root@localhost mysql-5.6.26]#chown -R mysql:mysql /usr/local/mysql/
[root@localhost mysql-5.6.26]#id mysql
uid=1001(mysql) gid=1001(mysql) groups=1001(mysql)
[root@localhost mysql-5.6.26]#chown mysql:mysql /etc/my.cnf 
[root@localhost mysql-5.6.26]#
[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

basedir=/usr/local/mysql	//添加工作路径
datadir=/home/mysql			//添加数据路径

[root@localhost mysql-5.6.26]#service mysqld start
Starting MySQL.. SUCCESS!
[root@localhost mysql-5.6.26]#netstat -ntap|grep 3306
tcp6       0      0 :::3306                 :::*                    LISTEN      87565/mysqld 
[root@localhost mysql-5.6.26]#mysqladmin -u root -p password "abc123"	//给root用户设置密码
//mysqladmin -u用户名 -p旧密码 password 新密码
Enter password: 	//原本密码为空,直接回车即可
Warning: Using a password on the command line interface can be insecure.
[root@localhost mysql-5.6.26]#mysql -u root -p
Enter password: 	//输入刚设置的密码abc123
mysql> exit
Bye

5. PHP

5.1 概述

PHP即“超文本预处理器”,是一种通用开源脚本语言。PHP是在服务器端执行的脚本语言,与C语言类似,是常用的网站编程语言。PHP独特的语法混合了C、Java、Perl以及 PHP 自创的语法。利于学习,使用广泛,主要适用于Web开发领域

5.2 源码安装过程

[root@server opt]# ls
[root@server opt]# tar xjvf php-5.6.11.tar.bz2
[root@server opt]# yum -y install \
gd \		
libpng \
libpng-devel \
pcre \
pcre-devel \
libxml2-devel \
libjpeg-devel
[root@server opt]#cd php-5.6.11
[root@server 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@server php-5.6.11]# make && make install
[root@server php-5.6.11]# ln -s /usr/local/php5/bin/* /usr/local/bin/
[root@server php-5.6.11]# vi /etc/httpd.conf 

256     DirectoryIndex index.html index.php
392     AddType application/x-compress .Z
393     AddType application/x-gzip .gz .tgz
394     AddType application/x-httpd-php .php
395     AddType application/x-httpd-php-source .phps

[root@localhost php-5.6.11]# service httpd stop	
[root@localhost php-5.6.11]# service httpd start 
[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

6.LAMP架构搭建论坛

6.1 创建数据库+添加用户

[root@server opt]# mysql -u root -p
...省略内容
mysql> create database bbq;		'//创建数据库'
Query OK, 1 row affected (0.00 sec)

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| bbq                |
| 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

6.2 源码安装步骤

[root@server opt]# unzip Discuz_X2.5_SC_UTF8.zip
[root@server opt]# ls
apr-1.6.2.tar.gz       Discuz_X2.5_SC_UTF8.zip  mysql-5.6.26         php-5.6.11.tar.bz2
apr-util-1.6.0.tar.gz  httpd-2.4.29             mysql-5.6.26.tar.gz  rh
dis                    httpd-2.4.29.tar.bz2     php-5.6.11
[root@server opt]# cd dis
[root@server dis]# ls
readme  upload  utility
[root@server dis]# cp -r upload/ /usr/local/httpd/htdocs/bbq
[root@server dis]# cd /usr/local/httpd/htdocs/
[root@server htdocs]# ls
bbq  index.php
[root@server htdocs]# ls bbq
[root@server htdocs]# cd bbq
[root@server bbq]# ls
[root@server bbq]# chown -R daemon ./config
[root@server bbq]# chown -R daemon ./data
[root@server bbq]# chown -R daemon ./uc_client
[root@server bbq]# chown -R daemon ./uc_server/data




存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(66)(这里写自

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值