源码编译LAMP

LAMP

概述

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

搭建顺序

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

服务作用

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

实例

一、配置httpd服务

[root@lamp ~]# tar xf apr-1.6.2.tar.gz 
[root@lamp ~]# tar xf apr-util-1.6.0.tar.gz
[root@lamp ~]# tar xf httpd-2.4.29.tar.bz2
[root@lamp ~]# mv apr-1.6.2 httpd-2.4.29/srclib/apr
[root@lamp ~]# mv apr-util-1.6.0 httpd-2.4.29/srclib/apr-util
[root@lamp ~]# yum -y install 
gcc \				#C语言的编译器
gcc-c++ \ 			#C++的编译器
make \				#源代码编译器(源代码转换成二进制文件)
pcre \				#pcre是一个Perl函数库,包括perl 兼容的正则表达式库
pcre-devel \		#perl的接口开发包
expat-devel \		#用于支持网站解析HTML、XML文件
perl				#perl语言编译器
[root@lamp ~]# cd httpd-2.4.29/
[root@lamp httpd-2.4.29]# ./configure \
> --prefix=/usr/local/httpd \#指定 httpd 服务程序的安装路径
> --enable-so \       		 #启用动态加载核心模块支持,使 httpd 具备进一步扩展功能的能力
> --enable-rewrite \		 #启用网页地址重写功能,用于网站优化、防盗链及目录迁移维护
> --enable-charset-lite \	 #启动字符集支持,以便支持使用各种字符集编码的页面
> --enable-cgi				 #启用CGI(通用网关接口)脚本程序支持,便于增强网站的外部扩展应用访问能力
[root@lamp httpd-2.4.29]# make && make install #生成可执行的二进制文件并复制二进制文件到系统,配置应用环境
[root@lamp httpd-2.4.29]# ln -s /usr/local/httpd/conf/httpd.conf /etc/
[root@lamp httpd-2.4.29]# ln -s /usr/local/httpd/bin/* /usr/local/bin/
#优化配置文件路径,并把httpd服务的可执行程序文件放入路径环境变量的目录中便于系统识别
[root@lamp httpd-2.4.29]# cd /usr/local/httpd/conf
[root@lamp conf]# vim httpd.conf #进入Apache主配置文件

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

[root@lamp conf]# cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd
[root@lamp conf]# vim /etc/init.d/httpd #进入Apache启动脚本

在这里插入图片描述

[root@lamp conf]# chkconfig --add httpd #将httpd加入到系统管理器
[root@lamp conf]# cat /usr/local/httpd/htdocs/index.html
<html><body><h1>It works!</h1></body></html>
[root@lamp conf]# service httpd start #开启Apache服务
httpd (pid 110460) already running
[root@lamp conf]# netstat -anpt | grep 80 #查看端口,判断服务是否启动
tcp        0      0 192.168.238.150:80      0.0.0.0:*               LISTEN      110460/httpd 

在这里插入图片描述

二、配置MySQL服务

