LAMP模式搭建网站

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. 安装软件包

    [[email protected] ~]# yum -y install httpd php mariadb-server php-mysql
  2. 关闭防火墙,关闭selinux
    [[email protected] ~]# systemctl stop firewalld; setenforce 0
  3. 配置虚拟主机
    [[email protected] ~]# 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>
    [[email protected] ~]# systemctl restart httpd
  4. 配置数据库
    [[email protected] ~]# vim /etc/my.cnf
                [mysqld]
                ……
                skip_name_resolve  #禁止域名解析,解决远程主机访问慢
    [[email protected](nanyibo) ~]# systemctl restart mariadb.service
  5. 准备网站源码
    [[email protected] blog]# mkdir -pv /app/blog
    [[email protected] blog]# tar xvf wordpress-4.9.4-zh_CN.tar.gz -C /app/blog/
    [[email protected] blog]# mv wordpress wordpress-4.9.4
    [[email protected] blog]# ln -sv wordpress-4.9.4 htdocs #创建链接方便以后项目变更
    [[email protected] ~]# cd /app/blog/
    [[email protected] blog]# setfacl -m u:apache:rwx htdocs/ #设置期望值
  6. 给网站创建连接的数据库的用户
    [[email protected] ~]# mysql
    MariaDB [(none)]> create database wpdb;
    MariaDB [(none)]> grant all on wpdb.* to ‘wpuser‘@‘172.18.153.%‘ identified by ‘wppass‘;
  7. 在浏览器输入IP地址测试

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

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

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

9.自己给自己颁发证书

[[email protected] ~]# mkdir /etc/httpd/conf.d/ssl
[[email protected] ~]# cd /etc/httpd/conf.d/ssl
[[email protected] ~]# (umask 066;openssl genrsa -out httpd.key 1024)
[[email protected] ~]# openssl req -new -key httpd.key -out httpd.csr
Country Name (2 letter code) [XX]:CN
State or Province Name (full name) []:HeNan
Locality Name (eg, city) [Default City]:ZhengZhou
Organization Name (eg, company) [Default Company Ltd]:cyn.com
Organizational Unit Name (eg, section) []:opt
Common Name (eg, your name or your server‘s hostname) []:bbs.cyn.com#这一项与CA不一样
Email Address []:
Please enter the following ‘extra‘ attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
[[email protected]7 ~]# 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]:y
1 out of 1 certificate requests certified, commit? [y/n]y
Write out database with 1 new entries
Data Base Updated
[[email protected] ~]# cp /etc/pki/CA/cacert.pem .

10.配置https

[[email protected] ~]# 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.既然是个人博客,我们也可以给这个网页加密码

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

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

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

时间: 2024-10-15 20:41:47

LAMP模式搭建网站的相关文章

Linux之LAMP架构搭建配置

Linux之LAMP架构搭建配置 LAMP简介 LAMP定义指Linux(操作系统).ApacheHTTP 服务器,MySQL(有时也指MariaDB,数据库软件) 和PHP(有时也是指Perl或Python) 的第一个字母,一般用来建立web应用平台. 对于大流量.大并发量的网站系统架构来说,除了硬件上使用高性能的服务器.负载均衡.CDN 等之外,在软件架构上需要重点关注下面几个环节: 使用高性能的操作系统 (OS) . 高性能的网页服务器 (Web Server) .高性能的数据库(Data

LAMP平台搭建详解

准备工作 安装编译工具 # yum -y install gcc # yum -y install gcc-c++ 如果系统之前已经安装有rpm包的mysql和apache,那么可以: #service httpd stop #service mysqld stop 确定rpm包安装的httpd和mysqld不能开机启动 #chkconfig –level 2345 mysqld/httpd stop 关闭SELINUX和防火墙,或者允许防火墙开放相关端口,apache 80端口,mysql 3

Linux的LAMP平台搭建和用phpAdmin管理套件的部署

LAMP架构是目前成熟的企业网站应用模式之一,指的是协同工作的一整套系统和相关软件,能够提供动态Web站点服务及其应用开发环境.LAMP是缩写词.L指的是Linux操作系统:A是APache网站服务器:M是MySQL数据库:P就是PHP网页编写语言了. LAMP平台的优势:成本低廉,所有组件开源免费.可定制,拥有大量的额外组件和可扩展功能模块.易于开发.方便易用.安全稳定. 一,安装Apache 具体步骤见我的上一篇博客 二,安装Mysql数据库 1. 卸载掉原有的用RPM安装的MySQL,避免

Web服务器群集之LAMP平台部署(LAMP架构搭建)

Web服务器群集之LAMP平台部署(LAMP架构搭建) 涉及:Linux/Centos7系统 Apache Mysql PHP 一.前言 ? 上一篇文章主要讲述了有关Web与HTTP协议的基础知识,有了这一基础知识理论的奠定,将对我们此次搭建部署LAMP平台的实验有所帮助. ? LAMP架构是非常成熟的企业网站应用模式之一,其指的是协同工作的一整套系统和相关软件,能够提供动态Web站点服务及其应用开发环境.LAMP是一个缩写词--Linux操作系统.Apache网站服务器.MySQL数据库服务器

新版LAMP环境搭建

新版LAMP环境搭建 注意:先安装MySQL和Apache,后安装PHP,因为PHP配置编译的时候需要指定mysql路径和apache路径. 编译安装: httpd-2.4.12.tar.gz +  mysql-5.6.22-linux-glibc2.5-x86_64.tar.gz  +  php-5.4.39.tar.gz + xcache-2.0.0.tar.gz 实验环境:               CentOS 6.5 x86_64 编译安装Apache (1)构建MPM为静态模块 在

LAMP环境搭建教程

学习PHP脚本编程语言之前,必须先搭建并熟悉开发环境,开发环境有很多种,例如LAMP.WAMP.MAMP等.这里我介绍一下LAMP环境的搭建,即Linux.Apache.MySQL.PHP环境. 一.首先安装操作系统 操作系统:centos6.3 IP地址:192.168.146.129 网关: DNS: 操作系统安装步骤,此处不在给出截图. 备注:服务器系统采用最小化安装,安装一下GCC编译工具和一个桌面即可.如下图所示: 二.LAMP安装前的准备 1.获取软件包 httpd-2.4.2.ta

LAMP环境搭建(源码包安装,仅测试)

linux系统+Apache服务+MySQL数据库+PHP 安装顺序:PHP要在最后安装 首先将安装包上传到/root目录下 链接:http://pan.baidu.com/s/1nvbWEk5 密码:9r9w ************************************************************************************************************************************************

lamp环境搭建(ubuntu)

系统:Ubuntu14.04 方法一.最简单的在线安装 (参考网址:http://os.51cto.com/art/201307/405333.htm) 具体过程: [1]打开终端,执行命令 # sudo apt-get install lamp-server^ 注意:不要丢掉末尾的^号,否则命令不执行. 然后根据提示选择同意(y),设置MySQL的密码.. .直至安装过程自动结束,就可以把所有依赖的包都下载安装上. [2]测试与进一步配置 (2-1)测试Apache服务器,打开浏览器,输入地址

Linux下LAMP环境搭建

LAMP(Linux- Apache-MySQL-PHP)网站架构是目前国际流行的Web框架,该框架包括:Linux操作系统,Apache网络服务器,MySQL数据 库,Perl.PHP或者Python编程语言,所有组成产品均是开源软件,是 国际上成熟的架构框架,很多流行的商业应用都是采取这个架构,和 Java/J2EE架构相比,LAMP具有Web资源丰富.轻量.快速开发等特点,微软的.NET架构相比,LAMP具有通用.跨平台.高性能.低价格的 优势, 因此LAMP无论是性能.质量还是价格都是企