分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 网页技术

LAMP模式搭建网站

发布时间:2023-09-06 02:19责任编辑:彭小芳关键词:暂无标签
LAMP模式解析

LAMP平台的构成组件

  • L:Linux操作系统,Linux操作系统是整个LAMP架构的基础部分,提供用于支撑Web站点的操作系统,为其他的组件提供了更好的稳定性、兼容性
  • A:Apache网站服务器,作为LAMP架构的前端,功能强大、稳定性良好
  • M:MySQL数据库服务器,为LAMP架构的后端,是一款应用非常广泛的数据库系统。在企业网站、业务系统等应用中,各种账户信息、产品信息、客户资料等都可以存储到MySQL数据库中
  • P:PHP、Perl、Python网页编程语言,如今最为常见的就是PHP语言。Python语言现如今多用于自动化运维。

 本文讲解Linux+apache+mariadb+PHP组合的架构,架构图如下:

 如图所示,一次完整的访问过程服务器主要经历:Apache处理请求—>通过CGI接口访问PHP的的应用程序—>PHP应用程序调用PHP解释器执行PHP代码—>PHP程序访问调用数据库—>最后给客户端返回响应。
apache主要实现如下功能:

  • 处理http的请求、构建响应报文等自身服务;
  • 配置让Apache支持PHP程序的响应
  • 配置Apache具体处理php程序的方法,如通过反向代理将php程序交给fcgi处理

mariadb主要实现如下功能:

  • 提供PHP程序对数据的存储;
  • 提供PHP程序对数据的读取(通常情况下从性能的角度考虑,尽量实现数据库的读写分离)。

php主要实现如下功能:

  • 提供apache的访问接口,即CGI或Fast CGI(FPM);
  • 提供PHP程序的解释器;
  • 提供mairadb数据库的连接函数的基本环境。

LAMP服务器部署个人博客

环境准备:

  • centos7
  • php-5.4
  • httpd-2.4
  • mariadb-server-5.5
  • php-mysql-5.4
  • wordpress
  1. 安装软件包
    [root@centos7 ~]# yum -y install httpd php mariadb-server php-mysql
  2. 关闭防火墙,关闭selinux
    [root@centos7 ~]# systemctl stop firewalld; setenforce 0
  3. 配置虚拟主机
    [root@centos7 ~]# vim /etc/httpd/conf.d/vhost.conf ???????????<VirtualHost *:80> ???????????????DocumentRoot "/app/blog/htdocs" ?#访问的根目录 ???????????????CustomLog "logs/blog.com_access_log" combined ?#开启日志 ???????????????<Directory "/app/blog/htdocs"> ????????????????Require all granted #所有人可以访问 ???????????????</Directory> ???????????????</VirtualHost>[root@centos7 ~]# systemctl restart httpd
  4. 配置数据库
    [root@centos7 ~]# vim /etc/my.cnf ???????????[mysqld] ???????????…… ???????????skip_name_resolve ?#禁止域名解析,解决远程主机访问慢[root@centos7(nanyibo) ~]# systemctl restart mariadb.service
  5. 准备网站源码
    [root@centos7 blog]# mkdir -pv /app/blog[root@centos7 blog]# tar xvf wordpress-4.9.4-zh_CN.tar.gz -C /app/blog/[root@centos7 blog]# mv wordpress wordpress-4.9.4[root@centos7 blog]# ln -sv wordpress-4.9.4 htdocs #创建链接方便以后项目变更[root@centos7 ~]# cd /app/blog/[root@centos7 blog]# setfacl -m u:apache:rwx htdocs/ #设置期望值
  6. 给网站创建连接的数据库的用户
    [root@centos7 ~]# mysqlMariaDB [(none)]> create database wpdb;MariaDB [(none)]> grant all on wpdb.* to ‘wpuser‘@‘172.18.153.%‘ identified by ‘wppass‘;
  7. 在浏览器输入IP地址测试

    搭建到这里你点击安装即可,不演示。

我们现在用的http协议,网页显示不安全,那么我们自己模拟做CA中心,自己给自己签网页证书
8.本机模拟搭建CA中心

