理论+实验:LAMP网站服务器部署(超详细版本)

您所在的位置:网站首页 服务器搭建平台 理论+实验:LAMP网站服务器部署(超详细版本)

理论+实验:LAMP网站服务器部署(超详细版本)

2024-06-10 09:18| 来源: 网络整理| 查看: 265

目录 一、 LAMP介绍二、Apache 简介三、Apache 的主要特点四、搭建YUM仓库五、编译安装HTTP服务六、站点部署6.1 基于域名主机的6.2 基于IP地址的6.3 基于端口的 七、安装mysql八、安装PHP环境九、安装phpMyadmin

一、 LAMP介绍

  LAMP 架构是目前成熟的企业网站应用模式之一,指的是协同工作的一整套系统和 相关软件,能够提供动态 Web 站点服务及其应用开发环境。LAMP 是一个缩写词,具 体包括 Linux 操作系统、Apache 网站服务器、MySQL 数据库服务器、PHP(或 Perl、 Python)网页编程语言。本章将以源码编译的方式搭建 LAMP 环境,能够满足企业定 制化的需求。   在构建 LAMP 平台时,各组件的安装顺序依次为 Linux、Apache、MySQL、PHP。 其中 Apache 和 MySQL 的安装并没有严格的顺序;而 PHP 环境的安装一般放到最后, 负责沟通 Web 服务器和数据库系统以协同工作。

二、Apache 简介

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

  Apache 服务器是针对之前出现的若干个 Web 服务器程序进行整合、完善后形成的软 件,其名称来源于“A Patchy Server”,意思是“基于原有 Web 服务程序的代码进行修改(补 丁)后形成的服务器程序”。 1995 年, Apache 服务程序发布了 1.0 版本,之后一直由“Apache Group”负责该项目 的管理和维护;直到 1999 年,在“Apache Group”的基础上成立了 Apache 软件基金会(Apache Software Foundation,ASF)。目前,Apache 项目一直由 ASF 负责管理和维护。   ASF 是非盈利性质的组织,最初只负责“Apache Web”服务器项目的管理,随着 Web 应用需求的不断扩大,ASF 逐渐增加了许多与 Web 技术相关的开源软件项目,因此 Apache 现在不仅仅代表着 Web 服务器,更广泛地代表着 ASF 管理的众多开源软件项目。ASF 基 金会的官方网站是 http://www.apache.org/。   “Apache HTTP Server”是 ASF 旗下著名的软件项目之一,其正式名称是“httpd”,也就 是历史上的 Apache 网站服务器。在后续内容中,若未作特殊说明,使用“Apache”或者“httpd”, 均指的是“Apache HTTP Server”。

三、Apache 的主要特点

  1、开放源代码:这是 Apache 服务器的重要特性之一,也是其他特性的基础。 Apache 服务程序由全世界的众多开发者共同维护,并且任何人都可以自由使 用,这充分体现了开源软件的精神。

  2、跨平台应用:这个特性得益于 Apache 的源代码开放。Apache 服务器可以运 行在绝大多数软硬件平台上,所有 UNIX 操作系统都可以运行 Apache 服务 器,甚至 Apache 服务器可以良好地运行在大多数 Windows 系统平台中。 Apache 服务器的跨平台特性使其具有被广泛应用的条件。

  3、支持各种Web 编程语言:Apache服务器可支持的网页编程语言包括Perl、PHP、 Python、Java 等,甚至微软的 ASP 技术也可以在 Apache 服务器中使用。支 持各种常用的 Web 编程语言使 Apache 具有更广泛的应用领域。

  4、模块化设计:Apache 并没有将所有的功能集中在单一的服务程序内部,而是 尽可能地通过标准的模块实现专有的功能,这为 Apache 服务器带来了良好的 扩展性。其他软件开发商可以编写标准的模块程序,从而添加 Apache 本身 并不具有的其他功能。

  5、运行非常稳定:Apache 服务器可用于构建具有大负载访问量的 Web 站点,很 多知名的企业网站都使用 Apache 作为 Web 服务软件。

  6、良好的安全性:Apache 服务器具有相对较好的安全性,这是开源软件共同具 有的特性。并且,Apache 的维护团队会及时对已发现的漏洞提供修补程序, 为 Apache 的所有使用者提供尽可能安全的服务器程序。