[root@lamp ~]# yum -y install \
> gcc \				#编译语言
> gcc-c++ \			#编译语言
> ncurses \ 		#字符终端下图形互动功能的动态库
> ncurses-devel \	#ncurses开发包
> bison \			#语法分析器
> cmake \			#mysql需要用cmake编译安装
> autoconf			#是一个用于生成可以自动配置软件源代码包以适应多种unix类系统的shell脚本工具
[root@lamp ~]# tar xzvf mysql-5.6.26.tar.gz -C /opt
[root@lamp ~]# cd /opt/mysql-5.6.26/
[root@lamp 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 \ #指定配置文件目录
> -DMYSQL_DATADIR=/home/mysql/ \ #指定数据目录路径
> -DMYSQL_UNIX_ADDR=/home/mysql/mysql.sock #指定连接数据库的通讯文件路径
[root@lamp mysql-5.6.26]# make  && make install
[root@lamp support-files]# cp my-default.cnf /etc/my.cnf
cp:是否覆盖"/etc/my.cnf"? y
[root@lamp support-files]# cp mysql.server /etc/init.d/mysqld
[root@lamp support-files]# chmod 755 /etc/init.d/mysqld #设置权限为755
[root@lamp support-files]# chkconfig --add /etc/init.d/mysqld #使用chkconfig添加service服务
[root@lamp support-files]# chkconfig  mysqld --level 35 on #使用–level参数将其的运行级别设置为35
[root@lamp ~]# useradd -s /sbin/nologin mysql #添加一个名为mysql的程序用户,这是为mysqld服务运行设置的用户,不需要登陆
[root@lamp ~]# chown -R mysql:mysql /usr/local/mysql/ #把属主修改为mysql,属组修改为mysql
[root@lamp ~]# chown mysql:mysql /etc/my.cnf 
[root@lamp ~]# echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile ##设置环境变量,申明/宣告mysql命令便于系统识别
[root@lamp ~]# source /etc/profile #重启脚本文件
[root@lamp ~]# /usr/local/mysql/scripts/mysql_install_db \
> --user=mysql \
> --ldata=/var/lib/mysql \
> --basedir=/usr/local/mysql \
> --datadir=/home/mysql #初始化数据库
[root@lamp ~]# vim /etc/init.d/mysqld

进入文件添加路径
在这里插入图片描述

[root@lamp ~]# service mysqld start #开启MySQL服务
Starting MySQL.. SUCCESS!
[root@lamp ~]# netstat -anpt | grep 3306
tcp6       0      0 :::3306                 :::*                    LISTEN      126405/mysqld  
[root@lamp ~]# mysqladmin -u root -p password "abc123" #给root用户设置进入MySQL数据库的密码
Enter password: 
Warning: Using a password on the command line interface can be insecure.

三、配置PHP服务

[root@lamp ~]# tar xjvf php-5.6.11.tar.bz2
[root@lamp ~]# yum -y install \
> gd \				#图像化处理的库
> libpng \			#png格式图片的库
> libpng-devel \	
> pcre \			#PCRE库支持正则表达式
> pcre-devel \		#pcre-devel是使用PCRE做二次开发时所需要的开发库
> libxm12-devel \ 	#解析xml标记语言的库
> libjpeg-devel		#jpeg格式图片的库
[root@lamp 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 #启用多字节字符串功能,以便支持中文等代码
[root@lamp php-5.6.11]# make && make install
[root@lamp php-5.6.11]# ln -s /usr/local/php5/bin/* /usr/local/bin/ 
#优化把PHP 的可执行程序文件放入路径环境变量的目录中便于系统识别
[root@lamp php-5.6.11]# vi /etc/httpd.conf #修改Apache配置文件让Apache支持PHP

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

[root@lamp php-5.6.11]# vim /usr/local/httpd/htdocs/index.php #创建、编辑php页面文件

在这里插入图片描述

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

在这里插入图片描述

四、搭建论坛

[root@lamp ~]# mysql -u root -p #进入MySQL数据库
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> create database bbq; #创建数据库
Query OK, 1 row affected (0.01 sec)

mysql> show databases; #
+--------------------+
| Database           |
+--------------------+
| information_schema |
| bbq                |
| mysql              |
| performance_schema |
| test               |
+--------------------+
5 rows in set (0.03 sec)

mysql> grant all on bbq.* to 'bbquser '@'%' identified by 'admin123'; #/把bbs数据库里面所有表的权限授予给bbsuser,并设置密码
Query OK, 0 rows affected (0.03 sec)

mysql> GRANT all ON bbs.* TO 'bbsuser'@'localhost' IDENTIFIED BY 'admin123';
Query OK, 0 rows affected (0.00 sec)

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

mysql> exit
Bye
[root@lamp ~]# unzip Discuz_X2.5_SC_UTF8.zip #解压软件包
[root@lamp ~]# cp -r upload/ /usr/local/httpd/htdocs/bbq
[root@lamp ~]# cd /usr/local/httpd/htdocs/
[root@lamp htdocs]# ls
bbq  index.html  index.php
[root@lamp htdocs]# cd bbq
#递归赋予用户daemon为目录文件属主
[root@lamp bbq]# chown -R daemon ./config 
[root@lamp bbq]# chown -R daemon ./data
[root@lamp bbq]# chown -R daemon ./uc_client
[root@lamp bbq]# chown -R daemon ./uc_server/data

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

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值