大概这就是“LAMP”吧!!

前言

在构建LAMP平台时,各组件的安装顺序为Linux、Apache、MySQL、PHP。其中Apache和MySQL的安装并没有严格的顺序要求,而PHP环境的安装一般放到最后,负责沟通Web服务器和数据库系统以协同工作。

Apache

Apache的起源

Apache HTTP Server是开源软件项目的杰出代表,基于标准的HTTP网络协议提供网页浏览服务,在Web服务器领域中中长期领域中长期保持着超过半数的份额。Apache服务器可以在Linux、UNIX、Windows等多种操作平台中运行。
Apache HTTP Server是ASF旗下著名的软件项目之一,其正式名称为“httpd”。

Apache的特点

Apache服务在功能、性能、安全性等方面的表现都是比较突出的,可以满足Web服务器用户的应用需求,主要特点主要为:

  • 开放源代码(Apache服务程序由全世界的开发者共同维护,并且任何人都可以自由使用。)
  • 跨平台应用
  • 支持Web编程语言
  • 模块化设计
  • 运行稳定
  • 良好的安全性

安装httpd服务器

[root@localhost mysql-5.6.26]# rpm -e httpd --nodeps    #卸载httpd及相关的依赖包
错误:未安装软件包 httpd 


[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.tar.gz    httpd-2.4.29.tar.bz2  php-5.6.11.tar.bz2
apr-1.6.2.tar.gz  Discuz_X2.5_SC_UTF8.zip  mysql-5.6.26          rh
apr-util-1.6.0    httpd-2.4.29             mysql-5.6.26.tar.gz
[root@localhost opt]# vim /etc/resolv.conf           #指定dns,为了后面下载安装所需的环境
nameserver 114.114.114.114
[root@localhost opt]# yum -y install gcc gcc-c++ make pcre-devel expal-devel perl 
#gcc:C语言的编译器;gcc-c++:c++的编译器;make:源代码编译器(源代码转换成二进制文件);pcre:perl函数库,兼容的正则表达式库:pcre-devel:perl的接口开发包;expat-devel:用于支持网站解析HTML、XML文件;perl:perl语言编译器


[root@localhost opt]# 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
#prefix=/usr/local/httpd    指定httpd服务程序的安装路径
#enable-so     启用动态加载核心模块支持
#enable-rewrite         启用网页地址重写功能
#enable-charset-lite           启用字符集支持
#enable-cgi            启用CGI(通用网关接口)脚本程序支持


将依赖放入srclib文件,否则会编译失败
[root@localhost httpd-2.4.29]# mv apr-util-1.6.0 httpd-2.4.29/srclib/apr-util
[root@localhost httpd-2.4.29]# mv apr-1.6.2 httpd-2.4.29/srclib/apr
[root@localhost httpd-2.4.29]#make && make install
创建软连接,不然每次要用绝对路径很麻烦,并且把httpd服务的可执行程序放入环境变量中,便于系统识别
[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]# cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd  #复制模板到HTTP的启动文件
[root@localhost httpd-2.4.29]# vim /etc/init.d/httpd      #HTTP的启动文件
#!/bin/sh
# chkconfig: 35 85 21       #级别开机自启,第85个启动,第21个关闭
# description: Apache is a World Wide Web server
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements.  See the NOTICE file distributed with


[root@localhost httpd-2.4.29]# chkconfig -add httpd      #将http加入到系统管理器
[root@localhost httpd-2.4.29]# vim /usr/local/httpd/conf/httpd.conf      #进入http配置文件

在这里插入图片描述

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

[root@localhost ~]# httpd -t       #检查语法有没有错误
Syntax OK
[root@localhost httpd-2.4.29]# systemctl start httpd         #开启服务
[root@localhost httpd-2.4.29]# netstat -anpt | grep 80        #查看端口是否在监听
[root@localhost httpd-2.4.29]# netstat -anpt | grep 80
tcp        0      0 192.168.20.11:80        0.0.0.0:*               LISTEN      124189/httpd        
tcp        0      0 192.168.20.11:22        192.168.20.1:61808      ESTABLISHED 122752/sshd: root@p 

做到这里已经可以在网页中访问静态网页html中的内容

  • 默认首页存放路径
[root@localhost ~]# cd /usr/local/httpd/
[root@localhost httpd]# ls
bin  build  cgi-bin  conf  error  htdocs  icons  include  lib  logs  man  manual  modules
[root@localhost httpd]# cd htdocs/
[root@localhost htdocs]# ls
bbs  index.html  index.php
[root@localhost htdocs]# cat index.html 
<html><body><h1>It works!</h1></body></html>

在这里插入图片描述

MySQL

[root@localhost ~]# yum -y install gcc gcc-c++ ncurses ncurses-devel bison cmake autoconf

#gcc    编译语言
#gcc-c++
#ncurses         字符终端下裕兴互动功能的动态库
#ncurses-devel          ncurses开发包
#bison            语法分析器
#cmake          cmake编译安装
#autoconf        用于生成自动配置软件源代码适应多种类型的脚本工具

[root@localhost ~]# tar xzvf mysql-5.6.26.tar.gz -C /opt    #解压包
[root@localhost opt]# 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/ \
> -DMYSQL_UNIX_ADDR=/home/mysql/mysql.sock              #指定链接数据库的通讯文件
[root@localhost opt]#make && make install      #编译
[root@localhost ~]# cp support-files/my-default.cnf /etc/my.cnf
[root@localhost ~]# cp support-files/mysql.server /etc/init.d/mysqld
[root@localhost ~]# chmod 755 /etc/init.d/mysqld          #权限
[root@localhost ~]# chkconfig --add /etc/init.d/mysqld   #增加新服务(在文件中增加相关数据)
[root@localhost ~]# chkconfig  mysqld --level 35 on       #级别
[root@localhost ~]# useradd -s /sbin/nologin mysql      #创建普通用户管理mysql
[root@localhost ~]# chown -R mysql:mysql /usr/local/mysql/
[root@localhost ~]# chown mysql:mysql /etc/my.cnf        #更改管理主/组
[root@localhost ~]# echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile    #设置环境变量,宣告mysql命令便于系统识别
[root@localhost ~]# source /etc/profile

初始化数据库

[root@localhost ~]# /usr/local/mysql/scripts/mysql_install_db --user=mysql --ldata=/var/lib/mysql --basedir=/usr/local/mysql --datadir=/home/mysql
[root@localhost ~]# vim  /etc/init.d/mysqld

在这里插入图片描述


[root@localhost ~]# service mysqld start
Starting MySQL SUCCESS! 
[root@localhost ~]# netstat -anpt | grep 3306
tcp6       0      0 :::3306                 :::*                    LISTEN      9997/mysqld         
[root@localhost ~]# mysqladmin -u root -p password "abc123"  #设置mysql密码

PHP

[root@localhost ~]# yum -y install gd libpng libpng-devel pcre pcre-devel libxml2-devel libpeg-devel

#gd    图形化处理的库
#libpng       png格式图片的库
#libpng-devel
#pcre            pcre库支持正则表达式
#pcre-devel                 编译安装所需要
#libxml2-devel            解析xml标记语言的库
#libpeg-devel        jpeg格式图片的库
[root@localhost ~]# tar xjvf php-5.6.11.tar.bz2
[root@localhost ~]# cd php-5.6.11
[root@localhost 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
#with-gd      激活gd库的支持
#with-zlib         提供数据压缩功能的函式库
#with-apxs2=/usr/local/httpd/bin/apxs        指定http服务提供的apxs模块支持程序的文件位置
#with-mysql=/usr/local/mysql            关联数据库
#with-config-file-path=/usr/local/php5        指定配置文件
#enable-mbstring            启用多字节字符串功能
[root@localhost php-5.6.11]# make && make install
[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

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

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

<?php
phpinfo();
?>

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

在这里插入图片描述

安装论坛

这边是安装的论坛来玩

[root@localhost opt]# mysql -uroot -pabc123
mysql> CREATE DATABASE bbs;     #创建数据库
mysql> GRANT all ON bbs.* TO 'bbsuser'@'%' IDENTIFIED BY 'admin123';   #bbs数据库里面所有表的权限授予给bbsuser,并设置密码
mysql> GRANT all ON bbs.* TO 'bbsuser'@'localhost' IDENTIFIED BY 'admin123';#同意所有访问来源
mysql> flush privileges;        #刷新数据库
mysql> show DATABASES;      #查看是否有数据库
+--------------------+
| Database           |
+--------------------+
| information_schema |
| bbs                |
| mysql              |
| performance_schema |
| test               |
+--------------------+
5 rows in set (0.01 sec)

[root@localhost opt]# unzip Discuz_X2.5_SC_UTF8.zip -d /opt/dis
[root@localhost opt]#cd /opt/dis
[root@localhost dis]# cp -r upload/ /usr/local/httpd/htdocs/bbs
[root@localhost dis]# cd /usr/local/httpd/htdocs/bbs
[root@localhost dis]#chown -R daemon ./config
[root@localhost dis]#chown -R daemon ./data
[root@localhost dis]#chown -R daemon ./uc_client
[root@localhost dis]#chown -R daemon ./uc_server/data

在这里插入图片描述

总结

  • lamp支持两种工作模式,一种是集成的php模块,另外一种使用fast-cgi
  • 在cmake mysql的时候报错,需要把源码目录中的CMakeCache.txt文件删除,然后再重新cmake
  • 在PHP make后在/etc/httpd.conf中,会自动生成php5的默认支持文件,如果没有的话,检查前面下载的安装环境重新安装
    在这里插入图片描述
  • 我在(PHP)make时,提示以下错误
    make: *** 没有指明目标并且找不到 makefile。 停止。
    我从部署php安装环境开始检查发现所需要支持的语言全部都安装完毕,并且也./configure过了,但是就是没有生成makefile文件,检查目标目录依然没有发现文件,于是我重新部署并./configure,发现make && make install成功,可能是./configure过程中发生了数据包丢失,导致没有自动生成makefile文件。
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值