四、搭建YUM仓库 先把yum仓库搭建好才能安装LAMP,挂载一下,一般用永久挂载,这里方便用了临时的。 [root@localhost ~]# mount /dev/cdrom /mnt ###临时挂载 [root@localhost ~]# cd /etc/yum.repos.d/ ###进入本地源 [root@localhost yum.repos.d]# ll ###查看一下 在/etc/yum.repos.d/目录里创建一个backup目录,再把里面C开头的文件全部移动到backup目录里,复制一个本地源文件到local.repo [root@localhost yum.repos.d]# mkdir backup [root@localhost yum.repos.d]# mv C* backup/ [root@localhost yum.repos.d]# cp backup/CentOS-Base.repo local.repo [root@localhost yum.repos.d]# vi local.repo 在编辑local.repo,和下面一样就行 [root@localhost yum.repos.d]# vi local.repo [centos] name=centos baseurl=file:///mnt gpgcheck=0 enabled=1 #gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 清除cache缓存,在缓存一下 yum clean all yum makecache 五、编译安装HTTP服务

安装Apache所需软件 apr-1.6.2.tar.gz apr-util-1.6.0.tar.gz httpd-2.4.29.tar.gz

将上面3个包传到opt目录下

cd /opt ###进入/opt目录下 [root@localhost opt]# ll ###查看一下 解压三个包 [root@localhost opt]# tar zxvf apr-1.6.2.tar.gz [root@localhost opt]# tar zxvf apr-util-1.6.0.tar.gz [root@localhost opt]# tar jxvf httpd-2.4.29.tar.bz2 将apr-1.6.2 移动到httpd-2.4.29/srclib/apr目录下、将apr-util-1.6.0移动到httpd-2.4.29/srclib/apr-util目录下 [root@localhost opt]# mv apr-1.6.2 httpd-2.4.29/srclib/apr [root@localhost opt]# mv apr-util-1.6.0 httpd-2.4.29/srclib/apr-util 安装环境依赖包 Apache的配置需要这些软件包的支持,因此应先安装这些软件的开发包,以便提供相应的库和头文件,确保Apache的安装顺利完成 [root@localhost opt]# yum -y install \ gcc \ gcc-c++ \ make \ pcre-devel \ expat-devel \ perl ########上面环境配置的意思######### gcc-c++: 就是编译器 make:将配置文件转换成执行性文件(二进制文件) pcre-devel:支持正则表达式格式 expat-devel:支持开发的一种格式 每一个后面带一个\代表换行 安装模块 [root@localhost opt]# cd /opt/httpd-2.4.29/ ./configure \ --prefix=/usr/local/httpd \ --enable-so \ --enable-rewrite \ --enable-charset-lite \ --enable-cgi ######上面模块的意思##### --prefix= 是安装路径 --enable-so 开启apache核心功能模块 --enable-rewrite 启用网页地址重写功能,用于网站优化及目录迁移维护 --enable-charset-lite 支持字符集,以便支持使用各种字符集编码的网 --enable-cgi cgi是通用网关接口,在apache平台上支持多种语言,便于扩展网站的应用访问能力。 编译及安装 [root@localhost ]#make -j3 ### make -j3 的j3是你核心数,最大不要超过虚拟机的核心数 [root@localhost ]#make install ###安装 [root@localhost httpd-2.4.29]# cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd ###前面是启动脚本,现在cp一份在/etc/init.d/httpd [root@localhost init.d]# vim /etc/init.d/httpd ###在里面添加这下面两行 # chkconfig: 35 85 21 ###35级别自动运行 第85个启动 第21个关闭 # description: Apache is a World Wide Web server ###描述性信息,不写都行 [root@localhost init.d]# chkconfig --add httpd ###添加为系统服务 [root@localhost init.d]# chkconfig --list ###查看http服务自启状态 该输出结果只显示Sysv服务,并不包含原生 systemd 服务。SysV 配置数据可能被原生 systemd 配置覆盖 httpd.conf修改配置文件 [root@localhost init.d]# vim /usr/local/httpd/conf/httpd.conf ###在里面更改下面三行 ServerName www.51xit.top:80 ###域名根据自己的更改 Listen 20.0.0.6:80 ###监听ip很端口号 #Listen 80 ###要把ipv6的注视点 创建软连接 [root@localhost conf]# ln -s /usr/local/httpd/conf/httpd.conf /etc/ ###创建软连接 [root@localhost conf]# ln -s /usr/local/httpd/bin/* /usr/local/bin/ ###创建软连接 [root@localhost conf]# iptables -F ###清空规则 [root@localhost conf]# setenforce 0 ###临时关闭核心防护 [root@localhost conf]# iptables -t nat -F ###清空nat表 [root@localhost conf]# httpd -t ###查看httpd配置文件是否有问题 [root@localhost conf]# apachectl -t ###查看Apache配置文件是否有问题 [root@localhost conf]# service httpd start ###开启httpd [root@localhost conf]# netstat -ntap |grep httpd ###查看httpd进程 [root@localhost conf]# lsof -i:80 ###查看进程

测试: 浏览器输入服务器ip地址就可以验证!!! 验证成功 (注意,网页默认显示内容为:/usr/local/httpd/htdocs/index.html) 在这里插入图片描述

六、站点部署 6.1 基于域名主机的 创建51xit和52xit目录在往两个文件里单独输入字符 [root@www ~]# mkdir -p /opt/www/html/51xit.top [root@www ~]# mkdir -p /opt/www/html/52xit.top [root@www ~]# echo "www.51xit.top" > /opt/www/html/51xit.top/index.html [root@www ~]# echo "www.52xit.top" > /opt/www/html/52xit.top/index.html [root@www ~]# vim /usr/local/httpd/conf/extra/httpd-vhosts.conf ############配置文件############# ####设置 51xit.top 虚拟站点区域 DocumentRoot "/opt/www/html/51xit.top" ServerName www.51xit.top ErrorLog "logs/www.51xit.top.error_log" CustomLog "logs/www.51xit.top.access_log" common Require all granted ####设置 52xit.top 虚拟站点区域 DocumentRoot "/opt/www/html/52xit.top" ServerName www.52xit.top ErrorLog "logs/www.52xit.top.error_log" CustomLog "logs/www.52xit.top.access_log" common Require all granted [root@www ~]# vim /usr/local/httpd/conf/httpd.conf ####注意啦!全局配置文件ServerName前面要加# Include conf/extra/httpd-vhosts.conf ####加载独立的配置文件 [root@www ~]# systemctl restart httpd ####重启服务使新配置生效 在客户端yum安装一下lynx工具 yum -y install lynx 登录客户端访问www.51xit.top ,在访问www.52xit.top验证一下 [root@localhost ~]# lynx www.51xit.top

在这里插入图片描述

[root@localhost ~]# lynx www.52xit.top

在这里插入图片描述

6.2 基于IP地址的

(使用上面实验的环境下做的)

主机上现在有一块网卡,在添加一块网卡,然后配置一下新网卡

查看一下新网卡的UUID ,并把新网卡UUID复制下来 [root@localhost ]# nmcli connection 在进入默认网卡目录查看一下,并复制编辑新网卡 [root@localhost ]# cd /etc/sysconfig/network-scripts/ [root@localhost network-scripts]# ll [root@localhost network-scripts]# cp ifcfg-ens33 ifcfg-ens36 ### 复制ens33网卡信息到新网卡ens36 [root@localhost network-scripts]# vi ifcfg-ens36 编辑ens36网卡,改成以下图片所示!

在这里插入图片描述

重启一下网卡,关闭ens36网卡,在开启ens36网卡 [root@localhost network-scripts]# systemctl restart network [root@localhost network-scripts]# ifdown ens36 [root@localhost network-scripts]# ifup ens36 在把配置里修改一下 [root@www ~]# vim /usr/local/httpd/conf/extra/httpd-vhosts.conf ############只把*号改成ip地址就行############# ###只把*号改成ip地址就行 ####设置 51xit.top 虚拟站点区域 DocumentRoot "/opt/www/html/51xit.top" ServerName www.51xit.top ...... ###只把*号改成ip地址就行 ####设置 52xit.top 虚拟站点区域 DocumentRoot "/opt/www/html/52xit.top" ServerName www.52xit.top ...... 把Include conf/extra/httpd-vhosts.conf 前面的#号去掉,没有的话就不用去掉!!! [root@www ~]# vim /usr/local/httpd/conf/httpd.conf Include conf/extra/httpd-vhosts.conf ####加载独立的配置文件 [root@www ~]# systemctl restart httpd ####重启服务使新配置生效 在真机访问的话,要把host映射一下 C:\Windows\System32\drivers\etc ###真机host目录 ######添加这两条####### 20.0.0.6 www.51xit.top 192.168.30.6 www.52xit.top 验证一下,登录客户机访问www.51xit.top 在访问www.52xit.top 在这里插入图片描述 在这里插入图片描述 6.3 基于端口的

(使用上面实验的环境下做的,和上面两个基本一样,就是把端口改一下就行)

一块网卡:20.0.0.6

把Include conf/extra/httpd-vhosts.conf 前面的#号去掉,没有的话就不用去掉!!!

[root@www ~]# vim /usr/local/httpd/conf/httpd.conf Include conf/extra/httpd-vhosts.conf ####加载独立的配置文件 在把配置里修改一下 [root@www ~]# vim /usr/local/httpd/conf/extra/httpd-vhosts.conf ###只把端口号改一下就行 ####设置 51xit.top 虚拟站点区域 DocumentRoot "/opt/www/html/51xit.top" ServerName www.51xit.top ...... ###只把端口号改一下就行 ####设置 52xit.top 虚拟站点区域 DocumentRoot "/opt/www/html/52xit.top" ServerName www.52xit.top ...... 把监听端口加上 [root@www ~]# vi /usr/local/httpd/conf/httpd.conf ####省略部分内容 Include conf/extra/httpd-vhosts.conf ####加载独立的配置文件 Listen 192.168.100.41:80 ####监听 80 端口 Listen 192.168.100.41:8080 ####监听 8080 端口 重启httpd [root@www ~]# systemctl restart httpd ####重启服务使新配置生效 更改客户端hosts映射关系 [root@localhost ~]# vi /etc/hosts #############改成这样############### 20.0.0.6 www.51xit.top 20.0.0.6 www.52xit.top 登录客户机访问www.51xit.top 在访问www.52xit.top,验证一下就行。 [root@localhost ~]# lynx www.51xit.top

在这里插入图片描述

[root@localhost ~]# lynx www.52xit.top

在这里插入图片描述

七、安装mysql 安装环境 1,安装环境包并解压软件包到/opt下 [root@localhost opt]# yum -y install \ ncurses-devel \ autoconf \ cmake ###########上面环境包的解释########## yum -y install \ ncurses-devel \ ###字符终端处理库 autoconf \ ###适应多种Unix类系统的shell脚本的工具 cmake ###是一个跨平台的编译(Build)工具,可以用简单的语句来描述所有平台的编译过程 ###上传mysql-boost-5.6.26.tar.gz到opt目录下### [root@localhost ]#cd /opt [root@localhost opt]# tar zxvf mysql-5.6.26.tar.gz ###解压mysql安装包 2,配置MySQL的安装目录及其他模块配置 ########环境安装########### [root@localhost opt]# cd 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 ###########上面模块的解释########## 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 ###是通讯文件,没有sock文件就没法连接数据库 3,编辑及安装 ######编译安装#### make -j4 && make install 4,配置MySQL数据库 [root@localhost mysql-5.6.26]# cp support-files/my-default.cnf /etc/my.cnf ###复制my-default.cnf模板到etc/my.cnf 下 [root@localhost mysql-5.6.26]# cp support-files/mysql.server /etc/init.d/mysqld ###复制启动脚本到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 ###开启数据库的3,5运行级别 [root@lamp mysql-5.6.26]# echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile ###启用数据库命令到系统环境变量 [root@lamp mysql-5.6.26]# source /etc/profile ###刷新一下,启用系统环境变量 [root@lamp mysql-5.6.26]# echo $PATH ###查看系统环境变量 [root@lamp mysql-5.6.26]# useradd -s /sbin/nologin mysql ###创建mysql程序用户,禁止登录数据库 [root@lamp mysql-5.6.26]# chown -R mysql:mysql /usr/local/mysql/ ###给/usr/local/mysql/目录下所有用户赋权 ###初始化数据库,并指定用户数据信息到指定目录 [root@lamp 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@lamp mysql-5.6.26]# vim /etc/init.d/mysqld ###编辑数据库配置文件 在第46行指定数据库本地路径 basedir=/usr/local/mysql 在第47行指定数据库数据存放位置 datadir=/home/mysql 5,开启数据库并查看端口号,设置数据库用户密码 [root@lamp mysql-5.6.26]# service mysqld start ###开启数据库服务 Starting MySQL. SUCCESS! [root@lamp mysql-5.6.26]# netstat -anpt | grep 3306 ###查看数据库的监听端口3306 tcp6 0 0 :::3306 :::* LISTEN 90105/mysqld [root@lamp mysql-5.6.26]# mysqladmin -u root -p password "abc123" ###设定数据库的root用户的密码 [root@lamp mysql-5.6.26]# mysql -u root -p ###输入abc123就可以登录了 #####数据库目录进行权限调整### chown -R mysql:mysql /usr/local/mysql/ 八、安装PHP环境 [root@lamp ~]# yum -y install \ gd \ libpng \ libpng-devel \ pcre \ pcre-devel \ libxml2-devel \ libjpeg-devel #############上面环境解释########### [root@lamp ~]# yum -y install \ gd \ ###是处理图形的扩展库 libpng \ ###处理png图片 libpng-devel \ ###处理png图片 pcre \ ###支持正则表达式 pcre-devel \ ###支持正则表达式 libxml2-devel \ ###支持xml2版本格式 libjpeg-devel \ ###处理jpeg图片 -------------------安装PHP模块------------------------- [root@lamp ~]# cd /opt [root@localhost opt]# tar jxvf php-5.6.11.tar.bz2 ###解压PHP源码包 [root@lamp opt]#cd 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 ########上面模块的解释######## ./configure \ --prefix=/usr/local/php5 \ ###指定安装路径 --with-gd \ ###开启刚刚jpeg、png的包 --with-zlib \ ###支持里面当中php的函数库 --with-apxs2=/usr/local/httpd/bin/apxs \ ###指定核心模块,不指定php里面的图像是出不来的 --with-mysql=/usr/local/mysql \ ###关联数据库 --with-config-file-path=/usr/local/php5 \ ###配置文件路径 --enable-mbstring ###支持文本,处理文本,处理多字节字符串 [root@localhost php-5.6.11]# make -j4 && make install ###编译安装,-j4根据cpu核心数来配置,可以更快一些 [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/ ###把/usr/local/php5/bin/* 下面所有软连接到/usr/local/bin/ 下 #####下面两句代表的是让Apache交给php处理动态请求######### [root@localhost php-5.6.11]# vim /etc/httpd.conf AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps DirectoryIndex index.php index.html ###插入index.php默认主页,看看能不能支持php [root@lamp php-5.6.11]# service httpd restart ###改了配置一定要重启一下 [root@lamp php-5.6.11]# vim /usr/local/httpd/htdocs/index.php ###编辑PHP首页文件,写入以下信息 [root@lamp php-5.6.11]# service httpd restart ###重启httpd服务 [root@localhost htdocs]# mv index.html index.php ###把index.html改成php mv: overwrite ‘index.php’y ###yes [root@localhost htdocs]# ls ###查看一下,就只有index.php index.php [root@localhost htdocs]# cat index.php ###里面是刚刚配置的调用

测试:浏览器输入20.0.0.6,就显示php页面了 在这里插入图片描述

九、安装phpMyadmin mysql> CREATE DATABASE bbs; ###创建一个数据库 mysql>GRANT all ON bbs.* TO 'bbsuser'@'%' IDENTIFIED BY 'admin123'; ###下面四行是上面解释### GRANT all :授权,提升权限、给予权限 ON bbs.*:作用在bbs数据库中的所有表 'bbsuser'@'%':bbsuser用户,%代表任意终端去访问,指定ip段登录可以把%换成ip网段 IDENTIFIED BY 'admin123':赋予一个abc123密码 mysql>flush privileges; ###刷新数据库,用CREATE一定要刷新 mysql>quit ###退出 [root@localhost ~]# cd /opt/ ###进到opt把论坛包上传进去 [root@localhost opt]# [root@localhost opt]# unzip Discuz_X3.4_SC_UTF8.zip ###把论坛包解压到当前目录,指定目录的话就在最后加 -d 路径 [root@localhost opt]# cd /opt/dir_SC_UTF8/ ###先进去/opt/dir_SC_UTF8目录下 [root@localhost dir_SC_UTF8]# cp -r upload/ /usr/local/httpd/htdocs/bbs ###-r递归的方式复制upload/到/usr/local/httpd/htdocs/bbs里 [root@localhost dir_SC_UTF8]# cd /usr/local/httpd/htdocs/bbs/ [root@localhost bbs]# chown -R daemon ./config [root@localhost bbs]# chown -R daemon ./data/ [root@localhost bbs]# chown -R daemon ./uc_client/ [root@localhost bbs]# chown -R daemon ./uc_server/data/

浏览器输入20.0.0.6/bbs就可以一步一步可视化操作了! 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述

这样就完成LAMP和论坛的搭建了 管理后台地址:http://20.0.0.6/bbs/admin.php,输入刚刚设置的账号和密码就可以进入管理了


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3