[root@centos7 ~]# yum -y install mod_ssl ?#安装依赖包[root@centos7 ~]# cd /etc/pki/CA[root@centos7 ~]# (umask 066;openssl genrsa -out private/cakey.pem 4096) #生成CA的公钥[root@centos7 ~]# openssl req -new -x509 -key private/cakey.pem -out cacert.pem -days 3650 #生成CA的私钥Country Name (2 letter code) [XX]:CNState or Province Name (full name) []:HeNanLocality Name (eg, city) [Default City]:ZhengZhouOrganization Name (eg, company) [Default Company Ltd]:cyn.comOrganizational Unit Name (eg, section) []:optCommon Name (eg, your name or your server‘s hostname) []:ca.cyn.com #这一项不一样即可,其他随意写Email Address []:[root@centos7 ~]# touch index.txt ?[root@centos7 ~]# echo 00 > serial

9.自己给自己颁发证书

[root@centos7 ~]# mkdir /etc/httpd/conf.d/ssl[root@centos7 ~]# cd /etc/httpd/conf.d/ssl[root@centos7 ~]# (umask 066;openssl genrsa -out httpd.key 1024) ?[root@centos7 ~]# openssl req -new -key httpd.key -out httpd.csrCountry Name (2 letter code) [XX]:CNState or Province Name (full name) []:HeNanLocality Name (eg, city) [Default City]:ZhengZhouOrganization Name (eg, company) [Default Company Ltd]:cyn.comOrganizational Unit Name (eg, section) []:optCommon Name (eg, your name or your server‘s hostname) []:bbs.cyn.com#这一项与CA不一样Email Address []:Please enter the following ‘extra‘ attributesto be sent with your certificate requestA challenge password []:An optional company name []:[root@centos7 ~]# openssl ca -in httpd.csr -out httpd.crt -days 365 ?Certificate Details: ?#证书信息 ???????... ???????Subject: ???????????countryName ??????????????= CN ???????????stateOrProvinceName ??????= HeNan ???????????organizationName ?????????= cyn.com ???????????organizationalUnitName ???= opt ???????????commonName ???????????????= bbs.cyn.com ???????...Certificate is to be certified until Jun 30 12:47:06 2032 GMT (5000 days)Sign the certificate? [y/n]:y1 out of 1 certificate requests certified, commit? [y/n]yWrite out database with 1 new entriesData Base Updated[root@centos7 ~]# cp /etc/pki/CA/cacert.pem .

10.配置https

[root@centos7 ~]# vim /etc/httpd/conf.d/ssl.conf ????????????SSLCertificateFile /etc/httpd/conf.d/ssl/httpd.crt ???????????SSLCertificateKeyFile /etc/httpd/conf.d/ssl/httpd.key ???????????SSLCACertificateFile /etc/pki/CA/cacert.pem

11.浏览器再次测试

这个时候说明我们自己的证书已经生效(红色警告是因为自己做自己的CA中心,人家正宗的不承认。。。所以红色警告)
12.现在把cacert.pem,放在window里,该后缀名为cacert.crt,把httpd.crt也放到window上,双击安装证书

再去浏览器设置里把证书设置为信任证书

再去查看证书的详细信息

12.浏览器输入再次检查https,不出现“不安全”字样,则说明我们做的CA证书生效

13.既然是个人博客,我们也可以给这个网页加密码

[root@centos7 ~]# vim /etc/httpd/conf.d/vhost.conf<VirtualHost *:80>DocumentRoot "/app/blog/htdocs" CustomLog "logs/blog.com_access_log" combined ?AllowOverride noneAuthType BasicAuthName "Please login"AuthUserfile "/etc/httpd/conf/.htpasswd"Require user xiaofan ?#登陆用户<Directory "/app/blog/htdocs"> Require all granted #所有人可以访问</Directory> ???</VirtualHost>[root@centos7 ~]# htpasswd -b -c -m /etc/httpd/conf/.htpasswd xiaofan centos #给yong‘hu‘she‘zhi‘mAdding password for user xiaofan

你再次登陆就会提示你输入用户账号和密码
至此完成了lamp模式的个人博客搭建,完成https的认证

LAMP模式搭建网站

原文地址:http://blog.51cto.com/13805636/2307604

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved