码迷,mamicode.com
首页 > 其他好文 > 详细

LAMP的创建和简单应用

时间:2015-09-23 17:18:02      阅读:259      评论:0      收藏:0      [点我收藏+]

标签:lamp的相关知识   lamp的创建和基础应用   


  Linux+Apache+Mysql/MariaDB+Perl/PHP/Python一组常用来搭建动态网站或者服务器的开源软件,本身都是各自独立的程序,但是因为常被放在一起使用,拥有了越来越高的兼容度,共同组成了一个强大的Web应用程序平台。

 LAMP:

    a:apache

    m:mariadb, mysql

    p:php, perl, python

 LAMMP:令一个mmemcached

 

 请求的资源类型:

    静态资源:静态内容;客户端从服务器获得的资源的表现形式与原文件相同;

    动态资源:通常是程序文件,需要在服务器执行之后,将执行的结果返回给客户端;

httpd+php:结合的三种方式

       modules

       cgi

       fastcgi(fpm)

动态资源的请求流程:

    请求流程:Client--> (http协议) --> httpd 服务器--> (cgi协议) --> application server (program file) --> (mysql协议) -->mariadb数据库             


CentOS 7下进行操作:

  程序包:httpd,php, php-mysql, mariadb-server

    注意:php要求httpd使用prefork MPM

如果不是prefork MPM,需要修改/etc/httpd/conf.modules.d/00-mpm.conf改成prefork,然后重启httpd服务,php就启动了

  启动服务:

   systemctl start  httpd.service

   systemctl start  mariadb.server

重启httpd服务,然后使用httpd  -M | grep php

systemctl  restart  httpd.service,查看php模块是否加载

技术分享

然后在/www/htdocshttpd配置文件中资源的目录)中把index.html改成index.php,然后编辑,重载服务然后进行测试

技术分享

技术分享

这说明php环境已经准备好了

下面打开数据库服务器

技术分享

然后直接mysql就可以连接上了

技术分享

然后在index.php中添加代码,连接到mariadb数据库,测试能否连上

技术分享

技术分享

证明连接成功了

然后把数据库服务停掉systemctl stop mariadb.service,在连接下

技术分享

这样在CentOS7中,LAMP环境就准备好了

就可以安装一些客户端程序了


数据库(mariadb):

关系型数据库的常见组件:

    数据库:database

    表:table

    行:row

    列:column

    索引:index

    视图:view

    用户:user

    权限:privilege

    存储过程:procedure

    存储函数:function

    触发器:trigger

    事件调度器:eventscheduler

    mysql_secure_installation:安全初始化


SQL语句:用来管理数据库的语句

    数据库组件:数据库、表、索引、视图、用户、权限

    存储过程、存储函数、触发器、事件调度器

 创建数据库、设计数据表

     字段:字段名、数据类型、数据类型修饰符、约束

      DDLDMLDCL

      DDL:CREATEDROPALTER

    DML:INSERT(REPLACE)DELETEUPDATESELECT

     DCLGRANT,REVOKE

    CREATE DATABASE [IF NOT EXISTS] ‘db_name‘;创建数据库

 

创建用户账号:

   CREATEUSER ‘username‘@‘host‘ [IDENTIFIED BY ‘password‘];

  删除用户:

     DROPUSER ‘username‘@‘host‘;

授权:

  权限级别:管理权限、数据库、表、字段、存储例程;

  GRANTpriv_type,... ON [object_type] db_name.tb_name TO ‘user‘@‘host‘ [IDENTIFIED BY‘password‘] [WITH GRANT OPTION];

 

    priv_type:ALL [PRIVILEGES]

    db_name.tb_name:

   *.*:所有库的所表;

   db_name.*:指定库的所有表;

   db_name.tb_name:指定库的指定表;

   db_name.routine_name:指定库的存储例程;

查看指定用户获得的授权:

    SHOWGRANTS FOR ‘user‘@‘host‘;

    SHOW GRANTS FOR CURRENT_USER;

回收授权:

  REVOKEpriv_type, ... ON db_name.tb_name FROM ‘user‘@‘host‘;

创建表:

  CREATETABLE [IF NOT EXISTS] ‘tbl_name‘ (col1 type1, col2 type2, ...)

删除表:DROPTABLE [IF EXISTS] ‘tbl_name‘;

修改表:ALTER TABLE ‘tbl_name‘

索引:

   索引是特殊数据结构;定义在查找时作为查找条件的字段;

   索引:要有索引名称;

创建索引:

   CREATEINDEX index_name ON tbl_name (index_col_name,...);

删除索引:

   DROPINDEX index_name ON tbl_name;

数据库还有很多命令就不一一介绍了


下面以几个实例来演示LAMP的创建和应用

CentOS7中实现3个虚拟主机,完成要求的功能;

    vhost1: pma.stuX.com, phpMyAdmin, 同时提供https服务;

    vhost2:wp.stuX.com, wordpress

    vhost3:dz.stuX.com, Discuz

首先确认LAMP的基础环境是搭建好的,php能访问,数据库是否能正常连接。(文章开始有演示);

然后就下载phpMyAdminwordpressDiscuz

三个软件包,然后解压和移到httpd配置文件中的资源目录的那个路径下,即/web/vhosts/目录下

然后把修改httpd的配置文件把中心主机禁掉,就是(/etc/httpd/conf/httpd.conf)中DocumentRoot这一行,

技术分享

然后再/etc/httpd/conf.d/创建一个virtualhost.conf的文件,然后做3个虚拟主机,每个对应一个软件

技术分享

要保证主配置文件中的<Directory “/web/vhosts”这个路径跟虚拟主机的DocumentRoot的文件同目录

技术分享

然后把这三个软件phpMyAdmin  wordpress  Discuz的文件复制到 /web/vhosts

然后配置这些软件的配置文件

技术分享

然后复制pma下的config.sample.inc.php 到本目录下,然后改名为config.inc.php,然后修改config.inc.php文件

使用命令tr -d ‘a-zA-Z0-9‘ < /dev/urandom | head -30 | md5sum生成一些随机数,填到下面,然后保存

技术分享

技术分享

技术分享

 


然后重启服务,设置数据库

首先mysql进入,然后给root用户设置密码

技术分享

然后给wpuser授权,创建用户


技术分享

然后在里面 在输入命令FLUSH  PRIVILEGES 同步一下

这个数据库的名字密码要和wordpress软件配置文件中的相同

技术分享

这样数据库就做好了

然后在物理机中,修改hosts文件,加入

172.16.249.195  pma.stu999.com

172.16.249.195  wp.stu999.com

172.16.249.195  dz.stu999.com


然后访问测试下

技术分享

输入用户名和密码就可以进入数据库,管理数据库了

技术分享

技术分享

技术分享


  


下面对pma.stu999.comhttps,使用openssl命令

首先172.16.249.114创建一个CA,然后自签证书,然后再给172.16.249.195签证

首先找到CA目录,然后生成私钥(umask077 openssl genrsa –out private/cakey.pem 2048 ),然后创建自己的签名 opensslreq -new -x509 -key private/cakey.pem -out cacert.pem -days 7300

技术分享

这样自己的证书创建好了

然后在172.16.249.195上创建证书,然后去找CA签证;首先创建csr文件,然后发给CACA签名后,在送还给172.16.249.195

技术分享

把证书发给CA

技术分享

CA签名,然后送回证书

CA签名前要创建一个文件touch  index.txt serial一个数字 echo 01>serial

技术分享

这签名成功了,然后还给172.16.249.195

技术分享

然后在172.16.249.195中配置/etc/httpd/conf.d/ssl.conf文件

指定证书和私钥的路径

技术分享

pma.stu999.com这个虚拟主机加入/etc/httpd/conf.d/ssl.conf文件中

技术分享

然后把/etc/httpd/conf.d/virtuahost中的pma.stu999.com这个虚拟主机的注释掉

重启服务,然后把CA的证书cacert.pem复制出来重命名为cacert.crt,加入物理机的可信任证书列表里,在浏览器的设置中,进行测试

技术分享

技术分享

这样pma.stu999.com 这个虚拟主机的https就做好了

这样整个题目就做完了,这是在本人测试的环境下做的,如果不是CentOS7可能步骤不一样。

如有批评和建议可以留言。




LAMP的创建和简单应用

标签:lamp的相关知识   lamp的创建和基础应用   

原文地址:http://10530982.blog.51cto.com/10520982/1697420

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!